Kaynağa Gözat

费用调整

xy 3 gün önce
ebeveyn
işleme
5774aff10e
18 değiştirilmiş dosya ile 174 ekleme ve 12 silme
  1. 12 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/appointmentconfirmorder/vo/AppointmentConfirmOrderRespVO.java
  2. 10 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/appointmentconfirmorder/vo/AppointmentSubmitVO.java
  3. 13 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/appointmentconfirmorder/vo/PipeAppointmentConfirmOrderRespVO.java
  4. 10 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/appointmentconfirmorder/vo/PipeAppointmentSubmitVO.java
  5. 13 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/boilertaskorder/vo/BoilerTaskOrderRespVO.java
  6. 12 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/pipetaskorder/vo/PipeTaskOrderRespVO.java
  7. 12 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/dal/dataobject/acceptorder/AcceptOrderDO.java
  8. 10 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/dal/dataobject/appointmentconfirmorder/AppointmentConfirmOrderDO.java
  9. 7 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/dal/dataobject/boilertaskorder/BoilerTaskOrderDO.java
  10. 7 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/dal/dataobject/pipetaskorder/PipeTaskOrderDO.java
  11. 3 2
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/dal/mysql/taskordernontaxapply/TaskOrderLeftJoinMapper.java
  12. 14 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/appointmentconfirmorder/AppointmentConfirmOrderServiceImpl.java
  13. 15 1
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/appointmentconfirmorder/PipeAppointmentConfirmOrderServiceImpl.java
  14. 14 3
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/boilertaskorder/BoilerTaskOrderServiceImpl.java
  15. 3 1
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/equipboilerscheduling/EquipBoilerSchedulingServiceImpl.java
  16. 3 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/equippipescheduling/EquipPipeSchedulingServiceImpl.java
  17. 14 3
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/pipetaskorder/PipeTaskOrderServiceImpl.java
  18. 2 2
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/taskordernontaxapply/TaskOrderNonTaxApplyServiceImpl.java

+ 12 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/appointmentconfirmorder/vo/AppointmentConfirmOrderRespVO.java

@@ -251,4 +251,16 @@ public class AppointmentConfirmOrderRespVO {
 
     @Schema(description ="约检确认单异常信息")
     private BoilerOrderExceptionRespVO orderExceptionRespVO;
+
+    /**
+     * 使用单位id
+     */
+    private String useUnitId;
+
+    private BigDecimal reductionRadio;
+
+    /**
+     * 企业类型
+     */
+    private String enterpriseType;
 }

+ 10 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/appointmentconfirmorder/vo/AppointmentSubmitVO.java

@@ -180,4 +180,14 @@ public class AppointmentSubmitVO {
 
     @Schema(description = "设备主类型", example = "1")
     private Integer equipMainType;
+
+    @Schema(description ="使用单位id")
+    private String useUnitId;
+
+    private BigDecimal reductionRadio;
+
+    /**
+     * 企业类型
+     */
+    private String enterpriseType;
 }

+ 13 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/appointmentconfirmorder/vo/PipeAppointmentConfirmOrderRespVO.java

@@ -259,4 +259,17 @@ public class PipeAppointmentConfirmOrderRespVO {
 
     @Schema(description = "小组信息")
     private List<TeamItemVO> teamList;
+
+
+    /**
+     * 使用单位id
+     */
+    private String useUnitId;
+
+    private BigDecimal reductionRadio;
+
+    /**
+     * 企业类型
+     */
+    private String enterpriseType;
 }

+ 10 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/appointmentconfirmorder/vo/PipeAppointmentSubmitVO.java

@@ -184,4 +184,14 @@ public class PipeAppointmentSubmitVO {
 
     @Schema(description = "人员")
     private List<SubmitTeamItemVO> teamList ;
+
+    @Schema(description ="使用单位id")
+    private String useUnitId;
+
+    private BigDecimal reductionRadio;
+
+    /**
+     * 企业类型
+     */
+    private String enterpriseType;
 }

+ 13 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/boilertaskorder/vo/BoilerTaskOrderRespVO.java

