From 7e6bb3b1c07dd7ef0963ca1c1aa40dacaa41a08c Mon Sep 17 00:00:00 2001 From: hshansha Date: Wed, 4 Jun 2025 08:08:23 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=8C=85=E6=B4=BB?= =?UTF-8?q?=E9=97=AE=E9=A2=98=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package-lock.json | 6 +++ .../PayWorkOrderBaohuoController.java | 2 +- .../service/IPayWorkOrderBaohuoService.java | 2 +- .../impl/PayWorkOrderBaohuoServiceImpl.java | 47 ++++++++++++++++--- 4 files changed, 48 insertions(+), 9 deletions(-) create mode 100644 package-lock.json diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..0af267c --- /dev/null +++ b/package-lock.json @@ -0,0 +1,6 @@ +{ + "name": "pay", + "lockfileVersion": 2, + "requires": true, + "packages": {} +} diff --git a/ruoyi-pay/src/main/java/com/ruoyi/pay/controller/PayWorkOrderBaohuoController.java b/ruoyi-pay/src/main/java/com/ruoyi/pay/controller/PayWorkOrderBaohuoController.java index f1fc825..5153e72 100644 --- a/ruoyi-pay/src/main/java/com/ruoyi/pay/controller/PayWorkOrderBaohuoController.java +++ b/ruoyi-pay/src/main/java/com/ruoyi/pay/controller/PayWorkOrderBaohuoController.java @@ -96,7 +96,7 @@ public class PayWorkOrderBaohuoController extends BaseController { */ @SaCheckPermission("pay:workOrderBaohuo:query") @GetMapping("/{id}") - public R getInfo(@NotNull(message = "主键不能为空") + public R getInfo(@NotNull(message = "主键不能为空") @PathVariable Long id) { return R.ok(iPayWorkOrderBaohuoService.queryById(id)); } diff --git a/ruoyi-pay/src/main/java/com/ruoyi/pay/service/IPayWorkOrderBaohuoService.java b/ruoyi-pay/src/main/java/com/ruoyi/pay/service/IPayWorkOrderBaohuoService.java index ddf3a71..0853e2a 100644 --- a/ruoyi-pay/src/main/java/com/ruoyi/pay/service/IPayWorkOrderBaohuoService.java +++ b/ruoyi-pay/src/main/java/com/ruoyi/pay/service/IPayWorkOrderBaohuoService.java @@ -24,7 +24,7 @@ public interface IPayWorkOrderBaohuoService { /** * 查询包活派工单 */ - PayWorkOrderBaohuoVo queryById(Long id); + PayWorkOrderBaohuoBo queryById(Long id); /** * 查询包活派工单列表 diff --git a/ruoyi-pay/src/main/java/com/ruoyi/pay/service/impl/PayWorkOrderBaohuoServiceImpl.java b/ruoyi-pay/src/main/java/com/ruoyi/pay/service/impl/PayWorkOrderBaohuoServiceImpl.java index 0596200..7153700 100644 --- a/ruoyi-pay/src/main/java/com/ruoyi/pay/service/impl/PayWorkOrderBaohuoServiceImpl.java +++ b/ruoyi-pay/src/main/java/com/ruoyi/pay/service/impl/PayWorkOrderBaohuoServiceImpl.java @@ -32,6 +32,7 @@ import java.math.RoundingMode; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; +import java.util.stream.Collectors; /** * 包活派工单Service业务层处理 @@ -58,8 +59,40 @@ public class PayWorkOrderBaohuoServiceImpl implements IPayWorkOrderBaohuoService * 查询包活派工单 */ @Override - public PayWorkOrderBaohuoVo queryById(Long id){ - return baseMapper.selectVoById(id); + public PayWorkOrderBaohuoBo queryById(Long id){ + PayWorkOrderBaohuo workOrderBaohuo = sgrWorkOrderBaohuoMapper.selectById(id); + PayWorkOrderBaohuoBo bo = BeanUtil.toBean(workOrderBaohuo,PayWorkOrderBaohuoBo.class); + // 获取工单下所有的员工 + PayBaohuoEmployeeBo sgrBaohuoEmployee = new PayBaohuoEmployeeBo(); + sgrBaohuoEmployee.setWoId(id); + List sgrBaohuoEmployees = bhemployeeService.queryList(sgrBaohuoEmployee); + bo.setEmpList(sgrBaohuoEmployees.stream().map(a->{ + PayBaohuoEmployee payBaohuoEmployee = BeanUtil.toBean(a, PayBaohuoEmployee.class); + return payBaohuoEmployee; + }).collect(Collectors.toList())); + + // 获取工单下所有的产品 + PayBaohuoProductBo product = new PayBaohuoProductBo(); + product.setWoId(id); + List sgrBaohuoProducts = bhproductService.queryList(product); + bo.setProdList(sgrBaohuoProducts.stream().map(a->{ + PayBaohuoProduct payBaohuoProduct = BeanUtil.toBean(a, PayBaohuoProduct.class); + return payBaohuoProduct; + }).collect(Collectors.toList())); + + // 获取工单下所有的工时 + PayBaohuoWorktimeBo sgrBaohuoWorktime = new PayBaohuoWorktimeBo(); + sgrBaohuoWorktime.setWoId(id); + if (sgrBaohuoEmployees.size() != 0) { + sgrBaohuoWorktime.setEmpId(sgrBaohuoEmployees.get(0).getEmpId()); + } + List sgrBaohuoWorktimes = bhworktimeService.queryList(sgrBaohuoWorktime); + bo.setWorktimeList(sgrBaohuoWorktimes.stream().map(a->{ + PayBaohuoWorktime payBaohuoWorktime = BeanUtil.toBean(a, PayBaohuoWorktime.class); + return payBaohuoWorktime; + }).collect(Collectors.toList())); + return bo; + } /** @@ -274,14 +307,14 @@ public class PayWorkOrderBaohuoServiceImpl implements IPayWorkOrderBaohuoService // 增加对应的产品列表 for (PayBaohuoProduct product : prodList) { - product.setWoId(bo.getId()); + product.setWoId(add.getId()); product.setTenantId(bo.getTenantId()); PayBaohuoProductBo productBo= BeanUtil.toBean(product,PayBaohuoProductBo.class); bhproductService.insertByBo(productBo); } // 增加对应的员工列表 for (PayBaohuoEmployee employee : empList) { - employee.setWoId(bo.getId()); + employee.setWoId(add.getId()); employee.setEmpId(employee.getEmpId()); employee.setMonth(DateUtil.format(bo.getInstorageTime(), "yyyy-MM")); employee.setIntime(bo.getInstorageTime()); @@ -294,9 +327,9 @@ public class PayWorkOrderBaohuoServiceImpl implements IPayWorkOrderBaohuoService // 为每个工单的员工都增加对应的工时 for (PayBaohuoWorktime sgrWorkTime : worktimeList) { sgrWorkTime.setId(null); - sgrWorkTime.setWoId(bo.getId()); + sgrWorkTime.setWoId(add.getId()); sgrWorkTime.setEmpId(employee.getEmpId()); - sgrWorkTime.setBheId(employee.getId()); + sgrWorkTime.setBheId(payBaohuoEmployeeBo.getId()); sgrWorkTime.setTenantId(bo.getTenantId()); //sgrWorkTime.setIntime(sgrWorkOrderBaohuo.getInstorageTime()); PayBaohuoWorktimeBo payBaohuoWorktimeBo = BeanUtil.toBean(sgrWorkTime, PayBaohuoWorktimeBo.class); @@ -485,7 +518,7 @@ public class PayWorkOrderBaohuoServiceImpl implements IPayWorkOrderBaohuoService sgrWorkTime.setId(null); sgrWorkTime.setWoId(bo.getId()); sgrWorkTime.setEmpId(employee.getEmpId()); - sgrWorkTime.setBheId(employee.getId()); + sgrWorkTime.setBheId(payBaohuoEmployeeBo.getId()); sgrWorkTime.setTenantId(bo.getTenantId()); //sgrWorkTime.setIntime(sgrWorkOrderBaohuo.getInstorageTime()); PayBaohuoWorktimeBo payBaohuoWorktimeBo = BeanUtil.toBean(sgrWorkTime, PayBaohuoWorktimeBo.class); From 62d61e6f30f34716483152ca582895e6144154cf Mon Sep 17 00:00:00 2001 From: hshansha Date: Wed, 4 Jun 2025 10:29:42 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=8C=85=E6=B4=BB=E4=BF=AE=E6=94=B9bug?= =?UTF-8?q?=E8=A7=A3=E5=86=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pay/service/impl/PayWorkOrderBaohuoServiceImpl.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/ruoyi-pay/src/main/java/com/ruoyi/pay/service/impl/PayWorkOrderBaohuoServiceImpl.java b/ruoyi-pay/src/main/java/com/ruoyi/pay/service/impl/PayWorkOrderBaohuoServiceImpl.java index 7153700..5ff209e 100644 --- a/ruoyi-pay/src/main/java/com/ruoyi/pay/service/impl/PayWorkOrderBaohuoServiceImpl.java +++ b/ruoyi-pay/src/main/java/com/ruoyi/pay/service/impl/PayWorkOrderBaohuoServiceImpl.java @@ -355,6 +355,7 @@ public class PayWorkOrderBaohuoServiceImpl implements IPayWorkOrderBaohuoService * 修改包活派工单 */ @Override + @Transactional public Boolean updateByBo(PayWorkOrderBaohuoBo bo) { List worktimeList = bo.getWorktimeList(); @@ -407,8 +408,10 @@ public class PayWorkOrderBaohuoServiceImpl implements IPayWorkOrderBaohuoService searchBaohuoWorktime.setEmpId(emp.getEmpId()); List baohuoWorktimes = bhworktimeService.queryList(searchBaohuoWorktime); for (PayBaohuoWorktimeVo baohuoWorktime : baohuoWorktimes) { - if (DateCompareUtil.isContainOrOverlap(baohuoWorktime.getStime(), baohuoWorktime.getEtime(), bhworktime.getStime(), bhworktime.getEtime())) { - throw new ServiceException("员工:"+ emp.getEmpName()+ "已经存在 " +DateUtil.format(bhworktime.getStime(), "yyyy-MM-dd HH:mm:ss") + " 到 " + DateUtil.format(bhworktime.getEtime(), "yyyy-MM-dd HH:mm:ss") + " 该时间段包活工单工时"); + if(!baohuoWorktime.getWoId().equals(bo.getId())){ + if (DateCompareUtil.isContainOrOverlap(baohuoWorktime.getStime(), baohuoWorktime.getEtime(), bhworktime.getStime(), bhworktime.getEtime())) { + throw new ServiceException("员工:"+ emp.getEmpName()+ "已经存在 " +DateUtil.format(bhworktime.getStime(), "yyyy-MM-dd HH:mm:ss") + " 到 " + DateUtil.format(bhworktime.getEtime(), "yyyy-MM-dd HH:mm:ss") + " 该时间段包活工单工时"); + } } } }