智云SRM-WEBAPI(目前客户通用API)
1
yusijie
2025-02-07 d74b85f0c08da89bf57c0de6eed3d74066dbd627
1
1个文件已修改
403 ■■■■ 已修改文件
WebAPI/Controllers/POInStockController.cs 403 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/POInStockController.cs
@@ -68,6 +68,8 @@
            try
            {
                DataSet ds = new DataSet();
                DataSet da = new DataSet();
                SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
                if (DBUtility.ClsPub.isLong(sMsg) == 0)
                {
                    objjson.code = "0";
@@ -85,18 +87,29 @@
                    return objjson;
                }
                string HBillNo, HInnerBillNo, HDate;
                Int64 HInterID;
                string HInterID = "-1";
                HBillNo = DBUtility.ClsPub.CreateBillCode_SRMProd("1103", ref DBUtility.ClsPub.sExeReturnInfo, true);
                HInnerBillNo = DBUtility.ClsPub.CreateBillCode_SRMProd("777", ref DBUtility.ClsPub.sExeReturnInfo, true);//送货单号
                HDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"));
                HInterID = DBUtility.ClsPub.CreateBillID_SRMProd("1103", ref DBUtility.ClsPub.sExeReturnInfo);
                da = oCn.RunProcReturn("exec h_p_Xt_GetMaxBillID '" + 1103 + "'", "h_p_Xt_GetMaxBillID");
                if (da == null || da.Tables[0].Rows.Count == 0)
                {
                    HInterID = "1";
                }
                else
                {
                    HInterID = ClsPub.isStrNull(da.Tables[0].Rows[0]["HBillNo"]);
                }
                //HInterID = DBUtility.ClsPub.CreateBillID_SRMProd("1103", ref DBUtility.ClsPub.sExeReturnInfo);
                //创建临时表
                DataTable dt = new DataTable();
                //创建表中的列
                dt.Columns.Add("HBillNo", typeof(string));//添加列
                dt.Columns.Add("HInnerBillNo", typeof(string));//添加列
                dt.Columns.Add("HDate", typeof(string));//添加列
                dt.Columns.Add("HInterID", typeof(Int64));//添加列
                dt.Columns.Add("HInterID", typeof(string));//添加列
                DataRow row = dt.NewRow();
                //给列赋值
                row["HBillNo"] = HBillNo;
@@ -294,6 +307,12 @@
            string msg2 = sArray[0].ToString();
            string msg3 = sArray[1].ToString();
            string UserName = "";
            string HOpType = "";
            if (sArray.Length > 2)
            {
                HOpType = sArray[2].ToString();
            }
            ListModels oListModels = new ListModels();
            try
            {
@@ -304,9 +323,11 @@
                msg2 = msg2.Replace("\\", "");
                msg2 = msg2.Replace("\n", "");  //\n
                lsmain = oListModels.getObjectByJson_POInStockMain(msg2);
                /*  添加编辑功能后屏蔽
                string billno = lsmain[0].HBillNo;
                string yzsql = $"select count(*) as rows from Cg_POInStockBillMain where HBillNo = '{billno}'";
                DataTable yzdt = oCn.RunProcReturn(yzsql, "yzds").Tables[0];
                DataTable yzdt = oCn.RunProcReturn(yzsql, "yzds").Tables[0];
                if (Convert.ToInt32(yzdt.Rows[0][0]) > 0)
                {
                    objJsonResult.code = "0";
@@ -315,6 +336,8 @@
                    objJsonResult.data = 1;
                    return objJsonResult;
                }
                */
                //根据收料通知单号校验是否已生成
                //string jysql = $"select * from ":
                foreach (Model.ClsCg_POInStockBillMain oItem in lsmain)
@@ -398,8 +421,10 @@
                    //    }
                    //}
                //判断采购订单状态
                objJsonResult = TestPOOrder(oItemSub.HPOOrderEntryID.ToString());
                    //判断采购订单状态
                    objJsonResult = TestPOOrder(oItemSub.HPOOrderEntryID.ToString());
                    if (objJsonResult.code == "0")
                        return objJsonResult;
                    //增加判断 送货数量超出采购订单数量
@@ -431,16 +456,21 @@
                //保存
                //保存完毕后处理
                bool bResult;
                if (oBill.omodel.HInterID != 0 && oBill.omodel.HInterID.ToString() != null && oBill.omodel.HInterID.ToString() != "undefined")
                {
                    bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
                }
                else
                //oCn.BeginTran(); //开始事物
                if (HOpType.ToString() == "edit"/*oBill.omodel.HInterID != 0 && oBill.omodel.HInterID.ToString() != null && oBill.omodel.HInterID.ToString() != "undefined"*/)
                {
                    bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
                }
                else
                {
                    bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
                }
                if (bResult)
                {
                    //oCn.Commit(); //提交事物
                    objJsonResult.code = "0";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "保存成功!";
@@ -450,6 +480,8 @@
                }
                else
                {
                    //oCn.RollBack(); //回滚事物
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.sExeReturnInfo;
@@ -459,6 +491,7 @@
            }
            catch (Exception e)
            {
                //oCn.RollBack(); //回滚事物
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "保存失败!" + e.ToString();
@@ -702,32 +735,37 @@
                    //====================================== End 送货单审核前控制 End ======================================
                    if (FCusName == "夏宝电器")
                    {                      
                        sql = string.Format(@"
SELECT T3.FNAME AS FTYPENAME,M.HBILLNO,B.HINTERID,B.HENTRYID,C.FID,C.FENTRYID, D.FBILLNO,B.HQTY,CD.FRECEIVEORGID,CDOO.FNUMBER AS FRECEIVENUMBER
,D.FSUPPLIERID,DS.FNUMBER AS FSUPPLIERNUMBER,D.FPURCHASEORGID,DOO.FNUMBER AS FPURCHASEORGNUMBER,CROO.FNUMBER  AS FSETTLEORGNUMBER,
E.FPRICETIMEPOINT,E.FSETTLECURRID,EC.FNUMBER AS FSETTLECURRNUMBER,C.FMATERIALID,CM.FNUMBER AS FMATERIALNUMBER ,C.FUNITID
,CU.FNUMBER AS FUNITNUMBER,D.F_XBKF_COMBO1,CR.FPRICE,CR.FTAXPRICE,CR.FTAXRATE,D.FPURCHASERID,isnull(T4.FNUMBER,'') AS FPURCHASERNUMBER,D.F_XBKF_BASE1,isnull(T5.FNUMBER,'') AS FRECEIVEMENNUMBER
FROM CG_POINSTOCKBILLSUB B
JOIN CG_POINSTOCKBILLMAIN M ON B.HINTERID = M.HINTERID
JOIN {0}..T_PUR_POORDERENTRY C ON B.HSOURCEINTERID = C.FID AND B.HSOURCEENTRYID = C.FENTRYID
LEFT JOIN {0}..T_BD_MATERIAL CM ON C.FMATERIALID =CM.FMATERIALID
LEFT JOIN {0}..T_BD_UNIT CU ON C.FUNITID =CU.FUNITID
JOIN {0}..T_PUR_POORDERENTRY_D CD ON    C.FENTRYID = CD.FENTRYID
LEFT JOIN {0}..T_ORG_ORGANIZATIONS CDOO ON CD.FRECEIVEORGID = CDOO.FORGID
JOIN {0}..T_PUR_POORDERENTRY_F CR ON    C.FENTRYID = CR.FENTRYID
LEFT JOIN {0}..T_ORG_ORGANIZATIONS CROO ON CR.FSETTLEORGID = CROO.FORGID
LEFT JOIN {0}..T_PUR_POORDER D ON C.FID =D.FID
LEFT JOIN {0}..T_BAS_BILLTYPE T2 ON D.FBILLTYPEID = T2.FBILLTYPEID
LEFT JOIN {0}..T_BAS_BILLTYPE_L T3 ON T2.FBILLTYPEID = T3.FBILLTYPEID and FLOCALEID = 2052
LEFT JOIN  {0}..V_BD_BUYER T4 ON D.FPURCHASERID =T4.FID
LEFT JOIN  {0}..T_HR_EMPINFO T5 ON D.F_XBKF_BASE1 = T5.FID
LEFT JOIN {0}..T_BD_SUPPLIER DS ON D.FSUPPLIERID = DS.FSUPPLIERID
LEFT JOIN {0}..T_ORG_ORGANIZATIONS DOO ON D.FPURCHASEORGID = DOO.FORGID
JOIN {0}..T_PUR_POORDERFIN E ON C.FID =E.FID
LEFT JOIN {0}..T_BD_CURRENCY EC ON E. FSETTLECURRID =EC.FCURRENCYID
 WHERE b.hinterid in ({1}) and M.HERPInterID = 0
", kdTbaleName, HInterID);
//                        sql = string.Format(@"
//SELECT T3.FNAME AS FTYPENAME,M.HBILLNO,B.HINTERID,B.HENTRYID,C.FID,C.FENTRYID, D.FBILLNO,B.HQTY,CD.FRECEIVEORGID,CDOO.FNUMBER AS FRECEIVENUMBER
//,D.FSUPPLIERID,DS.FNUMBER AS FSUPPLIERNUMBER,D.FPURCHASEORGID,DOO.FNUMBER AS FPURCHASEORGNUMBER,CROO.FNUMBER  AS FSETTLEORGNUMBER,
//E.FPRICETIMEPOINT,E.FSETTLECURRID,EC.FNUMBER AS FSETTLECURRNUMBER,C.FMATERIALID,CM.FNUMBER AS FMATERIALNUMBER ,C.FUNITID
//,CU.FNUMBER AS FUNITNUMBER,D.F_XBKF_COMBO1,CR.FPRICE,CR.FTAXPRICE,CR.FTAXRATE,D.FPURCHASERID,isnull(T4.FNUMBER,'') AS FPURCHASERNUMBER,D.F_XBKF_BASE1,isnull(T5.FNUMBER,'') AS FRECEIVEMENNUMBER
//,C.FGiveAway AS FGiveAway
//FROM CG_POINSTOCKBILLSUB B
//JOIN CG_POINSTOCKBILLMAIN M ON B.HINTERID = M.HINTERID
//JOIN {0}.T_PUR_POORDERENTRY C ON B.HSOURCEINTERID = C.FID AND B.HSOURCEENTRYID = C.FENTRYID
//LEFT JOIN {0}.T_BD_MATERIAL CM ON C.FMATERIALID =CM.FMATERIALID
//LEFT JOIN {0}.T_BD_UNIT CU ON C.FUNITID =CU.FUNITID
//JOIN {0}.T_PUR_POORDERENTRY_D CD ON    C.FENTRYID = CD.FENTRYID
//LEFT JOIN {0}.T_ORG_ORGANIZATIONS CDOO ON CD.FRECEIVEORGID = CDOO.FORGID
//JOIN {0}.T_PUR_POORDERENTRY_F CR ON    C.FENTRYID = CR.FENTRYID
//LEFT JOIN {0}.T_ORG_ORGANIZATIONS CROO ON CR.FSETTLEORGID = CROO.FORGID
//LEFT JOIN {0}.T_PUR_POORDER D ON C.FID =D.FID
//LEFT JOIN {0}.h_v_T_BAS_BILLTYPE T2 ON D.FBILLTYPEID = T2.FBILLTYPEID
//LEFT JOIN {0}.T_BAS_BILLTYPE_L T3 ON T2.FBILLTYPEID = T3.FBILLTYPEID and FLOCALEID = 2052
//LEFT JOIN  {0}.V_BD_BUYER T4 ON D.FPURCHASERID =T4.FID
//LEFT JOIN  {0}.T_HR_EMPINFO T5 ON D.F_XBKF_BASE1 = T5.FID
//LEFT JOIN {0}.T_BD_SUPPLIER DS ON D.FSUPPLIERID = DS.FSUPPLIERID
//LEFT JOIN {0}.T_ORG_ORGANIZATIONS DOO ON D.FPURCHASEORGID = DOO.FORGID
//JOIN {0}.T_PUR_POORDERFIN E ON C.FID =E.FID
//LEFT JOIN {0}.T_BD_CURRENCY EC ON E. FSETTLECURRID =EC.FCURRENCYID
// WHERE b.hinterid in ({1}) and M.HERPInterID = 0
//", kdTbaleName, HInterID);
//                        dt = oCn.RunProcReturn(sql, "sltz").Tables[0];
                        sql = string.Format($"exec h_p_Cg_POInStock_GetInfoToERP '{HInterID}'");
                        dt = oCn.RunProcReturn(sql, "sltz").Tables[0];
                        if (dt.Rows.Count > 0)
                        {
                            foreach (DataRow dr in dt.Rows)
@@ -785,6 +823,7 @@
                                    FentityModel.Add("FPrice", item["FPRICE"].ToString());//单价
                                    FentityModel.Add("FTaxPrice", item["FTAXPRICE"].ToString());//含税单价
                                    FentityModel.Add("FEntryTaxRate", item["FTAXRATE"].ToString());//税率
                                    FentityModel.Add("FGiveAway", item["FGiveAway"].ToString());//是否赠品
                                    JArray Fentity2 = new JArray();
                                    JObject FentityModel2 = new JObject();
@@ -1060,34 +1099,37 @@
                    }
                    else
                    {                        
                        sql = string.Format(@"
SELECT T3.FNAME AS FTYPENAME,M.HBILLNO,B.HINTERID,B.HENTRYID,C.FID,C.FENTRYID, D.FBILLNO,B.HQTY,CD.FRECEIVEORGID,CDOO.FNUMBER AS FRECEIVENUMBER
,D.FSUPPLIERID,DS.FNUMBER AS FSUPPLIERNUMBER,D.FPURCHASEORGID,DOO.FNUMBER AS FPURCHASEORGNUMBER,CROO.FNUMBER  AS FSETTLEORGNUMBER,
E.FPRICETIMEPOINT,E.FSETTLECURRID,EC.FNUMBER AS FSETTLECURRNUMBER,C.FMATERIALID,CM.FNUMBER AS FMATERIALNUMBER ,C.FUNITID
,CU.FNUMBER AS FUNITNUMBER,CR.FPRICE,CR.FTAXPRICE,CR.FTAXRATE,D.FPURCHASERID,isnull(T4.FNUMBER,'') AS FPURCHASERNUMBER
,B.HExpressNumberSub,B.HExpressSupplierSub,B.HRemark,B.HPlanArrivalDate,B.HBoxNumber,B.HBatChNo,D.FBILLTYPEID
,CU2.FNUMBER AS FPRICEUNITNUMBER
FROM CG_POINSTOCKBILLSUB B
JOIN CG_POINSTOCKBILLMAIN M ON B.HINTERID = M.HINTERID
JOIN {0}..T_PUR_POORDERENTRY C ON B.HSOURCEINTERID = C.FID AND B.HSOURCEENTRYID = C.FENTRYID
LEFT JOIN {0}..T_BD_MATERIAL CM ON C.FMATERIALID =CM.FMATERIALID
LEFT JOIN {0}..T_BD_UNIT CU ON C.FUNITID =CU.FUNITID
JOIN {0}..T_PUR_POORDERENTRY_D CD ON    C.FENTRYID = CD.FENTRYID
LEFT JOIN {0}..T_ORG_ORGANIZATIONS CDOO ON CD.FRECEIVEORGID = CDOO.FORGID
JOIN {0}..T_PUR_POORDERENTRY_F CR ON    C.FENTRYID = CR.FENTRYID
LEFT JOIN {0}..T_ORG_ORGANIZATIONS CROO ON CR.FSETTLEORGID = CROO.FORGID
LEFT JOIN {0}..T_PUR_POORDER D ON C.FID =D.FID
LEFT JOIN {0}..T_BAS_BILLTYPE T2 ON D.FBILLTYPEID = T2.FBILLTYPEID
LEFT JOIN {0}..T_BAS_BILLTYPE_L T3 ON T2.FBILLTYPEID = T3.FBILLTYPEID and FLOCALEID = 2052
LEFT JOIN  {0}..V_BD_BUYER T4 ON D.FPURCHASERID =T4.FID
LEFT JOIN {0}..T_BD_SUPPLIER DS ON D.FSUPPLIERID = DS.FSUPPLIERID
LEFT JOIN {0}..T_ORG_ORGANIZATIONS DOO ON D.FPURCHASEORGID = DOO.FORGID
JOIN {0}..T_PUR_POORDERFIN E ON C.FID =E.FID
LEFT JOIN {0}..T_BD_CURRENCY EC ON E. FSETTLECURRID =EC.FCURRENCYID
LEFT JOIN {0}..T_PUR_POORDERENTRY_F CF ON C.FID = CF.FID AND C.FENTRYID = CF.FENTRYID
LEFT JOIN {0}..T_BD_UNIT CU2 ON CF.FPRICEUNITID =CU2.FUNITID
 WHERE b.hinterid in ({1}) and M.HERPInterID = 0
", kdTbaleName, HInterID, CustomFields);
//                        sql = string.Format(@"
//SELECT T3.FNAME AS FTYPENAME,M.HBILLNO,B.HINTERID,B.HENTRYID,C.FID,C.FENTRYID, D.FBILLNO,B.HQTY,CD.FRECEIVEORGID,CDOO.FNUMBER AS FRECEIVENUMBER
//,D.FSUPPLIERID,DS.FNUMBER AS FSUPPLIERNUMBER,D.FPURCHASEORGID,DOO.FNUMBER AS FPURCHASEORGNUMBER,CROO.FNUMBER  AS FSETTLEORGNUMBER,
//E.FPRICETIMEPOINT,E.FSETTLECURRID,EC.FNUMBER AS FSETTLECURRNUMBER,C.FMATERIALID,CM.FNUMBER AS FMATERIALNUMBER ,C.FUNITID
//,CU.FNUMBER AS FUNITNUMBER,CR.FPRICE,CR.FTAXPRICE,CR.FTAXRATE,D.FPURCHASERID,isnull(T4.FNUMBER,'') AS FPURCHASERNUMBER
//,B.HExpressNumberSub,B.HExpressSupplierSub,case when B.HRemark = 'CLOUD导入' then '' else B.HRemark end HRemark,B.HPlanArrivalDate,B.HBoxNumber,B.HBatChNo,D.FBILLTYPEID
//,CU2.FNUMBER AS FPRICEUNITNUMBER
//,C.FGiveAway AS FGiveAway
//FROM CG_POINSTOCKBILLSUB B
//JOIN CG_POINSTOCKBILLMAIN M ON B.HINTERID = M.HINTERID
//JOIN {0}..T_PUR_POORDERENTRY C ON B.HSOURCEINTERID = C.FID AND B.HSOURCEENTRYID = C.FENTRYID
//LEFT JOIN {0}..T_BD_MATERIAL CM ON C.FMATERIALID =CM.FMATERIALID
//LEFT JOIN {0}..T_BD_UNIT CU ON C.FUNITID =CU.FUNITID
//JOIN {0}..T_PUR_POORDERENTRY_D CD ON    C.FENTRYID = CD.FENTRYID
//LEFT JOIN {0}..T_ORG_ORGANIZATIONS CDOO ON CD.FRECEIVEORGID = CDOO.FORGID
//JOIN {0}..T_PUR_POORDERENTRY_F CR ON    C.FENTRYID = CR.FENTRYID
//LEFT JOIN {0}..T_ORG_ORGANIZATIONS CROO ON CR.FSETTLEORGID = CROO.FORGID
//LEFT JOIN {0}..T_PUR_POORDER D ON C.FID =D.FID
//LEFT JOIN {0}..T_BAS_BILLTYPE T2 ON D.FBILLTYPEID = T2.FBILLTYPEID
//LEFT JOIN {0}..T_BAS_BILLTYPE_L T3 ON T2.FBILLTYPEID = T3.FBILLTYPEID and FLOCALEID = 2052
//LEFT JOIN  {0}..V_BD_BUYER T4 ON D.FPURCHASERID =T4.FID
//LEFT JOIN {0}..T_BD_SUPPLIER DS ON D.FSUPPLIERID = DS.FSUPPLIERID
//LEFT JOIN {0}..T_ORG_ORGANIZATIONS DOO ON D.FPURCHASEORGID = DOO.FORGID
//JOIN {0}..T_PUR_POORDERFIN E ON C.FID =E.FID
//LEFT JOIN {0}..T_BD_CURRENCY EC ON E. FSETTLECURRID =EC.FCURRENCYID
//LEFT JOIN {0}..T_PUR_POORDERENTRY_F CF ON C.FID = CF.FID AND C.FENTRYID = CF.FENTRYID
//LEFT JOIN {0}..T_BD_UNIT CU2 ON CF.FPRICEUNITID =CU2.FUNITID
// WHERE b.hinterid in ({1}) and M.HERPInterID = 0
//", kdTbaleName, HInterID, CustomFields);
                        sql = string.Format($"exec h_p_Cg_POInStock_GetInfoToERP '{HInterID}'");
                        dt = oCn.RunProcReturn(sql, "sltz").Tables[0];
                        if (dt.Rows.Count > 0)
                        {
@@ -1135,7 +1177,7 @@
                                    FentityModel.Add("FMaterialId", new JObject() { ["Fnumber"] = item["FMATERIALNUMBER"].ToString() }); // 物料编码   
                                    FentityModel.Add("FUnitID", new JObject() { ["Fnumber"] = item["FUNITNUMBER"].ToString() }); // 单位   
                                    FentityModel.Add("FPreDeliveryDate", DateTime.Now.ToString("yyyy-MM-dd")); //预计到货日期   
                                    FentityModel.Add("FPriceUnitId", new JObject() { ["Fnumber"] = item["FPRICEUNITNUMBER"].ToString() }); // 计价单位
                                    FentityModel.Add("FPriceUnitId", new JObject() { ["Fnumber"] = item["FUNITNUMBER"].ToString() }); // 计价单位
                                    FentityModel.Add("FStockUnitID", new JObject() { ["Fnumber"] = item["FUNITNUMBER"].ToString() }); //  库存单位   
                                    FentityModel.Add("FStockID", new JObject() { ["Fnumber"] = "BJCK-SH.01.005" }); //  库存单位   
                                    FentityModel.Add("FActReceiveQty", Convert.ToDecimal(item["HQTY"])); // 供应商送货数量(提料计划数量 - 已生成送货单数量)
@@ -1155,9 +1197,16 @@
                                    FentityModel.Add("F_bsv_Text1", item["HExpressSupplierSub"].ToString());//物流单位 (瑞琪)
                                    FentityModel.Add("F_bsv_Text2", item["HExpressNumberSub"].ToString());//物流单号 (瑞琪)
                                    FentityModel.Add("FDescription", item["HRemark"].ToString());//表体备注 (瑞琪)
                                    FentityModel.Add("FDescription", item["HRemark"].ToString());//表体描述 (瑞琪)
                                    if (FCusName == "添康科技")
                                    {
                                        FentityModel.Add("F_RXSD_TEXT_QTR", item["HPOOREntryRemark"].ToString());//表体备注
                                    }
                                    FentityModel.Add("F_bsv_dhrq", item["HPlanArrivalDate"].ToString());//到货日期 (瑞琪)
                                    FentityModel.Add("F_bsv_xh", item["HBoxNumber"].ToString());//箱号 (瑞琪)
                                    FentityModel.Add("FGiveAway", item["FGiveAway"].ToString());//是否赠品
                                    JArray Fentity2 = new JArray();
                                    JObject FentityModel2 = new JObject();
@@ -1311,6 +1360,43 @@
            objjson.data = HinterID;
            return objjson;
        }
        [Route("DeAuditPOInStockBill")]
        [HttpGet]
        public object DeAuditPOInStockBill(string HInterID,string HBillNo, string CurUserName)
        {
            json objjson = new json();
            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
            //==================================== Begin 反审核送货单 Begin ====================================
            DataSet ds;
            ds = oCn.RunProcReturn("exec h_p_SRM_Cg_POInStockBill_DeAudit " + HInterID + ",'" + HBillNo + "','" + CurUserName + "'", "h_p_SRM_Cg_POInStockBill_DeAudit");
            if (ds == null)
            {
                objjson.code = "0";
                objjson.count = 0;
                objjson.Message = "反审核前判断失败!无数据返回";
                objjson.data = null;
                return objjson;
            }
            if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
            {
                objjson.code = "0";
                objjson.count = 0;
                objjson.Message = "反审核失败!" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HRemarkBack"]);
                objjson.data = null;
                return objjson;
            }
            //====================================== End 反审核送货单 End ======================================
            objjson.code = "1";
            objjson.count = 1;
            objjson.Message = "操作成功";
            objjson.data = "";
            return objjson;
        }
        public int GetHinterIDByBillNo(string HBillNo, string type)
        {
            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
@@ -1335,7 +1421,7 @@
                //获取客户名称
                string FCusName = oSystemParameter.GetSingleSystemParameter("WMS_CampanyName", ref DBUtility.ClsPub.sExeReturnInfo);
                //夏宝需要先在金蝶删除收料通知单后才能在供应商协同平台删除送货单
                if (FCusName == "夏宝电器")
                if (FCusName == "夏宝电器" || FCusName == "添康科技")
                {
                    string sqlBeforeDel = $"exec h_p_SRM_POInStockBeforeDelCtrl " + HInterID;
@@ -1534,8 +1620,10 @@
        /// <returns></returns>
        public object TestSaverPOInStock(string ids, string entryids)
        {
            List<string> mylist = new List<string>(ids.Split(','));//.Distinct()
            List<string> entryList = new List<string>(entryids.Split(','));//.Distinct()
            //List<string> mylist = new List<string>(ids.Split(','));//.Distinct()
            //List<string> entryList = new List<string>(entryids.Split(','));//.Distinct()
            List<string> mylist = new List<string>(ids.Split(',').Distinct());
            List<string> entryList = new List<string>(entryids.Split(',').Distinct());
            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
            string FCusName = oSystemParameter.GetSingleSystemParameter("WMS_CampanyName", ref DBUtility.ClsPub.sExeReturnInfo);
            if (FCusName == "夏宝电器" && mylist.Count > 1)
@@ -1556,14 +1644,14 @@
                if (objJsonResult.code == "0")
                    return objJsonResult;
                 
                if (mylist.Count != entryList.Count)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "主内码与子内码数量不一致!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                //if (mylist.Count != entryList.Count)
                //{
                //    objJsonResult.code = "0";
                //    objJsonResult.count = 0;
                //    objJsonResult.Message = "主内码与子内码数量不一致!";
                //    objJsonResult.data = null;
                //    return objJsonResult;
                //}
                for (int i = 0;i < mylist.Count;i++)
                {
                    //采购订单下推生成送货单前控制
@@ -1592,8 +1680,8 @@
                }
                //判断未关联数量是否为0
                //安瑞:AIS20220914133941   瑞与琪:AIS20220308151944  本地:AIS20210811135644  夏宝:AIS20211130140219  凯贝:AIS20210820164804 添康:AIS20240809105013
                DataSet ds = oCn.RunProcReturn($"select T1.hqty-T1.hrelationqty+q.FMRBQTY as hqty,q.FRemainReceiveQty as 剩余收料数量,T1.hrelationqty as 已发货数量,T1.hqty as 订单数量,单据号,物料编码 from H_v_SRM_POOrderBillList t1 left join AIS20240809105013..T_PUR_POORDERENTRY_R q on q.FENTRYID=t1.HEntryID  where hentryid in ({string.Join(", ", entryList)})", "H_v_SRM_POOrderBillList");
                //安瑞:AIS20220914133941   瑞与琪:AIS20220308151944  本地:AIS20210811135644  夏宝:srv_lnk.AIS20211130140219.dbo.  凯贝:AIS20210820164804 添康:AIS20240809105013
                DataSet ds = oCn.RunProcReturn($"select T1.hqty-T1.hrelationqty+q.FMRBQTY as hqty,q.FRemainReceiveQty as 剩余收料数量,T1.hrelationqty as 已发货数量,T1.hqty as 订单数量,单据号,物料编码 from H_v_SRM_POOrderBillList t1 left join srv_lnk.AIS20211130140219.dbo.T_PUR_POORDERENTRY_R q on q.FENTRYID=t1.HEntryID  where hentryid in ({string.Join(", ", entryList)})", "H_v_SRM_POOrderBillList");
                DataTable dt = ds.Tables[0];
                if (dt.Rows.Count > 0)
                {
@@ -1633,20 +1721,39 @@
        /// <returns></returns>
        public JsonResult TestPOOrder(string entryids)
        {
            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
            try
            {
                //获取系统参数--客户名称
                string FCusName = oSystemParameter.GetSingleSystemParameter("WMS_CampanyName", ref DBUtility.ClsPub.sExeReturnInfo);
                var kdTbaleName = Util.GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "/Config/kdapi.config", "DataBaseName");
                string sql = "";
                //验证金蝶采购订单是否存在
                string sql = string.Format(@"
select M.HBillNo,B.HMaterID,E.HNumber,E.HName
FROM Cg_POOrderBillSub B
JOIN Cg_POOrderBillMAIN M ON B.HINTERID = M.HINTERID
JOIN Gy_Material E ON B.HMaterID = E.HItemID
LEFT JOIN {1}..T_PUR_POORDERENTRY C ON B.HInterID = C.FID AND B.HEntryID = C.FENTRYID
WHERE ISNULL(C.FENTRYID,0) = 0
AND B.HEntryID in ({0})"
        , entryids, kdTbaleName);
                if (FCusName == "夏宝电器")
                {
                    sql = string.Format(@"
                    select M.HBillNo,B.HMaterID,E.HNumber,E.HName
                    FROM Cg_POOrderBillSub B
                    JOIN Cg_POOrderBillMAIN M ON B.HINTERID = M.HINTERID
                    JOIN Gy_Material E ON B.HMaterID = E.HItemID
                    LEFT JOIN {1}.T_PUR_POORDERENTRY C ON B.HInterID = C.FID AND B.HEntryID = C.FENTRYID
                    WHERE ISNULL(C.FENTRYID,0) = 0
                    AND B.HEntryID in ({0})"
                            , entryids, kdTbaleName);
                }
                else
                {
                    sql = string.Format(@"
                    select M.HBillNo,B.HMaterID,E.HNumber,E.HName
                    FROM Cg_POOrderBillSub B
                    JOIN Cg_POOrderBillMAIN M ON B.HINTERID = M.HINTERID
                    JOIN Gy_Material E ON B.HMaterID = E.HItemID
                    LEFT JOIN {1}..T_PUR_POORDERENTRY C ON B.HInterID = C.FID AND B.HEntryID = C.FENTRYID
                    WHERE ISNULL(C.FENTRYID,0) = 0
                    AND B.HEntryID in ({0})"
                            , entryids, kdTbaleName);
                }
                DataSet ds = oCn.RunProcReturn(sql, "temp");
                if (ds.Tables[0].Rows.Count > 0)
                {
@@ -1657,18 +1764,37 @@
                    return objJsonResult;
                }
                //采购订单下推生成送货单 时候 判断是否有生成采购订单变更单 如果有且变更单状态不为已审核 限制下推
                sql = string.Format(@"
select M.HBillNo,B.HMaterID,E.HNumber,E.HName,F.FBILLNO
FROM Cg_POOrderBillSub B
JOIN Cg_POOrderBillMAIN M ON B.HINTERID = M.HINTERID
JOIN Gy_Material E ON B.HMaterID = E.HItemID
JOIN {1}..T_PUR_POORDERENTRY C ON B.HInterID = C.FID AND B.HEntryID = C.FENTRYID
LEFT join {1}..T_PUR_POCHANGEENTRY D ON C.FENTRYID = D.FOFENTRYID
LEFT join {1}..T_PUR_POCHANGE F ON D.FID = F.FID
where b.HEntryID in ({0})
and F.FDOCUMENTSTATUS <> 'C'"
        , entryids, kdTbaleName);
                if (FCusName == "夏宝电器")
                {
                    sql = string.Format(@"
                    select M.HBillNo,B.HMaterID,E.HNumber,E.HName,F.FBILLNO
                    FROM Cg_POOrderBillSub B
                    JOIN Cg_POOrderBillMAIN M ON B.HINTERID = M.HINTERID
                    JOIN Gy_Material E ON B.HMaterID = E.HItemID
                    JOIN {1}.T_PUR_POORDERENTRY C ON B.HInterID = C.FID AND B.HEntryID = C.FENTRYID
                    LEFT join {1}.T_PUR_POCHANGEENTRY D ON C.FENTRYID = D.FOFENTRYID
                    LEFT join {1}.T_PUR_POCHANGE F ON D.FID = F.FID
                    where b.HEntryID in ({0})
                    and F.FDOCUMENTSTATUS <> 'C'"
                            , entryids, kdTbaleName);
                }
                else
                {
                    sql = string.Format(@"
                    select M.HBillNo,B.HMaterID,E.HNumber,E.HName,F.FBILLNO
                    FROM Cg_POOrderBillSub B
                    JOIN Cg_POOrderBillMAIN M ON B.HINTERID = M.HINTERID
                    JOIN Gy_Material E ON B.HMaterID = E.HItemID
                    JOIN {1}..T_PUR_POORDERENTRY C ON B.HInterID = C.FID AND B.HEntryID = C.FENTRYID
                    LEFT join {1}..T_PUR_POCHANGEENTRY D ON C.FENTRYID = D.FOFENTRYID
                    LEFT join {1}..T_PUR_POCHANGE F ON D.FID = F.FID
                    where b.HEntryID in ({0})
                    and F.FDOCUMENTSTATUS <> 'C'"
                            , entryids, kdTbaleName);
                }
                ds = oCn.RunProcReturn(sql, "temp");
                if (ds.Tables[0].Rows.Count > 0)
                {
@@ -1679,17 +1805,35 @@
                    return objJsonResult;
                }
                //采购订单下推生成送货单 时候 判断是否有生成采购订单新变更单 如果有且变更单状态不为已审核 限制下推
                sql = string.Format(@"
select M.HBillNo,B.HMaterID,E.HNumber,E.HName,F.FBILLNO
FROM Cg_POOrderBillSub B
JOIN Cg_POOrderBillMAIN M ON B.HINTERID = M.HINTERID
JOIN Gy_Material E ON B.HMaterID = E.HItemID
JOIN {1}..T_PUR_POORDERENTRY C ON B.HInterID = C.FID AND B.HEntryID = C.FENTRYID
LEFT join {1}..t_PUR_XPOOrderENTRY D ON C.FENTRYID = D.FPKIDX
LEFT join {1}..t_PUR_XPOOrder F ON D.FID = F.FID
where F.FDOCUMENTSTATUS <> 'C' and  b.HEntryID in ({0}) "
        , entryids, kdTbaleName);
                if (FCusName == "夏宝电器")
                {
                    sql = string.Format(@"
                    select M.HBillNo,B.HMaterID,E.HNumber,E.HName,F.FBILLNO
                    FROM Cg_POOrderBillSub B
                    JOIN Cg_POOrderBillMAIN M ON B.HINTERID = M.HINTERID
                    JOIN Gy_Material E ON B.HMaterID = E.HItemID
                    JOIN {1}.T_PUR_POORDERENTRY C ON B.HInterID = C.FID AND B.HEntryID = C.FENTRYID
                    LEFT join {1}.t_PUR_XPOOrderENTRY D ON C.FENTRYID = D.FPKIDX
                    LEFT join {1}.t_PUR_XPOOrder F ON D.FID = F.FID
                    where F.FDOCUMENTSTATUS <> 'C' and  b.HEntryID in ({0}) "
                           , entryids, kdTbaleName);
                }
                else
                {
                    sql = string.Format(@"
                    select M.HBillNo,B.HMaterID,E.HNumber,E.HName,F.FBILLNO
                    FROM Cg_POOrderBillSub B
                    JOIN Cg_POOrderBillMAIN M ON B.HINTERID = M.HINTERID
                    JOIN Gy_Material E ON B.HMaterID = E.HItemID
                    JOIN {1}..T_PUR_POORDERENTRY C ON B.HInterID = C.FID AND B.HEntryID = C.FENTRYID
                    LEFT join {1}..t_PUR_XPOOrderENTRY D ON C.FENTRYID = D.FPKIDX
                    LEFT join {1}..t_PUR_XPOOrder F ON D.FID = F.FID
                    where F.FDOCUMENTSTATUS <> 'C' and  b.HEntryID in ({0}) "
                           , entryids, kdTbaleName);
                }
                ds = oCn.RunProcReturn(sql, "temp");
                if (ds.Tables[0].Rows.Count > 0)
                {
@@ -1781,6 +1925,45 @@
            }
        }
        #region 送货单编辑获取单据数据
        [Route("Cg_POInStockBill/cx")]
        [HttpGet]
        public object Cg_POInStockBill_cx(long HInterID)
        {
            try
            {
                //查询主表
                DataSet ds;
                SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
                ds = oCn.RunProcReturn("select * from h_v_SRM_POInStockBillEdit where hmainid =" + HInterID, "h_v_SRM_POInStockBillEdit");
                if (ds == null || ds.Tables[0].Rows.Count == 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "false!没有返回送货单信息,请核对送货单是否存在";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "Sucess!";
                    objJsonResult.data = ds.Tables[0];
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "获取送货单信息异常" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
    }
}