Kaynağa Gözat

交货单生成添加是否有效标识

heteng 2 yıl önce
ebeveyn
işleme
cf3d023b74

+ 7 - 5
MicroServices/Business/Business.Application/ReplenishmentManagement/ReplenishmentAppService.cs

@@ -6317,7 +6317,7 @@ namespace Business.Replenishment
             //获取已发布且净需求数量大于0的交货计划数据
             var demandplans = _icdemandschedule.GetListAsync(p=>p.factory_id.ToString() == domain && p.status.ToUpper() == "P" && p.tosechedqty > 0 && !p.IsDeleted).Result;
             //获取已以生成交货单的交货计划
-            var alreadys = _srmpolistds.Select(p => p.domain == domain && demandplans.Select(m => m.Id).Contains(p.icdsid)).ToList();
+            var alreadys = _srmpolistds.Select(p => p.domain == domain && demandplans.Select(m => m.Id).Contains(p.icdsid) && p.isactive == 1).ToList();
             if (alreadys.Any())
             {
                 //交货计划存在已发布或者已关闭状态的交货单
@@ -6326,8 +6326,9 @@ namespace Business.Replenishment
                 var wfbDs = alreadys.Where(p => !yfbIds.Contains(p.icdsid)).ToList();
                 if (wfbDs.Any())
                 {
+                    wfbDs.ForEach(p => p.isactive = 0);
                     //删除未发布的交货单
-                    _srmpolistds.Delete(wfbDs);
+                    _srmpolistds.Update(wfbDs);
                 }
                 //过滤掉存在已发布或者已关闭交货单的交货计划
                 demandplans = demandplans.Where(p => !yfbIds.Contains(p.Id)).ToList();
@@ -6355,7 +6356,7 @@ namespace Business.Replenishment
             //获取采购单数据
             List<PurOrdMaster> purOrdMasters = _PurOrdMaster.Select(p => p.Domain == domain && purOrdDetails.Select(m => m.PurOrd).Distinct().Contains(p.PurOrd)).ToList();
             //获取占用可用PO明细的交货单
-            List<srm_polist_ds> dbPolistds = _srmpolistds.Select(p => purOrdDetails.Select(m => m.PurOrd).Contains(p.ponumber)).ToList();
+            List<srm_polist_ds> dbPolistds = _srmpolistds.Select(p => purOrdDetails.Select(m => m.PurOrd).Contains(p.ponumber) && p.isactive == 1).ToList();
 
             //生成交货单
             srm_polist_ds entity;
@@ -6599,6 +6600,7 @@ namespace Business.Replenishment
                         entity.createtime = DateTime.Now;
                         entity.createuser = user;
                         entity.remarks = "";
+                        entity.isactive = 1;
                         curInserts.Add(entity);
 
                         //当前交货计划已分配数量累加
@@ -6610,7 +6612,7 @@ namespace Business.Replenishment
                 //标志位为true,则当前交货计划无法转交货单
                 if (flag)
                 {
-                    break;
+                    continue;
                 }
                 inserts.AddRange(curInserts);
             }
@@ -6619,7 +6621,7 @@ namespace Business.Replenishment
             {
                 //获取交货单号
                 List<string> GenerateMoList = new List<string>();
-                var nbrlist = _serialNumberAppService.GetBillNo(domain, "D8", inserts.Count, "", 1);
+                var nbrlist = _serialNumberAppService.GetBillNo(domain, "M8", inserts.Count, "", 1);
                 if (!nbrlist.Any() || nbrlist.Count != inserts.Count)
                 {
                     Msg = "NO|交货单号生成失败";

+ 6 - 0
MicroServices/Business/Business.Domain/StructuredDB/MES/IC/srm_polist_ds.cs

@@ -163,5 +163,11 @@ namespace Business.Domain
         /// </summary>
         [Comment("备注")]
         public string remarks { get; set; }
+
+        /// <summary>
+        /// 是否有效:1-有效;0-无效
+        /// </summary>
+        [Comment("是否有效")]
+        public int isactive { get; set; }
     }
 }