@@ -188,6 +188,8 @@ public class BoilerTaskOrderRespVO {
     @Schema(description = "应收金额")
     private BigDecimal shouldAmount;
 
+    private BigDecimal actualAmount;
+
     @Schema(description = "减免费用")
     private BigDecimal reduceFee;
 
@@ -434,4 +436,15 @@ public class BoilerTaskOrderRespVO {
 
     // 签名文件列表
     private List<BoilerTaskOrderSignFileDO> signFileList;
+
+    @Schema(description ="使用单位id")
+    private String useUnitId;
+
+    private BigDecimal reductionRadio;
+
+    /**
+     * 企业类型
+     */
+    private String enterpriseType;
+
 }

+ 12 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/pipetaskorder/vo/PipeTaskOrderRespVO.java

@@ -185,6 +185,8 @@ public class PipeTaskOrderRespVO {
     @Schema(description = "应收金额")
     private BigDecimal shouldAmount;
 
+    private BigDecimal actualAmount;
+
     @Schema(description = "减免费用")
     private BigDecimal reduceFee;
 
@@ -426,4 +428,14 @@ public class PipeTaskOrderRespVO {
     private String reportConclusion;
 
     private List<BoilerTaskOrderSignFileDO> signFileList;
+
+    @Schema(description ="使用单位id")
+    private String useUnitId;
+
+    private BigDecimal reductionRadio;
+
+    /**
+     * 企业类型
+     */
+    private String enterpriseType;
 }

+ 12 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/dal/dataobject/acceptorder/AcceptOrderDO.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.KeySequence;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
 import java.math.BigDecimal;
@@ -243,4 +244,15 @@ public class AcceptOrderDO extends BaseDO {
      * 设备类型 100容器 200锅炉 300管道
      * */
     private Integer equipMainType;
+
+    @Schema(description ="使用单位id")
+    private String useUnitId;
+
+    private BigDecimal reductionRadio;
+
+    /**
+     * 企业类型
+     */
+    private String enterpriseType;
+
 }

+ 10 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/dal/dataobject/appointmentconfirmorder/AppointmentConfirmOrderDO.java

@@ -229,4 +229,14 @@ public class AppointmentConfirmOrderDO extends BaseDO {
      private Integer equipNumBoiler;
 
      private LocalDate confirmDate;
+
+    /**
+     * 减免比例
+     */
+    private BigDecimal reductionRadio;
+
+    /**
+     * 企业类型
+     */
+    private String enterpriseType;
 }

+ 7 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/dal/dataobject/boilertaskorder/BoilerTaskOrderDO.java

@@ -325,4 +325,11 @@ public class BoilerTaskOrderDO extends BaseDO {
     private String useUnitId;
 
     private BigDecimal payAmount;
+
+    private BigDecimal reductionRadio;
+
+    /**
+     * 企业类型
+     */
+    private String enterpriseType;
 }

+ 7 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/dal/dataobject/pipetaskorder/PipeTaskOrderDO.java

@@ -330,4 +330,11 @@ public class PipeTaskOrderDO extends BaseDO {
 
     private String issueUrl;
 
+    private BigDecimal reductionRadio;
+
+    /**
+     * 企业类型
+     */
+    private String enterpriseType;
+
 }

+ 3 - 2
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/dal/mysql/taskordernontaxapply/TaskOrderLeftJoinMapper.java

@@ -37,6 +37,7 @@ public interface TaskOrderLeftJoinMapper extends BaseMapperX<BoilerTaskOrderDO>
 
         recordDOMPJLambdaWrapper = (MPJLambdaWrapperX<BoilerTaskOrderDO>) recordDOMPJLambdaWrapper.
                 selectAll(BoilerTaskOrderDO.class).
+                selectAs(BoilerTaskOrderDO::getTaskStatus,BoilerTaskOrderDetailsVO::getTaskStatus).
                 selectAs(AcceptOrderDO::getSubmitId,BoilerTaskOrderDetailsVO::getAcceptUserId).
                 selectAs(AcceptOrderDO::getSubmitTime,BoilerTaskOrderDetailsVO::getAcceptTime).
                 selectAs(TaskOrderNonTaxApplyDO::getId,BoilerTaskOrderDetailsVO::getNonTaxApplyId).
@@ -91,7 +92,7 @@ public interface TaskOrderLeftJoinMapper extends BaseMapperX<BoilerTaskOrderDO>
                 .betweenIfPresent(BoilerTaskOrderDO::getConfirmDate, reqVO.getConfirmDate())
                 .betweenIfPresent(BoilerTaskOrderDO::getAuditDate, reqVO.getAuditDate())
                 .eqIfPresent(BoilerTaskOrderDO::getManagerId, reqVO.getManagerId())
-                .eqIfPresent(BoilerTaskOrderDO::getTaskStatus, reqVO.getTaskStatus())
+//                .eqIfPresent(BoilerTaskOrderDO::getTaskStatus, reqVO.getTaskStatus())
                 .inIfPresent(BoilerTaskOrderDO::getTaskStatus, reqVO.getTaskStatusList())
                 .inIfPresent(BoilerTaskOrderDO::getId, reqVO.getIds())
                 .eqIfPresent(BoilerTaskOrderDO::getPaymentStatus, reqVO.getPaymentStatus())
@@ -113,7 +114,7 @@ public interface TaskOrderLeftJoinMapper extends BaseMapperX<BoilerTaskOrderDO>
         }
 
         recordDOMPJLambdaWrapper.in(BoilerTaskOrderDO::getEquipMainType, 200,300);
-        recordDOMPJLambdaWrapper.eq(BoilerTaskOrderDO::getTaskStatus, 800);
+//        recordDOMPJLambdaWrapper.eq(BoilerTaskOrderDO::getTaskStatus, 800);
 
 
         return selectJoinPage(reqVO,BoilerTaskOrderDetailsVO.class,recordDOMPJLambdaWrapper);

+ 14 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/appointmentconfirmorder/AppointmentConfirmOrderServiceImpl.java

@@ -59,6 +59,8 @@ import cn.start.tz.module.pressure2.service.member.vo.MemberUserRespVO;
 import cn.start.tz.module.pressure2.service.membermessage.MemberMessageRemoteService;
 import cn.start.tz.module.pressure2.service.membermessage.vo.SendMpMessageReqVO;
 import cn.start.tz.module.pressure2.service.orderreport.OrderReportService;
+import cn.start.tz.module.system.api.clientunit.ClientUnitApi;
+import cn.start.tz.module.system.api.clientunit.dto.ClientUnitDTO;
 import cn.start.tz.module.system.api.dept.DeptApi;
 import cn.start.tz.module.system.api.dept.dto.DeptRespDTO;
 import cn.start.tz.module.system.api.dict.DictDataApi;
@@ -172,6 +174,9 @@ public class AppointmentConfirmOrderServiceImpl implements AppointmentConfirmOrd
     @Resource
     private DeptApi deptApi;
 
+    @Resource
+    private ClientUnitApi clientUnitApi;
+
     @Resource
     private OrderReportService orderReportService;
 
@@ -791,6 +796,15 @@ public class AppointmentConfirmOrderServiceImpl implements AppointmentConfirmOrd
         // 查询出约检确认单信息
         AppointmentConfirmOrderDO appointmentConfirmOrderDO = appointmentConfirmOrderMapper.selectById(submitVO.getId());
 
+        ClientUnitDTO clientUnitDTO = null;
+        if(StringUtils.isNotBlank(submitVO.getUseUnitId())){
+            clientUnitDTO = clientUnitApi.getClientUnit(submitVO.getUseUnitId()).getData();
+        }
+        if(clientUnitDTO != null){
+            submitVO.setEnterpriseType(clientUnitDTO.getEnterpriseType());
+            submitVO.setReductionRadio(clientUnitDTO.getReductionRadio());
+        }
+
         // 判断是更新还是新增约检确认单
         if (StringUtils.isNotBlank(submitVO.getId())) {
             // 更新约检单信息

+ 15 - 1
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/appointmentconfirmorder/PipeAppointmentConfirmOrderServiceImpl.java

@@ -81,6 +81,8 @@ import cn.start.tz.module.pressure2.service.member.vo.MemberUserRespVO;
 import cn.start.tz.module.pressure2.service.membermessage.MemberMessageRemoteService;
 import cn.start.tz.module.pressure2.service.membermessage.vo.SendMpMessageReqVO;
 import cn.start.tz.module.pressure2.service.orderreport.OrderReportService;
+import cn.start.tz.module.system.api.clientunit.ClientUnitApi;
+import cn.start.tz.module.system.api.clientunit.dto.ClientUnitDTO;
 import cn.start.tz.module.system.api.dept.DeptApi;
 import cn.start.tz.module.system.api.dict.DictDataApi;
 import cn.start.tz.module.system.api.dict.dto.DictDataRespDTO;
@@ -142,6 +144,9 @@ public class PipeAppointmentConfirmOrderServiceImpl implements PipeAppointmentCo
     @Resource
     private DeptApi deptApi;
 
+    @Resource
+    private ClientUnitApi clientUnitApi;
+
     @Resource
     private PipeAppointmentConfirmOrderUserMapper pipeAppointmentConfirmOrderUserMapper;
 
@@ -793,9 +798,18 @@ public class PipeAppointmentConfirmOrderServiceImpl implements PipeAppointmentCo
      * @param submitVO 约检提交VO对象
      */
     public void submitPipe(PipeAppointmentSubmitVO submitVO) {
-// 查询出约检确认单信息
+        // 查询出约检确认单信息
         AppointmentConfirmOrderDO appointmentConfirmOrderDO = appointmentConfirmOrderMapper.selectById(submitVO.getId());
 
+        ClientUnitDTO clientUnitDTO = null;
+        if(StringUtils.isNotBlank(submitVO.getUseUnitId())){
+            clientUnitDTO = clientUnitApi.getClientUnit(submitVO.getUseUnitId()).getData();
+        }
+        if(clientUnitDTO != null){
+            submitVO.setEnterpriseType(clientUnitDTO.getEnterpriseType());
+            submitVO.setReductionRadio(clientUnitDTO.getReductionRadio());
+        }
+
         // 判断是更新还是新增约检确认单
         if (StringUtils.isNotBlank(submitVO.getId())) {
             // 更新约检单信息

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

@@ -215,6 +215,7 @@ import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.text.SimpleDateFormat;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
@@ -505,7 +506,11 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
 
         BoilerTaskOrderDO boilerTaskOrderDO = boilerTaskOrderMapper.selectById(id);
         BoilerTaskOrderRespVO boilerTaskOrderRespVO = BeanUtils.toBean(boilerTaskOrderDO, BoilerTaskOrderRespVO.class);
-        boilerTaskOrderRespVO.setPayAmount(boilerTaskOrderDO.getActualAmount());
+        // 计算支付金额,增加判空条件
+        BigDecimal serviceAmount = Optional.ofNullable(boilerTaskOrderDO.getServiceAmount()).orElse(BigDecimal.ZERO);
+        BigDecimal shouldAmount = Optional.ofNullable(boilerTaskOrderDO.getShouldAmount()).orElse(BigDecimal.ZERO);
+        BigDecimal reduceFee = Optional.ofNullable(boilerTaskOrderDO.getReduceFee()).orElse(BigDecimal.ZERO);
+        boilerTaskOrderRespVO.setPayAmount(serviceAmount.add(shouldAmount).add(reduceFee));
         // 邮箱
         boilerTaskOrderRespVO.setUnitEmail(boilerTaskOrderDO.getEmail());
 
@@ -2650,13 +2655,19 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
                         reduceFee = reduceFee.add(reportDO.getFee());
                         continue;
                     }
-                    orderFee = orderFee.add(reportDO.getFee());
                     if ("2".equals(reportDO.getFeeType())) {
                         serviceAmount = serviceAmount.add(reportDO.getFee());
+                        orderFee = orderFee.add(reportDO.getFee());
                         continue;
                     }
-                    if (!isExempt && "1".equals(reportDO.getFeeType())) {
+                    if ("1".equals(reportDO.getFeeType())) {
                         shouldAmount = shouldAmount.add(reportDO.getFee());
+                        BigDecimal reduceRadioFee = reportDO.getFee();
+                        if (boilerTaskOrderDO.getReductionRadio() != null){
+                            double v = 1 - boilerTaskOrderDO.getReductionRadio().doubleValue();
+                            reduceRadioFee = reduceRadioFee.multiply(new BigDecimal(v)).setScale(2, RoundingMode.HALF_UP);
+                        }
+                        orderFee = orderFee.add(reduceRadioFee);
                     }
                 }
             }

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

@@ -695,7 +695,8 @@ public class EquipBoilerSchedulingServiceImpl extends ServiceImpl<EquipBoilerSch
                 appointmentConfirmOrderDO.setUnitAddress(unitDTO.getAddr());
                 appointmentConfirmOrderDO.setUnitContact(unitDTO.getContact());
                 appointmentConfirmOrderDO.setMobile(unitDTO.getMobile());
-//                appointmentConfirmOrderDO.setEmail(unitDTO.getEmail());
+                appointmentConfirmOrderDO.setReductionRadio(unitDTO.getReductionRadio());
+                appointmentConfirmOrderDO.setEnterpriseType(unitDTO.getEnterpriseType());
                 appointmentConfirmOrderDO.setUnitPhone(unitDTO.getTel());
                 // appointmentConfirmOrderDO.setZipCode(unitDTO.getPost());
                 appointmentConfirmOrderDO.setSocialCreditCode(unitDTO.getSocialCreditCode());
@@ -893,6 +894,7 @@ public class EquipBoilerSchedulingServiceImpl extends ServiceImpl<EquipBoilerSch
                 submitVO.setRecipient(appointmentConfirmOrderDO.getRecipient());
                 submitVO.setRecipientPhone(appointmentConfirmOrderDO.getRecipientPhone());
                 submitVO.setRecipientEmail(appointmentConfirmOrderDO.getRecipientEmail());
+                submitVO.setUseUnitId(appointmentConfirmOrderDO.getUseUnitId());
                 submitVO.setUseUnitName(appointmentConfirmOrderDO.getUseUnitName());
                 submitVO.setUseUnitSocialCreditCode(appointmentConfirmOrderDO.getUseUnitSocialCreditCode());
                 submitVO.setUseUnitAddress(appointmentConfirmOrderDO.getUseUnitAddress());

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

@@ -750,6 +750,8 @@ public class EquipPipeSchedulingServiceImpl extends ServiceImpl<EquipPipeSchedul
                 appointmentConfirmOrderDO.setUnitAddress(unitDTO.getAddr());
                 appointmentConfirmOrderDO.setUnitContact(unitDTO.getContact());
                 appointmentConfirmOrderDO.setMobile(unitDTO.getMobile());
+                appointmentConfirmOrderDO.setReductionRadio(unitDTO.getReductionRadio());
+                appointmentConfirmOrderDO.setEnterpriseType(unitDTO.getEnterpriseType());
 //                appointmentConfirmOrderDO.setEmail(unitDTO.getEmail());
                 appointmentConfirmOrderDO.setUnitPhone(unitDTO.getTel());
                  appointmentConfirmOrderDO.setZipCode(unitDTO.getPost());
@@ -995,6 +997,7 @@ public class EquipPipeSchedulingServiceImpl extends ServiceImpl<EquipPipeSchedul
                 submitVO.setRecipient(appointmentConfirmOrderDO.getRecipient());
                 submitVO.setRecipientPhone(appointmentConfirmOrderDO.getRecipientPhone());
                 submitVO.setRecipientEmail(appointmentConfirmOrderDO.getRecipientEmail());
+                submitVO.setUseUnitId(appointmentConfirmOrderDO.getUseUnitId());
                 submitVO.setUseUnitName(appointmentConfirmOrderDO.getUseUnitName());
                 submitVO.setUseUnitSocialCreditCode(appointmentConfirmOrderDO.getUseUnitSocialCreditCode());
                 submitVO.setUseUnitAddress(appointmentConfirmOrderDO.getUseUnitAddress());

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

@@ -195,6 +195,7 @@ import java.beans.PropertyDescriptor;
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.nio.channels.Pipe;
 import java.text.SimpleDateFormat;
 import java.time.LocalDate;
@@ -431,7 +432,11 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
 
         PipeTaskOrderDO taskOrderDO = pipeTaskOrderMapper.selectById(id);
         PipeTaskOrderRespVO TaskOrderRespVO = BeanUtils.toBean(taskOrderDO, PipeTaskOrderRespVO.class);
-        TaskOrderRespVO.setPayAmount(taskOrderDO.getActualAmount());
+        // 计算支付金额,增加判空条件
+        BigDecimal serviceAmount = Optional.ofNullable(taskOrderDO.getServiceAmount()).orElse(BigDecimal.ZERO);
+        BigDecimal shouldAmount = Optional.ofNullable(taskOrderDO.getShouldAmount()).orElse(BigDecimal.ZERO);
+        BigDecimal reduceFee = Optional.ofNullable(taskOrderDO.getReduceFee()).orElse(BigDecimal.ZERO);
+        TaskOrderRespVO.setPayAmount(serviceAmount.add(shouldAmount).add(reduceFee));
         // 邮箱
         TaskOrderRespVO.setUnitEmail(taskOrderDO.getEmail());
 
@@ -2024,13 +2029,19 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
                         reduceFee = reduceFee.add(reportDO.getFee());
                         continue;
                     }
-                    orderFee = orderFee.add(reportDO.getFee());
                     if ("2".equals(reportDO.getFeeType())) {
                         serviceAmount = serviceAmount.add(reportDO.getFee());
+                        orderFee = orderFee.add(reportDO.getFee());
                         continue;
                     }
-                    if (!isExempt && "1".equals(reportDO.getFeeType())) {
+                    if ("1".equals(reportDO.getFeeType())) {
                         shouldAmount = shouldAmount.add(reportDO.getFee());
+                        BigDecimal reduceRadioFee = reportDO.getFee();
+                        if (pipeTaskOrderDO.getReductionRadio() != null){
+                            double v = 1 - pipeTaskOrderDO.getReductionRadio().doubleValue();
+                            reduceRadioFee = reduceRadioFee.multiply(new BigDecimal(v)).setScale(2, RoundingMode.HALF_UP);
+                        }
+                        orderFee = orderFee.add(reduceRadioFee);
                     }
                 }
             }

