From 7fb870f53ccf134a4f3baef58ff98917d8c712bb Mon Sep 17 00:00:00 2001
From: yusijie <ysj@hz-kingdee.com>
Date: 星期四, 18 七月 2024 11:31:54 +0800
Subject: [PATCH] Merge branch 'master' of http://101.37.171.70:10101/r/MES-WEB-API

---
 WebAPI/Controllers/仓存管理/领料发货/Kf_MateOutRequestBillController.cs |  256 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 255 insertions(+), 1 deletions(-)

diff --git "a/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\351\242\206\346\226\231\345\217\221\350\264\247/Kf_MateOutRequestBillController.cs" "b/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\351\242\206\346\226\231\345\217\221\350\264\247/Kf_MateOutRequestBillController.cs"
index 80b8606..8d56be4 100644
--- "a/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\351\242\206\346\226\231\345\217\221\350\264\247/Kf_MateOutRequestBillController.cs"
+++ "b/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\351\242\206\346\226\231\345\217\221\350\264\247/Kf_MateOutRequestBillController.cs"
@@ -11,7 +11,7 @@
 using WebAPI.Models;
 
 
-namespace WebAPI.Controllers.浠撳瓨绠$悊.棰嗘枡鍙戣揣
+namespace WebAPI.Controllers
 {
     public class Kf_MateOutRequestBillController : ApiController
     {
@@ -19,6 +19,7 @@
         private json objJsonResult = new json();
         public DataSet ds = new DataSet();
         public SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
 
         public string HManagerID { get; private set; }
 
@@ -329,5 +330,258 @@
             }
         }
 
