智云SRM-WEBAPI(目前客户通用API)
王 垚
2022-08-10 f165ef7e3b194d59d05e999d4106953aca05f55a
优化 送货单批量删除
4个文件已修改
91 ■■■■■ 已修改文件
WebAPI/Controllers/BarCodeController.cs 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/EntrustOrderController.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/POInStockController.cs 51 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/POOrderController.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/BarCodeController.cs
@@ -585,6 +585,27 @@
                        HSumQty = ClsPub.isDoule(oItemSub.HQty);  //HWXQtyCol
                        for (int i = 0; i < HBQty; i++)
                        {
                            LSH = LSH + 1;
                            LSH2 = LSH.ToString();
                            while (LSH2.Length < LSHlen)  //如果流水号小于6位数前面补0
                            {
                                LSH2 = "0" + LSH2;
                            }
                            sDate = ClsPub.GetServerDate(0);
                            sYear = ClsPub.isDate(sDate).Year.ToString().Substring(2, 2);
                            sPeriod = "0" + ClsPub.isDate(sDate).Month.ToString();
                            sPeriod = sPeriod.Substring(sPeriod.Length - 2, 2);
                            sDay = "0" + ClsPub.isDate(sDate).Day.ToString();
                            sDay = sDay.Substring(sDay.Length - 2, 2);
                            //==================================
                            TM = HNumber + sYear + sPeriod + sDay + LSH2;
                            while (TM.Length < SumLen)  //如果条码小于12位数前面补0
                            {
                                TM = "0" + TM;
                            }
                            //TM = "B" + TM;
                            TM = "SRM" + "B" + TM;
                            if (HSumQty - HMinQty > 0)
                            {
                                WeiShu = "";
@@ -602,8 +623,6 @@
                                }
                                HMinQty = HSumQty;
                            }
                            TM = $"{oItemSub.HMaterID}#{HMinQty}";
                            Model.ClsGy_BarCodeBill_WMS_Model bar = new Model.ClsGy_BarCodeBill_WMS_Model();
                            bar.HBarCode = TM;
                            bar.HMaterID = oItemSub.HMaterID;
@@ -695,7 +714,7 @@
                                TM2 = "0" + TM2;
                            }
                            bar2.HMaterID = oItemSub2.HMaterID;
                            bar2.HBarCode = oItemSub2.HBarCode.Split('#')[0] + "#" + HWXQty.ToString();
                            bar2.HBarCode = oItemSub2.HBarCode + "-" + TM2;
                            bar2.HUnitID = oItemSub2.HUnitID;
                            bar2.HQty = HWXQty;
                            bar2.HBatchNo = DBUtility.ClsPub.isStrNull(oItemSub2.HBatchNo);
WebAPI/Controllers/EntrustOrderController.cs
@@ -55,7 +55,7 @@
                {
                    objjson.code = "0";
                    objjson.count = 0;
                    objjson.Message = "获取失败";
                    objjson.Message = "转换特殊字符失败";
                    objjson.data = null;
                    return objjson;
                }
