From 4e8fffff87e70a9847d65ea4216cf4f4825854c1 Mon Sep 17 00:00:00 2001
From: yusijie <ysj@hz-kingdee.com>
Date: 星期二, 28 十月 2025 08:45:00 +0800
Subject: [PATCH] 生产订单推检验单,自动携带出质检方案

---
 DAL/销售管理/ClsXs_SeOrderBill.cs |  137 +++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 129 insertions(+), 8 deletions(-)

diff --git "a/DAL/\351\224\200\345\224\256\347\256\241\347\220\206/ClsXs_SeOrderBill.cs" "b/DAL/\351\224\200\345\224\256\347\256\241\347\220\206/ClsXs_SeOrderBill.cs"
index 596454a..b5b93fe 100644
--- "a/DAL/\351\224\200\345\224\256\347\256\241\347\220\206/ClsXs_SeOrderBill.cs"
+++ "b/DAL/\351\224\200\345\224\256\347\256\241\347\220\206/ClsXs_SeOrderBill.cs"
@@ -79,7 +79,8 @@
 
                 oCn.BeginTran();
                 string mainSql = "UpDate Xs_SeOrderBillMain set  " +
-                " HBillNo='" + omodel.HBillNo + "'" +  //鍥哄畾璧嬪��===============
+                " HBillSubType='" + omodel.HBillSubType + "'" +
+                ",HBillNo='" + omodel.HBillNo + "'" +  //鍥哄畾璧嬪��===============
                 ",HDate='" + omodel.HDate + "'" +
                 ",HYear='" + omodel.HYear.ToString() + "'" +
                 ",HPeriod='" + omodel.HPeriod.ToString() + "'" +
@@ -102,7 +103,10 @@
                 ",HPayCusID=" + omodel.HPayCusID +
                 ",HExplanation='" + omodel.HExplanation + "'" +
                 ",HLinkMan='" + omodel.HLinkMan + "'" +
+                ",HWHID='" + omodel.HWHID + "'" +
+                ",HProjectID='" + omodel.HProjectID + "'" +
                 ",HLinkPhone='" + omodel.HLinkPhone + "'" +
+                ",HProductType='" + omodel.HProductType + "'" +
                 " where HInterID=" + lngBillKey.ToString();
 
                 oCn.RunProc(mainSql);
@@ -129,9 +133,9 @@
                     //  ") ");
 
                     string subSql = "Insert into Xs_SeOrderBillSub" +
-                        "(HInterID,HEntryID,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney,HMaterID,HUnitID,HQty,HPrice,HTaxPrice,HMoney" +
+                        "(HInterID,HEntryID,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationQty_SellOutCheck,HRelationMoney_SellOutCheck,HRelationQty_ICMO,HRelationQty_SellBack,HRelationQty_SellBackCheck,HRelationMoney,HMaterID,HUnitID,HQty,HPrice,HTaxPrice,HMoney" +
                         ",HDiscountRate,HRelTaxPrice,HTaxRate,HTaxMoney,HlineTotal,HlineTotalBB,HDate,HOutStockQty,HInvoiceQty,HRemark,HOrderLevID" +
-                        ",HCusMaterNumber,HCusModel,HCusMaterName,HisStockGoods) " +
+                        ",HCusMaterNumber,HCusModel,HCusMaterName,HisStockGoods,HWHID,HRemark_TL,HRemark_SJG) " +
                         "values(" +
                         "" + omodel.HInterID +
                         "," + oSub.HEntryID +
@@ -140,6 +144,11 @@
                         ",'" + (oSub.HSourceBillNo == null ? "" : oSub.HSourceBillNo) +
                         "','" + (oSub.HSourceBillType == null ? "" : oSub.HSourceBillType) +
                         "'," + oSub.HRelationQty +
