using Newtonsoft.Json.Linq;
|
using Pub_Class;
|
using System;
|
using System.Collections;
|
using System.Collections.Generic;
|
using System.Data;
|
using System.Data.SqlClient;
|
using System.Web.Http;
|
using WebAPI.Models;
|
|
namespace WebAPI.Controllers
|
{
|
//工序流转卡Controller
|
public class Sc_ProcessExchangeBillController : ApiController
|
{
|
public DBUtility.ClsPub.Enum_BillStatus BillStatus;
|
private json objJsonResult = new json();
|
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
|
DataSet ds;
|
|
/// <summary>
|
/// 新增单据-保存按钮
|
///参数:string sql。
|
///返回值:object。
|
/// </summary>
|
[Route("Sc_ProcessExchangeBill/AddBill")]
|
[HttpPost]
|
public object AddBill([FromBody] JObject sMainSub)
|
{
|
var _value = sMainSub["sMainSub"].ToString();
|
string msg1 = _value.ToString();
|
//保存单据
|
return objJsonResult = AddBillMain(msg1);
|
}
|
|
public json AddBillMain(string msg1)
|
{
|
string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
|
string msg2 = sArray[0].ToString();
|
string msg3 = sArray[1].ToString();
|
bool bResult;
|
try
|
{
|
msg2 = "[" + msg2.ToString() + "]";
|
List<Model.ClsSc_ProcessExchangeBillMain> mainList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSc_ProcessExchangeBillMain>>(msg2);
|
DAL.ClsSc_ProcessExchangeBill BillNew = new DAL.ClsSc_ProcessExchangeBill();
|
//判断会计期是否合理
|
string s = "";
|
int sYear = 0;
|
int sPeriod = 0;
|
DateTime HDate = mainList[0].HDate;//日期
|
if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = s;
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
BillNew.omodel.HInterID = mainList[0].HInterID;//递入type得到的单据ID
|
BillNew.omodel.HYear = sYear;
|
BillNew.omodel.HPeriod = sPeriod;
|
BillNew.omodel.HBillNo = mainList[0].HBillNo;//递入type得到的单据号
|
BillNew.omodel.HDate = HDate;
|
BillNew.omodel.HRemark = mainList[0].HRemark;//备注
|
BillNew.omodel.HMaker = mainList[0].HMaker;
|
BillNew.omodel.HWWOrderInterID = ClsPub.isLong(mainList[0].HWWOrderInterID);
|
BillNew.omodel.HWWOrderEntryID = ClsPub.isLong(mainList[0].HWWOrderEntryID);
|
BillNew.omodel.HWWOrderBillNo = ClsPub.isStrNull(mainList[0].HWWOrderBillNo);
|
BillNew.omodel.HICMOInterID = ClsPub.isLong(mainList[0].HICMOInterID);
|
BillNew.omodel.HICMOEntryID = ClsPub.isLong(mainList[0].HICMOEntryID);
|
BillNew.omodel.HICMOBillNo = ClsPub.isStrNull(mainList[0].HICMOBillNo);
|
BillNew.omodel.HMaterID2 = ClsPub.isLong(mainList[0].HMaterID2);
|
BillNew.omodel.HMaterID = ClsPub.isLong(mainList[0].HMaterID);
|
BillNew.omodel.HMaterNumber = ClsPub.isStrNull(mainList[0].HMaterNumber);
|
BillNew.omodel.HBatchNo = ClsPub.isStrNull(mainList[0].HBatchNo);
|
BillNew.omodel.HUnitID = ClsPub.isLong(mainList[0].HUnitID);
|
BillNew.omodel.HUnitNumber = ClsPub.isStrNull(mainList[0].HUnitNumber);
|
BillNew.omodel.HPlanQty = ClsPub.isDoule(mainList[0].HPlanQty);
|
BillNew.omodel.HQty = ClsPub.isDoule(mainList[0].HQty);
|
BillNew.omodel.HPlanBeginDate = ClsPub.isDate(mainList[0].HPlanBeginDate);
|
BillNew.omodel.HPlanEndDate = ClsPub.isDate(mainList[0].HPlanEndDate);
|
BillNew.omodel.HExplanation = ClsPub.isStrNull(mainList[0].HExplanation);
|
BillNew.omodel.HInnerBillNo = ClsPub.isStrNull(mainList[0].HInnerBillNo);
|
BillNew.omodel.HWorkShopID = ClsPub.isLong(mainList[0].HWorkShopID);
|
BillNew.omodel.HSupID = ClsPub.isLong(mainList[0].HSupID);
|
BillNew.omodel.HBLFlag = mainList[0].HBLFlag;
|
BillNew.omodel.HMainMaterID = ClsPub.isLong(mainList[0].HMainMaterID);
|
BillNew.omodel.HKeyMaterID = ClsPub.isLong(mainList[0].HKeyMaterID);
|
BillNew.omodel.HOrderProcNO = ClsPub.isStrNull(mainList[0].HOrderProcNO);
|
BillNew.omodel.HEquipMentID = ClsPub.isLong(mainList[0].HEquipMentID);
|
BillNew.omodel.HMateOutBatchNo = ClsPub.isStrNull(mainList[0].HMateOutBatchNo);
|
BillNew.omodel.HProjectNum = ClsPub.isStrNull(mainList[0].HProjectNum);
|
BillNew.omodel.HProdMaterCode = ClsPub.isStrNull(mainList[0].HProdMaterCode);
|
BillNew.omodel.HSeOrderBillNo = ClsPub.isStrNull(mainList[0].HSeOrderBillNo);
|
BillNew.omodel.HCusShortName = ClsPub.isStrNull(mainList[0].HCusShortName);
|
BillNew.omodel.HCusNeedMaterial = ClsPub.isStrNull(mainList[0].HCusNeedMaterial);
|
BillNew.omodel.HPlanSendGoodsDate = ClsPub.isStrNull(mainList[0].HPlanSendGoodsDate);
|
BillNew.omodel.HProdMaterName = ClsPub.isStrNull(mainList[0].HProdMaterName);
|
BillNew.omodel.HCusName = ClsPub.isStrNull(mainList[0].HCusName);
|
BillNew.omodel.HWorkRemark = ClsPub.isStrNull(mainList[0].HWorkRemark);
|
BillNew.omodel.HImportNote = ClsPub.isStrNull(mainList[0].HImportNote);
|
BillNew.omodel.HMaterNumber_A = ClsPub.isStrNull(mainList[0].HMaterNumber_A);
|
BillNew.omodel.HMaterNumber_B = ClsPub.isStrNull(mainList[0].HMaterNumber_B);
|
BillNew.omodel.HMaterNumber_C = ClsPub.isStrNull(mainList[0].HMaterNumber_C);
|
BillNew.omodel.HMaterNumber_D = ClsPub.isStrNull(mainList[0].HMaterNumber_D);
|
BillNew.omodel.HProdType = ClsPub.isStrNull(mainList[0].HProdType);
|
BillNew.omodel.HMaterShortName = ClsPub.isStrNull(mainList[0].HMaterShortName);
|
BillNew.omodel.HMaterIDA = ClsPub.isStrNull(mainList[0].HMaterIDA);
|
BillNew.omodel.HMaterIDB = ClsPub.isStrNull(mainList[0].HMaterIDB);
|
BillNew.omodel.HMaterIDC = ClsPub.isStrNull(mainList[0].HMaterIDC);
|
BillNew.omodel.HMaterIDD = ClsPub.isStrNull(mainList[0].HMaterIDD);
|
List<Model.ClsSc_ProcessExchangeBillSub> subList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSc_ProcessExchangeBillSub>>(msg3);
|
BillNew.DetailColl = new List<Model.ClsSc_ProcessExchangeBillSub>();
|
if (BillNew.omodel.HICMOInterID == 0)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "请选择任务单!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
for (int i = 0; i < subList.ToArray().Length; i++)
|
{
|
if (DBUtility.ClsPub.isInt(subList[i].HProcID) != 0)//HQty
|
{
|
Model.ClsSc_ProcessExchangeBillSub oSub = new Model.ClsSc_ProcessExchangeBillSub();
|
oSub.HEntryID = i+1;
|
oSub.HRemark = DBUtility.ClsPub.isStrNull(subList[i].HRemark);
|
oSub.HSourceInterID = ClsPub.isLong(mainList[0].HICMOInterID);
|
oSub.HSourceEntryID = ClsPub.isLong(mainList[0].HICMOEntryID);
|
oSub.HSourceBillType = "85";
|
oSub.HSourceBillNo = ClsPub.isStrNull(mainList[0].HICMOBillNo);
|
oSub.HRelationQty = DBUtility.ClsPub.isDoule(subList[i].HRelationQty);
|
//oSub.HRelationQty_In = DBUtility.ClsPub.isDoule(subList[i].HRelationQty_In);
|
//oSub.HRelationQty_Out = DBUtility.ClsPub.isDoule(subList[i].HRelationQty_Out);
|
//oSub.HRelationQty_WWOrder = DBUtility.ClsPub.isDoule(subList[i].HRelationQty_WWOrder);
|
//oSub.HRelationQty_Bad = DBUtility.ClsPub.isDoule(subList[i].HRelationQty_Bad);
|
oSub.HRelationMoney = DBUtility.ClsPub.isDoule(subList[i].HRelationMoney);
|
oSub.HCloseMan = DBUtility.ClsPub.isStrNull(subList[i].HCloseMan);
|
oSub.HEntryCloseDate = DBUtility.ClsPub.isDate(subList[i].HEntryCloseDate);
|
oSub.HCloseType = DBUtility.ClsPub.isBool(subList[i].HCloseType);
|
oSub.HQty = DBUtility.ClsPub.isDoule(subList[i].HQty);
|
if (oSub.HQty <= 0)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "第" + ClsPub.isStrNull(i + 1) + "行,流转卡数量不能为0或者小于0";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
oSub.HProcNo = DBUtility.ClsPub.isLong(subList[i].HProcNo);
|
if (oSub.HProcNo <= 0)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "第" + ClsPub.isStrNull(i + 1) + "行,流水号不能为0或者小于0";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
oSub.HProcID = DBUtility.ClsPub.isLong(subList[i].HProcID);
|
oSub.HProcNumber = DBUtility.ClsPub.isStrNull(subList[i].HProcNumber);
|
oSub.HWorkRemark = DBUtility.ClsPub.isStrNull(subList[i].HWorkRemark);
|
oSub.HCenterID = DBUtility.ClsPub.isLong(subList[i].HCenterID);
|
oSub.HDeptID = DBUtility.ClsPub.isLong(subList[i].HDeptID);
|
oSub.HDeptNumber = DBUtility.ClsPub.isStrNull(subList[i].HDeptNumber);
|
////oSub.HGroupID = DBUtility.ClsPub.isLong(grdMain.Rows[i].Cells[HGroupIDCol].Value);
|
oSub.HGroupNumber = DBUtility.ClsPub.isStrNull(subList[i].HGroupNumber);
|
oSub.HWorkerID = DBUtility.ClsPub.isLong(subList[i].HWorkerID);
|
oSub.HWorkerNumber = DBUtility.ClsPub.isStrNull(subList[i].HWorkerNumber);
|
oSub.HSourceID = DBUtility.ClsPub.isLong(subList[i].HSourceID);
|
oSub.HTimeUnit = DBUtility.ClsPub.isStrNull(subList[i].HTimeUnit);
|
oSub.HPlanWorkTimes = DBUtility.ClsPub.isSingle(subList[i].HPlanWorkTimes);
|
oSub.HPlanBeginDate = DBUtility.ClsPub.isDate(subList[i].HPlanBeginDate);
|
oSub.HPlanEndDate = DBUtility.ClsPub.isDate(subList[i].HPlanEndDate);
|
oSub.HRelBeginDate = DBUtility.ClsPub.isDate(subList[i].HRelBeginDate);
|
oSub.HRelEndDate = DBUtility.ClsPub.isDate(subList[i].HRelEndDate);
|
oSub.HReadyTime = 0;
|
oSub.HQueueTime = 0;
|
oSub.HMoveTime = 0;
|
oSub.HBeginDayQty = DBUtility.ClsPub.isSingle(subList[i].HBeginDayQty);
|
oSub.HBeginFixQty = DBUtility.ClsPub.isSingle(subList[i].HBeginFixQty);
|
oSub.HFixWorkDays = DBUtility.ClsPub.isSingle(subList[i].HFixWorkDays);
|
oSub.HTrunWorkDays = DBUtility.ClsPub.isSingle(subList[i].HTrunWorkDays);
|
oSub.HReadyTimes = DBUtility.ClsPub.isSingle(subList[i].HReadyTimes);
|
oSub.HMyWorkDays = DBUtility.ClsPub.isSingle(subList[i].HMyWorkDays);
|
oSub.HOutPrice = DBUtility.ClsPub.isSingle(subList[i].HOutPrice);
|
oSub.HOutMoney = DBUtility.ClsPub.isSingle(subList[i].HOutMoney);
|
oSub.HLastProc = "否";
|
oSub.HFstProc = "否";
|
oSub.HKeyProc = DBUtility.ClsPub.isStrNull(subList[i].HKeyProc);
|
oSub.HSupID = DBUtility.ClsPub.isLong(subList[i].HSupID);
|
oSub.HSupFlag = DBUtility.ClsPub.isBool(subList[i].isEntrust);
|
oSub.HBackProc = DBUtility.ClsPub.isBool(subList[i].HBackProc);
|
oSub.HEdit = DBUtility.ClsPub.isBool(subList[i].HEdit);
|
if (oSub.HCenterID == 0 && oSub.HSupFlag == false)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "第" + ClsPub.isStrNull(i + 1) + "行,工作中心或委外标记不能同时为空";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
oSub.HICMOBillNo = DBUtility.ClsPub.isStrNull(subList[i].HICMOBillNo);
|
oSub.HICMOInterID = DBUtility.ClsPub.isLong(subList[i].HICMOInterID);
|
oSub.HSeOrderInterID = DBUtility.ClsPub.isLong(subList[i].HSeOrderInterID);
|
oSub.HSeOrderEntryID = DBUtility.ClsPub.isLong(subList[i].HSeOrderEntryID);
|
oSub.HSeOrderBillNo = DBUtility.ClsPub.isStrNull(subList[i].HSeOrderBillNo);
|
oSub.HWWOrderInterID = DBUtility.ClsPub.isLong(subList[i].HWWOrderInterID);
|
oSub.HWWOrderEntryID = DBUtility.ClsPub.isLong(subList[i].HWWOrderEntryID);
|
oSub.HWWOrderBillNo = DBUtility.ClsPub.isStrNull(subList[i].HWWOrderBillNo);
|
oSub.HSumPassRate = DBUtility.ClsPub.isSingle(subList[i].HSumPassRate);
|
oSub.HPassRate = DBUtility.ClsPub.isSingle(subList[i].HPassRate);
|
oSub.HOverRate = DBUtility.ClsPub.isDoule(subList[i].HOverRate);
|
oSub.HMaxQty = DBUtility.ClsPub.isDoule(subList[i].HMaxQty);
|
oSub.HTechnologyParameter = DBUtility.ClsPub.isStrNull(subList[i].HTechnologyParameter);
|
oSub.HPicNum = DBUtility.ClsPub.isStrNull(subList[i].HPicNum);
|
oSub.HProcCheckNote = DBUtility.ClsPub.isStrNull(subList[i].HProcCheckNote);
|
oSub.HMouldNo = "";
|
oSub.HProcWorkNum = "";
|
BillNew.DetailColl.Add(oSub);
|
}
|
}
|
//保存完毕后处理
|
//if (BillStatus == DBUtility.ClsPub.Enum_BillStatus.BillStatus_AddNew)
|
//{
|
// bResult = BillNew.AddBill(ref ClsPub.sExeReturnInfo);
|
//}
|
//else
|
//{
|
// bResult = BillNew.ModifyBill(BillNew.omodel.HInterID, ref ClsPub.sExeReturnInfo);
|
//}
|
bResult = BillNew.AddBill(ref ClsPub.sExeReturnInfo);
|
//提示
|
if (bResult == true)
|
{
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
//objJsonResult.Message = "单据存盘完毕!单据号:" + mainList[0].HBillNo.Trim();
|
objJsonResult.Message = ClsPub.sExeReturnInfo+"单据号:" + mainList[0].HBillNo.Trim();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
else
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "保存失败!原因:" + ClsPub.sExeReturnInfo;
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
catch (Exception e)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "Exception!" + e.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
|
/// <summary>
|
/// 返回生产任务单明细行
|
/// </summary>
|
/// <param name="hmainid">生产任务单ID</param>
|
/// <returns>object</returns>
|
[Route("Sc_ProcessExchangeBill/GetICMOBillList")]
|
[HttpGet]
|
public object GetICMOBillList(int hmainid,int OrganizationID)
|
{
|
try
|
{
|
if (hmainid == 0)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "生产任务单ID为0!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
ds = oCN.RunProcReturn("select * from h_v_Sc_ICMOBillListDetail where hmainid=" + hmainid, "h_v_Sc_ICMOBillListDetail");
|
if (ds == null || ds.Tables[0].Rows.Count == 0)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "此生产任务单无明细行!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
else
|
{
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "Sucess!";
|
objJsonResult.data = ds.Tables[0];
|
return objJsonResult;
|
}
|
}
|
catch (Exception e)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "Exception!" + e.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
|
/// <summary>
|
/// 返回生产任务单明细行
|
/// </summary>
|
/// <param name="hmainid">生产任务单ID</param>
|
/// <returns>object</returns>
|
[Route("Sc_ProcessExchangeBill/GetICMOBillDetail")]
|
[HttpGet]
|
public object GetICMOBillDetail(int hmainid, int OrganizationID)
|
{
|
try
|
{
|
if (hmainid == 0)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "生产任务单ID为0!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
ds = oCN.RunProcReturn("select * from h_v_S_Sc_ICMOBillList where hmainid=" + hmainid, "h_v_S_Sc_ICMOBillList");
|
if (ds == null || ds.Tables[0].Rows.Count == 0)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "此生产任务单无明细行!";
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
else
|
{
|
objJsonResult.code = "1";
|
objJsonResult.count = 1;
|
objJsonResult.Message = "Sucess!";
|
objJsonResult.data = ds.Tables[0];
|
return objJsonResult;
|
}
|
}
|
catch (Exception e)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = "Exception!" + e.ToString();
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
}
|
|
//
|
}
|
}
|