From 45ff656a53848046d6a2a457a00c22ab1e357513 Mon Sep 17 00:00:00 2001
From: 杨乐 <杨乐@DESKTOP-5CU1TNO>
Date: 星期二, 15 三月 2022 08:26:01 +0800
Subject: [PATCH] 生产叫料平台

---
 WebAPI/Controllers/SCGL/Sc_CallGoodsBackRequestBillController.cs |  115 +++++++
 WebAPI/Controllers/SCGL/Sc_ComplementGoodsController.cs          |   84 +++++
 WebAPI/Controllers/SCGL/Sc_ComplementGoodBillController.cs       |  610 ++++++++++++++++++++++++++++++++++++++++
 WebAPI/Controllers/CJGL/Cj_CallGoodsBillMainController.cs        |   36 ++
 WebAPI/WebAPI.csproj                                             |    6 
 5 files changed, 851 insertions(+), 0 deletions(-)

diff --git a/WebAPI/Controllers/CJGL/Cj_CallGoodsBillMainController.cs b/WebAPI/Controllers/CJGL/Cj_CallGoodsBillMainController.cs
index 9d7cd47..86f7f43 100644
--- a/WebAPI/Controllers/CJGL/Cj_CallGoodsBillMainController.cs
+++ b/WebAPI/Controllers/CJGL/Cj_CallGoodsBillMainController.cs
@@ -50,5 +50,41 @@
         }
         #endregion
 
+        #region 鍙枡琛ㄥ垪琛� 鍒犻櫎
+        [Route("Cj_CallGoodsBillMain/DelCallGoodsBill")]
+        [HttpGet]
+        public object DelCallGoodsBill(string HInterID,string HEntryID, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Cj_CallGoodsBill_Drop", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡璇㈡潈闄�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ds = oCN.RunProcReturn($"exec h_p_JIT_CallGoodsBillList_Delete {HInterID},{HEntryID}", "h_p_JIT_CallGoodsBillList_Delete");
+
+                objJsonResult.code = ds.Tables[0].Rows[0][0].ToString();
+                objJsonResult.count =int.Parse(ds.Tables[0].Rows[0][0].ToString());
+                objJsonResult.Message = ds.Tables[0].Rows[0][1].ToString();
+                objJsonResult.data = ds.Tables[0];
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
     }
 }