@@ -63,22 +63,11 @@
                Int64 RowTotal = Common.GetRowTotal("H_v_SRM_EntrustOrderBillList", VsWhere, ref DBUtility.ClsPub.sExeReturnInfo);
                //获取返回数据
                ds = oCn.RunProcReturn("exec H_p_SRM_EntrustOrderBillList '" + PcWhere + "'", "H_p_SRM_EntrustOrderBillList");
                if (ds == null || ds.Tables[0].Rows.Count == 0)
                {
                    objjson.code = "0";
                    objjson.count = 0;
                    objjson.Message = "获取失败";
                    objjson.data = null;
                    return objjson;
                }
                else
                {
                    objjson.code = "0";
                    objjson.count = 10000;
                    objjson.Message = "获取成功";
                    objjson.data = ds.Tables[0];
                    return objjson;
                }
            }
            catch (Exception e)
            {
WebAPI/Controllers/POInStockController.cs
@@ -662,6 +662,7 @@
LEFT JOIN {0}..T_BD_CURRENCY EC ON E. FSETTLECURRID =EC.FCURRENCYID  
 WHERE b.hinterid in ({1}) and M.HERPInterID = 0
", kdTbaleName, HInterID);
                        LogService.Write(sql);
                        //LEFT JOIN  {0}..T_HR_EMPINFO T5 ON D.F_XBKF_BASE1 = T5.FID
                        dt = oCn.RunProcReturn(sql, "sltz").Tables[0];
@@ -1010,7 +1011,7 @@
        [Route("DeltetPOInStockBill")]
        [HttpGet]
        public object DeltetPOInStockBill(string HInterID, string HUserName, string HBillNo)
        public object DeltetPOInStockBill(string HInterID, string HUserName)
        {
            SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
            try
@@ -1022,11 +1023,16 @@
                if (objjson.code == "0")
                    return objjson;
                WebAPIController.Add_Log("送货单删除", HUserName, "送货单删除,单号:" + HBillNo);
                oCN.BeginTran();
                oBill.DeleteRelation(ref DBUtility.ClsPub.sExeReturnInfo, Convert.ToInt32(HInterID));
                oCN.RunProc("Delete From Cg_POInStockBillMain where HInterID = " + HInterID);
                oCN.RunProc("Delete From Cg_POInStockBillSub where HInterID = " + HInterID);
                string sql = $"select HInterID,HBillNo from Cg_POInStockBillMain where HInterID in ({HInterID})";
                DataTable dt = oCN.RunProcReturn(sql, "deleteTable").Tables[0];
                foreach (DataRow dr in dt.Rows)
                {
                    WebAPIController.Add_Log("送货单删除", HUserName, "送货单删除,单号:" + dr["HBillNo"]);
                    oBill.DeleteRelation(ref DBUtility.ClsPub.sExeReturnInfo, Convert.ToInt32(dr["HInterID"]));
                    oCN.RunProc($"Delete From Cg_POInStockBillMain where HInterID in ({dr["HInterID"]})");
                    oCN.RunProc($"Delete From Cg_POInStockBillSub where HInterID in ({dr["HInterID"]})");
                }
                oCN.Commit();
                objJsonResult.code = "1";
                objJsonResult.count = 1;
@@ -1049,27 +1055,34 @@
        public json DeleteKingDee(string hinterid)
        {
            var kdTbaleName = Util.GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "/Config/kdapi.config", "DataBaseName");
            SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
            string sql = string.Format("select HinterID,HERPBillNO,HERPInterID from Cg_POInStockBillMain where HERPInterID>0 and hinterid in (" + hinterid + ")");
            string FCusName = oSystemParameter.GetSingleSystemParameter("WMS_CampanyName", ref DBUtility.ClsPub.sExeReturnInfo);
            if (FCusName == "夏宝电器")
                sql = $"select HinterID,HERPBillNO,HERPInterID from Cg_POInStockBillMain t1 join {kdTbaleName}..T_PUR_RECEIVE t2 on t1.HERPInterID = t2.FID where HERPInterID>0 and hinterid in (" + hinterid + ")";
            else if (FCusName.Contains("瑞与祺"))
            else if (FCusName.Contains("瑞与祺") || FCusName == "")
                sql = $"select HinterID,HERPBillNO,HERPInterID from Cg_POInStockBillMain t1 join {kdTbaleName}..T_PUR_RECEIVE t2 on t1.HERPInterID = t2.FID where HERPInterID>0 and hinterid in (" + hinterid + ")";
            DataTable dt = oCN.RunProcReturn(sql, "deleteDt").Tables[0];
            if (dt.Rows.Count > 0)
            if (dt.Rows.Count == 0)
            {
                objjson.code = "1";
                objjson.count = 1;
                objjson.Message = "Sucess!";
                objjson.data = null;
                return objjson;
            }
            List<string> HERPInterIdList = new List<string>();
                foreach (DataRow dr in dt.Rows)
                {
                HERPInterIdList.Add(dr["HERPInterID"].ToString());
            }
                    var sJson = new
                    {
                        Numbers = dr["HERPBillNO"].ToString(),
                        Ids = ""
                Ids = string.Join(",", HERPInterIdList)
                    };
                    var loginRet = InvokeHelper.Login();
                    var isSuccess = JObject.Parse(loginRet)["LoginResultType"].Value<int>();
                    if (isSuccess == 0)
            if (isSuccess <= 0)
                    {
                        objjson.code = "0";
                        objjson.count = 0;
@@ -1082,22 +1095,30 @@
                    //LogService.Write("api结果删除:" + result);
                    if (JObject.Parse(result)["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE")
                    {
                //var errorsList = JObject.Parse(result)["Result"]["ResponseStatus"]["Errors"];
                //List<string> errList = new List<string>();
                //foreach (var item in errorsList)
                //{
                //    errList.Add(item["Message"].ToString()+ "\r\n");
                //}
                //string err = string.Join(",", errList);
                        objjson.code = "0";
                        objjson.count = 0;
                        objjson.Message = "对应金蝶收料通知单删除失败 !" + result;
                objjson.Message = "对应金蝶收料通知单删除失败 !\r\n" + result;
                        objjson.data = null;
                        return objjson;
                    }
                }
            }
            objjson.code = "1";
            objjson.count = 1;
            objjson.Message = "Sucess!";
            objjson.data = null;
            return objjson;
        }
        //[Route("POInStockAccept")]
        //[HttpGet]
        ///// <summary>
WebAPI/Controllers/POOrderController.cs
@@ -56,7 +56,7 @@
                {
                    objjson.code = "0";
                    objjson.count = 0;
                    objjson.Message = "获取失败";
                    objjson.Message = "转换特殊字符失败";
                    objjson.data = null;
                    return objjson;
                }