From 97c43d459cb96e768948a44d9845a0b439bc2adc Mon Sep 17 00:00:00 2001
From: yangle <admin@YINMOU>
Date: 星期四, 29 十二月 2022 10:07:10 +0800
Subject: [PATCH] 设备点检计划 记录  设备保养记录单

---
 WebAPI/Controllers/SCGL/Sc_ComplementGoodsController.cs |  233 +++++++++++++++++++++++++++++++---------------------------
 1 files changed, 125 insertions(+), 108 deletions(-)

diff --git a/WebAPI/Controllers/SCGL/Sc_ComplementGoodsController.cs b/WebAPI/Controllers/SCGL/Sc_ComplementGoodsController.cs
index cc5ddc0..2676353 100644
--- a/WebAPI/Controllers/SCGL/Sc_ComplementGoodsController.cs
+++ b/WebAPI/Controllers/SCGL/Sc_ComplementGoodsController.cs
@@ -32,6 +32,7 @@
             public string HDeptName { get; set; }//閮ㄩ棬
             public string HJLStatus { get; set; }//鎷f枡鐘舵��
             public string user { get; set; }//鍒跺崟浜�
+            public string Arbitrarily { get; set; }//浠绘剰鍙傛暟
         }
 
         [Route("Sc_ComplementGoods/ComplementGoodsList")]
@@ -60,11 +61,8 @@
                 //鍙嶅簭鍒楀寲浼犻�掔殑鍊�
                 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");
