From c761ba5bd72e9170c65fad44003e90a61e034b33 Mon Sep 17 00:00:00 2001 From: ch <37327@LLOOCCY> Date: 星期四, 03 十一月 2022 12:33:33 +0800 Subject: [PATCH] Merge branch 'master' of http://101.37.171.70:10101/r/MES-WEB-API --- WebAPI/Controllers/SCGL/Sc_ComplementGoodBill_ZXBZController.cs | 361 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 361 insertions(+), 0 deletions(-) diff --git a/WebAPI/Controllers/SCGL/Sc_ComplementGoodBill_ZXBZController.cs b/WebAPI/Controllers/SCGL/Sc_ComplementGoodBill_ZXBZController.cs new file mode 100644 index 0000000..4cc13ea --- /dev/null +++ b/WebAPI/Controllers/SCGL/Sc_ComplementGoodBill_ZXBZController.cs @@ -0,0 +1,361 @@ +锘縰sing 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; +using Newtonsoft.Json; +using DBUtility; + + +namespace WebAPI.Controllers.SCGL +{ + public class Sc_ComplementGoodBill_ZXBZController : ApiController + { + private json objJsonResult = new json(); + public DataSet ds = new DataSet(); + public WebServer webserver = new WebServer(); + SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); + public ClsXt_BaseBillMain omodel = new ClsXt_BaseBillMain(); + public JIT_CallGoodsBillSub oSub = new JIT_CallGoodsBillSub(); + + #region 鏈�灏忓寘瑁呭彨鏂� 鏌ヨ + [Route("Sc_ComplementGoodBill_ZXBZ/JIT_ComplementGoodBill_ZXBZ_List")] + [HttpGet] + public object JIT_ComplementGoodBill_ZXBZ_List(string sWhere, string user) + { + try + { + ////鏌ョ湅鏉冮檺 + //if (!DBUtility.ClsPub.Security_Log("JIT_ComplementGoodBillMain_Query", 1, false, user)) + //{ + // objJsonResult.code = "0"; + // objJsonResult.count = 0; + // objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒"; + // objJsonResult.data = null; + // return objJsonResult; + //} + if (sWhere == null || sWhere.Equals("")) + { + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = "Sucess锛�"; + objJsonResult.data = new DataTable(); + return objJsonResult; + } + + ds = oCN.RunProcReturn($"exec h_p_JIT_GetPPBomInfo_FL "+sWhere, "h_p_JIT_GetPPBomInfo_FL"); + + 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; + } + } + #endregion + + #region 鏈�灏忓寘瑁呭彨鏂� 鍙枡鏂板 + + //涓存椂琛� 鍙枡鍗曟嵁瀛楁 + public class CallGoodsBill + { + public static readonly string ModName = "4601"; + public long HSouceInterID = 0;//HSourceInterIDCol + public long HSourceEntryID = 0;//HSourceEntryIDCol + public int? 鍙枡鏁伴噺 = 0;//HBHGQtyCol + public int? 閰嶅鏁伴噺 = 0; + public int? 宸插彨鏂欐暟閲� = 0;//HBHGQtyCol + public int? 鏈�灏忓彂鏂欐暟閲� = 0;//HBHGQtyCol + public int? 宸查厤閫佹暟閲� = 0;//HBHGQtyCol + public double? 閫�鏂欐暟閲� = 0;//閫�鏂欐暟閲� + public long HSTOCKID = 0;//HSTOCKID + public string 閫�鏂欏師鍥� { get; set; }//閫�鏂欏師鍥� + public int HMaterialID = 0; //HMaterialIDCol + public string 鐗╂枡浠g爜 = ""; + public string HSourceBillNo { get; set; }//HSourceBillNoCol + public int 璋冨嚭浠撳簱鍙敤搴撳瓨鏁伴噺 = 0;//HKFQtyKYCol + public int 璋冨嚭浠撳簱搴撳瓨鏁伴噺 = 0;//HKFQtySCol + public double 璁″垝鍙戞枡鏁伴噺 = 0;//HPlanQtyCol + public int HWHID = 0;//HWHIDCol + public int? 璋冨嚭浠撳簱ID = 0;//璋冨嚭浠撳簱id + public int? 璋冨叆浠撳簱id = 0;//璋冨叆浠撳簱id + public string HMaterialNumberCol { get; set; } + public string HMaterialModelCol { get; set; } + public string HProcID { get; set; }//HProcIDCol + public string HProcNameCol { get; set; }//宸ユ + public int HOutOrgID = 0;//HOutOrgID + public string HICMOBillNo { get; set; }// HICMOBillNoCol + public long HICMOInterID = 0;// HICMOInterIDCol + public long HICMOEntryID = 0;// HICMOEntryIDCol + public long HDeptID = 0;//HDeptID + public long 搴撳瓨鏁伴噺 = 0; + public double HBHGQtyCol = 0; + public string 閿�鍞鍗曞彿 { get; set; }//HSeOrderNOCol + public DateTime? 璁″垝寮�宸ユ棩鏈� = null;//HBPlanDateCol + } + + //涓存椂琛� 鍙枡瀛愯〃 + public class JIT_CallGoodsBillSub : ClsXt_BaseBillSub + { + public double HQty; + public long HMaterID; + public string HMaterNumber; + public string HProcName; + public string HModel; + public string HProcID; + public string HICMOBillNo; + public string HSeOrderNOCol; + public string HSeOrderNo; + public string HSeOrderBillNo; + public int HWHID = 0; + public int HSCWHID = 0; + public long HOutOrgID = 0; + public long HICMOInterID = 0; + public long HICMOEntryID = 0; + public long HSeOrderInterID = 0; + public long HSeOrderEntryID = 0; + public long HDeptID = 0; + public double HPlanQty = 0; + public int HSPID = 0; + public DateTime? HBPlanDate = null; + } + + [Route("Sc_ComplementGoodBill_ZXBZ/InsertCallGoodsBill")] + [HttpPost] + public object InsertCallGoodsBill([FromBody] JObject msg) + { + var _value = msg["msg"].ToString(); + string[] sArray = _value.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); + string msg2 = sArray[0].ToString(); + string user = sArray[1].ToString(); + omodel.HPRDORGID = long.Parse(sArray[2].ToString()); + + try + { + if (!DBUtility.ClsPub.Security_Log("Cj_CallGoodsBill_Edit", 1, false, user)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鏃犱繚瀛樻潈闄�"; + objJsonResult.data = null; + return objJsonResult; + } + msg2 = msg2.Replace("\\", ""); + msg2 = msg2.Replace("\n", ""); + + List<CallGoodsBill> listCa = new List<CallGoodsBill>(); + //鑾峰彇琛ㄦ牸鏁版嵁闆嗗悎 + listCa = JsonConvert.DeserializeObject<List<CallGoodsBill>>(msg2.ToString()); + + int j = 0; + var flag = false; + var txt = ""; + + for (int i = 0; i < listCa.Count; i++) + { + if (listCa[i].HMaterialID != 0 && listCa[i].鍙枡鏁伴噺 > 0) + { + + ds = oCN.RunProcReturn("select * from h_v_JIT_WarehouseList where 浠撳簱ID=" + listCa[i].璋冨嚭浠撳簱ID + " and 鐗╂枡缂栫爜 = '" + listCa[i].鐗╂枡浠g爜 + "' and 搴撳瓨缁勭粐=" + listCa[i].HOutOrgID, "h_v_JIT_WarehouseList"); + + var HSCWHIDCount = double.Parse(ds.Tables[0].Rows[0]["璋冨嚭浠撳簱鍙敤搴撳瓨鏁伴噺"].ToString()); + + if (HSCWHIDCount == 0 && listCa[i].鍙枡鏁伴噺 > 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = $"绗瑊(i + 1)}琛屽簱瀛樻暟閲忎负0,鏃犳硶鍙枡!"; + objJsonResult.data = null; + return objJsonResult; + } + + if (listCa[i].鍙枡鏁伴噺 > HSCWHIDCount) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = $"绗瑊(i+1)}琛岃皟鍑轰粨搴撳彲鐢ㄥ簱瀛樻暟閲忓皬浜庡彨鏂欐暟閲�,鏃犳硶鍙枡!"; + objJsonResult.data = null; + return objJsonResult; + } + + if (listCa[i].鍙枡鏁伴噺 > 0 && listCa[i].璋冨叆浠撳簱id == 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = $"绗瑊(i + 1)}琛岃閫夋嫨璋冨叆浠撳簱!"; + objJsonResult.data = null; + return objJsonResult; + } + + if (listCa[i].鍙枡鏁伴噺 > 0 && listCa[i].璋冨嚭浠撳簱ID == 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = $"绗瑊(i + 1)}琛岃閫夋嫨璋冨嚭浠撳簱!"; + objJsonResult.data = null; + return objJsonResult; + } + + if (listCa[i].璋冨嚭浠撳簱ID == listCa[i].璋冨叆浠撳簱id) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = $"绗瑊(i + 1)}琛岃皟鍑轰粨搴撳拰璋冨叆浠撳簱涓嶈兘涓�鏍�!"; + objJsonResult.data = null; + return objJsonResult; + } + + j = 1; + + var txtHBillNo = DBUtility.ClsPub.CreateBillCode_Prod(CallGoodsBill.ModName, ref DBUtility.ClsPub.sExeReturnInfo, true);//鑾峰緱涓�涓柊鐨勫崟鎹彿 + omodel.HInterID = DBUtility.ClsPub.CreateBillID_Prod(CallGoodsBill.ModName, ref DBUtility.ClsPub.sExeReturnInfo); + omodel.HYear = DateTime.Now.Year; + omodel.HPeriod = DateTime.Now.Month; + //鍥哄畾璧嬪��================================= + omodel.HBillNo = txtHBillNo.Trim(); //鍦ㄨ祴鍊肩被鍓嶅氨澶勭悊濂藉瓧绗︿覆鍜屾暟瀛� + omodel.HDate = DateTime.Now; + omodel.HMaker = user; + omodel.HMakeDate = DateTime.Today.ToString(); + omodel.HUpDater = ""; + omodel.HUpDateDate = ""; + omodel.HCloseType = false; + //鏄庣粏绫昏祴鍊� + + //鍥哄畾璧嬪��======================================== + oSub.HEntryID = i + 1; + oSub.HSourceInterID = listCa[i].HSouceInterID; + oSub.HSourceEntryID = listCa[i].HSourceEntryID; + oSub.HSourceBillType = "88"; + oSub.HSourceBillNo = listCa[i].HSourceBillNo; + oSub.HQty = double.Parse(listCa[i].鍙枡鏁伴噺.ToString()); + + oSub.HMaterID = listCa[i].HMaterialID; + oSub.HMaterNumber = listCa[i].HMaterialNumberCol; + oSub.HModel = listCa[i].HMaterialModelCol; + oSub.HWHID = int.Parse(listCa[i].璋冨叆浠撳簱id.ToString()); + oSub.HSCWHID = int.Parse(listCa[i].璋冨嚭浠撳簱ID.ToString()); + oSub.HProcName = listCa[i].HProcNameCol; + oSub.HProcID = listCa[i].HProcID; + oSub.HOutOrgID = listCa[i].HOutOrgID; + oSub.HICMOBillNo = listCa[i].HICMOBillNo; + oSub.HICMOInterID = listCa[i].HICMOInterID; + oSub.HICMOEntryID = listCa[i].HICMOEntryID; + oSub.HDeptID = listCa[i].HDeptID; + oSub.HPlanQty = listCa[i].璁″垝鍙戞枡鏁伴噺; + oSub.HSeOrderNo = listCa[i].閿�鍞鍗曞彿; + oSub.HBPlanDate = listCa[i].璁″垝寮�宸ユ棩鏈�; + + + flag = AddBill(ref DBUtility.ClsPub.sExeReturnInfo); + + if (flag == false) + { + txt = txt + DBUtility.ClsPub.isStrNull(i + 1) + "銆�"; + } + } + } + if (txt != "") + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = $"绗瑊txt}琛屽彨鏂欏け璐ワ紝閲嶆柊鍙枡"; + objJsonResult.data = null; + return objJsonResult; + } + else + { + if (flag == true) + { + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = "鍙枡鎴愬姛!"; + objJsonResult.data = null; + return objJsonResult; + } + } + if (j == 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鏃犱换浣曞彨鏂欐暟閲忔垨鍙枡鏁伴噺灏忎簬0锛屾棤娉曞彨鏂�!"; + objJsonResult.data = null; + return objJsonResult; + } + + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = null; + objJsonResult.data = null; + return objJsonResult; + } + catch (Exception e) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "Exception锛�" + e.ToString(); + objJsonResult.data = null; + return objJsonResult; + } + } + + //鏂板鍗曟嵁 + public bool AddBill(ref string sReturn) + { + try + { + //鎻掑叆瀛愯〃 + oCN.RunProc("Insert into JIT_CallGoodsBillSub " + + " (HInterID,HEntryID,HRemark" + + ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" + + ",HSeOrderInterID,HSeOrderEntryID,HSeOrderBillNo,HICMOInterID,HICMOEntryID,HICMOBillNo" + + ",HDeptID,HMaterID,HQty,HProcID,HWHID,HSCWHID,HSPID,HBillNo_bak,HOutOrgID,HStockOutOrgID,HStockInOrgID" + + ") values(" + + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + ",'" + oSub.HRemark + "'" + + "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() + + "," + oSub.HSeOrderInterID.ToString() + "," + oSub.HSeOrderEntryID.ToString() + ",'" + oSub.HSeOrderBillNo + "'," + oSub.HICMOInterID.ToString() + "," + oSub.HICMOEntryID.ToString() + ",'" + oSub.HICMOBillNo + "'" + + "," + oSub.HDeptID.ToString() + "," + oSub.HMaterID.ToString() + "," + oSub.HQty.ToString() + ",'" + oSub.HProcID + "'," + oSub.HWHID.ToString() + ", " + oSub.HSCWHID.ToString() + "," + oSub.HSPID.ToString() + ",''," + oSub.HOutOrgID + "," + oSub.HOutOrgID + "," + omodel.HPRDORGID + ") ", ref DBUtility.ClsPub.sExeReturnInfo); + + //涓昏〃 + + oCN.RunProc("Insert Into JIT_CallGoodsBillMain " + + "(HBillType,HBillSubType,HInterID,HBillNo,HDate" + + ",HYear,HPeriod,HRemark,HMaker,HMakeDate" + + ",HBillStatus,HCheckItemNowID,HCheckItemNextID,HCheckFlowID" + + ",HMainSourceBillType,HMainSourceInterID,HMainSourceEntryID,HMainSourceBillNo" + + ",HBacker,HBackDate,HBackRemark,HChecker,HCheckDate,HUpDater,HUpDateDate " + + ",HCloseMan,HCloseDate,HCloseType,HDeleteMan,HDeleteDate " + + ",HPrintQty,HCallManID,HSendManID,HCallType,HWareManID,HOrgID) " + + " values('" + CallGoodsBill.ModName + "','" + CallGoodsBill.ModName + "'," + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "','" + omodel.HDate + "'" + + ", " + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + omodel.HRemark + "','" + omodel.HMaker + "',getdate()" + + ",'" + omodel.HBillStatus + "'," + omodel.HCheckItemNowID.ToString() + "," + omodel.HCheckItemNextID.ToString() + ", " + omodel.HCheckFlowID.ToString() + + ",'" + omodel.HMainSourceBillType + "'," + omodel.HMainSourceInterID.ToString() + "," + omodel.HMainSourceEntryID.ToString() + ", '" + omodel.HMainSourceBillNo + "'" + + ",'" + omodel.HBacker + "','" + omodel.HBackDate + "','" + omodel.HBackRemark + "', '" + omodel.HChecker + "','" + omodel.HCheckDate + "', '" + omodel.HUpDater + "',''" + + ",'" + omodel.HCloseMan + "','" + omodel.HCloseDate + "','" + omodel.HCloseType + "', '" + omodel.HDeleteMan + "','" + omodel.HDeleteDate + "'" + + ",0,0,0,'鏅��',0," + omodel.HPRDORGID + ") ", ref DBUtility.ClsPub.sExeReturnInfo); + + sReturn = "鏂板鍗曟嵁鎴愬姛锛�"; + //oCn.Commit(); + return true; + } + catch (Exception e) + { + sReturn = e.Message; + oCN.RollBack(); + throw (e); + } + } + #endregion + } +} \ No newline at end of file -- Gitblit v1.9.1