\ No newline at end of file
diff --git a/WebAPI/Controllers/SCGL/Sc_CallGoodsBackRequestBillController.cs b/WebAPI/Controllers/SCGL/Sc_CallGoodsBackRequestBillController.cs
new file mode 100644
index 0000000..e8957d3
--- /dev/null
+++ b/WebAPI/Controllers/SCGL/Sc_CallGoodsBackRequestBillController.cs
@@ -0,0 +1,115 @@
+锘縰sing System.Data;
+using System.Data.SqlClient;
+using System.Web.Http;
+using WebAPI.Models;
+using Newtonsoft.Json;
+using DBUtility;
+using System;
+
+namespace WebAPI.Controllers.SCGL
+{
+    public class Sc_CallGoodsBackRequestBillController : ApiController
+    {
+        private json objJsonResult = new json();
+        public DataSet ds = new DataSet();
+        public WebServer webserver = new WebServer();
+        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+
+        #region 閫�鏂欑敵璇峰崟 鍒楄〃
+        public class CallGoodsBackRequest
+        {
+            public string HBillNo { get; set; }//鎶ュ簾鍗曞彿
+            public string HOrgID { get; set; }//缁勭粐
+            public string MaterialNumber { get; set; }//鐗╂枡浠g爜
+            public string MaterialName { get; set; }//鐗╂枡鍚嶇О
+            public string MaterialModel { get; set; }//瑙勬牸鍨嬪彿
+            public string HDeptName { get; set; }//鐢熶骇杞﹂棿
+            public DateTime HBeginDate { get; set; }//寮�濮嬫椂闂�
+            public DateTime HEndDate { get; set; }//缁撴潫鏃堕棿
+            public string ProcMul { get; set; }//宸ユ
+            public string Hmaker { get; set; }//褰撳墠鐧诲綍浜�
+        }
+
+        [Route("Sc_CallGoodsBackRequestBill/JIT_CallGoodsBackRequestBillList")]
+        [HttpGet]
+        public object JIT_CallGoodsBackRequestBillList(string sWhere, string user)
+        {
+            try
+            {
+                //鏌ョ湅鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("JIT_ComplementGoods", 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;
+                }
+                //鍙嶅簭鍒楀寲浼犻�掔殑鍊�
+                CallGoodsBackRequest com = JsonConvert.DeserializeObject<CallGoodsBackRequest>(sWhere.ToString());
+
+                ds = oCN.RunProcReturn($"exec h_p_JIT_BackGoodsRequestBillList_Query '{com.HBeginDate}','{com.HEndDate}','{com.HBillNo}','{com.MaterialNumber}'," +
+                    $"'{com.MaterialName}','{com.MaterialModel}','{com.HDeptName}','{com.ProcMul}','{com.Hmaker}','{com.HOrgID}'", "h_p_JIT_BackGoodsRequestBillList_Query");
+
+                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 閫�鏂欑敵璇峰崟 鍒犻櫎
+        [Route("Sc_CallGoodsBackRequestBill/DelCallGoodsBackRequestBill")]
+        [HttpGet]
+        public object DelCallGoodsBackRequestBill(string HInterID, string HEntryID, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
+                if (!DBUtility.ClsPub.Security_Log("JIT_ComplementGoods_Drop", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡璇㈡潈闄�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ds = oCN.RunProcReturn($"exec h_p_JIT_BackGoodsRequestBillList_Delete {HInterID},{HEntryID}", "h_p_JIT_BackGoodsRequestBillList_Delete");
+
+                objJsonResult.code = ds.Tables[0].Rows[0][0].ToString();
+                objJsonResult.count = int.Parse(ds.Tables[0].Rows[0][0].ToString());
+                objJsonResult.Message = ds.Tables[0].Rows[0][1].ToString();
+                objJsonResult.data = ds.Tables[0];
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+    }
+}
\ No newline at end of file
diff --git a/WebAPI/Controllers/SCGL/Sc_ComplementGoodBillController.cs b/WebAPI/Controllers/SCGL/Sc_ComplementGoodBillController.cs
new file mode 100644
index 0000000..41407d2
--- /dev/null
+++ b/WebAPI/Controllers/SCGL/Sc_ComplementGoodBillController.cs
@@ -0,0 +1,610 @@
+锘縰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_ComplementGoodBillController : 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 鐢熶骇鍙枡骞冲彴鍒楄〃
+
+        //鍒涘缓涓存椂绫� 鏌ヨ鏉′欢瀛愭
+        public class ComplementGoodBill
+        {
+            public string HSeOrderBillNo { get; set; }//閿�鍞鍗�
+            public string DepartmentName { get; set; }//鐢熶骇杞﹂棿
+            public string Organization { get; set; }//缁勭粐
+            public string MaterialNumber { get; set; }//鐗╂枡浠g爜
+            public string MaterialName { get; set; }//鐗╂枡鍚嶇О
+            public string MaterialModel { get; set; }//瑙勬牸鍨嬪彿
+            public string CPNumber { get; set; }//浜у搧浠g爜
+            public string CPName { get; set; }//浜у搧鍚嶇О
+            public string CPModel { get; set; }//瑙勬牸鍨嬪彿
+            public string HICMOBillNo { get; set; }//鐢熶骇璁㈠崟鍙�
+            public DateTime HBeginDate { get; set; }//寮�濮嬫椂闂�
+            public DateTime HEndDate { get; set; }//缁撴潫鏃堕棿
+            public int ps { get; set; }//浠呮樉绀烘湭瀹屽叏閰嶉��
+            public string user { get; set; }//褰撳墠鐧诲綍浜�
+        }
+
+        [Route("Sc_ComplementGoodBill/ComplementGoodBillList")]
+        [HttpGet]
+        public object ComplementGoodBillList(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;
+                }
+                //鍙嶅簭鍒楀寲浼犻�掔殑鍊�
+                ComplementGoodBill com = JsonConvert.DeserializeObject<ComplementGoodBill>(sWhere.ToString());
+
+                ds = oCN.RunProcReturn($"exec h_p_JIT_CallGoodsPlatForm_Query '{com.HSeOrderBillNo}','{com.DepartmentName}','{com.MaterialNumber}','{com.MaterialName}'," +
+                    $"'{com.MaterialModel}','{com.HICMOBillNo}','{com.CPNumber}','{com.CPName}','{com.CPModel}','{com.HBeginDate}','{com.HEndDate}'," +
+                    $"{com.ps},{com.Organization},'{com.user}' ", "h_p_JIT_CallGoodsPlatForm_Query");
+
+                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 double? 閫�鏂欐暟閲� = 0;//閫�鏂欐暟閲�
+            public long HSTOCKID = 0;//HSTOCKID
+            public string 閫�鏂欏師鍥� { get; set; }//閫�鏂欏師鍥�
+            public int HMaterialID = 0; //HMaterialIDCol
+            public string HSourceBillNo { get; set; }//HSourceBillNoCol
+            public int 璋冨嚭浠撳簱鍙敤搴撳瓨鏁伴噺 = 0;//HKFQtyKYCol
+            public int 璋冨嚭浠撳簱搴撳瓨鏁伴噺 = 0;//HKFQtySCol
+            public double 璁″垝鍙戞枡鏁伴噺 = 0;//HPlanQtyCol 
+            public int HWHID = 0;//HWHIDCol
+            public string HMaterialNumberCol { get; set; }
+            public string HMaterialModelCol { get; set; }
+            public string HProcIDCol { get; set; }//HProcID
+            public string HProcNameCol { get; set; }//宸ユ
+            public int HOutOrgIDCol = 0;//HOutOrgID
+            public string  HICMOBillNoCol { get; set; }//HICMOBillNo
+            public long HICMOInterIDCol = 0;//HICMOInterID
+            public long HICMOEntryIDCol = 0;//HICMOEntryID
+            public long HDeptIDCol = 0;//HDeptID
+            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 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/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();
+
+            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)
+                    {
+                        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());
+
+                        //if (oSub.HQty <= 0)
+                        //{
+                        //    objJsonResult.code = "0";
+                        //    objJsonResult.count = 0;
+                        //    objJsonResult.Message = $"绗瑊i+1}琛岋紝鍙枡鏁伴噺涓嶈兘涓�0鎴栬�呭皬浜�0";
+                        //    objJsonResult.data = null;
+                        //    return objJsonResult;
+                        //}
+
+                        //if (oSub.HQty > listCa[i].璋冨嚭浠撳簱鍙敤搴撳瓨鏁伴噺)
+                        //{
+                        //    objJsonResult.code = "0";
+                        //    objJsonResult.count = 0;
+                        //    objJsonResult.Message = $"绗瑊i+1}琛岋紝鍙枡鏁伴噺澶т簬璇ョ墿鏂欒皟鍑轰粨搴撳彲鐢ㄥ簱瀛樻暟閲�";
+                        //    objJsonResult.data = null;
+                        //    return objJsonResult;
+                        //}
+
+                        oSub.HMaterID = listCa[i].HMaterialID;
+                        oSub.HMaterNumber = listCa[i].HMaterialNumberCol; 
+                        oSub.HModel = listCa[i].HMaterialModelCol;
+                        oSub.HWHID = listCa[i].HWHID;
+                        oSub.HProcName = listCa[i].HProcNameCol; 
+                        oSub.HProcID = listCa[i].HProcIDCol;
+                        oSub.HOutOrgID = listCa[i].HOutOrgIDCol;
+                        oSub.HICMOBillNo = listCa[i].HICMOBillNoCol;
+                        oSub.HICMOInterID = listCa[i].HICMOInterIDCol;
+                        oSub.HICMOEntryID = listCa[i].HICMOEntryIDCol; 
+                        oSub.HDeptID = listCa[i].HDeptIDCol; 
+                        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 = "鏃犱换浣曞彨鏂欐暟閲忥紝鏃犳硶鍙枡!";
+                    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,HSPID,HBillNo_bak" +
+                      ") 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.HSPID.ToString() +",'') ", 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) " +
+                " 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) ", ref DBUtility.ClsPub.sExeReturnInfo);
+
+                sReturn = "鏂板鍗曟嵁鎴愬姛锛�";
+                //oCn.Commit();
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                throw (e);
+            }
+        }
+        #endregion
+
+        #region 鐢熶骇鍙枡骞冲彴  涓嶈壇鍝侀��鏂欑敵璇峰崟鏂板
+        [Route("Sc_ComplementGoodBill/Insert_BLP_ICStockTuiBill")]
+        [HttpPost]
+        public object Insert_BLP_ICStockTuiBill([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();
+            string HOrgID = sArray[2].ToString();
+
+            try
+            {
+                if (!DBUtility.ClsPub.Security_Log("JIT_BLP_ComplementGoods_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());
+
+                if (listCa[0].閫�鏂欐暟閲� > 0)
+                {
+                    Int64 lngBillKey = listCa[0].HSouceInterID == 0 ? 0 : listCa[0].HSouceInterID;
+                    Int64 lngBillKeyEntry = listCa[0].HSourceEntryID == 0 ? 0 : listCa[0].HSourceEntryID;
+                    double HQty = (double)(listCa[0].閫�鏂欐暟閲� == 0 ? 0 : listCa[0].閫�鏂欐暟閲�);
+                    long HDeptWHID = listCa[0].HSTOCKID == 0 ? 0 : listCa[0].HSTOCKID;
+                    string HTuiResult = listCa[0].閫�鏂欏師鍥� == "" ? "" : listCa[0].閫�鏂欏師鍥�;
+                    var HBillNo = DBUtility.ClsPub.CreateBillCode_Prod("6666", ref DBUtility.ClsPub.sExeReturnInfo, true);//鑾峰緱涓�涓柊鐨勫崟鎹彿
+                    var HBillInterID = DBUtility.ClsPub.CreateBillID_Prod("6666", ref DBUtility.ClsPub.sExeReturnInfo);
+
+                    ds = oCN.RunProcReturn("exec h_p_JIT_BadGoodsRequest_Insert  " + lngBillKey.ToString() + " , " + lngBillKeyEntry.ToString() + " ,  '" + user + "'  ," + HQty.ToString() + " ," + HOrgID.ToString() + " , '" + HBillNo + "' ," + HBillInterID.ToString() + "," + HDeptWHID.ToString() + ",'" + HTuiResult + "'", "h_p_JIT_GoodsRequestBad_Insert");
+
+                    if (int.Parse(ds.Tables[0].Rows[0][0].ToString()) == 1)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鏃犱换浣曢��鏂欐暟閲忥紝鏃犳硶閫�鏂�!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    else
+                    {
+                        objJsonResult.code = "1";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "閫�鏂欐垚鍔�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犱换浣曢��鏂欐暟閲忥紝鏃犳硶閫�鏂�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 鐢熶骇鍙枡骞冲彴  浣欓噺閫�鏂欑敵璇峰崟鏂板
+        [Route("Sc_ComplementGoodBill/Insert_YL_ICStockTuiBill")]
+        [HttpPost]
+        public object Insert_YL_ICStockTuiBill([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();
+            string HOrgID = sArray[2].ToString();
+
+            try
+            {
+                if (!DBUtility.ClsPub.Security_Log("JIT_YL_ComplementGoods_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());
+
+                if (listCa[0].閫�鏂欐暟閲� > 0)
+                {
+                    Int64 lngBillKey = listCa[0].HSouceInterID == 0 ? 0 : listCa[0].HSouceInterID;
+                    Int64 lngBillKeyEntry = listCa[0].HSourceEntryID == 0 ? 0 : listCa[0].HSourceEntryID;
+                    double HQty = (double)(listCa[0].閫�鏂欐暟閲� == 0 ? 0 : listCa[0].閫�鏂欐暟閲�);
+                    long HDeptWHID = listCa[0].HSTOCKID == 0 ? 0 : listCa[0].HSTOCKID;
+                    string HTuiResult = listCa[0].閫�鏂欏師鍥� == "" ? "" : listCa[0].閫�鏂欏師鍥�;
+                    var HBillNo = DBUtility.ClsPub.CreateBillCode_Prod("6666", ref DBUtility.ClsPub.sExeReturnInfo, true);//鑾峰緱涓�涓柊鐨勫崟鎹彿
+                    var HBillInterID = DBUtility.ClsPub.CreateBillID_Prod("6666", ref DBUtility.ClsPub.sExeReturnInfo);
+
+                    ds = oCN.RunProcReturn("exec h_p_JIT_MarginGoodsRequest_Insert  " + lngBillKey.ToString() + " , " + lngBillKeyEntry.ToString() + " ,  '" + user + "'  ," + HQty.ToString() + " ," + HOrgID.ToString() + " , '" + HBillNo + "' ," + HBillInterID.ToString() + "," + HDeptWHID.ToString() + ",'" + HTuiResult + "'", "h_p_JIT_GoodsRequestMargin_Insert");
+
+                    if (int.Parse(ds.Tables[0].Rows[0][0].ToString()) == 1)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鏃犱换浣曢��鏂欐暟閲忥紝鏃犳硶閫�鏂�!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    else
+                    {
+                        objJsonResult.code = "1";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "閫�鏂欐垚鍔�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犱换浣曢��鏂欐暟閲忥紝鏃犳硶閫�鏂�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 鐢熶骇鍙枡骞冲彴  鎶ュ簾閫�鏂欑敵璇峰崟鏂板
+        [Route("Sc_ComplementGoodBill/Insert_BF_ICStockTuiBill")]
+        [HttpPost]
+        public object Insert_BF_ICStockTuiBill([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();
+            string HOrgID = sArray[2].ToString();
+
+            try
+            {
+                if (!DBUtility.ClsPub.Security_Log("JIT_YL_ComplementGoods_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());
+
+                if (listCa[0].閫�鏂欐暟閲� > 0)
+                {
+                    Int64 lngBillKey = listCa[0].HSouceInterID == 0 ? 0 : listCa[0].HSouceInterID;
+                    Int64 lngBillKeyEntry = listCa[0].HSourceEntryID == 0 ? 0 : listCa[0].HSourceEntryID;
+                    double HQty = (double)(listCa[0].閫�鏂欐暟閲� == 0 ? 0 : listCa[0].閫�鏂欐暟閲�);
+                    long HDeptWHID = listCa[0].HSTOCKID == 0 ? 0 : listCa[0].HSTOCKID;
+                    string HTuiResult = listCa[0].閫�鏂欏師鍥� == "" ? "" : listCa[0].閫�鏂欏師鍥�;
+                    var HBillNo = DBUtility.ClsPub.CreateBillCode_Prod("6666", ref DBUtility.ClsPub.sExeReturnInfo, true);//鑾峰緱涓�涓柊鐨勫崟鎹彿
+                    var HBillInterID = DBUtility.ClsPub.CreateBillID_Prod("6666", ref DBUtility.ClsPub.sExeReturnInfo);
+
+                    ds = oCN.RunProcReturn("exec h_p_JIT_ScrapGoodsRequest_Insert  " + lngBillKey.ToString() + " , " + lngBillKeyEntry.ToString() + " ,  '" + user + "'  ," + HQty.ToString() + " ," + HOrgID.ToString() + " , '" + HBillNo + "' ," + HBillInterID.ToString() + "," + HDeptWHID.ToString() + ",'" + HTuiResult + "'", "h_p_JIT_GoodsRequestMargin_Insert");
+
+                    if (int.Parse(ds.Tables[0].Rows[0][0].ToString()) == 1)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鏃犱换浣曢��鏂欐暟閲忥紝鏃犳硶閫�鏂�!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    else
+                    {
+                        objJsonResult.code = "1";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "閫�鏂欐垚鍔�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犱换浣曢��鏂欐暟閲忥紝鏃犳硶閫�鏂�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 鐢熶骇鍙枡骞冲彴  鍙枡鎷f枡淇℃伅鏌ヨ
+        //鏌ヨ鏉′欢
+        public class HlpBill
+        {
+            public int HSouceInterID = 0;
+            public int HSourceEntryID = 0;
+            public string user { get; set; }
+        }
+        [Route("Sc_ComplementGoodBill/HlpBillList")]
+        [HttpGet]
+        public object HlpBillList(string sWhere)
+        {
+            try
+            {
+                //鍙嶅簭鍒楀寲浼犻�掔殑鍊�
+                HlpBill com = JsonConvert.DeserializeObject<HlpBill>(sWhere.ToString());
+
+                ds = oCN.RunProcReturn($"exec h_p_JIT_CallGoodsPlatForm_DownQuery 0,0,'',0,0,'{com.HSouceInterID}','{com.HSourceEntryID}'"+
+                    $"'{com.user}'", "h_p_JIT_CallGoodsPlatForm_DownQuery");
+
+                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
+
+    }
+}
\ No newline at end of file
diff --git a/WebAPI/Controllers/SCGL/Sc_ComplementGoodsController.cs b/WebAPI/Controllers/SCGL/Sc_ComplementGoodsController.cs
new file mode 100644
index 0000000..5d18f46
--- /dev/null
+++ b/WebAPI/Controllers/SCGL/Sc_ComplementGoodsController.cs
@@ -0,0 +1,84 @@
+锘縰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_ComplementGoodsController : ApiController
+    {
+        private json objJsonResult = new json();
+        public DataSet ds = new DataSet();
+        public WebServer webserver = new WebServer();
+        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+
+        #region 鎷f枡閰嶉�佸崟鍒楄〃
+        public class ComplementGoods
+        {
+            public string MaterialNumber { get; set; }//鐗╂枡浠g爜
+            public string MaterialName { get; set; }//鐗╂枡鍚嶇О
+            public string MaterialModel { get; set; }//瑙勬牸鍨嬪彿
+            public string HGD { get; set; }//宸ユ
+            public string HWHName { get; set; }//浠撳簱
+            public string Organization { get; set; }//缁勭粐
+            public DateTime HBeginDate { get; set; }//寮�濮嬫椂闂�
+            public DateTime HEndDate { get; set; }//缁撴潫鏃堕棿
+            public string HDeptName { get; set; }//閮ㄩ棬
+            public string HJLStatus { get; set; }//鎷f枡鐘舵��
+            public string user { get; set; }//鍒跺崟浜�
+        }
+
+        [Route("Sc_ComplementGoods/ComplementGoodsList")]
+        [HttpGet]
+        public object ComplementGoodBillList(string sWhere, string user)
+        {
+            try
+            {
+                //鏌ョ湅鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("Cj_ComplementGoodsBill_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;
+                }
+                //鍙嶅簭鍒楀寲浼犻�掔殑鍊�
+                ComplementGoods com = JsonConvert.DeserializeObject<ComplementGoods>(sWhere.ToString());
+
+                
+                ds = oCN.RunProcReturn($"exec h_p_JIT_ComplementGoodsBillList_Query '{com.MaterialNumber}','{com.MaterialName}','{com.MaterialModel}','{com.HGD}'," +
+                    $"'{com.HWHName}','{com.HDeptName}','{com.Organization}','{com.user}','{com.HJLStatus}','{com.HBeginDate}','{com.HEndDate}'" ,"h_p_JIT_ComplementGoodsBillList_Query");
+
+                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
+    }
+}
\ No newline at end of file
diff --git a/WebAPI/WebAPI.csproj b/WebAPI/WebAPI.csproj
index b007a0f..97e032f 100644
--- a/WebAPI/WebAPI.csproj
+++ b/WebAPI/WebAPI.csproj
@@ -358,6 +358,9 @@
     <Compile Include="Controllers\CJGL\Cj_StationInBillController.cs" />
     <Compile Include="Controllers\CJGL\Cj_StationEntrustOutBillController.cs" />
     <Compile Include="Controllers\CJGL\Sc_WorkBillAutoSortBillMainController.cs" />
+    <Compile Include="Controllers\SCGL\Sc_CallGoodsBackRequestBillController.cs" />
+    <Compile Include="Controllers\SCGL\Sc_ComplementGoodBillController.cs" />
+    <Compile Include="Controllers\SCGL\Sc_ComplementGoodsController.cs" />
     <Compile Include="Controllers\SCGL\Sc_ICBomBillController.cs" />
     <Compile Include="Controllers\Sc_PckSplitBillController.cs" />
     <Compile Include="Controllers\GZGL\Gy_DuSubsidyItemBillController.cs" />
@@ -794,6 +797,9 @@
     <Folder Include="Views\ProductionReturnBill\" />
     <Folder Include="Views\QC_Management\" />
     <Folder Include="Views\Sb_EquipRepairSendWorkBill\" />
+    <Folder Include="Views\Sc_CallGoodsBackRequestBill\" />
+    <Folder Include="Views\Sc_ComplementGoodBill\" />
+    <Folder Include="Views\Sc_ComplementGoods\" />
     <Folder Include="Views\Sc_MouldRepairOutBill\" />
     <Folder Include="Views\Sc_MouldRepairSendWorkBill\" />
     <Folder Include="Views\Sc_WorkBillAutoSortBillMain\" />

--
Gitblit v1.9.1