智云SRM-WEBAPI(目前客户通用API)
WebAPI/Controllers/POInStockController.cs
@@ -359,41 +359,41 @@
                int i = 0;
                foreach (Model.ClsCg_POInStockBillSub oItemSub in ls)
                {
                    if (FCusName.Contains("凯贝奈特")) //系统参数  客户定制化名称     空白为通用
                    {
                        if (oItemSub.HBatChNo.Length != 8 || Regex.IsMatch(oItemSub.HBatChNo, @"^[0-9]+$") == false)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "保存失败!第" + i.ToString() + "行 生产日期D/C 格式错误无法保存!正确格式为8位数的纯数字日期";
                            objJsonResult.data = 1;
                            return objJsonResult;
                        }
                        //获取年月日
                        string year = oItemSub.HBatChNo.Substring(0, 4);
                        string month = oItemSub.HBatChNo.Substring(4, 2);
                        string day = oItemSub.HBatChNo.Substring(6, 2);
                    //if (FCusName.Contains("凯贝奈特")) //系统参数  客户定制化名称     空白为通用
                    //{
                    //    if (oItemSub.HBatChNo.Length != 8 || Regex.IsMatch(oItemSub.HBatChNo, @"^[0-9]+$") == false)
                    //    {
                    //        objJsonResult.code = "0";
                    //        objJsonResult.count = 0;
                    //        objJsonResult.Message = "保存失败!第" + i.ToString() + "行 生产日期D/C 格式错误无法保存!正确格式为8位数的纯数字日期";
                    //        objJsonResult.data = 1;
                    //        return objJsonResult;
                    //    }
                        //验证合法性
                        if (Convert.ToInt32(year) < 1900 || Convert.ToInt32(year) > 2100)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "保存失败!第" + i.ToString() + "行 生产日期D/C 日期不合法无法保存!正确格式为8位数的纯数字日期";
                            objJsonResult.data = 1;
                            return objJsonResult;
                        }
                        if (Convert.ToInt32(month) > 12 || Convert.ToInt32(day) > 31)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "保存失败!第" + i.ToString() + "行 生产日期D/C 日期不合法无法保存!";
                            objJsonResult.data = 1;
                            return objJsonResult;
                        }
                    //    //获取年月日
                    //    string year = oItemSub.HBatChNo.Substring(0, 4);
                    //    string month = oItemSub.HBatChNo.Substring(4, 2);
                    //    string day = oItemSub.HBatChNo.Substring(6, 2);
                }
                    //    //验证合法性
                    //    if (Convert.ToInt32(year) < 1900 || Convert.ToInt32(year) > 2100)
                    //    {
                    //        objJsonResult.code = "0";
                    //        objJsonResult.count = 0;
                    //        objJsonResult.Message = "保存失败!第" + i.ToString() + "行 生产日期D/C 日期不合法无法保存!正确格式为8位数的纯数字日期";
                    //        objJsonResult.data = 1;
                    //        return objJsonResult;
                    //    }
                    //    if (Convert.ToInt32(month) > 12 || Convert.ToInt32(day) > 31)
                    //    {
                    //        objJsonResult.code = "0";
                    //        objJsonResult.count = 0;
                    //        objJsonResult.Message = "保存失败!第" + i.ToString() + "行 生产日期D/C 日期不合法无法保存!";
                    //        objJsonResult.data = 1;
                    //        return objJsonResult;
                    //    }
                    //}
                //判断采购订单状态 
                objJsonResult = TestPOOrder(oItemSub.HPOOrderEntryID.ToString());
                    if (objJsonResult.code == "0")
@@ -828,7 +828,7 @@
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 
,isnull(VW.FNUMBER,'') AS FReceiverNUMBER
,isnull(VW.FNUMBER,'') AS FReceiverNUMBER,isnull(B.HKFDate,'') As FProduceDate,B.HTAXPRICE_T AS F_AAAA_PRICE1
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
@@ -933,6 +933,8 @@
                                    FentityModel.Add("FTaxPrice", item["FTAXPRICE"].ToString());//含税单价
                                    FentityModel.Add("FEntryTaxRate", item["FTAXRATE"].ToString());//税率
                                    FentityModel.Add("FLot", new JObject() { ["Fnumber"] = item["HBatChNo"].ToString() }); // 批号   
                                    FentityModel.Add("FProduceDate", item["FProduceDate"].ToString());//生产日期
                                    FentityModel.Add("F_aaaa_Price1", item["F_aaaa_Price1"].ToString());//含税重量单价/吨
                                    FentityModel.Add("F_bsv_Text1", item["HExpressSupplierSub"].ToString());//物流单位 (瑞琪)
                                    FentityModel.Add("F_bsv_Text2", item["HExpressNumberSub"].ToString());//物流单号 (瑞琪)
@@ -1255,8 +1257,43 @@
            try
            {
                DAL.ClsCg_POInStockBill oBill = new DAL.ClsCg_POInStockBill();
                //先删除 金蝶数据
                objjson = DeleteKingDee(HInterID);
                SQLHelper.ClsCNSRM oCn = new SQLHelper.ClsCNSRM();
                //获取客户名称
                string FCusName = oSystemParameter.GetSingleSystemParameter("WMS_CampanyName", ref DBUtility.ClsPub.sExeReturnInfo);
                //夏宝需要先在金蝶删除收料通知单后才能在供应商协同平台删除送货单
                if (FCusName == "夏宝电器")
                {
                    string sqlBeforeDel = $"exec h_p_SRM_POInStockBeforeDelCtrl " + HInterID;
                    DataSet ds = oCn.RunProcReturn(sqlBeforeDel, "h_p_SRM_POInStockBeforeDelCtrl");
                    if (ds == null || ds.Tables[0].Rows.Count <= 0)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "删除送货单发生异常,没有任何返回记录!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    else
                    {
                        if (ds.Tables[0].Rows[0]["HBackCount"].ToString() == "1")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = ds.Tables[0].Rows[0]["HRemarkBack"].ToString();
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                    }
                }
                else
                {
                    //先删除 金蝶数据
                    objjson = DeleteKingDee(HInterID);
                }
                //LogService.Write(objjson.ToString());
                if (objjson.code == "0")
                    return objjson;
@@ -1452,7 +1489,7 @@
                //判断未关联数量是否为0
                //安瑞:AIS20220914133941   瑞与琪:AIS20220308151944  本地:AIS20210811135644  夏宝:AIS20211130140219  凯贝:AIS20210820164804
                DataSet ds = oCn.RunProcReturn($"select T1.hqty-T1.hrelationqty+q.FMRBQTY as hqty,单据号,物料编码 from H_v_SRM_POOrderBillList t1 left join AIS20220308151944..T_PUR_POORDERENTRY_R q on q.FENTRYID=t1.HEntryID  where hentryid in ({string.Join(", ", entryList)}) ", "H_v_SRM_POOrderBillList");
                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 AIS20210820164804..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)
                {
@@ -1461,7 +1498,7 @@
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = $"请检查数据,单据号:{dr[0]["单据号"]},物料编码:{dr[0]["物料编码"]},可以发货数量为0,已全部生成送货单!";
                        objJsonResult.Message = $"请检查数据,单据号:{dr[0]["单据号"]},物料编码:{dr[0]["物料编码"]},可以发货数量为0,已全部生成送货单!,订单数量:{Convert.ToDouble(dr[0]["订单数量"]).ToString("f2")},已发货数量:{Convert.ToDouble(dr[0]["已发货数量"]).ToString("f2")},剩余收料数量:{Convert.ToDouble(dr[0]["剩余收料数量"]).ToString("f2")}";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }