From 9dd634eed168321ba1213d4c1720f343ef3ac0c1 Mon Sep 17 00:00:00 2001
From: llj <132905093+newwwwwwtree@users.noreply.github.com>
Date: 星期一, 29 十二月 2025 14:15:11 +0800
Subject: [PATCH] 报废单生成其他出库单

---
 CLOUDWEB/WebService1.asmx.cs |  258 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 258 insertions(+), 0 deletions(-)

diff --git a/CLOUDWEB/WebService1.asmx.cs b/CLOUDWEB/WebService1.asmx.cs
index ca069fa..50534a3 100644
--- a/CLOUDWEB/WebService1.asmx.cs
+++ b/CLOUDWEB/WebService1.asmx.cs
@@ -31828,8 +31828,266 @@
             #endregion
         }
         #endregion
+        #region 鎶ュ簾鍗曠敓鎴愬叾浠栧嚭搴撳崟
+        //鐢熸垚鍏朵粬鍑哄簱鍗�
+        [WebMethod]
+        public bool set_SaveOtherOutBill_New_haicheng(Model.ClsKf_OtherOutBillMain oMain, string sHSourceType, ref string sErrMsg)
+        {
+            if (set_SaveOtherOutBill_CLD_New_haicheng(oMain, sHSourceType, ref sErrMsg) == true)
+            {
+                //"淇濆瓨鎴愬姛锛�";
+                return true;
+            }
+            else
+            {
+                //"淇濆瓨澶辫触锛�";
+                return false;
+            }
+        }
+        //鍏朵粬鍑哄簱
+        [WebMethod]
+        public bool set_SaveOtherOutBill_CLD_New_haicheng(Model.ClsKf_OtherOutBillMain oMain, string sHSourceType,  ref string sErrMsg)
+        {
+            if (SaveOtherOutBill_CLD_haicheng(oMain, sHSourceType, ref sErrMsg))
+            {
+                //"淇濆瓨鎴愬姛锛�";
+                return true;
+            }
+            else
+            {
+                //"淇濆瓨澶辫触锛�";
+                sErrMsg = "鍗曟嵁鍙凤細" + oMain.HBillNo + "锛屽崟鎹甀D锛�" + oMain.HInterID + "锛�" + sErrMsg;
+                return false;
+            }
 
 
+        }
+        public bool SaveOtherOutBill_CLD_haicheng(Model.ClsKf_OtherOutBillMain oMain, string sHSourceType, ref string sErrMsg)
+        {
+            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+            string sRemark = "";
+            //浠庨厤缃枃浠惰幏鍙� CLOUD缃戝潃銆佽处濂椾俊鎭�佺櫥褰曠敤鎴枫�佺櫥褰曞瘑鐮�
+            if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo))
+            {
+                sErrMsg = Pub_Class.ClsPub.sExeReturnInfo;
+                return false;
+            }
+
+            //鑾峰彇CLOUD璐﹀彿瀵嗙爜
+            string sCLOUDUseName = Pub_Class.ClsPub.sCLOUDUseName;
+            string sCLOUDPsd = Pub_Class.ClsPub.sCLOUDPsd;
+
+            //浠庣敤鎴疯〃鑾峰彇鐢ㄦ埛缁戝畾閲戣澏璐﹀彿
+            DataSet ds11 = oCn.RunProcReturn("exec h_p_API_GetCloudUserByLoginUser '" + oMain.HMaker + "'", "h_p_API_GetCloudUserByLoginUser");
+            if (ds11 == null || ds11.Tables[0].Rows.Count == 0)
+            {
+            }
+            else
+            {
+                sCLOUDUseName = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserName"]);
+                sCLOUDPsd = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserPsd"]);
+            }
+
+            string HReturn;
+            ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl);
+            string dbId = Pub_Class.ClsPub.sCLOUDAcc; //AotuTest117
+            bool bLogin = client.Login(dbId, sCLOUDUseName, sCLOUDPsd, 2052);
+
+            sRemark = sRemark + " 锛涜幏鍙栭獙璇丆LOUD璐﹀彿瀵嗙爜" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
+
+            try
+            {
+                //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+
+
+                oMain.HDate = DateTime.Today;
+
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oMain.HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    sErrMsg = s;
+                    return false;
+                }
+                oMain.HYear = sYear;
+                oMain.HPeriod = sPeriod;
+
+                oCn.BeginTran();
+
+
+                DataSet Ds = oCn.RunProcReturn("select org.HNumber FStockOrgId,gd.HNumber FDeptId,deptOrg.HNumber AS FDeptOrgNumber ,* from Sc_MouldStockBillMain ma LEFT JOIN Xt_ORGANIZATIONS org on ma.HStockOrgID=org.HItemID LEFT JOIN Gy_Department gd on ma.HDeptID=gd.HItemID LEFT JOIN Xt_ORGANIZATIONS deptOrg ON gd.HCREATEORGID = deptOrg.HItemID where HInterID=" + oMain.HInterID, "Sc_MouldStockBillMain");
+                DataSet dds = oCn.RunProcReturn("select w.hnumber FStockId,gu.hnumber FUnitID,HEntryID FEntryID,gm.hnumber FMaterialId,* from Sc_MouldStockBillSub sa LEFT JOIN Gy_MouldFileMain gmf  on sa.hmaterid=gmf.HInterID LEFT JOIN Gy_Material gm  on gmf.HMaterID=gm.hitemid LEFT JOIN Gy_Unit gu  on sa.hunitid=gu.hitemid left join gy_Warehouse w with(nolock) on sa.HWhID=w.HItemID where sa.HInterID=" + oMain.HInterID, "Sc_MouldStockBillSub");
+                
+                if (Ds == null || Ds.Tables[0].Rows.Count == 0)
+                {
+                    sErrMsg = "鑾峰彇瀛愯〃淇℃伅澶辫触锛�";
+                    oCn.RollBack();
+                    return false;
+                }
+                else
+                {
+                    string sJson_StockStyle = "";
+                    string sJson_MainCustom = "";   //涓昏〃鑷畾涔夊瓧娈�
+                    string sJson_BillTypeID = "";    //鍗曟嵁绫诲瀷
+                    string sJson_Date = "";         //鍗曟嵁鏃ユ湡
+                    //todo 
+                    sJson_MainCustom = Pub_Class.ClsPub.isStrNull("");
+
+
+                        sJson_BillTypeID = "\"FBillTypeID\":{ \"FNumber\":\"" + "QTCKD01_SYS" + "\" },";
+
+ 
+
+                        sJson_Date = "\"FDATE\":\"" + Pub_Class.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd")) + "\",";
+                        sJson_StockStyle = "";
+                    string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\",\"IsEntryBatchFill\":\"True\",\"Model\":{ \"FBillNo\":\"" + oMain.HBillNo + "\"," +
+                        //\"FID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FID"]) + "\"," +
+                        sJson_BillTypeID +
+                        "\"FStockOrgId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDeptOrgNumber"]??"101.1") + "\"}," +
+                        //"\"FStockOrgId\":{\"FNumber\":\"" + "101.1" + "\"}," +
+                        "\"FPickOrgId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDeptOrgNumber"]??"101.1") + "\"}," +
+                        //"\"FPickOrgId\":{\"FNumber\":\"" + "101.1" + "\"}," +
+                        "\"FStockDirect\":\"" + "GENERAL" + "\"," +
+                        sJson_Date +
+                        //"\"FCustId\":{\"FNumber\":\"" + oMain.HSupplyID.ToString() + "\"}," +
+                        "\"FDeptId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDeptId"]) + "\"}," +
+                        "\"FPickerId\":{\"FSTAFFNUMBER\":\"" + "ZXM001_GW000004_100041" + "\"}," +
+                        "\"FStockerId\":{\"FName\":\"" + "" + "\"}," +
+                        "\"FStockerGroupId\":{\"FNumber\":\"" + "" + "\"}," +
+                        "\"FBizType\":\"" + "0" + "\"," +
+                        "\"FOwnerTypeIdHead\":\"" + "BD_OwnerOrg" + "\"," +
+                        "\"FOwnerIdHead\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDeptOrgNumber"]??"101.1") + "\"}," +
+                        "\"FNote\":\"" + "" + "\"," +
+                        "\"FBaseCurrId\":{\"FNumber\":\"" + "PRE001" + "\"}," +
+                        "\"FScanBox\":\"" + "" + "\"," +
+                        sJson_StockStyle +
+                        sJson_MainCustom +
+                        "\"FEntity\":[";
+                    string sJson_Entry = "";
+                    for (int i = 0; i < dds.Tables[0].Rows.Count; i++)
+                    {
+                        if (sJson_Entry != "")
+                        {
+                            sJson_Entry = sJson_Entry + " , ";
+                        }
+                        string sJson_BatchNo = "";
+                        string sJson_StockPlace = "";
+                        string sJson_FProduceDate = "";     //鐢熶骇鏃ユ湡
+                        string sJson_FExpiryDate = "";      //鏈夋晥鏈熻嚦
+                        string sJson_FAUXPROPID = "";
+                        string sJson_SubCustom = "";        //瀛愯〃鑷畾涔夊瓧娈�
+
+                        //瀛愯〃鑷畾涔夊瓧娈�
+                        sJson_SubCustom = "";
+                        sJson_BatchNo = "";
+
+
+                            sJson_FProduceDate = "";
+                            sJson_FExpiryDate = "";
+
+
+                            sJson_StockPlace = "";
+
+
+
+                        string orgnumber = "101.1";
+                            sJson_FAUXPROPID = " \"FAUXPROPID\":{\"FAUXPROPID__FF100002\":{\"FNumber\":\"" + "" + "\"}},";
+                        #region 
+                        sJson_Entry = sJson_Entry + "{\"FEntryID\":\"" + "0" + "\"," +
+                            "\"FMaterialId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(dds.Tables[0].Rows[i]["FMaterialId"]) + "\"}," +
+                            //"\"FMaterialId\":{\"FNumber\":\"" + "3.01.00007" + "\"}," +
+                             sJson_FAUXPROPID +
+
+                            "\"FUnitID\":{\"FNumber\":\"" + "Pcs" + "\"}," +
+                            "\"FQty\":" + "1" + "," +
+                            "\"FPrice\":0," + 
+                            "\"FAmount\":0," +  
+                             "\"FBaseQty\":1," +  
+                            "\"FBaseUnitId\":{\"FNumber\":\"" + "Pcs" + "\"}," +
+                            "\"FStockId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(dds.Tables[0].Rows[i]["FStockId"]) + "\"}," +
+                            sJson_StockPlace +
+                            //"\"FStockLocId\":{\"FSTOCKLOCID__FF100002\":{\"FNUMBER\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) + "\"}}," +
+                            sJson_BatchNo +
+                            "\"FPRODUCTGROUPID\":{\"FNumber\":\"" + "" + "\"}," +
+                            "\"FOWNERTYPEID\":\"" + "BD_OwnerOrg" + "\"," +
+                            "\"FOwnerId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDeptOrgNumber"] ?? "101.3") + "\"}," +
+                            //"\"FOwnerId\":{\"FNumber\":\"" + orgnumber + "\"}," +
+                            //sJson_FProduceDate +
+                            //sJson_FExpiryDate +
+                            //"\"FServiceContext\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FServiceContext"]) + "," +
+                            "\"FStockStatusId\":{\"FNumber\":\"" + "KCZT01_SYS" + "\"}," +
+                            //"\"FMtoNo\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMtoNo"]) + "," +
+                            //"\"FCostItem\":{\"FNumber\":\"" + "" + "\"}," +
+                            "\"FKeeperTypeId\":\"" + "BD_KeeperOrg" + "\"," +
+                            //"\"FDistribution\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FDistribution"]) + "," +
+                            "\"FKeeperId\":{\"FNumber\":\"" + orgnumber + "\"}," +
+                            //sJson_SubCustom +
+                            "\"FExtAuxUnitId\":{\"FNumber\":\"" + "Pcs" + "\"}," +
+                             "\"FStockUnitId\":{\"FNumber\":\"" + "Pcs" + "\"}," +
+                            "\"FExtAuxUnitQty\":" + "1" + "} ";
+
+                    }
+                    //"\"FInStockEntry_Link_FSId\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FInStockEntry_Link_FSId"]) +
+                    #endregion
+
+                    string sJson_End = "  ]  }}";
+                    string sJson = sJson_Main + sJson_Entry + sJson_End;
+
+                    sRemark = sRemark + " 锛涜幏鍙朇LOUD鍗曟嵁API閫掑叆鍊�" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
+
+                    //鐢熸垚閲戣澏浜戝崟鎹�
+                    if (bLogin)
+                    {
+                        var result = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save",
+                        new object[] { "STK_MisDelivery", sJson });
+                        
+                        sRemark = sRemark + " 锛涚敓鎴怌LOUD鍗曟嵁" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
+
+                        HReturn = result.ToString();
+                        //LogService.Write("鎶ラ敊鍐呭锛�/n", HReturn);
+                        //LogService.Write("鎶ラ敊鍐呭锛�", sJson_Entry);
+                        if (HReturn.Contains("\"IsSuccess\":false") == true)
+                        {
+                            //鍙嶅簭鍒楀寲json鏁版嵁
+                            var retModel = JsonConvert.DeserializeObject<KingdeeResponse>(HReturn);
+                            //鎺ユ敹閲戣澏鎶ラ敊淇℃伅
+                            var strErrorMsg = string.Empty;
+                            //閬嶅巻鑾峰彇鎶ラ敊淇℃伅
+                            foreach (var item in retModel.Result.ResponseStatus.Errors)
+                            {
+                                strErrorMsg += item.Message + "\r\n";
+                            };
+                            sErrMsg = "鐢熸垚鍏朵粬鍑哄簱鍗曞け璐ワ紒閲戣澏浜戞彁绀猴細" + strErrorMsg;
+                            LogService.Write("鐢熸垚鍏朵粬鍑哄簱鍗曪紙婧愬崟锛氭棤婧愬崟锛夊け璐ワ紒" + HReturn +"\n"+ sJson);   //鍐欏叆txt鏂囨湰
+                            oCn.RollBack();
+                            return false;
+                        }
+                        else
+                        {
+                            sRemark = sRemark + sJson;
+                            oCn.Commit();
+                        }
+                    }
+                    else
+                    {
+                        sErrMsg = "鐢熸垚鍏朵粬鍑哄簱鍗曞け璐ワ紒閲戣澏浜戠櫥褰曞け璐ワ紒";
+                        oCn.RollBack();
+                        return false;
+                    }
+                }
+            }
+            catch (Exception e)
+            {
+                LogService.Write("鐢熸垚鍥炴粴" + e.Message + sRemark);
+                sErrMsg = "鐢熸垚鍏朵粬鍑哄簱鍗曞け璐ワ紒" + e.Message;
+                oCn.RollBack();
+                return false;
+            }
+            return true;
+        }
+        #endregion
+
         #region 鍏朵粬鍑哄簱        *
 
         //鐢熸垚鍏朵粬鍑哄簱鍗�

--
Gitblit v1.9.1