Răsfoiți Sursa

复制协议 和费用审核

785834757 2 ani în urmă
părinte
comite
885afc348b

+ 15 - 1
src/main/java/com/ydtech/modules/protocols/controller/PtlNewAgreementController.java

@@ -56,7 +56,7 @@ public class PtlNewAgreementController extends BaseController {
     @ApiOperation("查询协议产品费用列表")
     public PageResult getProduct(@RequestBody AgreementProductQueryVo agreementProductQueryVo) {
         Page<T> page = buildPageRequest(agreementProductQueryVo.getPageDto());
-        Page<PtlAgreementProductCostsNew> schemeQueryDto = ptlAgreementProductCostsNewService.getByAgreementId(page,agreementProductQueryVo.getAgreementId());
+        Page<PtlAgreementProductCostsNew> schemeQueryDto = ptlAgreementProductCostsNewService.getByAgreementId(page,agreementProductQueryVo);
         return buildPageResponse(schemeQueryDto);
     }
 
@@ -86,6 +86,20 @@ public class PtlNewAgreementController extends BaseController {
         return ptlAgreementProductCostsNewService.costsDelete(costsId) ? HttpResult.ok("删除协议费用成功") : HttpResult.error("删除协议费用失败");
     }
 
+    @ApiOperation(value = "复制协议费用")
+    @PostMapping("/costs/copy")
+    public HttpResult costsCopy(String orgCostsId,String newAgreementId){
+        //orgCostsId:原协议费用id
+        //newAgreementId:新协议id
+        return ptlAgreementProductCostsNewService.costsCopy(orgCostsId,newAgreementId) ? HttpResult.ok("复制协议费用成功") : HttpResult.error("复制协议费用失败");
+    }
+
+    @ApiOperation(value = "费用审核")
+    @PostMapping("/costs/audit")
+    public HttpResult costsAudit(@RequestBody CostsAuditVo costsAuditVo){
+        return ptlAgreementProductCostsNewService.costsAudit(costsAuditVo) ? HttpResult.ok("费用审核成功") : HttpResult.error("费用审核失败");
+    }
+
     @ApiOperation(value = "获取承保规则列表")
     @PostMapping("/undwrt/rules/list")
     public PageResult getRulesList(@RequestBody AgreementUndwrtRulesQueryVo agreementUndwrtRulesQueryVo){

+ 19 - 0
src/main/java/com/ydtech/modules/protocols/entity/po/PtlAgreementProductCostsNew.java

@@ -8,7 +8,10 @@ import io.swagger.annotations.ApiModelProperty;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
+import org.joda.time.DateTime;
 
+import javax.persistence.Table;
+import java.time.LocalDateTime;
 import java.util.List;
 
 /**
@@ -108,6 +111,22 @@ public class PtlAgreementProductCostsNew {
     @TableField(value = "priority_level")
     private Integer priorityLevel;
 
+    @ApiModelProperty(value = "是否审核")
+    @TableField(value = "is_audit")
+    private Integer isAudit;
+
+    @ApiModelProperty(value = "驳回信息")
+    @TableField(value = "reject")
+    private String reject;
+
+    @ApiModelProperty(value = "审核人")
+    @TableField(value = "audit_person")
+    private String auditPerson;
+
+    @ApiModelProperty(value = "审核时间")
+    @TableField(value = "audit_time")
+    private LocalDateTime auditTime;
+
     @ApiModelProperty(value = "生成的描述")
     @TableField(exist = false)
     private String desc;

+ 9 - 0
src/main/java/com/ydtech/modules/protocols/entity/vo/AgreementProductCosts.java

@@ -33,6 +33,9 @@ public class AgreementProductCosts {
     @ApiModelProperty(value = "其他费用比例(交强)")
     private String jqCarOtherCostsProportion;
 
+    @ApiModelProperty(value = "交强出口手续费比例")
+    private String jqCostsExportProportion;
+
     @ApiModelProperty(value = "费用比例(商业)")
     private String syCarCostsProportion;
 
@@ -42,6 +45,9 @@ public class AgreementProductCosts {
     @ApiModelProperty(value = "其他费用比例(商业)")
     private String syCarOtherCostsProportion;
 
+    @ApiModelProperty(value = "商业出口手续费比例")
+    private String syCostsExportProportion;
+
     @ApiModelProperty(value = "费用比例(非车)")
     private String noCarCostsProportion;
 
@@ -51,6 +57,9 @@ public class AgreementProductCosts {
     @ApiModelProperty(value = "其他费用比例(非车)")
     private String noCarOtherCostsProportion;
 
+    @ApiModelProperty(value = "非车手续费比例")
+    private String noCostsExportProportion;
+
     @ApiModelProperty(value = "费用描述")
     private String costsDescription;
 

+ 9 - 0
src/main/java/com/ydtech/modules/protocols/entity/vo/AgreementProductCostsSave.java

@@ -96,6 +96,9 @@ public class AgreementProductCostsSave {
     @ApiModelProperty(value = "交强出口加投比例")
     private String jqExportInvestmentRadio;
 
+    @ApiModelProperty(value = "交强出口手续费比例")
+    private String jqCostsExportProportion;
+
     @ApiModelProperty(value = "商业出口比例一级")
     private String syExportRadioLevel1;
 
@@ -114,6 +117,9 @@ public class AgreementProductCostsSave {
     @ApiModelProperty(value = "商业出口加投比例")
     private String syExportInvestmentRadio;
 
+    @ApiModelProperty(value = "商业出口手续费比例")
+    private String syCostsExportProportion;
+
     @ApiModelProperty(value = "非车出口比例一级")
     private String noCarExportRadioLevel1;
 
@@ -132,6 +138,9 @@ public class AgreementProductCostsSave {
     @ApiModelProperty(value = "非车出口加投比例")
     private String noCarExportInvestmentRadio;
 
+    @ApiModelProperty(value = "非车出口手续费比例")
+    private String noCostsExportProportion;
+
 
 
 

+ 9 - 0
src/main/java/com/ydtech/modules/protocols/entity/vo/AgreementProductQueryVo.java

@@ -1,9 +1,18 @@
 package com.ydtech.modules.protocols.entity.vo;
 
 import com.ydtech.core.page.PageRequest;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 @Data
 public class AgreementProductQueryVo extends PageRequest {
+    @ApiModelProperty(value = "协议id")
     private String agreementId;
+
+    @ApiModelProperty(value = "是否审核")
+    private String isAudit;
+
+    @ApiModelProperty(value = "产品id")
+    private String productCode;
 }

+ 28 - 0
src/main/java/com/ydtech/modules/protocols/entity/vo/CostsAuditVo.java

@@ -0,0 +1,28 @@
+package com.ydtech.modules.protocols.entity.vo;
+
+import com.ydtech.modules.protocols.entity.po.PtlAgreementProductCostsAttrLink;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.joda.time.DateTime;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+@Data
+public class CostsAuditVo {
+
+    @ApiModelProperty(value = "费用id")
+    private String costsId;
+
+    @ApiModelProperty(value = "是否审核")
+    private Integer isAudit;
+
+    @ApiModelProperty(value = "驳回信息")
+    private String reject;
+
+    @ApiModelProperty(value = "审核人")
+    private String auditPerson;
+
+    @ApiModelProperty(value = "审核时间")
+    private DateTime auditTime;
+}

+ 19 - 2
src/main/java/com/ydtech/modules/protocols/service/PtlAgreementProductCostsNewService.java

@@ -6,6 +6,8 @@ import com.ydtech.modules.protocols.entity.po.PtlAgreementProductCostsNew;
 import com.ydtech.modules.protocols.entity.po.PtlAgreementUndwrtRulesAttr;
 import com.ydtech.modules.protocols.entity.vo.AgreementProductCosts;
 import com.ydtech.modules.protocols.entity.vo.AgreementProductCostsSave;
+import com.ydtech.modules.protocols.entity.vo.AgreementProductQueryVo;
+import com.ydtech.modules.protocols.entity.vo.CostsAuditVo;
 
 import java.util.List;
 import java.util.Map;
@@ -20,10 +22,10 @@ public interface PtlAgreementProductCostsNewService extends IService<PtlAgreemen
     /**
      * 获取协议费用列表
      * @param page
-     * @param agreementId
+     * @param agreementProductQueryVo
      * @return
      */
-    Page<PtlAgreementProductCostsNew> getByAgreementId(Page page, String agreementId);
+    Page<PtlAgreementProductCostsNew> getByAgreementId(Page page, AgreementProductQueryVo agreementProductQueryVo);
 
     /**
      * 获取协议费用
@@ -57,4 +59,19 @@ public interface PtlAgreementProductCostsNewService extends IService<PtlAgreemen
      * @return
      */
     boolean costsDelete(String costsId);
+
+    /**
+     * 复制协议费用
+     * @param orgCostsId
+     * @param newAgreementId
+     * @return
+     */
+    boolean costsCopy(String orgCostsId,String newAgreementId);
+
+    /**
+     * 费用审核
+     * @param costsAuditVo
+     * @return
+     */
+    boolean costsAudit(CostsAuditVo costsAuditVo);
 }

+ 63 - 3
src/main/java/com/ydtech/modules/protocols/service/impl/PtlAgreementProductCostsNewServiceImpl.java

@@ -11,6 +11,8 @@ import com.ydtech.modules.protocols.dao.PtlAgreementProductCostsNewMapper;
 import com.ydtech.modules.protocols.entity.po.*;
 import com.ydtech.modules.protocols.entity.vo.AgreementProductCosts;
 import com.ydtech.modules.protocols.entity.vo.AgreementProductCostsSave;
+import com.ydtech.modules.protocols.entity.vo.AgreementProductQueryVo;
+import com.ydtech.modules.protocols.entity.vo.CostsAuditVo;
 import com.ydtech.modules.protocols.service.*;
 import com.ydtech.utils.idgen.IdGenerate;
 import org.springframework.beans.BeanUtils;
@@ -51,9 +53,20 @@ public class PtlAgreementProductCostsNewServiceImpl extends ServiceImpl<PtlAgree
     PtlAgreementProductCostsAttrLinkHistoryService ptlAgreementProductCostsAttrLinkHistoryService;
 
     @Override
-    public Page<PtlAgreementProductCostsNew> getByAgreementId(Page page, String agreementId) {
-        Page<PtlAgreementProductCostsNew> pages = baseMapper.selectPage(page, new LambdaQueryWrapper<PtlAgreementProductCostsNew>()
-                .eq(PtlAgreementProductCostsNew::getAgreementId, agreementId));
+    public Page<PtlAgreementProductCostsNew> getByAgreementId(Page page, AgreementProductQueryVo agreementProductQueryVo) {
+        LambdaQueryWrapper<PtlAgreementProductCostsNew> ptlAgreementProductCostsNewLambdaQueryWrapper = new LambdaQueryWrapper<>();
+        ptlAgreementProductCostsNewLambdaQueryWrapper.eq(PtlAgreementProductCostsNew::getAgreementId, agreementProductQueryVo.getAgreementId());
+        //审核条件
+        if(agreementProductQueryVo.getIsAudit() != null){
+            ptlAgreementProductCostsNewLambdaQueryWrapper.eq(PtlAgreementProductCostsNew::getIsAudit, agreementProductQueryVo.getIsAudit());
+        }
+
+        //产品code
+        if(agreementProductQueryVo.getProductCode() != null){
+            ptlAgreementProductCostsNewLambdaQueryWrapper.eq(PtlAgreementProductCostsNew::getProductId, agreementProductQueryVo.getProductCode());
+        }
+
+        Page<PtlAgreementProductCostsNew> pages = baseMapper.selectPage(page, ptlAgreementProductCostsNewLambdaQueryWrapper);
 
 //                .lt(PtlAgreementProductCostsNew::getCostsStartDate, formattedDateTime)
 //                .gt(PtlAgreementProductCostsNew::getCostsEndDate, formattedDateTime));
@@ -62,6 +75,9 @@ public class PtlAgreementProductCostsNewServiceImpl extends ServiceImpl<PtlAgree
         pages.getRecords().forEach(x -> {
             ids.add(x.getId());
         });
+        if(ids.isEmpty()){
+            return pages;
+        }
         //获取出口比例
         List<PtlAgreementProductCostsExport> ptlAgreementProductCostsExports = ptlAgreementProductCostsExportService.list(new LambdaQueryWrapper<PtlAgreementProductCostsExport>()
                 .in(PtlAgreementProductCostsExport::getCostsId, ids));
@@ -576,4 +592,48 @@ public class PtlAgreementProductCostsNewServiceImpl extends ServiceImpl<PtlAgree
 
         return true;
     }
+
+    /**
+     * 复制协议费用
+     * @param orgCostsId  原始的费用id
+     * @param newAgreementId  需要复制的协议id
+     * @return
+     */
+    @Transactional
+    @Override
+    public boolean costsCopy(String orgCostsId, String newAgreementId) {
+        AgreementProductCosts agreementProductCosts = new AgreementProductCosts();
+        //设置主表信息
+        PtlAgreementProductCostsNew ptlAgreementProductCostsNew = baseMapper.selectById(orgCostsId);
+        ptlAgreementProductCostsNew.setAgreementId(newAgreementId);
+        BeanUtils.copyProperties(ptlAgreementProductCostsNew, agreementProductCosts);
+
+
+        //设置管理比例信息
+        PtlAgreementProductCostsExport ptlAgreementProductCostsExport = ptlAgreementProductCostsExportService.getOne(new LambdaQueryWrapper<PtlAgreementProductCostsExport>().eq(PtlAgreementProductCostsExport::getCostsId, orgCostsId));
+        BeanUtils.copyProperties(ptlAgreementProductCostsExport, agreementProductCosts);
+        ptlAgreementProductCostsExport.setId("0");
+
+        //设置费用因子信息
+        List<PtlAgreementProductCostsAttrLink> ptlAgreementProductCostsAttrLink = ptlAgreementProductCostsAttrLinkService.list(new LambdaQueryWrapper<PtlAgreementProductCostsAttrLink>().eq(PtlAgreementProductCostsAttrLink::getCostsId, orgCostsId));
+        agreementProductCosts.setCostsAttrLinks(ptlAgreementProductCostsAttrLink);
+        agreementProductCosts.setId("0");
+
+        this.costsAdd(agreementProductCosts);
+
+        return true;
+    }
+
+
+    @Override
+    public boolean costsAudit(CostsAuditVo costsAuditVo){
+        PtlAgreementProductCostsNew ptlAgreementProductCostsNew = this.getById(costsAuditVo.getCostsId());
+        if(ptlAgreementProductCostsNew == null){
+            throw new SystemException("费用不存在");
+        }
+        ptlAgreementProductCostsNew.setIsAudit(costsAuditVo.getIsAudit());
+        ptlAgreementProductCostsNew.setAuditPerson(BaseController.getUser().getId());
+        ptlAgreementProductCostsNew.setAuditTime(LocalDateTime.now());
+        return baseMapper.updateById(ptlAgreementProductCostsNew) > 0 ? true : false;
+    }
 }