+                        "," + oSub.HRelationQty_SellOutCheck +
+                        "," + oSub.HRelationMoney_SellOutCheck +
+                        "," + oSub.HRelationQty_ICMO +
+                        "," + oSub.HRelationQty_SellBack +
+                        "," + oSub.HRelationQty_SellBackCheck +
                         "," + oSub.HRelationMoney +
                         "," + oSub.HMaterID +
                         "," + oSub.HUnitID +
@@ -162,6 +171,9 @@
                         "','" + oSub.HCusModel +
                         "','" + oSub.HCusMaterName +
                         "'," + (oSub.HisStockGoods?1:0) +
+                         ",'" + oSub.HWhID + "'" +
+                         ",'" + oSub.HRemark_TL + "'" +
+                         ",'" + oSub.HRemark_SJG + "'" +
                         ")";
                     oCn.RunProc(subSql);
                 }
@@ -272,12 +284,12 @@
                 string mainSql = "Insert Into Xs_SeOrderBillMain" +
                     "(HYear,HPeriod,HBillType,HBillSubType,HBillStatus,HExplanation" +
                     ",HInterID,HBillNo,HDate,HInnerBillNo,HAddress,HDeptID,HCusID,HEmpID,HCurID,HExRate,HEarnestRate,HManagerID,HSellSID,HSSID,HSSDate,HPayCusID,HRemark,HOrgID,HMaker,HMakeDate,HLinkMan,HLinkPhone" +
-                    ",HERPInterID,HERPBillType,HSALEORGID,HSALEGROUPID,HRECEIVEID,HSETTLEID,HCHARGEID,HHEADLOCID,HRECCONTACTID,HCORRESPONDORGID,HBUSINESSTYPE) " +
+                    ",HERPInterID,HERPBillType,HSALEORGID,HSALEGROUPID,HRECEIVEID,HSETTLEID,HCHARGEID,HHEADLOCID,HRECCONTACTID,HCORRESPONDORGID,HBUSINESSTYPE,HProjectID,HWHID,HProductType) " +
                     "values(" +
                     "" + omodel.HYear +
                     "," + omodel.HPeriod +
                     ",'" + this.BillType +
-                    "','" + this.HBillSubType +
+                    "','" + omodel.HBillSubType +
                     "'," + omodel.HBillStatus +
                     ",'" + omodel.HExplanation +
 
@@ -316,6 +328,10 @@
                     "," + omodel.HRECCONTACTID +
                     "," + omodel.HCORRESPONDORGID +
                     ",'" + omodel.HBUSINESSTYPE +
+
+                    "','" + omodel.HProjectID +
+                    "','" + omodel.HWHID +
+                    "','" + omodel.HProductType +
                     "')";
                     
                 oCn.RunProc(mainSql);
@@ -336,9 +352,9 @@
                     //  "," + oSub.HTaxPrice.ToString() + "," + oSub.HDiscountRate.ToString() + "," + oSub.HRelTaxPrice.ToString() + "," + oSub.HOutStockQty.ToString() + "," + oSub.HInvoiceQty.ToString() +
                     //  ") ");
                     string subSql = "Insert into Xs_SeOrderBillSub" +
-                        "(HInterID,HEntryID,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney,HMaterID,HUnitID,HQty,HPrice,HTaxPrice,HMoney" +
+                        "(HInterID,HEntryID,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationQty_SellOutCheck,HRelationMoney_SellOutCheck,HRelationQty_ICMO,HRelationQty_SellBack,HRelationQty_SellBackCheck,HRelationMoney,HMaterID,HUnitID,HQty,HPrice,HTaxPrice,HMoney" +
                         ",HDiscountRate,HRelTaxPrice,HTaxRate,HTaxMoney,HlineTotal,HlineTotalBB,HDate,HOutStockQty,HInvoiceQty,HRemark,HOrderLevID" +
-                        ",HCusMaterNumber,HCusModel,HCusMaterName,HisStockGoods) " +
+                        ",HCusMaterNumber,HCusModel,HCusMaterName,HisStockGoods,HWHID,HRemark_TL,HRemark_SJG) " +
                         "values(" +
                         "" + omodel.HInterID +
                         "," + oSub.HEntryID +
