From 4034e36c9797217e4e4e5657de1319460816b45a Mon Sep 17 00:00:00 2001
From: 王 垚 <1402714037@qq.com>
Date: 星期二, 04 一月 2022 17:30:24 +0800
Subject: [PATCH] 需求增加

---
 WebAPI/Controllers/POInStockController.cs |  153 +++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 143 insertions(+), 10 deletions(-)

diff --git a/WebAPI/Controllers/POInStockController.cs b/WebAPI/Controllers/POInStockController.cs
index bc1d3e3..85a8bfd 100644
--- a/WebAPI/Controllers/POInStockController.cs
+++ b/WebAPI/Controllers/POInStockController.cs
@@ -295,6 +295,8 @@
             ListModels oListModels = new ListModels();
             try
             {
+                //鑾峰彇瀹㈡埛鍚嶇О
+                string FCusName = oSystemParameter.GetSingleSystemParameter("WMS_CampanyName", ref DBUtility.ClsPub.sExeReturnInfo);
                 DAL.ClsCg_POInStockBill oBill = new DAL.ClsCg_POInStockBill();
                 List<Model.ClsCg_POInStockBillMain> lsmain = new List<Model.ClsCg_POInStockBillMain>();
                 msg2 = msg2.Replace("\\", "");
@@ -312,7 +314,7 @@
                     oItem.HMainSourceInterID = oItem.HInterID;
                     oItem.HInterID = 0;
                     //oItem.HInterID = DBUtility.ClsPub.CreateBillID_SRMProd("1103", ref DBUtility.ClsPub.sExeReturnInfo);
-                    if (oSystemParameter.omodel.WMS_CampanyName == "瀹夌憺鍖荤枟") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
+                    if (FCusName == "瀹夌憺鍖荤枟") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
                     {
                         if (DBUtility.ClsPub.isStrNull(oItem.HDHDate) == "")
                         {
@@ -362,7 +364,7 @@
                         objJsonResult.data = 1;
                         return objJsonResult;
                     }
-                    if (oSystemParameter.omodel.WMS_CampanyName == "瀹夌憺鍖荤枟") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
+                    if (FCusName == "瀹夌憺鍖荤枟") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
                     {
                         if (DBUtility.ClsPub.isStrNull(oItemSub.HBatChNo) == "")
                         {
@@ -620,10 +622,15 @@
                     return objjson;
                 }
 
-                string kdTbaleName = "AIS20211209082932";
+                //string kdTbaleName = "AIS20211209082932";
+                string kdTbaleName = "AIS20211130140219";//澶忓疂姝e紡
+
                 string sql = string.Format(@"
- SELECT B.HINTERID,c.FID,c.FENTRYID, D.FBILLNO,B.HQTY,CD.FRECEIVEORGID,CDOO.FNUMBER AS FRECEIVENUMBER,D.FSUPPLIERID,DS.FNUMBER AS FSUPPLIERNUMBER,D.FPURCHASEORGID,DOO.FNUMBER AS FPURCHASEORGNUMBER,CROO.FNUMBER  AS FSETTLEORGNUMBER,E.FPRICETIMEPOINT,E.FSETTLECURRID,EC.FNUMBER AS FSETTLECURRNUMBER,C.FMATERIALID,CM.FNUMBER AS FMATERIALNUMBER ,C.FUNITID ,CU.FNUMBER AS FUNITNUMBER FROM 
-   CG_POINSTOCKBILLSUB B  
+SELECT M.HBillNo,B.HINTERID,B.HENTRYID,c.FID,c.FENTRYID, D.FBILLNO,B.HQTY,CD.FRECEIVEORGID,CDOO.FNUMBER AS FRECEIVENUMBER
+,D.FSUPPLIERID,DS.FNUMBER AS FSUPPLIERNUMBER,D.FPURCHASEORGID,DOO.FNUMBER AS FPURCHASEORGNUMBER,CROO.FNUMBER  AS FSETTLEORGNUMBER,
+E.FPRICETIMEPOINT,E.FSETTLECURRID,EC.FNUMBER AS FSETTLECURRNUMBER,C.FMATERIALID,CM.FNUMBER AS FMATERIALNUMBER ,C.FUNITID 
+,CU.FNUMBER AS FUNITNUMBER,D.F_xbkf_Combo1,CR.FPRICE,CR.FTAXPRICE,CR.FTAXRATE  
+ FROM CG_POINSTOCKBILLSUB B  
  JOIN CG_POINSTOCKBILLMAIN M ON B.HINTERID = M.HINTERID
  JOIN {0}..T_PUR_POORDERENTRY C ON B.HSOURCEINTERID = C.FID AND B.HSOURCEENTRYID = C.FENTRYID
  LEFT JOIN {0}..T_BD_MATERIAL CM ON C.FMATERIALID =CM.FMATERIALID
@@ -654,12 +661,14 @@
 
                         JObject model = new JObject();
                         model.Add("FBILLTYPEID", new JObject() { ["Fnumber"] = "SLD01_SYS" }); //鍗曟嵁绫诲瀷
+                        model.Add("FBILLNO", dr["HBillNo"].ToString()); //鍗曟嵁缂栧彿
                         model.Add("FDate", DateTime.Now.ToString("yyyy-MM-dd")); //閫氱煡鏃ユ湡
                         model.Add("FStockOrgId", new JObject() { ["Fnumber"] = dr["FRECEIVENUMBER"].ToString() }); // 鏀舵枡缁勭粐 
                         model.Add("FPurOrgId", new JObject() { ["Fnumber"] = dr["FPURCHASEORGNUMBER"].ToString() }); //閲囪喘缁勭粐
                         model.Add("FSupplierId", new JObject() { ["Fnumber"] = dr["FSUPPLIERNUMBER"].ToString() }); //渚涘簲鍟�
                         model.Add("FOwnerTypeIdHead", "BD_OwnerOrg");//  璐т富绫诲瀷
                         model.Add("FOwnerIdHead", new JObject() { ["Fnumber"] = dr["FPURCHASEORGNUMBER"].ToString() });//璐т富 
+                        model.Add("F_XBKF_COMBO", dr["F_xbkf_Combo1"].ToString());//鏄惁鏈夌エ 
                         JArray Fentity = new JArray();
                         foreach (var item in drs)
                         {
@@ -678,7 +687,10 @@
                             FentityModel.Add("FSRCENTRYID", item["FENTRYID"].ToString());//婧愬崟鍒嗗綍鍐呯爜
                             FentityModel.Add("FORDERBILLNO", item["FBILLNO"].ToString());//婧愬崟鍗曞彿
                             FentityModel.Add("FPOORDERENTRYID", item["FENTRYID"].ToString());//婧愬崟鍒嗗綍鍐呯爜
-
+                            FentityModel.Add("FSRMENTRYID", item["HENTRYID"].ToString());//SRM hentryid
+                            FentityModel.Add("FPrice", item["FPRICE"].ToString());//鍗曚环
+                            FentityModel.Add("FTaxPrice", item["FTAXPRICE"].ToString());//鍚◣鍗曚环
+                            FentityModel.Add("FEntryTaxRate", item["FTAXRATE"].ToString());//绋庣巼
 
                             JArray Fentity2 = new JArray();
                             JObject FentityModel2 = new JObject();
@@ -707,9 +719,7 @@
                             ["IsVerifyBaseDataField"] = "false",
                             ["Model"] = model
                         };
-                        //LogService.Write(JsonConvert.SerializeObject(jsonRoot));
                         var loginRet = InvokeHelper.Login();
-                        LogService.Write("loginRet:" + loginRet);
                         var isSuccess = JObject.Parse(loginRet)["LoginResultType"].Value<int>();
                         if (isSuccess == 0)
                         {
@@ -719,9 +729,9 @@
                             objjson.data = null;
                             return objjson;
                         }
-                        LogService.Write(jsonRoot.ToString());
+                        LogService.Write("jsonRoot:" + jsonRoot.ToString());
                         var result = InvokeHelper.Save("PUR_ReceiveBill", jsonRoot.ToString());
-                        LogService.Write(result);
+                        //LogService.Write(result);
                         if (JObject.Parse(result)["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() == "TRUE")
                         {
                             //鏇存柊閫佽揣鍗� 涓昏〃 ERP鍗曟嵁鍙� 浠ュ強 ERP涓诲唴鐜�
@@ -807,6 +817,93 @@
             return HInterID;
         }
 
+
+        [Route("DeltetPOInStockBill")]
+        [HttpGet]
+        public object DeltetPOInStockBill(string HInterID, string HUserName, string HBillNo)
+        {
+            SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+            try
+            {
+                DAL.ClsCg_POInStockBill oBill = new DAL.ClsCg_POInStockBill();
+                //鍏堝垹闄� 閲戣澏鏁版嵁
+                objjson = DeleteKingDee(HInterID);
+                LogService.Write(objjson.ToString());
+                if (objjson.code == "0")
+                    return objjson;
+
+                WebAPIController.Add_Log("閫佽揣鍗曞垹闄わ紝鍗曞彿锛�" + HBillNo, HUserName, "閫佽揣鍗曞垹闄�");
+                oCN.BeginTran();
+                oBill.DeleteRelation(ref DBUtility.ClsPub.sExeReturnInfo, Convert.ToInt32(HInterID));
+                oCN.RunProc("Delete From Cg_POInStockBillMain where HInterID = " + HInterID);
+                oCN.RunProc("Delete From Cg_POInStockBillSub where HInterID = " + HInterID);
+                oCN.Commit();
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鍒犻櫎鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        //瀹℃牳 鍒犻櫎 鍒犻櫎閲戣澏鏁版嵁搴撳搴� 鏀舵枡閫氱煡鍒版暟鎹�
+        public json DeleteKingDee(string hinterid)
+        {
+            SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+            string sql = string.Format("select HinterID,HERPBillNO,HERPInterID from Cg_POInStockBillMain where HERPInterID>0 and hinterid in (" + hinterid + ")");
+            string FCusName = oSystemParameter.GetSingleSystemParameter("WMS_CampanyName", ref DBUtility.ClsPub.sExeReturnInfo);
+            if (FCusName == "澶忓疂鐢靛櫒")
+                sql = "select HinterID,HERPBillNO,HERPInterID from Cg_POInStockBillMain t1 join AIS20211130140219..T_PUR_RECEIVE t2 on t1.HERPInterID = t2.FID where HERPInterID>0 and hinterid in (" + hinterid + ")";
+            DataTable dt = oCN.RunProcReturn(sql, "deleteDt").Tables[0];
+            if (dt.Rows.Count > 0)
+            {
+                foreach (DataRow dr in dt.Rows)
+                {
+                    var sJson = new
+                    {
+                        Numbers = dr["HERPBillNO"].ToString(),
+                        Ids = ""
+                    };
+                    var loginRet = InvokeHelper.Login();
+                    var isSuccess = JObject.Parse(loginRet)["LoginResultType"].Value<int>();
+                    if (isSuccess == 0)
+                    {
+                        objjson.code = "0";
+                        objjson.count = 0;
+                        objjson.Message = "鎿嶄綔澶辫触,閲戣澏璐﹀彿鐧诲綍寮傚父銆�" + loginRet;
+                        objjson.data = null;
+                        return objjson;
+                    }
+                    //LogService.Write("");
+                    var result = InvokeHelper.Delete("PUR_ReceiveBill", JsonConvert.SerializeObject(sJson));
+                    LogService.Write("api缁撴灉鍒犻櫎锛�" + result);
+                    if (JObject.Parse(result)["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE")
+                    {
+                        objjson.code = "0";
+                        objjson.count = 0;
+                        objjson.Message = "瀵瑰簲閲戣澏鏀舵枡閫氱煡鍗曞垹闄ゅけ璐� 锛�" + result;
+                        objjson.data = null;
+                        return objjson;
+                    }
+
+                }
+            }
+            objjson.code = "1";
+            objjson.count = 1;
+            objjson.Message = "Sucess锛�";
+            objjson.data = null;
+            return objjson;
+        }
+
         //[Route("POInStockAccept")]
         //[HttpGet]
         ///// <summary>
@@ -881,5 +978,41 @@
         //    }
 
 
+        [Route("TestSaverPOInStock")]
+        [HttpPost]
+        /// <summary>
+        /// 鐢熸垚閫佽揣鍗曞墠楠岃瘉閲戣澏閲囪喘璁㈠崟鏄惁鍒犻櫎鍜屽叧闂紝鐒跺悗鏇存柊鍏宠仈鏁伴噺
+        /// </summary>
+        /// <param name="HInterID"></param>
+        /// <returns></returns>
+        public object TestSaverPOInStock([FromBody] string[] ids)
+        {
+            List<string> mylist = new List<string>(ids.Distinct());
+            try
+            {
+                string HinterID = "";
+                for (int i = 0; i < mylist.Count; i++)
+                {
+                    SQLHelper.ClsCNSRM oCn = new SQLHelper.ClsCNSRM();
+                    //鏇存柊鍏宠仈鏁伴噺
+                    HinterID = mylist[i].ToString();
+                    oCn.RunProc("exec h_p_SRM_UpDatePPBomRelationQty '" + HinterID + "'");
+                }
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎿嶄綔鎴愬姛!";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "澶辫触锛�" + e.Message.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
     }
 }
\ No newline at end of file

--
Gitblit v1.9.1