Sfoglia il codice sorgente

更改 CloseWorkOrder 方法返回类型及逻辑调整

修改了 SxController.cs、ISXService.cs 和 SXService.cs 中 CloseWorkOrder 方法的返回类型,从 bool 改为 SRes,并对 SXService.cs 中的方法逻辑进行了调整:
- 增加了 SRes 类型的 res 变量。
- 将原有的 if (boxrule.Any()) 逻辑改为 foreach 循环,遍历 reqDto.listinfo。
- 在循环内部,针对每个 item,查询 boxrule 并进行相应的更新操作。
- 在 catch 块中,设置 res 的 ResCode 和 ResMsg 属性,并返回 res。
- 在成功执行后,设置 res 的 ResCode 和 ResMsg 属性,并返回 res。

此外,调整了 SXService.cs 中一个 List<Tuple<int, int, double>> 的初始化顺序,将 2 和 3 楼层的顺序进行了调整。
林豪 左 5 mesi fa
parent
commit
8e6414c343

+ 1 - 1
wms.api/Controllers/SxController.cs

@@ -155,7 +155,7 @@ namespace wms.api.Controllers
         /// <param name="reqDto"></param>
         /// <returns></returns>
         [HttpPost(Name = "CloseWorkOrder")]
-        public bool CloseWorkOrder(CloseWorkOrderRequest reqDto)
+        public SRes CloseWorkOrder(CloseWorkOrderRequest reqDto)
         {
             lock (lockerCloseWorkOrder)
             {

+ 1 - 1
wms.service/IService/ISXService.cs

@@ -27,7 +27,7 @@ namespace wms.service.IService
 
         public bool UpdateSysConfigModelColumns(UpdateModelColumns<sxSysConfig> updateModel);
         public SRes SpoolMaterialInfoTrans(SxSpoolMaterialInfoTransRequest reqDto);
-        public bool CloseWorkOrder(CloseWorkOrderRequest reqDto);
+        public SRes CloseWorkOrder(CloseWorkOrderRequest reqDto);
         public SRes<ApplyFloorResponse> ApplyFloor(ApplyFloorRequest reqDto);
         public SRes SKUInfoTrans(SKUInfoTransRequest reqDto);
         public SRes PackInfoTrans(PackInfoTrans reqDto);

+ 21 - 14
wms.service/Service/SXService.cs

@@ -746,29 +746,36 @@ namespace wms.service.Service
         ///  关闭工单
         /// </summary>
         /// <returns></returns>
-        public bool CloseWorkOrder(CloseWorkOrderRequest reqDto)
+        public SRes CloseWorkOrder(CloseWorkOrderRequest reqDto)
         {
-            var boxrule = _boxrulerepository.AsQueryable().Where(x => reqDto.listinfo.Any(l => x.DocsNo.Contains(l)) && x.ZXStateCode == 0).ToList();
+            var res = new SRes();
             try
             {
-                if (boxrule.Any())
+                foreach (var item in reqDto.listinfo)
                 {
-                    _db.BeginTran();
-                    _boxrulerepository.UpdateSetColumnsTrue(p => new BillPboxrule()
+                    var boxrule = _boxrulerepository.AsQueryable().Where(x => x.DocsNo.Contains(item) && x.ZXStateCode == 0).ToList();
+                    if (boxrule.Any())
                     {
-                        ZXStateCode = 2,
-                        Memo = "工单终止,自动停用"
-                    }, p => boxrule.Any(x => x.Id == p.Id));
-                    _db.CommitTran();
+                        _db.BeginTran();
+                        _boxrulerepository.UpdateSetColumnsTrue(p => new BillPboxrule()
+                        {
+                            ZXStateCode = 2,
+                            Memo = "工单终止,自动停用"
+                        }, x => x.DocsNo.Contains(item));
+                        _db.CommitTran();
+                    }
                 }
             }
             catch (Exception e)
             {
                 _db.RollbackTran();
-                return false;
+                res.ResCode = ResponseStatusCodeEnum.DataSaveErr.GetHashCode();
+                res.ResMsg = e.Message;
+                return res;
             }
-
-            return true;
+            res.ResCode = ResponseStatusCodeEnum.Sucess.GetHashCode();
+            res.ResMsg = ResponseStatusCodeEnum.Sucess.GetDescription();
+            return res;
         }
 
         /// <summary>
@@ -13380,8 +13387,8 @@ namespace wms.service.Service
 
             var tempcells = new List<Tuple<int, int, double>>() {
              new Tuple<int, int,double>(1,cellfloor1count,cellfloor1stockcount / (cellfloor1count * 1.0)),
-             new Tuple<int, int,double>(2,cellfloor2count,cellfloor2stockcount/ (cellfloor2count * 1.0)),
-             new Tuple<int, int,double>(3,cellfloor3count,cellfloor3stockcount/ (cellfloor3count * 1.0)),
+             new Tuple<int, int,double>(2,cellfloor2count,cellfloor2stockcount / (cellfloor2count * 1.0)),
+             new Tuple<int, int,double>(3,cellfloor3count,cellfloor3stockcount / (cellfloor3count * 1.0)),
             };
             //tempcells = tempcells.OrderByDescending(p => p.Item2).ToList();
             tempcells = tempcells.OrderBy(p => p.Item3).ToList();//按照同规则物料少的排序