hudong
2025-05-14 f45adc67774453c32b7ba39a2c7edff7e7bfa0c8
回库流程 修改
sap联调 计划外退料出库 成本中心出库
5个文件已修改
68 ■■■■■ 已修改文件
api/ApibackModel.cs 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
api/WmsSpaHelper.cs 51 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
core/WCSCore.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
models/TN_Ll_Order.cs 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
models/TN_Outbound_Order.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
api/ApibackModel.cs
@@ -584,10 +584,12 @@
                /// 
                /// </summary>
                public string CBZX { get; set; }
                /// <summary>
                /// 
                /// </summary>
                public string WLBH { get; set; }
                /// <summary>
                /// 
                /// </summary>
@@ -596,7 +598,8 @@
                /// 
                /// </summary>
                public string KCDD { get; set; }
                public string PC { get; set; }
                public string LRZX { get; set; }
                /// <summary>
                /// 
                /// </summary>
@@ -605,14 +608,18 @@
                /// 
                /// </summary>
                public string GC { get; set; }
                /// <summary>
                /// 马世豪
                /// </summary>
                public string GZRY { get; set; }
                public string PC { get; set; }
                /// <summary>
                /// 
                /// </summary>
                public string GZRQ { get; set; }
                /// <summary>
                /// 
                /// </summary>