@@ -347,6 +363,11 @@
                         ",'" + (oSub.HSourceBillNo==null?"":oSub.HSourceBillNo) +
                         "','" + (oSub.HSourceBillType==null?"":oSub.HSourceBillType) +
                         "'," + oSub.HRelationQty +
+                        "," + oSub.HRelationQty_SellOutCheck +
+                        "," + oSub.HRelationMoney_SellOutCheck +
+                        "," + oSub.HRelationQty_ICMO +
+                        "," + oSub.HRelationQty_SellBack +
+                        "," + oSub.HRelationQty_SellBackCheck +
                         "," + oSub.HRelationMoney +
                         "," + oSub.HMaterID +
                         "," + oSub.HUnitID +
@@ -369,6 +390,9 @@
                         "','" + oSub.HCusModel +
                         "','" + oSub.HCusMaterName +
                         "'," + (oSub.HisStockGoods?1:0) +
+                        ",'" + oSub.HWhID + "'" +
+                        ",'" + oSub.HRemark_TL + "'" +
+                        ",'" + oSub.HRemark_SJG + "'" +
                         ")";
                     oCn.RunProc(subSql);
                 }
@@ -474,6 +498,7 @@
 
                 omodel.HLinkMan = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HLinkMan"]);
                 omodel.HLinkPhone = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HLinkPhone"]);
+                omodel.HProductType = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HProductType"]);
                 //
 
                 //寰幆
@@ -497,6 +522,12 @@
                     oSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DsSub.Tables[0].Rows[i]["HEntryCloseDate"]);
                     oSub.HRemark = DsSub.Tables[0].Rows[i]["HRemark"].ToString().Trim();
                     //===================================================
+                    oSub.HRelationQty_SellOutCheck = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HRelationQty_SellOutCheck"]);
+                    oSub.HRelationMoney_SellOutCheck = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HRelationMoney_SellOutCheck"]);
+                    oSub.HRelationQty_ICMO = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HRelationQty_ICMO"]);
+                    oSub.HRelationQty_SellBack = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HRelationQty_SellBack"]);
+                    oSub.HRelationQty_SellBackCheck = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HRelationQty_SellBackCheck"]);
+                    //===================================================
                     oSub.HMaterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HMaterID"]);
                     oSub.HUnitID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HUnitID"]);
                     oSub.HQty = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HQty"]);
@@ -513,6 +544,9 @@
                     oSub.HOutStockQty = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HOutStockQty"]);
                     oSub.HInvoiceQty = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HInvoiceQty"]);
                     oSub.HisStockGoods = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HisStockGoods"]) == 1 ? true : false;
+
+                    oSub.HRemark_TL = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[0]["HRemark_TL"]);
+                    oSub.HRemark_SJG = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[0]["HRemark_SJG"]);
 
                     DetailColl.Add(oSub);
                 }
@@ -549,7 +583,94 @@
             oCn.RunProc("update Xs_SeOrderBillMain set HPrintQty=HPrintQty + 1 Where HInterID= " + sInterID.ToString());
         }
 
