wtt
2026-03-19 2770c9950e43fc502ec37c966f4707ad071ad5fc
WebAPI/Controllers/ÌõÂë¹ÜÀí/WEBSController.cs
@@ -1454,7 +1454,7 @@
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if(DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
                if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
@@ -2642,7 +2642,7 @@
                        TopRowCount = 0,
                        StartRow = 0,
                        Limit = 0
                    };;
                    }; ;
                    var _result = InvokeHelper.Query(sFormId, JsonConvert.SerializeObject(sJson));
                    var _saveObj = JArray.Parse(_result);
@@ -3353,6 +3353,10 @@
                else if (lsmain[0].HMainSourceBillType == "3710")
                {
                    websLsmain.HMainSourceBillType = "生产订单";
                }
                else if (lsmain[0].HMainSourceBillType == "1256")
                {
                    websLsmain.HMainSourceBillType = "生产领料申请单";
                }
                else
                {
@@ -4696,6 +4700,66 @@
        #endregion
        #region ç”Ÿäº§é€€åº“    ä¸Šä¼ ç”Ÿå•
        #region ç”Ÿäº§é€€åº“    æ ¡éªŒæ¨¡å¼
        /// <summary>
        /// ç”Ÿäº§é€€åº“校验上传
        /// </summary>
        /// <returns></returns>
        [Route("WEBSController/set_SaveProductInBackBill_BillCheck_Json")]
        [HttpPost]
        public object set_SaveProductInBackBill_BillCheck_Json([FromBody] JObject oMain)
        {
            var _value = oMain["oMain"].ToString();
            string msg1 = _value.ToString();
            try
            {
                List<Model.ClsKf_ICStockBillMain> lsmain = new List<Model.ClsKf_ICStockBillMain>();
                ListModels oListModels = new ListModels();
                lsmain = oListModels.getICStockBillMainByJson(msg1);
                WebAPI.WebS.ClsKf_ICStockBillMain websLsmain = new WebS.ClsKf_ICStockBillMain();
                websLsmain.HInterID = lsmain[0].HInterID;
                websLsmain.HBillNo = lsmain[0].HBillNo;
                websLsmain.HBillType = "1245";
                websLsmain.HMaker = lsmain[0].HMaker;
                websLsmain.HSTOCKORGID = lsmain[0].HSTOCKORGID;
                if (oWebs.set_SaveProductInBackBill_BillCheck(websLsmain, ref DBUtility.ClsPub.sErrInfo))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 1;
                    objJsonResult.Message = DBUtility.ClsPub.sErrInfo;  //成功!
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = DBUtility.ClsPub.sErrInfo;  //失败!
                    objJsonResult.data = null;
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "生产退库校验失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #endregion
        #region é‡‡è´­é€€æ–™    ä¸Šä¼ ç”Ÿå•
        #region é‡‡è´­é€€æ–™    æ–°å¢žæ¨¡å¼
@@ -4777,6 +4841,62 @@
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "采购退料单上传失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region é‡‡è´­é€€æ–™    æ ¡éªŒæ¨¡å¼
        /// <summary>
        /// é‡‡è´­é€€æ–™æ ¡éªŒä¸Šä¼ 
        /// </summary>
        /// <returns></returns>
        [Route("WEBSController/set_SavePOStockInBackBill_BillCheck_Json")]
        [HttpPost]
        public object set_SavePOStockInBackBill_BillCheck_Json([FromBody] JObject oMain)
        {
            var _value = oMain["oMain"].ToString();
            string msg1 = _value.ToString();
            try
            {
                List<Model.ClsKf_ICStockBillMain> lsmain = new List<Model.ClsKf_ICStockBillMain>();
                ListModels oListModels = new ListModels();
                lsmain = oListModels.getICStockBillMainByJson(msg1);
                WebAPI.WebS.ClsKf_ICStockBillMain websLsmain = new WebS.ClsKf_ICStockBillMain();
                websLsmain.HInterID = lsmain[0].HInterID;
                websLsmain.HBillNo = lsmain[0].HBillNo;
                websLsmain.HBillType = "1239";
                websLsmain.HMaker = lsmain[0].HMaker;
                websLsmain.HSTOCKORGID = lsmain[0].HSTOCKORGID;
                if (oWebs.set_SavePOStockInBackBill_BillCheck(websLsmain, ref DBUtility.ClsPub.sErrInfo))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 1;
                    objJsonResult.Message = DBUtility.ClsPub.sErrInfo;  //成功!
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = DBUtility.ClsPub.sErrInfo;  //失败!
                    objJsonResult.data = null;
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "采购退料校验失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
@@ -4870,6 +4990,62 @@
        #endregion
        #region ç”Ÿäº§é€€æ–™    æ ¡éªŒæ¨¡å¼
        /// <summary>
        /// ç”Ÿäº§é€€æ–™æ ¡éªŒä¸Šä¼ 
        /// </summary>
        /// <returns></returns>
        [Route("WEBSController/set_SaveMateOutBackBill_BillCheck_Json")]
        [HttpPost]
        public object set_SaveMateOutBackBill_BillCheck_Json([FromBody] JObject oMain)
        {
            var _value = oMain["oMain"].ToString();
            string msg1 = _value.ToString();
            try
            {
                List<Model.ClsKf_ICStockBillMain> lsmain = new List<Model.ClsKf_ICStockBillMain>();
                ListModels oListModels = new ListModels();
                lsmain = oListModels.getICStockBillMainByJson(msg1);
                WebAPI.WebS.ClsKf_ICStockBillMain websLsmain = new WebS.ClsKf_ICStockBillMain();
                websLsmain.HInterID = lsmain[0].HInterID;
                websLsmain.HBillNo = lsmain[0].HBillNo;
                websLsmain.HBillType = "1244";
                websLsmain.HMaker = lsmain[0].HMaker;
                websLsmain.HSTOCKORGID = lsmain[0].HSTOCKORGID;
                if (oWebs.set_SaveMateOutBackBill_BillCheck(websLsmain, ref DBUtility.ClsPub.sErrInfo))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 1;
                    objJsonResult.Message = DBUtility.ClsPub.sErrInfo;  //成功!
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = DBUtility.ClsPub.sErrInfo;  //失败!
                    objJsonResult.data = null;
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "生产退料校验失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #endregion
        #region é”€å”®é€€è´§    ä¸Šä¼ ç”Ÿå•
@@ -4956,6 +5132,686 @@
        #endregion
        #region é”€å”®é€€è´§    æ ¡éªŒæ¨¡å¼
        /// <summary>
        /// é”€å”®é€€è´§æ ¡éªŒä¸Šä¼ 
        /// </summary>
        /// <returns></returns>
        [Route("WEBSController/set_SaveSellOutBackBill_BillCheck_Json")]
        [HttpPost]
        public object set_SaveSellOutBackBill_BillCheck_Json([FromBody] JObject oMain)
        {
            var _value = oMain["oMain"].ToString();
            string msg1 = _value.ToString();
            try
            {
                List<Model.ClsKf_ICStockBillMain> lsmain = new List<Model.ClsKf_ICStockBillMain>();
                ListModels oListModels = new ListModels();
                lsmain = oListModels.getICStockBillMainByJson(msg1);
                WebAPI.WebS.ClsKf_ICStockBillMain websLsmain = new WebS.ClsKf_ICStockBillMain();
                websLsmain.HInterID = lsmain[0].HInterID;
                websLsmain.HBillNo = lsmain[0].HBillNo;
                websLsmain.HBillType = "1247";
                websLsmain.HMaker = lsmain[0].HMaker;
                websLsmain.HSTOCKORGID = lsmain[0].HSTOCKORGID;
                if (oWebs.set_SaveSellOutBackBill_BillCheck(websLsmain, ref DBUtility.ClsPub.sErrInfo))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 1;
                    objJsonResult.Message = DBUtility.ClsPub.sErrInfo;  //成功!
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = DBUtility.ClsPub.sErrInfo;  //失败!
                    objJsonResult.data = null;
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "销售退货校验失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #endregion
        #region å§”外退料    ä¸Šä¼ ç”Ÿå•
        #region å§”外退料    æ ¡éªŒæ¨¡å¼
        /// <summary>
        /// å§”外退料校验上传
        /// </summary>
        /// <returns></returns>
        [Route("WEBSController/set_SaveEntrustOutBackBill_BillCheck_Json")]
        [HttpPost]
        public object set_SaveEntrustOutBackBill_BillCheck_Json([FromBody] JObject oMain)
        {
            var _value = oMain["oMain"].ToString();
            string msg1 = _value.ToString();
            try
            {
                List<Model.ClsKf_ICStockBillMain> lsmain = new List<Model.ClsKf_ICStockBillMain>();
                ListModels oListModels = new ListModels();
                lsmain = oListModels.getICStockBillMainByJson(msg1);
                WebAPI.WebS.ClsKf_ICStockBillMain websLsmain = new WebS.ClsKf_ICStockBillMain();
                websLsmain.HInterID = lsmain[0].HInterID;
                websLsmain.HBillNo = lsmain[0].HBillNo;
                websLsmain.HBillType = "1238";
                websLsmain.HMaker = lsmain[0].HMaker;
                websLsmain.HSTOCKORGID = lsmain[0].HSTOCKORGID;
                if (oWebs.set_SaveEntrustOutBackBill_BillCheck(websLsmain, ref DBUtility.ClsPub.sErrInfo))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 1;
                    objJsonResult.Message = DBUtility.ClsPub.sErrInfo;  //成功!
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = DBUtility.ClsPub.sErrInfo;  //失败!
                    objJsonResult.data = null;
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "委外退料校验失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #endregion
        #region æ£€éªŒå•    ä¸Šä¼ ç”Ÿå•
        #region æ£€éªŒå•    åˆæ ¼å“
        /// <summary>
        /// æ£€éªŒå•新增上传
        /// </summary>
        /// <returns></returns>
        [Route("WEBSController/set_SaveQCPOStockInCheckBill_Json")]
        [HttpGet]
        public object set_SaveQCPOStockInCheckBill_Json(Int64 HInterID, string HBillNo, string HSourceBillType, string HSourceBillNo, Int64 HSourceInterID, string sHSourceEntryID, Int64 HFirstCheckEmp, string HMaker)
        {
            try
            {
               ClsQC_POStockInCheckBillMain oMain = new ClsQC_POStockInCheckBillMain();
                oMain.HInterID = HInterID;
                oMain.HBillNo = HBillNo;
                oMain.HBillType = "7503";
                oMain.HDate = DateTime.Today;
                oMain.HMainSourceBillType = HSourceBillType;
                oMain.HMainSourceBillNo = HSourceBillNo;
                oMain.HMainSourceInterID = HSourceInterID;
                oMain.HFirstCheckEmp = HFirstCheckEmp;
                oMain.HMaker = HMaker;
                if (set_SaveQCPOStockInCheckBill(oMain, HSourceBillType, sHSourceEntryID, ref DBUtility.ClsPub.sErrInfo))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 1;
                    objJsonResult.Message = DBUtility.ClsPub.sErrInfo;  //成功!
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = DBUtility.ClsPub.sErrInfo;  //失败!
                    objJsonResult.data = null;
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "检验单上传失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        //生成检验单
        public bool set_SaveQCPOStockInCheckBill(Model.ClsQC_POStockInCheckBillMain oMain, string HSourceBillType, string sHSourceEntryID, ref string sErrMsg)
        {
            string sRemark = "";
            string HReturn;
            //上传前判断
            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
            DataSet BfDs = oCn.RunProcReturn("exec h_p_QC_BeforeUpload_POStockInCheckBill " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + HSourceBillType + "','" + sHSourceEntryID + "'," + oMain.HFirstCheckEmp.ToString(), "h_p_QC_BeforeUpload_POStockInCheckBill");
            if (BfDs == null || BfDs.Tables[0].Rows.Count == 0)
            {
                sErrMsg = "上传前判断数据完整性失败!";
                return false;
            }
            else
            {
                if (DBUtility.ClsPub.isLong(BfDs.Tables[0].Rows[0][0]) == 1)
                {
                    sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";" + DBUtility.ClsPub.isStrNull(BfDs.Tables[0].Rows[0]["HRemark"]);
                    return false;
                }
            }
            sRemark = sRemark + " ï¼›ä¸Šä¼ å‰åˆ¤æ–­" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
            //返回所需数据
            DataSet Ds;
            Ds = oCn.RunProcReturn("exec h_p_QC_POStockInCheckBill_CLD " + oMain.HMainSourceInterID.ToString() + ",'" + sHSourceEntryID + "'," + oMain.HFirstCheckEmp.ToString(), "h_p_QC_POStockInCheckBill_CLD");
            if (Ds == null || Ds.Tables[0].Rows.Count == 0 || Ds.Tables[1].Rows.Count == 0)
            {
                sErrMsg = "根据收料通知单:" + oMain.HMainSourceBillNo + " èŽ·å–æ•°æ®å¤±è´¥ï¼";
                return false;
            }
            sRemark = sRemark + " ï¼›èŽ·å–CLOUD单据API递入值" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
            //获取单据主表所需数据
            oMain.HSupID = Pub_Class.ClsPub.isLong(Ds.Tables[0].Rows[0]["HSupID"]);
            oMain.HSTOCKORGID = Pub_Class.ClsPub.isLong(Ds.Tables[0].Rows[0]["HSTOCKORGID"]);
            //获取系统参数
            Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
            if (oSystemParameter.ShowBillByOrgID(oMain.HSTOCKORGID, ref sErrMsg) == false)
            {
                sErrMsg = "获取系统参数失败! " + sErrMsg;
                return false;
            }
            try
            {
                //判断会计期是否合理
                string s = "";
                int sYear = 0;
                int sPeriod = 0;
                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();
                //生成检验单
                //写入主表
                oCn.RunProc("Insert Into QC_POStockInCheckBillMain " +
                "(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMaker,HMakeDate" +
                ",HYear,HPeriod,HRemark,HSTOCKORGID,HSupID,HMaterID" +
                ",HInstockQty,HCheckQty,HRightQty,HBadQty,HFirstCheckEmp" +
                ",HCheckerResult,HSteelStoveNo,HSteelCompReport,HAspect,HSize" +
                ") " +
                " values('" + oMain.HBillType + "','" + oMain.HBillType + "'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + oMain.HDate.ToShortDateString() + "','" + oMain.HMaker + "',getdate()" +
                ", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "'," + oMain.HSTOCKORGID.ToString() + "," + oMain.HSupID.ToString() + "," + oMain.HMaterID.ToString() +
                ", " + oMain.HCheckQty.ToString() + "," + oMain.HCheckQty.ToString() + "," + oMain.HRightQty.ToString() + "," + oMain.HBadQty.ToString() + "," + oMain.HFirstCheckEmp.ToString() +
                ",'" + oMain.HCheckerResult + "','" + oMain.HSteelStoveNo + "','" + oMain.HSteelCompReport + "','" + oMain.HAspect + "','" + oMain.HSize + "'" +
                ") ");
                //写入子表
                for (int i = 0; i < Ds.Tables[1].Rows.Count; i++)
                {
                    Model.ClsQC_POStockInCheckBillSub oSub = new Model.ClsQC_POStockInCheckBillSub();
                    oSub.HEntryID = i + 1;
                    oSub.HSourceInterID = Pub_Class.ClsPub.isLong(Ds.Tables[1].Rows[i]["HSourceInterID"]);
                    oSub.HSourceEntryID = Pub_Class.ClsPub.isLong(Ds.Tables[1].Rows[i]["HSourceEntryID"]);
                    oSub.HSourceBillNo = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HSourceBillNo"]);
                    oSub.HSourceBillType = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HSourceBillType"]);
                    oSub.HResult = "合格";
                    oSub.HProcCheckEmp = oMain.HFirstCheckEmp;
                    oSub.HMaterID = Pub_Class.ClsPub.isLong(Ds.Tables[1].Rows[i]["HMaterID"]);
                    oSub.HInStockQty = Pub_Class.ClsPub.isDoule(Ds.Tables[1].Rows[i]["HInStockQty"]);
                    oSub.HCheckQty = Pub_Class.ClsPub.isDoule(Ds.Tables[1].Rows[i]["HCheckQty"]);
                    oSub.HRightQty = Pub_Class.ClsPub.isDoule(Ds.Tables[1].Rows[i]["HRightQty"]);
                    oSub.HBadQty = Pub_Class.ClsPub.isDoule(Ds.Tables[1].Rows[i]["HBadQty"]);
                    oCn.RunProc("Insert Into QC_POStockInCheckBillSub " +
                    "(HInterID,HEntryID,HBillNo_bak,HRemark" +
                    ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType" +
                    ",HQCCheckClassID,HQCCheckItemID,HQCStd,HQCRelValue" +
                    ",HResult,HProcCheckEmp,HProcCheckTime" +
                    ",HMaterID,HInStockQty,HCheckQty,HRightQty,HBadQty" +
                    ") " +
                    " values(" + oMain.HInterID.ToString() + "," + oSub.HEntryID.ToString() + ",'" + oMain.HBillNo + "','" + oSub.HRemark + "'" +
                    ", " + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'" +
                    ", " + oSub.HQCCheckClassID.ToString() + "," + oSub.HQCCheckItemID.ToString() + ",'" + oSub.HQCStd + "','" + oSub.HQCRelValue + "'" +
                    ",'" + oSub.HResult + "'," + oSub.HProcCheckEmp.ToString() + ",getdate()" +
                    ", " + oSub.HMaterID.ToString() + "," + oSub.HInStockQty.ToString() + "," + oSub.HCheckQty.ToString() + "," + oSub.HRightQty.ToString() + "," + oSub.HBadQty.ToString() +
                    ") ");
                }
                sRemark = sRemark + " ï¼›ç”Ÿæˆæ£€éªŒå•单据" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
                //获取金蝶云API所需递入数据
                string sJson_MainCustom = "";   //主表自定义字段
                sJson_MainCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["MainCustom"]);
                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"]) + "\"," +
                    "\"FBillTypeID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillTypeID"]) + "\" }," +
                    "\"FBusinessType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBusinessType"]) + "\"," +
                    "\"FDATE\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDATE"]) + "\"," +
                    "\"FSourceOrgId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSourceOrgId"]) + "\"}," +
                    "\"FInspectOrgId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FInspectOrgId"]) + "\"}," +
                    "\"FInspectDepId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FInspectDepId"]) + "\"}," +
                    //"\"FInspectGroupId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FInspectGroupId"]) + "\"}," +
                    "\"FInspectorId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FInspectorId"]) + "\"}," +
                    //"\"FDescription\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDescription"]) + "\"," +
                    //"\"FUpScanBox\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FUpScanBox"]) + "\"," +
                    //"\"FDefScanBox\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDefScanBox"]) + "\"," +
                    //"\"FCheckQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FCheckQty"]) + "\"," +
                    //"\"FInspectValScanBox\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FInspectValScanBox"]) + "\"," +
                    "\"FIsSynced\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FIsSynced"]) + "\"," +
                    sJson_MainCustom +
                    "\"FEntity\":[";
                string sJson_Entry = "";
                for (int i = 0; i < Ds.Tables[1].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 = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["SubCustom"]);
                    //是否启用批次管理
                    if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1")
                    {
                        sJson_BatchNo = "  \"FLOT\": {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\"},    \"FLOT_TEXT\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\"  , ";
                    }
                    else
                    {
                        sJson_BatchNo = "";
                    }
                    //是否启用保质期控制
                    if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FISKFPERIOD"]) == "1")
                    {
                        sJson_FProduceDate = " \"FProduceDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FProduceDate"]) + "\",";
                        sJson_FExpiryDate = " \"FExpiryDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FExpiryDate"]) + "\",";
                    }
                    else
                    {
                        sJson_FProduceDate = "";
                        sJson_FExpiryDate = "";
                    }
                    //是否启用仓位
                    if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) == "")
                    {
                        sJson_StockPlace = "";
                    }
                    else
                    {
                        sJson_StockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockLocId"]) + "\"}},";
                    }
                    //辅助属性
                    sJson_FAUXPROPID = " \"FAUXPROPID\":{\"FAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"}},";
                    sJson_Entry = sJson_Entry + "{" +
                    //"FEntryID": 0,
                    "\"FMaterialId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FMaterialId"]) + "\"}," +
                    //"FQCSchemeId": {"FNUMBER": ""},
                    "\"FUnitID\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FUnitID"]) + "\"}," +
                    "\"FInspectQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FInspectQty"]) + "\"," +            //检验数量
                    "\"FQualifiedQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FQualifiedQty"]) + "\"," +        //合格数量
                    "\"FUnqualifiedQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FUnqualifiedQty"]) + "\"," +    //不合格数量
                    //"FSampleDamageQty": 0,
                    //"FSUnqualifiedQty": 0,
                    "\"FInspectResult\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FInspectResult"]) + "\"," +      //检验结果
                    "\"FQCStatus\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FQCStatus"]) + "\"," +                //质检状态
                    //"FBaseSUnqualifiedQty": 0,
                    //"FSampleQty": 0,
                    //"FMemo": "",
                    "\"FIsRelated\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FIsRelated"]) + "\"," +
                    "\"FSrcBillType0\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcBillType0"]) + "\"," +
                    "\"FSrcBillNo0\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcBillNo0"]) + "\"," +
                    "\"FSrcInterId0\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcInterId0"]) + "\"," +
                    "\"FSrcEntryId0\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcEntryId0"]) + "\"," +
                    "\"FSrcEntrySeq0\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcEntrySeq0"]) + "\"," +
                    "\"FBaseUnitId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBaseUnitId"]) + "\"}," +
                    //"FQCBusinessType": "",
                    //"FBFLowId": {"FNAME": ""},
                    //"FSampleSchemeId": {"FNUMBER": ""},
                    //"FAcceptQty": 0,
                    //"FRejectQty": 0,
                    //"FInspectEndDate": "1900-01-01",
                    "\"FBaseInspectQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBaseInspectQty"]) + "\"," +        //基本单位检验数量
                    "\"FSupplierId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSupplierId"]) + "\"}," +
                    //"FCustomerId": {"FNUMBER": ""},
                    //"FProductLineId": {"FNUMBER": ""},
                    //"FPrdLineLocation": {"FLOCATIONCODE": ""},
                    //"FWorkshopId": {"FNUMBER": ""},
                    "\"FStockId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FStockId"]) + "\"}," +
                    sJson_BatchNo +
                    "\"FInspectTimes\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FInspectTimes"]) + "\"," +            //检验次数
                    sJson_StockPlace +
                    //"FConsumeTime": 0,
                    //"FInspectStartDate": "1900-01-01",
                    "\"FTimeUnit\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FTimeUnit"]) + "\"," +
                    //"FBaseSampleDamageQty": 0,
                    //"FBaseUnqualifiedQty": 0,
                    //"FOperNumber": 0,
                    "\"FSampleDamageBearer\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSampleDamageBearer"]) + "\"," +
                    "\"FIsFirstInspect\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FIsFirstInspect"]) + "\"," +
                    "\"FBaseQualifiedQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBaseQualifiedQty"]) + "\"," +    //基本单位合格数
                    "\"FBaseAcceptQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBaseAcceptQty"]) + "\"," +          //基本单位接收数
                    sJson_FAUXPROPID +
                    //"FPrdUnitId": {"FNumber": ""},
                    //"FBaseReAcceptQty": 0,
                    //"FOperDescription": "",
                    //"FUnitTransHeadQty": 0,
                    //"FUnitTransOperQty": 0,
                    //"FSNUnitID": {"FNumber": ""},
                    //"FBaseWBInspectQty": 0,
                    //"FBaseUnQuaSalQty": 0,
                    //"FSupplierLot": "",
                    sJson_FProduceDate +
                    sJson_FExpiryDate +
                    //"FNewExpiryDate": "1900-01-01",
                    "\"FCurrency\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FCurrency"]) + "\"}," +
                    //"FDiscountQty": 0,
                    "\"FIsSplitRow\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FIsSplitRow"]) + "\"," +
                    sJson_SubCustom +
                    //使用决策表体
                    "\"FPolicyDetail\": [ {  " +
                    //"FDetailID": 0,
                    "\"FPolicyMaterialId\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPolicyMaterialId"]) + "\"}," +
                    "\"FPolicyStatus\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPolicyStatus"]) + "\"," +
                    "\"FPolicyQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FPolicyQty"]) + "\"," +
                    "\"FBasePolicyQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FBasePolicyQty"]) + "\"," +
                    "\"FUsePolicy\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FUsePolicy"]) + "\"," +
                    //"FSerialId": { "FNUMBER": ""},
                    "\"FIsCheck\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FIsCheck"]) + "\"," +
                    "\"FIsDefectProcess\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FIsDefectProcess"]) + "\"," +
                    "\"FCanSale\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FCanSale"]) + "\"," +
                    "\"FIsMRBReview\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FIsMRBReview"]) + "\"," +
                    "\"FIsReturn\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FIsReturn"]) + "\"," +
                    "\"FIsRelatedDefect\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FIsRelatedDefect"]) + "\"" +
                    //"FMRBReviewStatus": "",
                    //"FBoxNumber": "",
                    //"FMemo1": "",
                    //"FPolicyAuxPropId": {"FPOLICYAUXPROPID__FF100005": { "FNumber": ""},"FPOLICYAUXPROPID__FF100002": { "FNumber": ""}}
                    " } ]," +
                    //缺陷记录表体
                    //"\"FDefectDetail\": [ {  " +
                    ////"FDetailID": 0,
                    ////"FDSerialId": {"FNUMBER": ""},
                    ////"FDefectTypeId": {"FNUMBER": ""},
                    ////"FDefectQty": 0,
                    ////"FBaseDefectQty1": 0,
                    ////"FDefectReasonId": {"FNUMBER": ""},
                    ////"FDefectLevel": "",
                    ////"FDefectResultId": {"FNUMBER": ""},
                    ////"FDefectMemo": ""
                    //" } ]," +
                    //检验项目表体
                    //"\"FItemDetail\": [ {  " +
                    ////"FDetailID": 0,
                    ////"FInspectItemId": { "FNUMBER": ""},
                    ////"FInspectResult1": "",
                    ////"FAnalysisMethod": "",
                    ////"FQualityStdId": { "FNUMBER": ""},
                    ////"FUnitId2": { "FNUMBER": ""},
                    ////"FInspectValQ": 0,
                    ////"FInspectValB": { "FNUMBER": ""},
                    ////"FInspectValT": "",
                    ////"FInspectMethodId": { "FNUMBER": ""},
                    ////"FInspectInstrumentId": { "FNUMBER": ""},
                    ////"FDefectlevel1": "",
                    ////"FDestructInspect": "false",
                    ////"FKeyInspect": "false",
                    ////"FInspectBasisId": { "FNUMBER": ""},
                    ////"FSampleSchemeId1": { "FNUMBER": ""},
                    ////"FItemStatus": "",
                    ////"FCompareSymbol": "",
                    ////"FSampleQty1": 0,
                    ////"FAcceptQty1": 0,
                    ////"FRejectQty1": 0,
                    ////"FSampleDamageQty1": 0,
                    ////"FBaseSampleDamageQty1": 0,
                    ////"FItemMemo": "",
                    ////"FSUnqualifiedQty1": 0,
                    ////"FBaseSUnqualifiedQty1": 0,
                    ////"FTargetVal": "",
                    ////"FInspectVal": "",
                    ////"FUpLimit": "",
                    ////"FDownLimit": "",
                    ////"FUpOffset": "",
                    ////"FDownOffset": "",
                    ////"FInspectValKey": "",
                    ////"FTargetValKey": "",
                    ////"FUpLimitKey": "",
                    ////"FDownLimitKey": "",
                    ////"FUpOffsetKey": "",
                    ////"FDownOffsetKey": "",
                    ////"FTargetValQ": 0,
                    ////"FUpLimitQ": 0,
                    ////"FDownLimitQ": 0,
                    ////"FUpOffsetQ": 0,
                    ////"FDownOffsetQ": 0,
                    ////"FTargetValB": { "FNUMBER": ""},
                    ////"FUpLimitB": { "FNUMBER": ""},
                    ////"FDownLimitB": { "FNUMBER": ""},
                    ////"FUpOffsetB": { "FNUMBER": ""},
                    ////"FDownOffsetB": { "FNUMBER": ""},
                    ////"FTargetValT": "",
                    ////"FUpLimitT": "",
                    ////"FDownLimitT": "",
                    ////"FUpOffsetT": "",
                    ////"FDownOffsetT": "",
                    ////"FValueGrid": [
                    ////    {
                    ////    "FGridId": 0,
                    ////    "FInspectResult2": "",
                    ////    "FInspectValueB": { "FNUMBER": ""},
                    ////    "FInspectValueT": "",
                    ////    "FInspectValue": 0,
                    ////    "FVSerialId": { "FNUMBER": ""}
                    ////    }
                    ////]
                    //" } ]," +
                    //参考表体
                    "\"FReferDetail\": [ {  " +
                    //"FDetailID": 0,
                    "\"FSrcBillType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcBillType"]) + "\"," +
                    "\"FSrcBillNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcBillNo"]) + "\"," +
                    "\"FSrcInterId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcInterId"]) + "\"," +
                    "\"FSrcEntryId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcEntryId"]) + "\"," +
                    "\"FSrcEntrySeq\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSrcEntrySeq"]) + "\"," +
                    "\"FOrderType\":{\"FID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOrderType"]) + "\"}," +
                    "\"FOrderBillNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOrderBillNo"]) + "\"," +
                    "\"FOrderId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOrderId"]) + "\"," +
                    "\"FOrderEntryId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOrderEntryId"]) + "\"," +
                    "\"FOrderEntrySeq\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FOrderEntrySeq"]) + "\"" +
                    " } ]," +
                    //关联关系表
                    "\"FEntity_Link\": [ {  " +
                    "\"FEntity_Link_FFlowId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FFlowId"]) + "\"," +
                    "\"FEntity_Link_FFlowLineId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FFlowLineId"]) + "\"," +
                    "\"FEntity_Link_FRuleId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FRuleId"]) + "\"," +
                    "\"FEntity_Link_FSTableName\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSTableName"]) + "\"," +
                    "\"FEntity_Link_FSBillId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSBillId"]) + "\"," +
                    "\"FEntity_Link_FSId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FSId"]) + "\"," +
                    "\"FEntity_Link_FBaseAcceptQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FBaseAcceptQty"]) + "\"," +
                    "\"FEntity_Link_FBaseAcceptQtyOld\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FBaseAcceptQtyOld"]) + "\"," +
                    "\"FEntity_Link_FBaseInspectQtyOld\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FBaseInspectQtyOld"]) + "\"," +
                    "\"FEntity_Link_FInspectQtyOld\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FEntity_Link_FInspectQtyOld"]) + "\"" +
                    " } ]   }  ";
                }
                string sJson_End = "  ]  }}";
                string sJson = sJson_Main + sJson_Entry + sJson_End;
                //CLOUD金蝶云账号密码登入
                var loginRet = InvokeHelper.LoginUser(oMain.HMaker);
                var isSuccess = JObject.Parse(loginRet)["LoginResultType"].Value<int>();
                sRemark = sRemark + " ï¼›èŽ·å–éªŒè¯CLOUD账号密码" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
                //生成金蝶云单据
                if (isSuccess == 1)
                {
                    string result = InvokeHelper.Save("QM_InspectBill", sJson); //保存
                    sRemark = sRemark + " ï¼›ç”ŸæˆCLOUD单据" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
                    HReturn = result.ToString();
                    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 + sJson);   //写入txt文本
                        oCn.RollBack();
                        return false;
                    }
                    else
                    {
                        sRemark = sRemark + sJson;
                        // æäº¤å’Œä¿å­˜å•据
                        string result1 = string.Empty;
                        string result2 = string.Empty;
                        var fID = JObject.Parse(result)["Result"]["Id"].ToString();
                        var fBillNo = JObject.Parse(result)["Result"]["Number"].ToString();
                        var json = new
                        {
                            Ids = fID,
                        };
                        result1 = InvokeHelper.Submit("QM_InspectBill", JsonConvert.SerializeObject(json));//提交
                        result2 = InvokeHelper.Audit("QM_InspectBill", JsonConvert.SerializeObject(json));//审核
                        if (JObject.Parse(result1)["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE")
                        {
                            oCn.RollBack();
                            sErrMsg = $"来料检验单号:{fBillNo},提交失败" + result;
                            return false;
                        }
                        oCn.Commit();
                    }
                }
                else
                {
                    sErrMsg = "生成检验单失败!金蝶云登录失败!";
                    oCn.RollBack();
                    return false;
                }
            }
            catch (Exception e)
            {
                LogService.Write("生成回滚" + e.Message + sRemark);
                sErrMsg = "生成检验单失败!" + e.Message;
                oCn.RollBack();
                return false;
            }
            if (oSystemParameter.omodel.QC_POStockInCheckBill_AutoCheck.ToUpper() == "Y") //系统参数  è‡ªåŠ¨å®¡æ ¸
            {
                try
                {
                    oCn.BeginTran();
                    //审核WMS单据
                    oCn.RunProc("Update QC_POStockInCheckBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=getdate(),HBillStatus=2 where HInterID= " + oMain.HInterID.ToString());
                    //提交、审核金蝶云单据
                    HReturn = "";
                    string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
                    var result2 = InvokeHelper.Submit("QM_InspectBill", sJson2);    //提交
                    sRemark = sRemark + " ï¼›æäº¤CLOUD单据" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
                    var result3 = InvokeHelper.Audit("QM_InspectBill", sJson2);     //审核
                    sRemark = sRemark + " ï¼›å®¡æ ¸CLOUD单据" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
                    HReturn = result2.ToString() + "," + result3.ToString();
                    if (HReturn.Contains("\"IsSuccess\":false") == true)
                    {
                        //反序列化json数据
                        var retModel = JsonConvert.DeserializeObject<KingdeeResponse>(result3);
                        //接收金蝶报错信息
                        var strErrorMsg = string.Empty;
                        //遍历获取报错信息
                        foreach (var item in retModel.Result.ResponseStatus.Errors)
                        {
                            strErrorMsg += item.Message + "\r\n";
                        };
                        sErrMsg = "生成检验单成功,审核单据失败!金蝶云提示:" + strErrorMsg;
                        LogService.Write("审核单据失败" + sRemark + HReturn);
                        oCn.RollBack();
                        return true;
                    }
                    else
                    {
                        LogService.Write("生成并审核检验单成功!" + sRemark);
                        sErrMsg = "生成并审核检验单成功!单据号为:" + oMain.HBillNo;
                        oCn.Commit();
                        return true;
                    }
                }
                catch (Exception e)
                {
                    LogService.Write("审核回滚" + sRemark + HReturn);
                    sErrMsg = "审核检验单失败!" + e.Message;
                    oCn.RollBack();
                    return false;
                }
            }
            else
            {
                LogService.Write("生成检验单成功!" + sRemark);
                sErrMsg = "生成检验单成功!单据号为:" + oMain.HBillNo;
                return true;
            }
        }
        #endregion
        #endregion
        #region ç”Ÿäº§ç»„托单    ä¸Šä¼ ç”Ÿå•