+
+        #region 鏍规嵁鍗曟嵁鍙凤紝鍚屾鐢熶骇鍙戞枡閫氱煡鍗�(棰嗙敤鐢宠鍗�)
+        [Route("Kf_MateOutRequestBillController/GetKf_MateOutRequestBill_Sync_Json")]
+        [HttpGet]
+        public json GetKf_MateOutRequestBill_Sync_Json(string HBillNo, string HBillType)
+        {
+            try
+            {
+                //鑾峰彇绯荤粺鍙傛暟
+                string sql = string.Empty;
+                string sErrMsg = "";
+                if (oSystemParameter.ShowBill(ref sErrMsg) == true)
+                {
+                    //绯荤粺鍙傛暟鏄惁涓虹鏈変簯妯″紡,N涓哄叕鏈変簯妯″紡锛孻涓虹鏈変簯妯″紡
+                    //绉佹湁浜戞ā寮忥紝閫氳繃璋冪敤瀛樺偍杩囩▼杩涜鍚屾
+                    if (oSystemParameter.omodel.WMS_CloudMode.ToUpper() == "Y")
+                    {
+                        ds = oCn.RunProcReturn("exec h_p_IFCLD_ERPSourceBillToLocal_MateOutRequest '" + HBillNo + "'", "h_p_IFCLD_ERPSourceBillToLocal_MateOutRequest");
+                        if (ds == null || ds.Tables[0].Rows.Count == 0)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鍚屾鍙戠敓閿欒锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        else
+                        {
+                            if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HBack"]) == 2)
+                            {
+                                objJsonResult.code = "0";
+                                objJsonResult.count = 0;
+                                objJsonResult.Message = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
+                                objJsonResult.data = null;
+                                return objJsonResult;
+                            }
+                            else
+                            {
+                                objJsonResult.code = "0";
+                                objJsonResult.count = 1;
+                                objJsonResult.Message = "鍗曟嵁鍚屾鎴愬姛锛�";
+                                objJsonResult.data = null;
+                                return objJsonResult;
+                            }
+                        }
+                    }
+                    //鍏湁浜戞ā寮忥紝閫氳繃璋冪敤WEBAPI鏂瑰紡杩涜鍚屾
+                    else if (oSystemParameter.omodel.WMS_CloudMode.ToUpper() == "N")
+                    {
+                        //鍒ゆ柇閲戣澏浜戞槸鍚︾櫥褰曟垚鍔�
+                        var loginRet = InvokeHelper.Login();
+                        var isSuccess = JObject.Parse(loginRet)["LoginResultType"].Value<int>();
+                        //鍒ゆ柇鏄惁鐧诲綍鎴愬姛
+                        if (isSuccess <= 0)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍚屾澶辫触锛岄噾铦朵簯鐧诲叆涓嶆垚鍔燂紝璇风‘璁鐩橀厤缃枃浠舵墍璁剧疆閲戣澏浜戝搴旂綉鍧�銆佽处濂椼�佺櫥褰曠敤鎴枫�佺櫥褰曞瘑鐮佹槸鍚︽纭紒";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+
+                        var json = new
+                        {
+                            CreateOrgId = 0,
+                            Number = HBillNo,
+                            Id = ""
+                        };
+                        //鏌ョ湅 鑾峰彇鏁版嵁                    
+                        var _result = InvokeHelper.View("PRD_ISSUEMTRNOTICE", JsonConvert.SerializeObject(json));
+                        var _saveObj = JObject.Parse(_result);
+                        //鍒ゆ柇閲戣澏浜戞暟鎹槸鍚﹁幏鍙栨垚鍔�
+                        if (_saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "閲戣澏浜戠敓浜у彂鏂欓�氱煡鍗曡幏鍙栧け璐ワ細" + _result;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+
+                        oCn.BeginTran();
+                        //鏍规嵁鍗曟嵁鍙峰垹闄ゆ湰鍦扮敓浜у彂鏂欓�氱煡鍗曚腑瀵瑰簲鍗曟嵁
+                        oCn.RunProc("Delete b from Kf_MateOutRequestBillMain a inner join Kf_MateOutRequestBillSub b on a.HInterID=b.HInterID where a.HBillNo = '" + HBillNo + "'", ref DBUtility.ClsPub.sExeReturnInfo);
+                        oCn.RunProc("Delete from Kf_MateOutRequestBillMain where HBillNo = '" + HBillNo + "'", ref DBUtility.ClsPub.sExeReturnInfo);
+
+                        //涓昏〃鏁版嵁璧嬪��
+                        var MainData = new
+                        {
+                            HInterID = DBUtility.ClsPub.isLong(_saveObj["Result"]["Result"]["Id"]),
+                            HBillNo = DBUtility.ClsPub.isStrNull(_saveObj["Result"]["Result"]["BillNo"]),
+                            HBillType = "1214",
+                            HBillSubType = "1214",
+                            HDate = DBUtility.ClsPub.isDate(_saveObj["Result"]["Result"]["Date"]),
+                            HBillStatus = DBUtility.ClsPub.isLong(_saveObj["Result"]["Result"]["ApproverId_Id"]) == 0 ? 1 : 2,
+                            HInnerBillNo = DBUtility.ClsPub.isStrNull(_saveObj["Result"]["Result"]["BillNo"]),
+                            HRemark = "CLD瀵煎叆",
+                            HEmpID = 0,
+                            HManagerID = 0,
+                            HSecManagerID = 0,
+                            HKeeperID = 0,
+                            HDeptID = DBUtility.ClsPub.isLong(_saveObj["Result"]["Result"]["WorkShopId_Id"]),
+                            HExplanation = "",
+                            HICCard = "",
+                            HSUPPLYType = DBUtility.ClsPub.isStrNull(_saveObj["Result"]["Result"]["IssueType"]),
+                            HPRDORGID = DBUtility.ClsPub.isLong(_saveObj["Result"]["Result"]["PrdOrgId_Id"]),
+                            HMaker = DBUtility.ClsPub.isStrNull(_saveObj["Result"]["Result"]["CreatorId"]["Name"]),
+                            HMakeDate = DBUtility.ClsPub.isDate(_saveObj["Result"]["Result"]["CreateDate"]),
+                            HChecker = DBUtility.ClsPub.isLong(_saveObj["Result"]["Result"]["ApproverId_Id"]) == 0 ? "" : DBUtility.ClsPub.isStrNull(_saveObj["Result"]["Result"]["ApproverId"]["Name"]),
+                            HCheckDate = DBUtility.ClsPub.isDate(_saveObj["Result"]["Result"]["ApproveDate"]),
+                            HUpDater = DBUtility.ClsPub.isLong(_saveObj["Result"]["Result"]["ModifierId_Id"]) == 0 ? "" : DBUtility.ClsPub.isStrNull(_saveObj["Result"]["Result"]["ModifierId"]["Name"]),
+                            HUpDateDate = DBUtility.ClsPub.isDate(_saveObj["Result"]["Result"]["ModifyDate"]),
+                            HDeleteMan = DBUtility.ClsPub.isLong(_saveObj["Result"]["Result"]["CANCELER_Id"]) == 0 ? "" : DBUtility.ClsPub.isStrNull(_saveObj["Result"]["Result"]["CANCELER"]["Name"]),
+                            HDeleteDate = DBUtility.ClsPub.isDate(_saveObj["Result"]["Result"]["CancelDate"]),
+                        };
+                        //鍐欏叆涓昏〃
+                        sql = $@"Insert into Kf_MateOutRequestBillMain
+	                                (HInterID,HYear,HPeriod,HBillType,HBillSubType,HDate
+	                                ,HBillNo,HBillStatus,HInnerBillNo,HRemark
+	                                ,HEmpID,HManagerID,HSecManagerID,HKeeperID,HDeptID
+	                                ,HExplanation,HICCard,HSUPPLYType,HPRDORGID
+	                                ,HMaker,HMakeDate
+                                    ,HChecker,HCheckDate
+	                                ,HUpDater,HUpDateDate
+                                    ,HDeleteMan,HDeleteDate)
+                                    Values({MainData.HInterID},year('{MainData.HDate}'),month('{MainData.HDate}'),'{MainData.HBillType}','{MainData.HBillSubType}','{MainData.HDate}'
+                                    ,'{MainData.HBillNo}',{MainData.HBillStatus},'{MainData.HInnerBillNo}','{MainData.HRemark}'
+                                    , {MainData.HEmpID},{MainData.HManagerID},{MainData.HSecManagerID},{MainData.HKeeperID},{MainData.HDeptID}
+                                    ,'{MainData.HExplanation}','{MainData.HICCard}','{MainData.HSUPPLYType}',{MainData.HPRDORGID}
+                                    ,'{MainData.HMaker}','{MainData.HMakeDate}'
+                                    ,'{MainData.HChecker}',case when '{MainData.HCheckDate}' = '1900/1/1 0:00:00' then NULL else '{MainData.HCheckDate}' end
+                                    ,'{MainData.HUpDater}',case when '{MainData.HUpDateDate}' = '1900/1/1 0:00:00' then NULL else '{MainData.HUpDateDate}' end
+                                    ,'{MainData.HDeleteMan}',case when '{MainData.HDeleteDate}' = '1900/1/1 0:00:00' then NULL else '{MainData.HDeleteDate}' end)";
+                        oCn.RunProc(sql.Replace("\r\n", ""));
+
+                        //瀛愯〃鏁版嵁璧嬪��
+                        var dataArr = _saveObj["Result"]["Result"]["DetailEntity"];
+                        foreach (var oSub in dataArr)
+                        {
+                            var subData = new
+                            {
+                                HInterID = DBUtility.ClsPub.isLong(_saveObj["Result"]["Result"]["Id"]),
+                                HEntryID = DBUtility.ClsPub.isLong(oSub["Id"]),
+                                HERPInterID = DBUtility.ClsPub.isLong(_saveObj["Result"]["Result"]["Id"]),
+                                HERPEntryID = DBUtility.ClsPub.isLong(oSub["Id"]),
+                                HSEQ = DBUtility.ClsPub.isLong(oSub["Seq"]),
+                                HRemark = "",
+                                HMaterID = DBUtility.ClsPub.isLong(oSub["MATERIALID_Id"]),
+                                HProdMaterID = DBUtility.ClsPub.isLong(oSub["PMATERIALID_Id"]),
+                                HUnitID = DBUtility.ClsPub.isLong(oSub["UnitID_Id"]),
+                                HAuxPropID = DBUtility.ClsPub.isLong(oSub["AuxPropID_Id"]),
+                                HBatchNO = DBUtility.ClsPub.isStrNull(oSub["Lot_Text"]),
+                                HWHID = DBUtility.ClsPub.isLong(oSub["StockID_Id"]),
+                                HSPID = DBUtility.ClsPub.isLong(oSub["StockLOCID_Id"]),
+                                HPrice = 0,
+                                HMoney = 0,
+                                HMTONo = DBUtility.ClsPub.isStrNull(oSub["CHILDMTONO"]),
+                                HPlanMode = 0,
+                                HStockStatusID = DBUtility.ClsPub.isLong(oSub["StockStatusId_Id"]),
+                                HQty = DBUtility.ClsPub.isDoule(oSub["AppQty"]),
+                                HQtyMust = DBUtility.ClsPub.isDoule(oSub["MustQty"]),
+                                HRelationQty = DBUtility.ClsPub.isDoule(oSub["ActPickedQty"]),
+                                HMoveStockQty = 0,
+                                HRelationMoney = 0,
+                                HSourceInterID = 0,
+                                HSourceEntryID = 0,
+                                HSourceBillNo = DBUtility.ClsPub.isStrNull(oSub["MOBILLNO"]),
+                                HSourceBillType = "3710",
+                                HPPBOMInterID = DBUtility.ClsPub.isLong(oSub["PPBomId"]),
+                                HPPBOMEntryID = DBUtility.ClsPub.isLong(oSub["PPBomEntryId"]),
+                                HPPBOMEntrySEQ = 0,
+                                HPPBOMBillNo = "",
+                                HICMOInterID = 0,
+                                HICMOEntryID = 0,
+                                HICMOEntrySEQ = DBUtility.ClsPub.isLong(oSub["MOBILLSEQ"]),
+                                HICMOBillNo = DBUtility.ClsPub.isStrNull(oSub["MOBILLNO"]),
+                                HPOOrderInterID = 0,
+                                HPOOrderEntryID = 0,
+                                HPOOrderBillNo = "",
+                                HOWNERID = DBUtility.ClsPub.isLong(oSub["OwnerID_Id"]),
+                                HOWNERTYPEID = DBUtility.ClsPub.isStrNull(oSub["OwnerTypeId"]),
+                                HKEEPERID = DBUtility.ClsPub.isLong(oSub["KeeperId_Id"]),
+                                HKEEPERTYPEID = DBUtility.ClsPub.isStrNull(oSub["KeeperTypeId"]),
+                                HSUPPLYORGID = DBUtility.ClsPub.isLong(oSub["SupplyOrgId_Id"]),
+                                HBOMID = DBUtility.ClsPub.isLong(oSub["FChildBomID_Id"]),
+                                HProcessID = DBUtility.ClsPub.isLong(oSub["ProcessID_Id"]),
+                                HBaseUnitID = DBUtility.ClsPub.isLong(oSub["BaseUnitID_Id"]),
+                                HOperID = DBUtility.ClsPub.isLong(oSub["OperID"]),
+                                HOptQueue = DBUtility.ClsPub.isStrNull(oSub["OptQueue"]),
+                                HGroupRowId = DBUtility.ClsPub.isStrNull(oSub["GroupRowId"]),
+                            };
+
+                            //鍐欏叆瀛愯〃
+                            sql = $@"Insert into Kf_MateOutRequestBillSub
+	                                    (HInterID,HEntryID,HERPInterID,HERPEntryID,HSEQ,HRemark
+	                                    ,HMaterID,HProdMaterID,HUnitID,HAuxPropID,HBatchNO,HWHID,HSPID
+	                                    ,HPrice,HMoney,HMTONo,HPlanMode,HStockStatusID,HDate
+	                                    ,HQty,HQtyMust,HRelationQty,HMoveStockQty,HRelationMoney
+	                                    ,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType
+	                                    ,HPPBOMInterID,HPPBOMEntryID,HPPBOMEntrySEQ,HPPBOMBillNo
+	                                    ,HICMOInterID,HICMOEntryID,HICMOEntrySEQ,HICMOBillNo
+	                                    ,HPOOrderInterID,HPOOrderEntryID,HPOOrderBillNo
+	                                    ,HOWNERID,HOWNERTYPEID,HKEEPERID,HKEEPERTYPEID,HSUPPLYORGID
+	                                    ,HBOMID,HProcessID,HBaseUnitID,HOperID,HOptQueue,HGroupRowId)
+                                        Values ({subData.HInterID},{subData.HEntryID},{subData.HERPInterID},{subData.HERPEntryID},{subData.HSEQ},'{subData.HRemark}'
+                                        ,{subData.HMaterID},{subData.HProdMaterID},{subData.HUnitID},{subData.HAuxPropID},'{subData.HBatchNO}',{subData.HWHID},{subData.HSPID}
+                                        ,{subData.HPrice},{subData.HMoney},'{subData.HMTONo}',{subData.HPlanMode},{subData.HStockStatusID},getdate()
+                                        ,{subData.HQty},{subData.HQtyMust},{subData.HRelationQty},{subData.HMoveStockQty},{subData.HRelationMoney}
+                                        ,{subData.HSourceInterID},{subData.HSourceEntryID},'{subData.HSourceBillNo}','{subData.HSourceBillType}'
+                                        ,{subData.HPPBOMInterID},{subData.HPPBOMEntryID},{subData.HPPBOMEntrySEQ},'{subData.HPPBOMBillNo}'
+                                        ,{subData.HICMOInterID},{subData.HICMOEntryID},{subData.HICMOEntrySEQ},'{subData.HICMOBillNo}'
+                                        ,{subData.HPOOrderInterID},{subData.HPOOrderEntryID},'{subData.HPOOrderBillNo}'
+                                        ,{subData.HOWNERID},'{subData.HOWNERTYPEID}',{subData.HKEEPERID},'{subData.HKEEPERTYPEID}',{subData.HSUPPLYORGID}
+                                        ,{ subData.HBOMID},{subData.HProcessID},{ subData.HBaseUnitID},{subData.HOperID},'{ subData.HOptQueue}','{ subData.HGroupRowId}')";
+                            oCn.RunProc(sql.Replace("\r\n", ""));
+                        }
+
+                        oCn.Commit();
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "鍗曟嵁鍚屾鎴愬姛锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    else
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "涓嶆敮鎸佸悓姝ュ姛鑳斤紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鑾峰彇绯荤粺鍙傛暟澶辫触锛� " + sErrMsg;
+                    objJsonResult.data = null;
+                    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

--
Gitblit v1.9.1