-        
+        //鍙戣捣瀹℃壒
+        public bool startCheckFlow(Int64 lngBillKey,Int64 HCheckFlowID_select, ref string sReturn)
+        {
+            try
+            {
+                string HBillNo = "";                //鍗曟嵁鍙�
+                string HCheckFlowID = "";           //瀹℃壒娴両D
+                string HCheckItemNowID = "";        //褰撳墠瀹℃牳椤圭洰ID
+                string HCheckItemNextID = "";       //寰呭鏍搁」鐩甀D
+
+                //鍒ゆ柇鏄惁宸茬粡鍙戣捣瀹℃壒
+                string sql0 = "select * from Xt_BillCheckFlowStatus where HBillInterID = " + lngBillKey + " and HBillTypeID = '" + this.BillType + "'";
+                DataSet ds0 = oCn.RunProcReturn(sql0, "Xt_BillCheckFlowStatus");
+                if (ds0 != null && ds0.Tables[0].Rows.Count > 0)
+                {
+                    sReturn = "鍗曟嵁宸插彂璧峰鎵癸紝涓嶅彲閲嶅瀹℃壒锛�";
+                    return false;
+                }
+
+                //鑾峰彇鍗曟嵁鏁版嵁
+                string sql = "select * from " + this.MvarItemKey + " where HInterID = " + lngBillKey;
+                DataSet ds = oCn.RunProcReturn(sql, this.MvarItemKey);
+                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                {
+                    sReturn = "鍗曟嵁涓嶅瓨鍦紒";
+                    return false;
+                }
+                HBillNo = ds.Tables[0].Rows[0]["HBillNo"].ToString();
+
+                //鑾峰彇鍗曟嵁绫诲瀷瀵瑰簲鐨勯粯璁ゅ鎵规祦
+                string sql1 = "select b.HInterID,b.HCheckItemID from Xt_CheckFlowMain as a " +
+                                "inner join Xt_CheckFlowSub as b on a.HInterID = b.HInterID " +
+                                "where a.HBillTypeID = '" + this.BillType + "' " +
+                                "and a.HInterID = " + HCheckFlowID_select + " " +
+                                "order by b.HFlowNo asc";
+                DataSet ds1 = oCn.RunProcReturn(sql1, "Xt_CheckFlowMain");
+                if (ds1 == null || ds1.Tables[0].Rows.Count == 0)
+                {
+                    sReturn = "榛樿瀹℃壒娴佷笉瀛樺湪锛�";
+                    return false;
+                }
+
+                HCheckFlowID = ds1.Tables[0].Rows[0]["HInterID"].ToString();
+                HCheckItemNowID = ds1.Tables[0].Rows[0]["HCheckItemID"].ToString();
+                if (ds1.Tables[0].Rows.Count >= 2)
+                {
+                    HCheckItemNextID = ds1.Tables[0].Rows[1]["HCheckItemID"].ToString();
+                }
+                else
+                {
+                    HCheckItemNextID = "0";
+                }
+
+                oCn.BeginTran();
+                //澧炲姞 鍗曟嵁瀹℃壒鐘舵�佽〃 鏁版嵁
+                for (int i = 0; i < ds1.Tables[0].Rows.Count; i++)
+                {
+                    string sql2 = "insert into Xt_BillCheckFlowStatus" +
+                        "(HBillTypeID,HBillInterID,HBillNo,HCheckFlowID,HCheckItemID,HChecker,HCheckDate,HCheckNote) " +
+                        "values(" +
+                        "'" + this.BillType + "'," +
+                        "" + lngBillKey + "," +
+                        "'" + HBillNo + "'," +
+                        "" + ds1.Tables[0].Rows[i]["HInterID"].ToString() + "," +
+                        "" + ds1.Tables[0].Rows[i]["HCheckItemID"].ToString() + "," +
+                        "" + "''" + "," +
+                        "" + "''" + "," +
+                        "" + "''" + "" +
+                        ")";
+
+                    oCn.RunProc(sql2);
+                }
+
+                //鏇存柊涓昏〃 瀹℃壒娴� 鏁版嵁
+                string sql3 = "update " + this.MvarItemKey + " set HCheckFlowID = " + HCheckFlowID + ",HCheckItemNowID=" + HCheckItemNowID + ",HCheckItemNextID=" + HCheckItemNextID + " where HInterID = " + lngBillKey;
+                oCn.RunProc(sql3);
+
+
+                oCn.Commit();
+
+                return true;
+            }
+            catch(Exception e)
+            {
+                sReturn += e.Message;
+                return false;
+            }
+        }
     }
 
 }

--
Gitblit v1.9.1