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