@@ -5007,7 +5863,7 @@
            try
            {
                DataSet ds=oCn.RunProcReturn($"select * from h_v_get_PackUnionBill where æ ˆæ¿ç ='{HBarCode_Pack}'", "h_v_get_PackUnionBill");
                DataSet ds = oCn.RunProcReturn($"select * from h_v_get_PackUnionBill where æ ˆæ¿ç ='{HBarCode_Pack}'", "h_v_get_PackUnionBill");
                objJsonResult.code = "1";
                objJsonResult.count = 1;
@@ -5252,7 +6108,7 @@
                {
                    //删除前控制=========================================
                    DataSet dds = oCn.RunProcReturn("Exec h_p_KF_ICInventory_WorkShop_BeforeDelCtrl " + mainList[0].HInterID.ToString()  , "h_p_KF_ICInventory_WorkShop_BeforeDelCtrl");
                    DataSet dds = oCn.RunProcReturn("Exec h_p_KF_ICInventory_WorkShop_BeforeDelCtrl " + mainList[0].HInterID.ToString(), "h_p_KF_ICInventory_WorkShop_BeforeDelCtrl");
                    if (dds == null)
                    {
@@ -7098,6 +7954,76 @@
                        sAutoBarCode = "Y";
                    }
                }
                //采购退料单
                else if (HBillType == "1239")
                {
                    //校验-是否进行源单对应条码核对('Y'为核对)
                    if (oSystemParameter.omodel.Kf_POStockInBackBillCheck_SourceBarCodeCtl.ToUpper() == "Y")
                    {
                        sSourceBarCodeCtl = "Y";
                    }
                    //免扫物料条码模式('Y'为不扫物料条码)
                    if (oSystemParameter.omodel.Kf_POStockInBackBillCheck_AutoBarCode.ToUpper() == "Y")
                    {
                        sAutoBarCode = "Y";
                    }
                }
                //生产退库单
                else if (HBillType == "1245")
                {
                    //校验-是否进行源单对应条码核对('Y'为核对)
                    if (oSystemParameter.omodel.Kf_ProductInBackBillCheck_SourceBarCodeCtl.ToUpper() == "Y")
                    {
                        sSourceBarCodeCtl = "Y";
                    }
                    //免扫物料条码模式('Y'为不扫物料条码)
                    if (oSystemParameter.omodel.Kf_ProductInBackBillCheck_AutoBarCode.ToUpper() == "Y")
                    {
                        sAutoBarCode = "Y";
                    }
                }
                //生产退料单
                else if (HBillType == "1244")
                {
                    //校验-是否进行源单对应条码核对('Y'为核对)
                    if (oSystemParameter.omodel.Kf_MateOutBackBillCheck_SourceBarCodeCtl.ToUpper() == "Y")
                    {
                        sSourceBarCodeCtl = "Y";
                    }
                    //免扫物料条码模式('Y'为不扫物料条码)
                    if (oSystemParameter.omodel.Kf_MateOutBackBillCheck_AutoBarCode.ToUpper() == "Y")
                    {
                        sAutoBarCode = "Y";
                    }
                }
                //销售退货单
                else if (HBillType == "1247")
                {
                    //校验-是否进行源单对应条码核对('Y'为核对)
                    if (oSystemParameter.omodel.Kf_SellOutBackBillCheck_SourceBarCodeCtl.ToUpper() == "Y")
                    {
                        sSourceBarCodeCtl = "Y";
                    }
                    //免扫物料条码模式('Y'为不扫物料条码)
                    if (oSystemParameter.omodel.Kf_SellOutBackBillCheck_AutoBarCode.ToUpper() == "Y")
                    {
                        sAutoBarCode = "Y";
                    }
                }
                //委外退料单
                else if (HBillType == "1238")
                {
                    //校验-是否进行源单对应条码核对('Y'为核对)
                    if (oSystemParameter.omodel.Kf_EntrustOutBackBillCheck_SourceBarCodeCtl.ToUpper() == "Y")
                    {
                        sSourceBarCodeCtl = "Y";
                    }
                    //免扫物料条码模式('Y'为不扫物料条码)
                    if (oSystemParameter.omodel.Kf_EntrustOutBackBillCheck_AutoBarCode.ToUpper() == "Y")
                    {
                        sAutoBarCode = "Y";
                    }
                }
                #endregion
                if (oSystemParameter.omodel.WMS_CampanyName == "安瑞") //系统参数  å®¢æˆ·å®šåˆ¶åŒ–名称     ç©ºç™½ä¸ºé€šç”¨
@@ -7498,7 +8424,7 @@
                #region ç³»ç»Ÿå‚数获取
                //生产领料单-先进先出控制
                if (HBillType == "1204"
                if (HBillType == "1204"
                    && oSystemParameter.omodel.Kf_MateOutBillCheck_AutoBarCode.ToUpper() == "N"         //免扫物料条码模式('Y'为不扫物料条码)
                    && oSystemParameter.omodel.Kf_MateOutBillCheck_SourceBarCodeCtl.ToUpper() == "N"    //校验-是否进行源单对应条码核对('Y'为核对)
                    && (oSystemParameter.omodel.Kf_MateOutBillCheck_FIFOCtl == "1" || oSystemParameter.omodel.Kf_MateOutBillCheck_FIFOCtl == "2" || oSystemParameter.omodel.Kf_MateOutBillCheck_FIFOCtl == "3"))
@@ -7763,6 +8689,51 @@
                    }
                    //先进先出控制
                    sFIFOCtl = oSystemParameter.omodel.Kf_MoveStockBillCheck_FIFOCtl;
                }
                //采购退料单
                else if (HBillType == "1239")
                {
                    //校验-是否进行源单对应条码核对('Y'为核对)
                    if (oSystemParameter.omodel.Kf_POStockInBackBillCheck_SourceBarCodeCtl.ToUpper() == "Y")
                    {
                        sSourceBarCodeCtl = "Y";
                    }
                }
                //生产退库单
                else if (HBillType == "1245")
                {
                    //校验-是否进行源单对应条码核对('Y'为核对)
                    if (oSystemParameter.omodel.Kf_ProductInBackBillCheck_SourceBarCodeCtl.ToUpper() == "Y")
                    {
                        sSourceBarCodeCtl = "Y";
                    }
                }
                //生产退料单
                else if (HBillType == "1244")
                {
                    //校验-是否进行源单对应条码核对('Y'为核对)
                    if (oSystemParameter.omodel.Kf_MateOutBackBillCheck_SourceBarCodeCtl.ToUpper() == "Y")
                    {
                        sSourceBarCodeCtl = "Y";
                    }
                }
                //销售退货单
                else if (HBillType == "1247")
                {
                    //校验-是否进行源单对应条码核对('Y'为核对)
                    if (oSystemParameter.omodel.Kf_SellOutBackBillCheck_SourceBarCodeCtl.ToUpper() == "Y")
                    {
                        sSourceBarCodeCtl = "Y";
                    }
                }
                //委外退料单
                else if (HBillType == "1238")
                {
                    //校验-是否进行源单对应条码核对('Y'为核对)
                    if (oSystemParameter.omodel.Kf_EntrustOutBackBillCheck_SourceBarCodeCtl.ToUpper() == "Y")
                    {
                        sSourceBarCodeCtl = "Y";
                    }
                }
                #endregion