api/WmsSpaHelper.cs
@@ -1122,8 +1122,6 @@
                        var po = WMSHelper.GetInboundOrder(itemwlpz.HEAD.WLPZH);
                        if (po == null)
                        {
                            #region MyRegion
                            po = new TN_Inbound_Order { S_NO = itemwlpz.HEAD.WLPZH, S_WLPZND = itemwlpz.HEAD.ND, S_FACTORY = itemwlpz.ITEM[0].GC, S_IN_TYPE = "内采入库", S_BS_TYPE = itemwlpz.HEAD.YDLX };
                            po.Details = new List<TN_Inbound_Detail>();
@@ -1131,28 +1129,7 @@
                            {
                                itemwlpz.ITEM.ForEach(a =>
                                {
                                    //if (a.ITEM1.Select(s => s.XLH).Count() > 0)//判断序列号是否为多个
                                    //{
                                    //    foreach (var item in a.ITEM1.Select(s => s.XLH))
                                    //    {
                                    //        po.Details.Add(new TN_Inbound_Detail
                                    //        {
                                    //            S_IO_NO = model.ROOT.WLPZ.HEAD.WLPZBH,
                                    //            N_ROW_NO = po.Details.Count + 1,
                                    //            S_ITEM_CODE = a.WLH,
                                    //            F_QTY = a.SL,
                                    //            S_ITEM_STATE = "物料",
                                    //            S_ITEM_NAME = "物料",
                                    //            F_ACC_B_QTY = 0,
                                    //            S_KCDD = a.KCDD,
                                    //            S_UOM = a.JBJLDW,//计量单位
                                    //            S_SERIAL_NO = item,
                                    //            S_BATCH_NO = a.PC,
                                    //        });
                                    //    }
                                    //}
                                    //else
                                    //{
                                    po.Details.Add(new TN_Inbound_Detail
                                    {
                                        S_IO_NO = itemwlpz.HEAD.WLPZH,
@@ -1194,7 +1171,6 @@
                                    {
                                        var poq = po.Details.Where(s => s.S_ITEM_CODE == a.WLBM).FirstOrDefault();
                                        poq.F_QTY = a.SL;
                                        db.Updateable(poq).UpdateColumns(it => new { it.F_QTY }).ExecuteCommand();
                                    }
                                    else
@@ -1205,7 +1181,7 @@
                                            N_ROW_NO = a.WLPZHXM,
                                            S_ITEM_CODE = a.WLBM,
                                            F_QTY = a.SL,
                                            S_ITEM_STATE = "物料",
                                            S_ITEM_STATE = "正常",
                                            S_ITEM_NAME = "物料",
                                            S_CKPZKJND = a.CKPZND,
                                            F_ACC_B_QTY = 0,
@@ -1226,9 +1202,6 @@
                            }
                        }
                    }
                    result.resultMsg = "成功";
                    result.WLPZBH = itemwlpz.HEAD.WLPZH;
                    result.WLPZND = itemwlpz.HEAD.ND;
@@ -1241,7 +1214,6 @@
            catch (Exception e)
            {
                var result = new SimpleResult();
                result.resultMsg = "失败";
                result.WLPZBH = "";
                result.WLPZND = "0";
@@ -1826,6 +1798,7 @@
                    return result;
                }
                //根据不同出库类型 回调sap
                if (po.S_OUT_TYPE == "冲销出库")
                {
@@ -1877,8 +1850,8 @@
                        if (cntr.Count() > 0)
                        {
                            db.BeginTran();
                            //1.查看是否有相同物料批次的信息,如果有要累减少,不同批次的可以分开
                            var cir = db.Queryable<CntrItemRel>().Where(a => a.S_CNTR_CODE == cntr_code && a.S_ITEM_CODE == item.item_code && a.N_BS_ROW_NO == item.N_ROW_NO).First();//&& a.S_BATCH_NO == item.S_BATCH_NO
                            //1.查看是否有相同物料批次的信息,如果有要累减少,不同批次的可以分开&& a.N_BS_ROW_NO == item.N_ROW_NO
                            var cir = db.Queryable<CntrItemRel>().Where(a => a.S_CNTR_CODE == cntr_code && a.S_ITEM_CODE == item.item_code ).First();//&& a.S_BATCH_NO == item.S_BATCH_NO
                            if (cir != null)
                            {
                                cir.F_QTY -= item.qty;
@@ -2019,15 +1992,15 @@
                        var podetail = po.Details.Where(s => s.S_ITEM_CODE == item.item_code).FirstOrDefault();
                        CBcenterBackDto.HEADItem ckbitem = new CBcenterBackDto.HEADItem();
                        ckbitem.KEY = arrival_no;
                        ckbitem.WLBH = item.item_code;
                        ckbitem.CBZX = po.S_CBZX;
                        ckbitem.WLBH = item.item_code;
                        ckbitem.SL = item.qty;
                        ckbitem.KCDD = podetail?.S_KCDD;
                        ckbitem.LRZX = po.S_LRZX;
                        ckbitem.ZZKM = po.S_ZZKM;
                        ckbitem.GC = po.S_FACTORY;
                        ckbitem.GZRY = po.S_CREATOR_NAME;
                        ckbitem.GZRY = po.UNAME;
                        ckbitem.PC = podetail?.S_BATCH_NO;
                        ckbitem.PZRQ = PZZDRQ;
@@ -2243,7 +2216,7 @@
                    //json转xml
                    string xml = JsonConvert.DeserializeXmlNode(json, "ROOT").OuterXml;
                    LogHelper.Info($"出计划外发料出库xml数据{xml}");
                    LogHelper.Info($"计划外发料出库xml数据{xml}");
                    // 创建 StringContent 并指定媒体类型为 "text/xml"
                    //HttpContent content = new StringContent(xml, Encoding.UTF8, "application/xml");
                    //string url = Settings.WCSSeverUrl + "/api/WmsSap/cesReceiveXmlData";
@@ -2670,7 +2643,7 @@
                                    else
                                    {
                                        //2.插入新的容器物料信息(容器号不变S_SERIAL_NO = item.S_SERIAL_NO,)
                                        cir = new CntrItemRel { S_CNTR_CODE = cntr.S_CODE.Trim(), S_BATCH_NO = item.S_BATCH_NO,  N_BS_ROW_NO = item.N_ROW_NO, F_QTY = item.qty, S_ITEM_CODE = item.item_code, S_BS_NO = item.arrival_no };
                                        cir = new CntrItemRel { S_CNTR_CODE = cntr.S_CODE.Trim(), S_UOM=info.S_UOM, S_BATCH_NO = item.S_BATCH_NO,  N_BS_ROW_NO = item.N_ROW_NO, F_QTY = item.qty, S_ITEM_CODE = item.item_code, S_BS_NO = item.arrival_no };
                                        db.Insertable<CntrItemRel>(cir).ExecuteCommand();
                                    }
                                    var count = db.Queryable<CntrItemRel>().Count(a => a.S_CNTR_CODE == cntr.S_CODE);
@@ -2999,7 +2972,7 @@
                    else
                    {
                        //var az = db.Queryable<AZInventory>().ToList();
                        var po1 = new TN_Outbound_Order { S_NO = WMSHelper.GenerateShippNo(), S_FACTORY = po.S_FACTORY, S_OUT_TYPE = po.S_OUT_TYPE, S_BS_TYPE = po.S_BS_TYPE, S_AREA_CODE = po.S_AREA_CODE, S_BS_NO = po.S_NO };
                        var po1 = new TN_Outbound_Order { S_NO = WMSHelper.GenerateShippNo(),UNAME=po.UNAME, S_FACTORY = po.S_FACTORY,S_CBZX=po.S_CBZX,S_ZZKM=po.S_ZZKM,S_LRZX=po.S_LRZX, BLDAT = po.BLDAT, BUDAT=po.BUDAT, S_OUT_TYPE = po.S_OUT_TYPE, S_BS_TYPE = po.S_BS_TYPE, S_AREA_CODE = po.S_AREA_CODE, S_BS_NO = po.S_NO };
                        po1.Details = new List<TN_Outbound_Detail>();
                        if (po.Details.Count() > 0)
@@ -3013,8 +2986,10 @@
                                        S_DO_NO = po1.S_NO,
                                        S_AREA_CODE = "HJQ",
                                        N_ROW_NO = a.N_ROW_NO,
                                        S_KCDD = a.S_KCDD,
                                        S_ITEM_CODE = a.S_ITEM_CODE,
                                        S_ITEM_NAME = a.S_ITEM_NAME,
                                        S_UOM = a.S_UOM,
                                        F_QTY = a.F_QTY - a.F_ACC_D_QTY,
                                        S_BATCH_NO = a.S_BATCH_NO,
                                        S_SERIAL_NO = a.S_SERIAL_NO,
core/WCSCore.cs
@@ -43,7 +43,7 @@
                            case 6:
                                WCSHelper.UpdateStatus(TN_Task, "卸货完成");
                                TaskProcess.OperateStatus(TN_Task, 6);
                                if (TN_Task.N_TYPE == 1)
                                if (TN_Task.N_TYPE == 1&&TN_Task.S_TYPE!= "回库")
                                {
                                    WMSHelper.AddChange(TN_Task);
                                    WMSHelper.QsDeleteChange(TN_Task);
models/TN_Ll_Order.cs
@@ -59,10 +59,13 @@
        /// 工厂
        /// </summary>
        public string S_FACTORY { get; set; }
        public string UNAME { get; set; }
        public string S_CBZX { get; set; }
        public string S_LRZX { get; set; }
        public string S_ZZKM { get; set; }
        public string S_PZRQ { get; set; }
        public string BUDAT { get; set; }
        public string BLDAT { get; set; }
        [SugarColumn(IsIgnore = true)]
        [Navigate(NavigateType.OneToMany, nameof(TN_Ll_detail.S_DO_NO), nameof(S_NO))]
models/TN_Outbound_Order.cs
@@ -70,7 +70,6 @@
        public string S_CBZX { get; set; }
        public string S_LRZX { get; set; }
        public string S_ZZKM { get; set; }
        public string S_PZRQ { get; set; }
        [SugarColumn(IsIgnore = true)]
        [Navigate(NavigateType.OneToMany, nameof(TN_Outbound_Detail.S_DO_NO), nameof(S_NO))]