xuzhancheng 1 月之前
父節點
當前提交
76ddd92532

+ 27 - 6
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/boilertaskorder/BoilerTaskOrderServiceImpl.java

@@ -2055,6 +2055,7 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
             addReport.setTaskStatus(TaskOrderStatusEnum.ENTER.getStatus());
             addReport.setSort(count + 1);
             addReport.setItemPartId(itemPartId);
+            addReport.setFeeType(vo.getType());
             // 非手动上传
             if (StringUtils.isBlank(vo.getManualUrl())) {
 
@@ -2411,21 +2412,40 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
 
             BoilerTaskOrderDO boilerTaskOrderDO = boilerTaskOrderMapper.selectById(id);
             // 免征
-//            boolean isExempt = 300 == boilerTaskOrderDO.getFeeNature();
+            boolean isExempt = 300 == boilerTaskOrderDO.getFeeNature();
+            BigDecimal shouldAmount = new BigDecimal(0);
+            BigDecimal reduceFee = new BigDecimal(0);
+            BigDecimal serviceAmount = new BigDecimal(0);
             BigDecimal orderFee = new BigDecimal(0);
             for (BoilerTaskOrderItemReportDO reportDO : reportDOList) {
                 if (reportDO.getFee() != null) {
                     // 免征不收法定收费
-//                    if (isExempt && "1".equals(reportDO.getFeeType())) {
-//                        continue;
-//                    }
+                    if (isExempt && "1".equals(reportDO.getFeeType())) {
+                        reduceFee = reduceFee.add(reportDO.getFee());
+                        continue;
+                    }
                     orderFee = orderFee.add(reportDO.getFee());
+                    if (isExempt && "2".equals(reportDO.getFeeType())) {
+                        serviceAmount = serviceAmount.add(reportDO.getFee());
+                        continue;
+                    }
+                    if (!isExempt && "1".equals(reportDO.getFeeType())) {
+                        shouldAmount = shouldAmount.add(reportDO.getFee());
+                    }
                 }
             }
             BoilerTaskOrderDO taskOrderDO = new BoilerTaskOrderDO();
             taskOrderDO.setId(id);
             taskOrderDO.setActualAmount(orderFee);
             boilerTaskOrderMapper.updateById(taskOrderDO);
+
+            String acceptOrderId = boilerTaskOrderDO.getAcceptOrderId();
+            AcceptOrderDO acceptOrderDO = acceptOrderMapper.selectById(acceptOrderId);
+            acceptOrderDO.setServiceAmount(serviceAmount);
+            acceptOrderDO.setShouldAmount(shouldAmount);
+            acceptOrderDO.setActualAmount(orderFee);
+            acceptOrderDO.setReduceFee(reduceFee);
+            acceptOrderMapper.updateById(acceptOrderDO);
         }
     }
 
@@ -2748,7 +2768,8 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
         taskOrderDO.setCheckDate(acceptOrderDO.getAppointmentDate());
         taskOrderDO.setAcceptOrderId(acceptOrderDO.getId());
         taskOrderDO.setEquipMainType(200); //200锅炉