@@ -8078,6 +9049,51 @@
                        sSourceBarCodeCtl = "Y";
                    }
                }
                //采购退料单
                else if (HBillType == "1239")
                {
                    //校验-是否进行源单对应条码核对('Y'为核对)
                    if (oSystemParameter.omodel.Kf_POStockInBackBillCheck_SourceBarCodeCtl.ToUpper() == "Y")
                    {
                        sSourceBarCodeCtl = "Y";
                    }
                }
                //生产退库单
                else if (HBillType == "1245")
                {
                    //校验-是否进行源单对应条码核对('Y'为核对)
                    if (oSystemParameter.omodel.Kf_ProductInBackBillCheck_SourceBarCodeCtl.ToUpper() == "Y")
                    {
                        sSourceBarCodeCtl = "Y";
                    }
                }
                //生产退料单
                else if (HBillType == "1244")
                {
                    //校验-是否进行源单对应条码核对('Y'为核对)
                    if (oSystemParameter.omodel.Kf_MateOutBackBillCheck_SourceBarCodeCtl.ToUpper() == "Y")
                    {
                        sSourceBarCodeCtl = "Y";
                    }
                }
                //销售退货单
                else if (HBillType == "1247")
                {
                    //校验-是否进行源单对应条码核对('Y'为核对)
                    if (oSystemParameter.omodel.Kf_SellOutBackBillCheck_SourceBarCodeCtl.ToUpper() == "Y")
                    {
                        sSourceBarCodeCtl = "Y";
                    }
                }
                //委外退料单
                else if (HBillType == "1238")
                {
                    //校验-是否进行源单对应条码核对('Y'为核对)
                    if (oSystemParameter.omodel.Kf_EntrustOutBackBillCheck_SourceBarCodeCtl.ToUpper() == "Y")
                    {
                        sSourceBarCodeCtl = "Y";
                    }
                }
                #endregion
                try