-
-                //bool a = AddSendGoodsBillSynChronizAtion("PLD00000114", ref DBUtility.ClsPub.sExeReturnInfo);
+                       $"'{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;
@@ -273,7 +271,7 @@
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "璋冩嫧鍗曠敓鎴愬け璐�";
+                    objJsonResult.Message = objJsonResult.Message;
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
@@ -294,15 +292,11 @@
             {
                 oCN.BeginTran();
 
-                ds = oCN.RunProcReturn($"select a.HMainSourceEntryID,b.HMaterID  from JIT_SendGoodsBillMain a  with(nolock) inner join JIT_SendGoodsBillSub b with(nolock) on a.HInterID = b.HInterID where a.HMainSourceInterID={SourceInterID} and a.HBillStatus=1", "JIT_SendGoodsBillMain");
-
                 long InterID = 0;
                 string HBillNo = "";
                 for (int i = 0; i < listCa.Count; i++)
                 {
-                    // 鍒欎唬琛ㄩ厤閫佸崟娌℃湁鏁版嵁  闇�瑕佹坊鍔犳暟鎹�
-                    if (ds.Tables[0].Rows.Count == 0)
-                    {
+                   
                         if (i == 0)
                         {
                             InterID = DBUtility.ClsPub.CreateBillID_Prod("460201", ref DBUtility.ClsPub.sExeReturnInfo);
@@ -321,44 +315,30 @@
                             ",HMaterID,HQty,HWHID,HSPID,HISCheck,HCheckSubMan,HCheckSubDate,HStockOutOrgID,HStockInOrgID,HSCWHID)" +
                             $"values({InterID},'{HBillNo}',{i + 1}, {listCa[i].HMaterID},{listCa[i].鏈鎷f枡鏁伴噺}," +
                             $" {listCa[i].HWHID},{listCa[i].HSPID},0,'{user}', GETDATE(),{listCa[i].HStockOutOrgID},{listCa[i].HStockInOrgID},{listCa[i].HSCWHID})");
-                    }
-                    else
-                    {
-                        //淇敼閰嶉�佸崟鐨勯厤閫佹暟閲�
-                        oCN.RunProc($"update b  set b.HQty=b.HQty+{listCa[i].鏈鎷f枡鏁伴噺} from JIT_SendGoodsBillMain a  with(nolock) inner join JIT_SendGoodsBillSub b with(nolock) on a.HInterID = b.HInterID  " +
-                            $"where  HMainSourceInterID ={SourceInterID} and b.HMaterID ={listCa[i].HMaterID} and a.HBillStatus =1 ");
-                    }
+                 
 
                     DataSet dsTable = new DataSet();
                     //鏌ヨJIT_ComplementGoodsBillSub_LK
-                    dsTable = oCN.RunProcReturn($"select  * from JIT_ComplementGoodsBillSub_LK where HMaterID={listCa[i].HMaterID}  and HInterID={SourceInterID} order by HSourceInterID ", "JIT_ComplementGoodsBillSub_LK");
+                    dsTable = oCN.RunProcReturn($"select  * from JIT_ComplementGoodsBillSub_LK where HMaterID={listCa[i].HMaterID}  and HInterID={SourceInterID} and HCallQTY<>HSendQTY  order by HSourceInterID ", "JIT_ComplementGoodsBillSub_LK");
 
+                    var HqtyCount = double.Parse(listCa[i].鏈鎷f枡鏁伴噺.ToString());
                     for (int j = 0; j < dsTable.Tables[0].Rows.Count; j++)
                     {
-                        if (double.Parse(dsTable.Tables[0].Rows[j]["HCallQTY"].ToString()) != double.Parse(dsTable.Tables[0].Rows[j]["HSendQTY"].ToString()))
-                        {
-                            if (double.Parse(dsTable.Tables[0].Rows[j]["HSendQTY"].ToString()) + listCa[i].鏈鎷f枡鏁伴噺 > double.Parse(dsTable.Tables[0].Rows[j]["HCallQTY"].ToString()))
-                            {
-                                var HCallQTY = double.Parse(dsTable.Tables[0].Rows[j]["HCallQTY"].ToString()) - double.Parse(dsTable.Tables[0].Rows[j]["HSendQTY"].ToString());
-                                //淇敼璋冩嫧鏁伴噺 瓒呭嚭閮ㄥ垎缁欎簣涓嬩竴鍒楁暟鎹�
-                                oCN.RunProc($"update JIT_ComplementGoodsBillSub_LK set HSendQTY=HSendQTY+{HCallQTY} where HMaterID={listCa[i].HMaterID} " +
-                                    $" and HSourceInterID={double.Parse(dsTable.Tables[0].Rows[j]["HSourceInterID"].ToString())} and HInterID={SourceInterID} ");
+                        var HCallQTY = double.Parse(dsTable.Tables[0].Rows[j]["HCallQTY"].ToString()) - double.Parse(dsTable.Tables[0].Rows[j]["HSendQTY"].ToString());
 
-                                oCN.RunProc($"update JIT_ComplementGoodsBillSub_LK set HSendQTY=HSendQTY+{(listCa[i].鏈鎷f枡鏁伴噺 - HCallQTY)} where HMaterID={listCa[i].HMaterID} " +
-                                   $" and HSourceInterID={dsTable.Tables[0].Rows[j + 1]["HSourceInterID"].ToString()} and HInterID={SourceInterID} ");
-                                break;
-                            }
-                            else
-                            {
-                                //淇敼璋冩嫧鏁伴噺
-                                oCN.RunProc($"update JIT_ComplementGoodsBillSub_LK set HSendQTY=HSendQTY+{listCa[i].鏈鎷f枡鏁伴噺} where HMaterID={listCa[i].HMaterID} " +
-                                    $" and HSourceInterID={dsTable.Tables[0].Rows[j]["HSourceInterID"].ToString()} and HInterID={SourceInterID} ");
-                                break;
-                            }
+                        //淇敼璋冩嫧鏁伴噺 
+                        oCN.RunProc($"update JIT_ComplementGoodsBillSub_LK set HSendQTY=HSendQTY+{(HCallQTY < HqtyCount ? HCallQTY : HqtyCount)} where HMaterID={listCa[i].HMaterID} " +
+                            $" and HSourceInterID={double.Parse(dsTable.Tables[0].Rows[j]["HSourceInterID"].ToString())} and HInterID={SourceInterID} ");
+
+                        HqtyCount -= HCallQTY;
+                        if (HqtyCount <= 0)
+                        {
+                            break;
                         }
                     }
                 }
 
+                //鍚屾閲戣澏鐩存帴璋冩嫧鍗�
                 objJsonResult = AddSendGoodsBillSynChronizAtion(HBillNo);
 
                 oCN.Commit();
@@ -375,18 +355,16 @@
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = null;
+                    objJsonResult.Message = objJsonResult.Message;
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
             }
             catch (Exception e)
             {
-                oCN.RollBack();
-
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
-                objJsonResult.Message = e.Message;
+                objJsonResult.Message = objJsonResult.Message;
                 return objJsonResult;
                 throw (e);
             }
@@ -396,82 +374,121 @@
         public json AddSendGoodsBillSynChronizAtion(string HBillNo)
         {
             ds = oCN.RunProcReturn("exec JIT_SendGoodsBillSynChronizAtion '" + HBillNo + "'", "JIT_SendGoodsBillSynChronizAtion");
-
-            foreach (DataRow dr in ds.Tables[0].Rows)
+            if (ds.Tables[0].Rows.Count != 0)
             {
-                JObject model = new JObject();
-                model.Add("FBillTypeID", new JObject() { ["Fnumber"] = dr["FBillTypeID"].ToString() }); //鍗曟嵁绫诲瀷
-                model.Add("FDate", dr["FDate"].ToString());
-                model.Add("FBILLNO", dr["FBILLNO"].ToString());
-                model.Add("FStockOrgId", new JObject() { ["Fnumber"] = dr["FStockOrgId"].ToString() });
-                model.Add("FOwnerTypeIdHead", dr["FOwnerTypeIdHead"].ToString());
-                model.Add("FTransferBizType", dr["FTransferBizType"].ToString());
-                model.Add("FOwnerTypeOutIdHead", dr["FOwnerTypeOutIdHead"].ToString());
-                model.Add("FTransferDirect", dr["FTransferDirect"].ToString());
-                model.Add("FStockOutOrgId", new JObject() { ["Fnumber"] = dr["FStockOutOrgId"].ToString() });
+                foreach (DataRow dr in ds.Tables[0].Rows)
+                {
+                    JObject model = new JObject();
+                    model.Add("FBillTypeID", new JObject() { ["Fnumber"] = dr["FBillTypeID"].ToString() }); //鍗曟嵁绫诲瀷
+                    model.Add("FDate", dr["FDate"].ToString());
+                    model.Add("FBILLNO", dr["FBILLNO"].ToString());
+                    model.Add("FStockOrgId", new JObject() { ["Fnumber"] = ds.Tables[1].Rows[0]["FStockOrgId"].ToString() });
+                    model.Add("FOwnerTypeIdHead", dr["FOwnerTypeIdHead"].ToString());
+                    model.Add("FTransferBizType", ds.Tables[1].Rows[0]["FTransferBizType"].ToString());
+                    model.Add("FOwnerTypeOutIdHead", dr["FOwnerTypeOutIdHead"].ToString());
+                    model.Add("FTransferDirect", dr["FTransferDirect"].ToString());
+                    model.Add("FStockOutOrgId", new JObject() { ["Fnumber"] = ds.Tables[1].Rows[0]["FStockOutOrgId"].ToString() });
 
-                JArray Fentity = new JArray();
-                foreach (DataRow item in ds.Tables[1].Rows)
-                {
-                    JObject FentityModel = new JObject();
-                    FentityModel.Add("FMaterialId", new JObject() { ["Fnumber"] = item["FMaterialId"].ToString() });
-                    FentityModel.Add("FUnitID", new JObject() { ["Fnumber"] = item["FUnitID"].ToString() });
-                    FentityModel.Add("FBaseUnitId", new JObject() { ["Fnumber"] = item["FBaseUnitId"].ToString() });
-                    FentityModel.Add("FOwnerTypeId", item["FOwnerTypeId"].ToString());
-                    FentityModel.Add("FOwnerId", new JObject() { ["Fnumber"] = item["FOwnerId"].ToString() });
-                    FentityModel.Add("FOwnerTypeOutId", item["FOwnerTypeOutId"].ToString());
-                    FentityModel.Add("FOwnerOutId", new JObject() { ["Fnumber"] = item["FOwnerOutId"].ToString() });
-                    FentityModel.Add("FKeeperTypeId", item["FKeeperTypeId"].ToString());
-                    FentityModel.Add("FKeeperId", new JObject() { ["Fnumber"] = item["FKeeperId"].ToString() });
-                    FentityModel.Add("FKeeperTypeOutId", item["FKeeperTypeOutId"].ToString());
-                    FentityModel.Add("FKeeperOutId", new JObject() { ["Fnumber"] = item["FKeeperOutId"].ToString() });
-                    FentityModel.Add("FDestStockId", new JObject() { ["Fnumber"] = item["FDestStockId"].ToString() });
-                    FentityModel.Add("FSrcStockId", new JObject() { ["Fnumber"] = item["FSrcStockId"].ToString() });
-                    FentityModel.Add("FQty", item["FQty"].ToString());
-                    Fentity.Add(FentityModel);
-                }
-                model.Add("FBillEntry", Fentity);
+                    JArray Fentity = new JArray();
+                    foreach (DataRow item in ds.Tables[1].Rows)
+                    {
+                        JObject FentityModel = new JObject();
+                        FentityModel.Add("FMaterialId", new JObject() { ["Fnumber"] = item["FMaterialId"].ToString() });
+                        FentityModel.Add("FUnitID", new JObject() { ["Fnumber"] = item["FUnitID"].ToString() });
+                        FentityModel.Add("FBaseUnitId", new JObject() { ["Fnumber"] = item["FBaseUnitId"].ToString() });
+                        FentityModel.Add("FOwnerTypeId", item["FOwnerTypeId"].ToString());
+                        FentityModel.Add("FOwnerId", new JObject() { ["Fnumber"] = item["FOwnerId"].ToString() });
+                        FentityModel.Add("FOwnerTypeOutId", item["FOwnerTypeOutId"].ToString());
+                        FentityModel.Add("FOwnerOutId", new JObject() { ["Fnumber"] = item["FOwnerOutId"].ToString() });
+                        FentityModel.Add("FKeeperTypeId", item["FKeeperTypeId"].ToString());
+                        FentityModel.Add("FKeeperId", new JObject() { ["Fnumber"] = item["FKeeperId"].ToString() });
+                        FentityModel.Add("FKeeperTypeOutId", item["FKeeperTypeOutId"].ToString());
+                        FentityModel.Add("FKeeperOutId", new JObject() { ["Fnumber"] = item["FKeeperOutId"].ToString() });
+                        FentityModel.Add("FDestStockId", new JObject() { ["Fnumber"] = item["FDestStockId"].ToString() });
+                        FentityModel.Add("FSrcStockId", new JObject() { ["Fnumber"] = item["FSrcStockId"].ToString() });
+                        FentityModel.Add("FQty", item["FQty"].ToString());
+                        Fentity.Add(FentityModel);
+                    }
+                    model.Add("FBillEntry", Fentity);
 
-                JObject jsonRoot = new JObject()
-                {
-                    ["Creator"] = "",
-                    ["NeedUpDateFields"] = new JArray(),
-                    ["NeedReturnFields"] = new JArray(),
-                    ["IsDeleteEntry"] = "false",
-                    ["SubSystemId"] = "",
-                    ["IsVerifyBaseDataField"] = "false",
-                    ["Model"] = model
-                };
-                var loginRet = InvokeHelper.Login();
-                var isSuccess = JObject.Parse(loginRet)["LoginResultType"].Value<int>();
-                if (isSuccess < 0)
-                {
-                    objJsonResult.code = "0";
-                    objJsonResult.count = 0;
-                    objJsonResult.Message = loginRet;
-                    objJsonResult.data = null;
-                    return objJsonResult;
-                }
-                var result = InvokeHelper.Save("STK_TransferDirect", jsonRoot.ToString());
-                if (JObject.Parse(result)["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() == "TRUE")
-                {
+                    JObject jsonRoot = new JObject()
+                    {
+                        ["Creator"] = "",
+                        ["NeedUpDateFields"] = new JArray(),
+                        ["NeedReturnFields"] = new JArray(),
+                        ["IsDeleteEntry"] = "false",
+                        ["SubSystemId"] = "",
+                        ["IsVerifyBaseDataField"] = "false",
+                        ["Model"] = model
+                    };
+                    var loginRet = InvokeHelper.Login();
+                    var isSuccess = JObject.Parse(loginRet)["LoginResultType"].Value<int>();
+                    if (isSuccess < 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = loginRet;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    var result = InvokeHelper.Save("STK_TransferDirect", jsonRoot.ToString());
+                    if (JObject.Parse(result)["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE")
+                    {
+                        oCN.RollBack();
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = result;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
+                    var json = new
+                    {
+                        Numbers = HBillNo,
+                    };
+                    //鎻愪氦
+                    var _result = InvokeHelper.Submit("STK_TransferDirect", JsonConvert.SerializeObject(json));
+                    var _saveObj = JObject.Parse(_result);
+                    if (_saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE")
+                    {
+                        LogService.Write("鏀舵枡閫氱煡鍗曟彁浜ゅけ璐sonRoot:" + jsonRoot.ToString());
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "閲戣澏鏀舵枡閫氱煡鍗曟彁浜ゅけ璐�" + _result;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+
+                    }
+                    //瀹℃牳
+                    _result = InvokeHelper.Audit("STK_TransferDirect", JsonConvert.SerializeObject(json));
+                    _saveObj = JObject.Parse(_result);
+                    if (_saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE")
+                    {
+                        LogService.Write("鏀舵枡閫氱煡鍗曞鏍稿け璐sonRoot:" + jsonRoot.ToString());
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "閲戣澏鏀舵枡閫氱煡鍗曞鏍稿け璐sonRoot" + _result;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
                     objJsonResult.code = "1";
                     objJsonResult.count = 1;
-                    objJsonResult.Message = null;
-                    objJsonResult.data = null;
-                    return objJsonResult;
-                }
-                else
-                {
-                    objJsonResult.code = "0";
-                    objJsonResult.count = 0;
-                    objJsonResult.Message = result;
+                    objJsonResult.Message = "鎿嶄綔鎴愬姛锛�";
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
             }
-            objJsonResult.code = "1";
-            objJsonResult.count = 1;
+            else
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "璋冩嫧鍗曞凡缁忓瓨鍦�,鏃犳硶鐢熸垚!";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            objJsonResult.code = "0";
+            objJsonResult.count = 0;
             objJsonResult.Message = null;
             objJsonResult.data = null;
             return objJsonResult;

--
Gitblit v1.9.1