+ 2 - 2
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/taskordernontaxapply/TaskOrderNonTaxApplyServiceImpl.java

@@ -862,7 +862,7 @@ public class TaskOrderNonTaxApplyServiceImpl extends ServiceImpl<TaskOrderNonTax
                 if (Objects.equals(x.getEquipMainType(), 200)){
                     LambdaQueryWrapperX<BoilerTaskOrderItemReportDO> queryTaskOrderItemReport = new LambdaQueryWrapperX<>();
                     queryTaskOrderItemReport.in(BoilerTaskOrderItemReportDO::getOrderId, orderIds);
-                    queryTaskOrderItemReport.eq(BoilerTaskOrderItemReportDO::getTaskStatus, 800);
+//                    queryTaskOrderItemReport.eq(BoilerTaskOrderItemReportDO::getTaskStatus, 800);
                     queryTaskOrderItemReport.eq(BoilerTaskOrderItemReportDO::getReportType, TaskOrderItemReportTypeEnum.MAIN_REPORT.getType());
                     boilerTaskOrderItemReportDOS = boilerTaskOrderItemReportMapper.selectList(queryTaskOrderItemReport);
                     List<BoilerTaskOrderItemReportDO> taskOrderItemReports = boilerTaskOrderItemReportDOS.stream().filter(taskOrderItemReportDO -> x.getId().equals(taskOrderItemReportDO.getOrderId())).toList();
@@ -875,7 +875,7 @@ public class TaskOrderNonTaxApplyServiceImpl extends ServiceImpl<TaskOrderNonTax
                 }else if (Objects.equals(x.getEquipMainType(), 300)){
                     LambdaQueryWrapperX<PipeTaskOrderItemReportDO> queryTaskOrderItemReport = new LambdaQueryWrapperX<>();
                     queryTaskOrderItemReport.in(PipeTaskOrderItemReportDO::getOrderId, orderIds);
-                    queryTaskOrderItemReport.eq(PipeTaskOrderItemReportDO::getTaskStatus, 800);
+//                    queryTaskOrderItemReport.eq(PipeTaskOrderItemReportDO::getTaskStatus, 800);
                     queryTaskOrderItemReport.eq(PipeTaskOrderItemReportDO::getReportType, TaskOrderItemReportTypeEnum.MAIN_REPORT.getType());
                     pipeTaskOrderItemReportDOS = pipeTaskOrderItemReportMapper.selectList(queryTaskOrderItemReport);
                     List<PipeTaskOrderItemReportDO> taskOrderItemReports = pipeTaskOrderItemReportDOS.stream().filter(taskOrderItemReportDO -> x.getId().equals(taskOrderItemReportDO.getOrderId())).toList();