@@ -8223,7 +9239,7 @@
        {
            try
            {
                ds = oCn.RunProcReturn("exec h_p_WMS_GetCheckBillList '" + HBillType  + "'," + HStockOrgID.ToString() + ",'" + HBillNo + "','" + HMater + "','" + HCustom + "'", "h_p_WMS_GetCheckBillList");
                ds = oCn.RunProcReturn("exec h_p_WMS_GetCheckBillList '" + HBillType + "'," + HStockOrgID.ToString() + ",'" + HBillNo + "','" + HMater + "','" + HCustom + "'", "h_p_WMS_GetCheckBillList");
                if (ds == null || ds.Tables[0].Rows.Count == 0)
                {
                    objJsonResult.code = "0";
@@ -8367,7 +9383,7 @@
        #endregion
        #region ç”Ÿäº§ç»„托单模块 æ‰«æå®¢æˆ·ç®±ï¼ˆæ‰˜ï¼‰æ¡ç  -凯贝装箱单     20251103
        [Route("WEBSController/Get_PackBarCode_PackUnionBill_New_Json_Cus")]
        [HttpGet]
        public object Get_PackBarCode_PackUnionBill_New_Json_Cus(Int64 HInterID, string HBillNo, string HBillType, string HBillSubType, string HBarCode_Pack, string HSourceBillNo)
@@ -8850,6 +9866,29 @@
        #endregion
        #endregion
        #region æ ¹æ®sn码寻找对应的中箱码
        [Route("WEBSController/getMiddleCodeBySn")]
        [HttpGet]
        public object getMiddleCodeBySn(string HBarCode, int HStockOrgID)
        {
            DataSet dss = oCn.RunProcReturn("select * from Gy_CaseCodeRelation where HBarCode='" + HBarCode + "'", "Gy_CaseCodeRelation");
            if (dss.Tables[0].Rows[0]["HCaseCode"].ToString() == "" || dss == null)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "未找到sn码所对应的中箱码";
                objJsonResult.data = null;
                return objJsonResult;
            }
            objJsonResult.code = "1";
            objJsonResult.count = 1;
            objJsonResult.Message = "成功";
            objJsonResult.data = dss.Tables[0];
            return objJsonResult;
        }
        #endregion
        #endregion
@@ -13403,11 +14442,11 @@
        /// <returns></returns>
        [Route("WEBSController/BindCarAndWH")]
        [HttpGet]
        public object BindCarAndWH( string HMaker, Int64 HWhID, Int64 HSPID, string HCarBarCode, Int64 HStockOrgID,int bindsignal)
        public object BindCarAndWH(string HMaker, Int64 HWhID, Int64 HSPID, string HCarBarCode, Int64 HStockOrgID, int bindsignal)
        {
            try
            {
                ds = oCn.RunProcReturn("exec h_p_bindingCarintoWh "  + HWhID.ToString() + "," + HSPID.ToString() + ",'" + HCarBarCode + "','" + HMaker+ "'," + HStockOrgID.ToString()+","+ bindsignal, "h_p_bindingCarintoWh");
                ds = oCn.RunProcReturn("exec h_p_bindingCarintoWh " + HWhID.ToString() + "," + HSPID.ToString() + ",'" + HCarBarCode + "','" + HMaker + "'," + HStockOrgID.ToString() + "," + bindsignal, "h_p_bindingCarintoWh");
                if (ds == null || ds.Tables[0].Rows.Count == 0)
                {
                    objJsonResult.code = "0";
@@ -13451,7 +14490,7 @@
        // è½¬ç§»æ¨¡å—
        [Route("WEBSController/CheckHW")]
        [HttpGet]
        public object CheckHW(int  HWhID,int HSPID,int HWhID2,int HSPID2,string HBarCode,string HCarBarCode1,string HCarBarCode2,string UserID)
        public object CheckHW(int HWhID, int HSPID, int HWhID2, int HSPID2, string HBarCode, string HCarBarCode1, string HCarBarCode2, string UserID)
        {
            try
            {
@@ -13500,7 +14539,7 @@
        [HttpGet]
        public Object get_BillBarCode_BillCheck_Json_MateOut_HuiKang(string HBillNo, string HBillType, string HMaker, Int64 HStockOrgID)
        {
            try
            {
                WebSoBar = null;
@@ -13512,7 +14551,7 @@
                List<string> HBillNoList = new List<string>();
                foreach (DataRow row in ds.Tables[0].Rows)
                {
                    if (string.IsNullOrWhiteSpace(row["HChecker"].ToString())){
                    if (string.IsNullOrWhiteSpace(row["HChecker"].ToString())) {
                        // 2. åˆ¤æ–­å•据审核状态,查找未被审核的单据
                        WebSoBar = oWebs.get_BillBarCode_BillCheck(row["HBillNo"].ToString(), HBillType, row["HMaker"].ToString(), HStockOrgID, ref DBUtility.ClsPub.sErrInfo);
@@ -13567,7 +14606,7 @@
        {
            try
            {
                string sql = $"exec [h_p_Sc_ICMOBillWorkQtyStatus_Save] {HInterID}";
                ds = oCn.RunProcReturn(sql, "[h_p_Sc_ICMOBillWorkQtyStatus_Save]");
                if (ds == null || ds.Tables[0].Rows.Count == 0)
@@ -13610,23 +14649,34 @@
        #region æ£€éªŒå• æ‰«ææºå• æ ¹æ®å•据类型 æºå•类型 æºå•号 è§£æžå¹¶è¿”回检验项目
        [Route("WEBSController/get_CheckBillBarCode_Json_CheckItem")]
        [HttpGet]
        public Object get_CheckBillBarCode_Json_CheckItem(int HBillType, int HSourceBillType, string HBarCode, string HInterID, string HEntryID, int Mode,string user)
        public Object get_CheckBillBarCode_Json_CheckItem(int HBillType, int HSourceBillType, string HBarCode, string HInterID, string HEntryID, int Mode, string user)
        {
            try
            {
                string sErrMsg = "";
                oSystemParameter.ShowBill(ref sErrMsg);
                // åŽèˆŸå®¢æˆ·
                if (oSystemParameter.omodel.WMS_CampanyName == "华舟")
                {
                    if (!string.IsNullOrWhiteSpace(HBarCode))
                    {
                        HBarCode = HBarCode.Split('-')[0];
                    }
                }
                // Mode = 1 è¡¨ç¤º æ‰«ç æ¨¡å¼ Mode = 2 è¡¨ç¤º é€‰å•模式
                if(Mode == 1)
                if (Mode == 1)
                {
                    //扫码模式需要解析条码获取HInterID和HEntryID
                    ds = oCn.RunProcReturn($@"
                    exec h_p_CheckBillBarCode_AnalysisBarcode 
                        @HBillType={HBillType},
                        @HSourceBillType={HSourceBillType},
                        @HBarCode={HBarCode},
                        @HBillType='{HBillType}',
                        @HSourceBillType='{HSourceBillType}',
                        @HBarCode='{HBarCode}',
                        @user = '{user}'
                    ", "h_p_CheckBillBarCode_AnalysisBarcode");
                    if (ds.Tables[0].Rows.Count == 0)
                    if (ds is null || ds.Tables[0].Rows.Count == 0)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
@@ -13639,21 +14689,45 @@
                    HEntryID = ds.Tables[0].Rows[0]["HEntryID"].ToString();
                }
                // é€‰å•模式直接递入HInterID å’Œ HEntryID æ ¹æ® å–质检方案来源 èŽ·å– æ£€éªŒé¡¹ç›®
                ds = oCn.RunProcReturn($@"
                    exec h_p_CheckBillBarCode_CheckItem
                        @HBillType={HBillType},
                        @HSourceBillType={HSourceBillType},
                        @HInterID={HInterID},
                        @HEntryID={HEntryID}
                ", "h_p_CheckBillBarCode_CheckItem");
                if (oSystemParameter.omodel.WMS_CampanyName == "华舟")
                {
                    //华舟做末件的时候 è¦çŸ¥é“我这个条码 å¯¹åº”的数量是多少,只能把条码传入进去进行查找
                    ds = oCn.RunProcReturn($@"exec h_p_CheckBillBarCode_CheckItem @HBillType='{HBillType}',@HSourceBillType='{HSourceBillType}',
                        @HInterID='{HInterID}',@HEntryID='{HEntryID}',@HBarCode='{HBarCode}'", "h_p_CheckBillBarCode_CheckItem");
                }
                else
                {
                    ds = oCn.RunProcReturn($@"exec h_p_CheckBillBarCode_CheckItem @HBillType='{HBillType}',@HSourceBillType='{HSourceBillType}',
                        @HInterID='{HInterID}',@HEntryID='{HEntryID}'", "h_p_CheckBillBarCode_CheckItem");
                }
                if(ds.Tables[0].Rows.Count == 0)
                if (ds.Tables[0].Rows.Count == 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "扫描单据条码失败!无绑定质检方案信息";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (oSystemParameter.omodel.WMS_CampanyName == "华舟")
                {
                    if (HBillType == 7507) // å•据类型是末件检验单 æŸ¥æ‰¾å•据是否重复,检验是否合格,单据重复需要返回不同的状态
                    {
                        var ds2 = oCn.RunProcReturn($"select top 1 * from QC_ProcessCheckBillMain where HMainSourceBillNo = '{HBarCode}' order by HDate desc", "QC_ProcessCheckBillMain");
                        if (ds2.Tables[0].Rows.Count > 0)
                        {
                            if (ds2.Tables[0].Rows[0]["HCheckerResult"].ToString() == "true") // æ£€éªŒåˆæ ¼æç¤ºæ˜¯å¦éœ€è¦æ–°å¢ž
                            {
                                objJsonResult.code = "2"; // è¿”回Code为2表示单据重复,需要提示是否需要新增单据
                                objJsonResult.count = 1;
                                objJsonResult.Message = "success!";
                                objJsonResult.data = ds.Tables[0];
                                return objJsonResult;
                            }
                        }
                    }
                }
                objJsonResult.code = "1";
@@ -13667,7 +14741,7 @@
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "扫描单据条码失败!" + e.ToString();
                objJsonResult.Message = "扫描单据条码失败!" + e.Message.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
@@ -13722,14 +14796,14 @@
        #endregion
        #region æ·»åº·æ ¹æ®å°è½¦æ¡ç æ‰¾å‡ºç›¸åº”物料
        [Route("WEBSController/GetMaterIDByCarBarCode")]
        [HttpGet]
        public object GetMaterIDByCarBarCode(string CarBarCode)
        {
            try
            {
                ds = oCn.RunProcReturn("select * from GetMaterMesByCarBarCode where å°è½¦='" + CarBarCode.ToString() + "'" , "GetMaterMesByCarBarCode");
                ds = oCn.RunProcReturn("select * from GetMaterMesByCarBarCode where HQty>=0 and å°è½¦='" + CarBarCode.ToString() + "'", "GetMaterMesByCarBarCode");
                if (ds == null || ds.Tables[0].Rows.Count == 0)
                {
                    objJsonResult.code = "0";
@@ -13766,5 +14840,264 @@
            }
        }
        #endregion
        #region [取样单] èŽ·å–æœªä¸‹æŽ¨æˆæ£€éªŒå•çš„å–æ ·å•åˆ—è¡¨
        [Route("WEBSController/AwaitCheckSampleBillList")]
        [HttpGet]
        public Object AwaitCheckSampleBillList(string user)
        {
            List<object> columnNameList = new List<object>();
            try
            {
                ds = oCn.RunProcReturn($@"
                    exec h_p_AwaitCheckSampleBillList @user={user}
                ", "h_p_CheckBillBarCode_CheckItem");
                //添加列名
                foreach (DataColumn col in ds.Tables[0].Columns)
                {
                    Type dataType = col.DataType;
                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名
                }
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "success!";
                objJsonResult.data = ds.Tables;
                objJsonResult.list = columnNameList;
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "扫描单据条码失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region è£…箱追溯
        #region [装箱追溯] æ‰«æSN条码
        [Route("WEBSController/get_SNBarCode_PackUnionCarryUp")]
        [HttpGet]
        public object get_SNBarCode_PackUnionCarryUp(string sHBarCode, int sInterID, string HBillType, string sBillNo, string sHBarCode_Pack, string sMaker, int HStockOrgID)
        {
            if (oWebs.get_SNBarCode_PackUnionCarryUp(sHBarCode, sInterID, HBillType, sBillNo, sHBarCode_Pack, sMaker, HStockOrgID, ref DBUtility.ClsPub.sErrInfo))
            {
                objJsonResult.code = "0";
                objJsonResult.count = 1;
                objJsonResult.Message = DBUtility.ClsPub.sErrInfo;  //成功!
                objJsonResult.data = null;
                return objJsonResult;
            }
            else
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = DBUtility.ClsPub.sErrInfo;  //失败!
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region [装箱追溯] æ‰«æç®±æ¡ç 
        [Route("WEBSController/get_BarCode_PackUnionCarryUp")]
        [HttpGet]
        public object get_BarCode_PackUnionCarryUp(int sInterID, string HBillType, string sBillNo, string sHBarCode_Pack, string sMaker, int HStockOrgID)
        {
            var oBar = oWebs.get_BarCode_PackUnionCarryUp(sInterID, sBillNo, HBillType, sHBarCode_Pack, sMaker, HStockOrgID, ref DBUtility.ClsPub.sErrInfo);
            if (oBar == null)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = DBUtility.ClsPub.sErrInfo;  //成功!
                objJsonResult.data = null;
                return objJsonResult;
            }
            else
            {
                objJsonResult.code = "0";
                objJsonResult.count = 1;
                objJsonResult.Message = DBUtility.ClsPub.sErrInfo;  //失败!
                objJsonResult.data = oBar;
                return objJsonResult;
            }
        }
        #endregion
        #region [装箱追溯] èŽ·å–è¡¨ä½“ç‰©æ–™ä¿¡æ¯
        [Route("WEBSController/GetBillEntry_TmpList_PackUnionCarryUp")]
        [HttpGet]
        public object GetBillEntry_TmpList_PackUnionCarryUp(int sInterID, string HBillType, string sBillNo, int HStockOrgID)
        {
            DataSet oDs = oWebs.GetBillEntry_TmpList_PackUnionCarryUp(sInterID, sBillNo, HBillType, ref DBUtility.ClsPub.sErrInfo);
            if (oDs == null || oDs.Tables[0].Rows.Count == 0)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = DBUtility.ClsPub.sErrInfo;  //失败!
                objJsonResult.data = null;
                return objJsonResult;
            }
            else
            {
                objJsonResult.code = "0";
                objJsonResult.count = 1;
                objJsonResult.Message = DBUtility.ClsPub.sErrInfo;  //成功!
                objJsonResult.data = oDs.Tables[0];
                return objJsonResult;
            }
        }
        #endregion
        #region [装箱追溯] åˆ é™¤
        [Route("WEBSController/set_DelPackUnionBill_Temp_Pack")]
        [HttpGet]
        public object set_DelPackUnionBill_Temp_Pack(int HInterID)
        {
            if (oWebs.DeleteTemp_PackUnionBill(HInterID, ref DBUtility.ClsPub.sErrInfo))
            {
                objJsonResult.code = "0";
                objJsonResult.count = 1;
                objJsonResult.Message = DBUtility.ClsPub.sErrInfo;  //成功!
                objJsonResult.data = null;
                return objJsonResult;
            }
            else
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = DBUtility.ClsPub.sErrInfo;  //失败!
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region [装箱追溯] ä¸Šä¼ ç”Ÿå•
        [Route("WEBSController/set_SavePackUnionCarryUpBill")]
        [HttpPost]
        public object set_SavePackUnionCarryUpBill(string ModRightNamePackUnionCarryUp, int sInterID,
                                                    string HBillType, string sBillNo, string sHBarCode_Pack,
                                                    string sMaker, int HStockOrgID)
        {
            if (!oWebs.CheckModRight(ModRightNamePackUnionCarryUp, DBUtility.ClsPub.CurUserName, ref DBUtility.ClsPub.sErrInfo))
            {
                // é‰´æƒ
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "鉴权失败,该用户无权限上传单据! ";  //失败!
                objJsonResult.data = null;
                return objJsonResult;
            }
            else
            {
                if(oWebs.set_SavePackUnionCarryUpBill_New(sInterID, HBillType, sBillNo, sHBarCode_Pack, sMaker, HStockOrgID, ref DBUtility.ClsPub.sErrInfo))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "生成生产装箱追溯单成功!单据号为:" + sBillNo;  //成功!
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "生成失败!原因:" + DBUtility.ClsPub.sErrInfo;  //成功!
                    objJsonResult.data = null;
                    return objJsonResult;
                }
            }
        }
        #endregion
        #region [装箱追溯] ç¼–辑缓存列表单据
        [Route("WEBSController/TempList_Modify_Pack")]
        [HttpGet]
        public object TempList_Modify_Pack(Int64 HInterID, string HBillNo, string HBillType)
        {
            if(oWebs.TempList_Modify_Pack(HInterID,  HBillNo,  HBillType, ref DBUtility.ClsPub.sErrInfo))
            {
                // æˆåŠŸ (无已上传记录)
                objJsonResult.code = "0";
                objJsonResult.count = 1;
                objJsonResult.Message = DBUtility.ClsPub.sErrInfo;
                objJsonResult.data = null;
                return objJsonResult;
            }
            else
            {
                // å¤±è´¥
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = DBUtility.ClsPub.sErrInfo;  //失败!
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region [装箱追溯] èŽ·å–ç¼“å­˜åˆ—è¡¨
        [Route("WEBSController/GetSc_PackUnionBill_TempList_Pack")]
        [HttpGet]
        public object GetSc_PackUnionBill_TempList(string HBillType, string HMaker, Int64 HStockOrgID)
        {
            DataSet oDs = oWebs.GetSc_PackUnionBill_TempList(HBillType, HMaker, HStockOrgID);
            if(oDs == null)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = DBUtility.ClsPub.sErrInfo;  //失败!
                objJsonResult.data = null;
                return objJsonResult;
            }
            else
            {
                objJsonResult.code = "0";
                objJsonResult.count = 1;
                objJsonResult.Message = DBUtility.ClsPub.sErrInfo;  //成功!
                objJsonResult.data = oDs.Tables[0];
                return objJsonResult;
            }
        }
        #endregion
        #region [装箱追溯] åˆ é™¤ç¼“存列表单据
        [Route("WEBSController/DeleteTemp_PackUnionBill_Pack")]
        [HttpGet]
        public object DeleteTemp_PackUnionBill_Pack(Int64 HInterID)
        {
            if(oWebs.DeleteTemp_PackUnionBill(HInterID, ref DBUtility.ClsPub.sErrInfo))
            {
                // åˆ é™¤æˆåŠŸ
                objJsonResult.code = "0";
                objJsonResult.count = 1;
                objJsonResult.Message = DBUtility.ClsPub.sErrInfo;
                objJsonResult.data = null;
                return objJsonResult;
            }
            else
            {
                // åˆ é™¤å¤±è´¥
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = DBUtility.ClsPub.sErrInfo;
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #endregion
    }
}