-        taskOrderDO.setActualAmount(acceptOrderDO.getShouldAmount().add(acceptOrderDO.getServiceAmount()));
+        BigDecimal actualAmount = acceptOrderDO.getShouldAmount().add(acceptOrderDO.getServiceAmount());
+        taskOrderDO.setActualAmount(actualAmount.multiply(BigDecimal.valueOf(acceptOrderItemDOS.size())));
         //获取约检确认单计划id
         AppointmentConfirmOrderDO appointmentConfirmOrderDO = appointmentConfirmOrderMapper.selectById(acceptOrderDO.getAppointmentId());
         if (ObjectUtil.isNotEmpty(appointmentConfirmOrderDO)) {
@@ -2771,7 +2792,7 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
         Map<String, String> itemMap = new HashMap<>();
         taskOrderItemDOList.forEach(item -> {
             item.setOrderId(taskOrderDO.getId());
-
+            item.setFee(actualAmount);
             EquipBoilerDO equipBoilerDO = equipBoilerMapper.selectById(item.getEquipId());
             item.setBoilerType(equipBoilerDO.getType());
 

+ 10 - 10
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/equipboilerscheduling/EquipBoilerSchedulingServiceImpl.java

@@ -475,11 +475,11 @@ public class EquipBoilerSchedulingServiceImpl extends ServiceImpl<EquipBoilerSch
 
     @Override
     public BoilerTaskDetailsVO detail(String id) {
-        List<EquipBoilerSchedulingItemDO> equipContainerSchedulingItemDOS = equipBoilerSchedulingItemMapper.selectList(EquipBoilerSchedulingItemDO::getSchedulingId, id);
-        if(equipContainerSchedulingItemDOS == null || equipContainerSchedulingItemDOS.size() == 0){
+        List<EquipBoilerSchedulingItemDO> equipBoilerSchedulingItemDOS = equipBoilerSchedulingItemMapper.selectList(EquipBoilerSchedulingItemDO::getSchedulingId, id);
+        if(equipBoilerSchedulingItemDOS == null || equipBoilerSchedulingItemDOS.size() == 0){
             return new BoilerTaskDetailsVO();
         }
-        EquipBoilerSchedulingItemDO equipBoilerSchedulingItemDO = equipContainerSchedulingItemDOS.get(0);
+        EquipBoilerSchedulingItemDO equipBoilerSchedulingItemDO = equipBoilerSchedulingItemDOS.get(0);
         EquipBoilerDO equipBoilerDO = equipBoilerMapper.selectById(equipBoilerSchedulingItemDO.getEquipId());
         EquipBoilerSchedulingRecordDO schedulingDO = equipBoilerSchedulingRecordMapper.selectById(id);
 
@@ -591,13 +591,13 @@ public class EquipBoilerSchedulingServiceImpl extends ServiceImpl<EquipBoilerSch
 
         for (EquipBoilerSchedulingRecordDO schedulingDO : equipBoilerSchedulingRecordDOS) {
             String id = schedulingDO.getId();
-            List<EquipBoilerSchedulingItemDO> equipContainerSchedulingItemDOS = equipBoilerSchedulingItemMapper.selectList(EquipBoilerSchedulingItemDO::getSchedulingId, id);
+            List<EquipBoilerSchedulingItemDO> equipBoilerSchedulingItemDOS = equipBoilerSchedulingItemMapper.selectList(EquipBoilerSchedulingItemDO::getSchedulingId, id);
 
             //获取锅炉排期设备信息
-            EquipBoilerSchedulingItemDO equipBoilerSchedulingItemDO = equipContainerSchedulingItemDOS.get(0);
+            EquipBoilerSchedulingItemDO equipBoilerSchedulingItemDO = equipBoilerSchedulingItemDOS.get(0);
             EquipBoilerDO equipContainerDO = equipBoilerMapper.selectById(equipBoilerSchedulingItemDO.getEquipId());
 
-            List<String> equipIds = equipContainerSchedulingItemDOS.stream().map(EquipBoilerSchedulingItemDO::getEquipId).toList();
+            List<String> equipIds = equipBoilerSchedulingItemDOS.stream().map(EquipBoilerSchedulingItemDO::getEquipId).toList();
             List<EquipBoilerDO> equipContainerDOS = equipBoilerMapper.selectByIds(equipIds);
             Map<String, EquipBoilerDO> equipBoilerDOMap = equipContainerDOS.stream().collect(Collectors.toMap(EquipBoilerDO::getId, Function.identity()));
 
@@ -692,9 +692,9 @@ public class EquipBoilerSchedulingServiceImpl extends ServiceImpl<EquipBoilerSch
             if (equipBoilerSchedulingFeeDO.getChargeType() != null){
                 appointmentConfirmOrderDO.setFeeType(Integer.valueOf(equipBoilerSchedulingFeeDO.getChargeType() + "00"));
             }
-            appointmentConfirmOrderDO.setShouldAmount(equipBoilerSchedulingFeeDO.getShouldAmount());
-            appointmentConfirmOrderDO.setServiceAmount(equipBoilerSchedulingFeeDO.getServiceAmount());
-            appointmentConfirmOrderDO.setReduceFee(equipBoilerSchedulingFeeDO.getReduceFee());
+            appointmentConfirmOrderDO.setShouldAmount(equipBoilerSchedulingFeeDO.getShouldAmount().multiply(new BigDecimal(equipBoilerSchedulingItemDOS.size())));
+            appointmentConfirmOrderDO.setServiceAmount(equipBoilerSchedulingFeeDO.getServiceAmount().multiply(new BigDecimal(equipBoilerSchedulingItemDOS.size())));
+            appointmentConfirmOrderDO.setReduceFee(equipBoilerSchedulingFeeDO.getReduceFee().multiply(new BigDecimal(equipBoilerSchedulingItemDOS.size())));
 //            appointmentConfirmOrderDO.setFeeNature(equipBoilerSchedulingFeeDO.getFeeNature());
             if (equipBoilerSchedulingFeeDO.getIsExempt() != null){
                 appointmentConfirmOrderDO.setFeeNature(switch (equipBoilerSchedulingFeeDO.getIsExempt()){
@@ -714,7 +714,7 @@ public class EquipBoilerSchedulingServiceImpl extends ServiceImpl<EquipBoilerSch
             String confirmOrderId = appointmentConfirmOrderService.create(appointmentConfirmOrderDO);
 
             // 创建任务单项目
-            equipContainerSchedulingItemDOS.forEach(item->{
+            equipBoilerSchedulingItemDOS.forEach(item->{
                 BoilerAppointmentConfirmOrderItemDO orderItem = new BoilerAppointmentConfirmOrderItemDO();
                 orderItem.setPlanDate(planDate);
 

+ 3 - 3
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/equippipescheduling/EquipPipeSchedulingServiceImpl.java

@@ -713,9 +713,9 @@ public class EquipPipeSchedulingServiceImpl extends ServiceImpl<EquipPipeSchedul
             if (equipPipeSchedulingFeeDO.getChargeType() != null){
                 appointmentConfirmOrderDO.setFeeType(Integer.valueOf(equipPipeSchedulingFeeDO.getChargeType() + "00"));
             }
-            appointmentConfirmOrderDO.setShouldAmount(equipPipeSchedulingFeeDO.getShouldAmount());
-            appointmentConfirmOrderDO.setServiceAmount(equipPipeSchedulingFeeDO.getServiceAmount());
-            appointmentConfirmOrderDO.setReduceFee(equipPipeSchedulingFeeDO.getReduceFee());
+            appointmentConfirmOrderDO.setShouldAmount(equipPipeSchedulingFeeDO.getShouldAmount().multiply(new BigDecimal(equipPipeSchedulingItemDOS.size())));
+            appointmentConfirmOrderDO.setServiceAmount(equipPipeSchedulingFeeDO.getServiceAmount().multiply(new BigDecimal(equipPipeSchedulingItemDOS.size())));
+            appointmentConfirmOrderDO.setReduceFee(equipPipeSchedulingFeeDO.getReduceFee().multiply(new BigDecimal(equipPipeSchedulingItemDOS.size())));
 //            appointmentConfirmOrderDO.setFeeNature(equipPipeSchedulingFeeDO.getFeeNature());
             if (equipPipeSchedulingFeeDO.getIsExempt() != null){
                 appointmentConfirmOrderDO.setFeeNature(switch (equipPipeSchedulingFeeDO.getIsExempt()){

+ 22 - 2
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/pipetaskorder/PipeTaskOrderServiceImpl.java

@@ -1319,6 +1319,7 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
                 addReport.setOrderId(orderId);
                 addReport.setTaskStatus(TaskOrderStatusEnum.ENTER.getStatus());
                 addReport.setSort(count + 1 + i);
+                addReport.setFeeType(vo.getType());
                 
                 // 计算当前是第几个(从 1 开始)
                 int currentIndex = existingTemplateCount + i + 1;
@@ -1767,20 +1768,38 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
             PipeTaskOrderDO pipeTaskOrderDO = pipeTaskOrderMapper.selectById(id);
             // 免征
             boolean isExempt = 300 == pipeTaskOrderDO.getFeeNature();
+            BigDecimal shouldAmount = new BigDecimal(0);
+            BigDecimal reduceFee = new BigDecimal(0);
+            BigDecimal serviceAmount = new BigDecimal(0);
             BigDecimal orderFee = new BigDecimal(0);
             for (PipeTaskOrderItemReportDO reportDO : reportDOList) {
                 if (reportDO.getFee() != null) {
                     // 免征不收法定收费
                     if (isExempt && "1".equals(reportDO.getFeeType())) {
+                        reduceFee = reduceFee.add(reportDO.getFee());
                         continue;
                     }
                     orderFee = orderFee.add(reportDO.getFee());
+                    if (isExempt && "2".equals(reportDO.getFeeType())) {
+                        serviceAmount = serviceAmount.add(reportDO.getFee());
+                        continue;
+                    }
+                    if (!isExempt && "1".equals(reportDO.getFeeType())) {
+                        shouldAmount = shouldAmount.add(reportDO.getFee());
+                    }
                 }
             }
             PipeTaskOrderDO taskOrderDO = new PipeTaskOrderDO();
             taskOrderDO.setId(id);
             taskOrderDO.setActualAmount(orderFee);
             pipeTaskOrderMapper.updateById(taskOrderDO);
+
+            String acceptOrderId = pipeTaskOrderDO.getAcceptOrderId();
+            AcceptOrderDO acceptOrderDO = acceptOrderMapper.selectById(acceptOrderId);
+            acceptOrderDO.setServiceAmount(serviceAmount);
+            acceptOrderDO.setShouldAmount(shouldAmount);
+            acceptOrderDO.setReduceFee(reduceFee);
+            acceptOrderMapper.updateById(acceptOrderDO);
         }
 
     }
@@ -2016,7 +2035,8 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
         if (ObjectUtil.isNotEmpty(appointmentConfirmOrderDO)) {
             taskOrderDO.setSchedulingId(appointmentConfirmOrderDO.getSchedulingId());
         }
-        taskOrderDO.setActualAmount(acceptOrderDO.getShouldAmount().add(acceptOrderDO.getServiceAmount()));
+        BigDecimal actualAmount = acceptOrderDO.getShouldAmount().add(acceptOrderDO.getServiceAmount());
+        taskOrderDO.setActualAmount(actualAmount.multiply(new BigDecimal(acceptOrderItemDOS.size())));
         // 任务单
         pipeTaskOrderMapper.insert(taskOrderDO);
 
@@ -2034,7 +2054,7 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
         Map<String, String> itemMap = new HashMap<>();
         taskOrderItemDOList.forEach(item -> {
             item.setOrderId(taskOrderDO.getId());
-
+            item.setFee(actualAmount);
             EquipPipeDO equipPipeDO = equipPipeMapper.selectById(item.getEquipId());
             item.setPipeType(equipPipeDO.getPipeCategory());