Kaynağa Gözat

Merge remote-tracking branch 'origin/test' into test

wks 1 yıl önce
ebeveyn
işleme
cc50bb20bc

+ 12 - 9
src/main/java/com/ydtech/modules/protocol/controller/PtlAgreementController.java

@@ -3,21 +3,14 @@ package com.ydtech.modules.protocol.controller;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ydtech.core.page.HttpResult;
-import com.ydtech.core.page.PageRequest;
 import com.ydtech.core.page.PageResult;
 import com.ydtech.modules.base.controller.BaseController;
-import com.ydtech.modules.inv.model.InvAccountProfit;
-import com.ydtech.modules.protocol.entity.dto.PltAgreementSchemeSaveDto;
-import com.ydtech.modules.protocol.entity.dto.PtlAgreementUndwrtRulesSaveDto;
 import com.ydtech.modules.protocol.entity.po.PtlAgreement;
 import com.ydtech.modules.protocol.entity.po.PtlAgreementNonCarProductCosts;
 import com.ydtech.modules.protocol.entity.po.PtlAgreementProductCosts;
 import com.ydtech.modules.protocol.entity.po.PtlAgreementUndwrtRules;
 import com.ydtech.modules.protocol.entity.vo.*;
-import com.ydtech.modules.protocol.service.PtlAgreementNonCarProductCostsService;
-import com.ydtech.modules.protocol.service.PtlAgreementProductCostsService;
-import com.ydtech.modules.protocol.service.PtlAgreementService;
-import com.ydtech.modules.protocol.service.PtlAgreementUndwrtRulesService;
+import com.ydtech.modules.protocol.service.*;
 import com.ydtech.modules.protocol.utils.AssertionUtils;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiModelProperty;
@@ -51,12 +44,17 @@ public class PtlAgreementController extends BaseController {
 
     private final PtlAgreementNonCarProductCostsService ptlAgreementNonCarProductCostsService;
 
+    private final PtlAgreementTrajectoryService ptlAgreementTrajectoryService;
+
     public PtlAgreementController(PtlAgreementService ptlAgreementService, PtlAgreementUndwrtRulesService ptlAgreementUndwrtRulesService,
-                                  PtlAgreementProductCostsService ptlAgreementProductCostsService, PtlAgreementNonCarProductCostsService ptlAgreementNonCarProductCostsService) {
+                                  PtlAgreementProductCostsService ptlAgreementProductCostsService,
+                                  PtlAgreementNonCarProductCostsService ptlAgreementNonCarProductCostsService,
+                                  PtlAgreementTrajectoryService ptlAgreementTrajectoryService) {
         this.ptlAgreementService = ptlAgreementService;
         this.ptlAgreementProductCostsService = ptlAgreementProductCostsService;
         this.ptlAgreementUndwrtRulesService = ptlAgreementUndwrtRulesService;
         this.ptlAgreementNonCarProductCostsService = ptlAgreementNonCarProductCostsService;
+        this.ptlAgreementTrajectoryService = ptlAgreementTrajectoryService;
     }
 
     @PostMapping("/page")
@@ -242,4 +240,9 @@ public class PtlAgreementController extends BaseController {
         return ptlAgreementService.getAgreementCopy(ptlAgreementVo);
     }
 
+    @PostMapping("/agreementTrajectory")
+    @ApiOperation("协议轨迹")
+    public HttpResult getAgreementTrajectory(@RequestBody PtlAgreementVo ptlAgreementVo) {
+        return ptlAgreementTrajectoryService.getAgreementTrajectory(ptlAgreementVo);
+    }
 }

+ 12 - 0
src/main/java/com/ydtech/modules/protocol/dao/PtlAgreementTrajectoryMapper.java

@@ -0,0 +1,12 @@
+package com.ydtech.modules.protocol.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ydtech.modules.protocol.entity.po.PtlAgreementTrajectory;
+import com.ydtech.modules.protocol.entity.vo.PtlAgreementVo;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+public interface PtlAgreementTrajectoryMapper extends BaseMapper<PtlAgreementTrajectory> {
+    List<PtlAgreementTrajectory> getAgreementTrajectory(@Param("ptlAgreementVo") PtlAgreementVo ptlAgreementVo);
+}

+ 32 - 0
src/main/java/com/ydtech/modules/protocol/entity/po/PtlAgreementTrajectory.java

@@ -0,0 +1,32 @@
+package com.ydtech.modules.protocol.entity.po;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+@TableName(value = "ptl_agreement_trajectory")
+@Data
+public class PtlAgreementTrajectory implements Serializable {
+    @TableId(value = "id")
+    private String id;
+
+    @TableField(value = "agreement_id")
+    private String agreementId;
+
+    @TableField(value = "readme")
+    private String readme;
+
+    @TableField(value = "create_time")
+    private LocalDateTime createTime;
+
+    @TableField(value = "create_by")
+    private String createBy;
+
+    @TableField(exist = false)
+    private String createName;
+
+}

+ 11 - 0
src/main/java/com/ydtech/modules/protocol/service/PtlAgreementTrajectoryService.java

@@ -0,0 +1,11 @@
+package com.ydtech.modules.protocol.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ydtech.core.page.HttpResult;
+import com.ydtech.modules.protocol.entity.po.PtlAgreementTrajectory;
+import com.ydtech.modules.protocol.entity.vo.PtlAgreementVo;
+
+
+public interface PtlAgreementTrajectoryService extends IService<PtlAgreementTrajectory> {
+    HttpResult getAgreementTrajectory(PtlAgreementVo ptlAgreementVo);
+}

+ 29 - 2
src/main/java/com/ydtech/modules/protocol/service/impl/PtlAgreementServiceImpl.java

@@ -79,6 +79,8 @@ public class PtlAgreementServiceImpl extends ServiceImpl<PtlAgreementMapper, Ptl
 
     private final PtlAgreementAttributionHistoryService ptlAgreementAttributionHistoryService;
 
+    private final PtlAgreementTrajectoryService ptlAgreementTrajectoryService;
+
     @Autowired
     private PtlAgreementDeptHistoryService ptlAgreementDeptHistoryService;
 
@@ -102,7 +104,8 @@ public class PtlAgreementServiceImpl extends ServiceImpl<PtlAgreementMapper, Ptl
                                    PtlAgreementHistoryService ptlAgreementHistoryService,
                                    PtlAgreementProductCostsHistoryService ptlAgreementProductCostsHistoryService,
                                    PtlAgreementUndwrtRulesHistoryService ptlAgreementUndwrtRulesHistoryService,
-                                   PtlAgreementAttributionHistoryService ptlAgreementAttributionHistoryService) {
+                                   PtlAgreementAttributionHistoryService ptlAgreementAttributionHistoryService,
+                                   PtlAgreementTrajectoryService ptlAgreementTrajectoryService) {
         this.ptlAgreementProductCostsService = ptlAgreementProductCostsService;
         this.ptlAgreementAttributionService = ptlAgreementAttributionService;
         this.ptlAgreementDeptService = ptlAgreementDeptService;
@@ -116,6 +119,7 @@ public class PtlAgreementServiceImpl extends ServiceImpl<PtlAgreementMapper, Ptl
         this.ptlAgreementProductCostsHistoryService = ptlAgreementProductCostsHistoryService;
         this.ptlAgreementUndwrtRulesHistoryService = ptlAgreementUndwrtRulesHistoryService;
         this.ptlAgreementAttributionHistoryService = ptlAgreementAttributionHistoryService;
+        this.ptlAgreementTrajectoryService = ptlAgreementTrajectoryService;
     }
 
 
@@ -208,6 +212,14 @@ public class PtlAgreementServiceImpl extends ServiceImpl<PtlAgreementMapper, Ptl
         ptlAgreement.setCreateTime(LocalDateTime.now());
         ptlAgreement.setDeleted(0);
         save(ptlAgreement);
+        // 新增协议轨迹
+        PtlAgreementTrajectory ptlAgreementTrajectory = new PtlAgreementTrajectory();
+        ptlAgreementTrajectory.setId(IdGenerate.nextId());
+        ptlAgreementTrajectory.setAgreementId(ptlAgreement.getId());
+        ptlAgreementTrajectory.setReadme("添加协议");
+        ptlAgreementTrajectory.setCreateTime(LocalDateTime.now());
+        ptlAgreementTrajectory.setCreateBy(userName);
+        ptlAgreementTrajectoryService.save(ptlAgreementTrajectory);
         // 新增协议后按序号重新排序
         List<PtlAgreement> updateList = new ArrayList<>();
         List<PtlAgreement> list = ptlAgreementMapper.selectList(new QueryWrapper<PtlAgreement>()
@@ -681,7 +693,7 @@ public class PtlAgreementServiceImpl extends ServiceImpl<PtlAgreementMapper, Ptl
         ptlAgreement.setUpdateTime(LocalDateTime.now());
         //add by hxl  2024-06-12 修改协议改为可以更新null的判断
         boolean b = ptlAgreementMapper.updateWithNull(ptlAgreement);
-
+        // 修改协议序号
         List<PtlAgreement> updateList = new ArrayList<>();
         List<PtlAgreement> list = ptlAgreementMapper.selectList(new QueryWrapper<PtlAgreement>()
                         .ge("serial_number", ptlAgreement.getSerialNumber())
@@ -698,6 +710,14 @@ public class PtlAgreementServiceImpl extends ServiceImpl<PtlAgreementMapper, Ptl
         // 修改协议
         //boolean b = updateById(ptlAgreement);
         AssertionUtils.isSucceed(b, "协议信息修改失败");
+        //添加协议修改轨迹
+        PtlAgreementTrajectory ptlAgreementTrajectory = new PtlAgreementTrajectory();
+        ptlAgreementTrajectory.setId(IdGenerate.nextId());
+        ptlAgreementTrajectory.setAgreementId(agreementId);
+        ptlAgreementTrajectory.setReadme("修改协议");
+        ptlAgreementTrajectory.setCreateTime(LocalDateTime.now());
+        ptlAgreementTrajectory.setCreateBy(userName);
+        ptlAgreementTrajectoryService.save(ptlAgreementTrajectory);
         // 关联表都是先删除后添加
         proxyObject.deleteAssociationInformationExcludeCosts(agreementId);
         // 提交 账号信息 授权部门
@@ -975,6 +995,13 @@ public class PtlAgreementServiceImpl extends ServiceImpl<PtlAgreementMapper, Ptl
         newPtlAgreement.setPartnerCompaniesId(ptlAgreement.getPartnerCompaniesId());
         newPtlAgreement.generateTheProtocolCode();
         save(newPtlAgreement);
+        PtlAgreementTrajectory ptlAgreementTrajectory = new PtlAgreementTrajectory();
+        ptlAgreementTrajectory.setId(IdGenerate.nextId());
+        ptlAgreementTrajectory.setAgreementId(newPtlAgreement.getId());
+        ptlAgreementTrajectory.setReadme("添加协议");
+        ptlAgreementTrajectory.setCreateTime(LocalDateTime.now());
+        ptlAgreementTrajectory.setCreateBy(BaseController.getUserId());
+        ptlAgreementTrajectoryService.save(ptlAgreementTrajectory);
         return HttpResult.ok("协议复制成功");
     }
 

+ 18 - 0
src/main/java/com/ydtech/modules/protocol/service/impl/PtlAgreementTrajectoryServiceImpl.java

@@ -0,0 +1,18 @@
+package com.ydtech.modules.protocol.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ydtech.core.page.HttpResult;
+import com.ydtech.modules.protocol.dao.PtlAgreementTrajectoryMapper;
+import com.ydtech.modules.protocol.entity.po.PtlAgreementTrajectory;
+import com.ydtech.modules.protocol.entity.vo.PtlAgreementVo;
+import com.ydtech.modules.protocol.service.PtlAgreementTrajectoryService;
+import org.springframework.stereotype.Service;
+
+
+@Service
+public class PtlAgreementTrajectoryServiceImpl extends ServiceImpl<PtlAgreementTrajectoryMapper, PtlAgreementTrajectory> implements PtlAgreementTrajectoryService {
+    @Override
+    public HttpResult getAgreementTrajectory(PtlAgreementVo ptlAgreementVo) {
+        return HttpResult.ok(baseMapper.getAgreementTrajectory(ptlAgreementVo));
+    }
+}

+ 1 - 3
src/main/java/com/ydtech/modules/protocols/entity/vo/AgreementProductQueryVo.java

@@ -1,11 +1,9 @@
 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;
 
-import java.time.LocalDate;
 import java.util.List;
 
 @Data
@@ -44,7 +42,7 @@ public class AgreementProductQueryVo extends PageRequest {
     private String desc;
 
     @ApiModelProperty(value = "费用描述")
-    private String costsDescription;
+    private String[] costsDescription;
 
     @ApiModelProperty(value = "是否是外部协议")
     private Integer isExternal;

+ 13 - 15
src/main/java/com/ydtech/modules/protocols/service/impl/PtlAgreementProductCostsNewServiceImpl.java

@@ -1,7 +1,5 @@
 package com.ydtech.modules.protocols.service.impl;
 
-import cn.dev33.satoken.session.SaSession;
-import cn.dev33.satoken.stp.StpUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -12,28 +10,21 @@ import com.ydtech.modules.admin.service.SysSwitchConfigService;
 import com.ydtech.modules.admin.service.SysUserService;
 import com.ydtech.modules.base.controller.BaseController;
 import com.ydtech.modules.esm.model.EsmRetail;
-import com.ydtech.modules.esm.model.EsmUserReferrer;
 import com.ydtech.modules.esm.service.EsmRetailService;
 import com.ydtech.modules.fee.dto.vo.ReCalcuLateProportion;
 import com.ydtech.modules.fee.dto.vo.RetailProportion;
-import com.ydtech.modules.fee.dto.vo.RetailStoreFee;
 import com.ydtech.modules.fee.service.CostsCalcService;
 import com.ydtech.modules.fee.service.FeeRuleSchemeNewService;
 import com.ydtech.modules.fee.service.FeeRuleSchemeService;
-import com.ydtech.modules.fee.service.InsFeeOrderConfigService;
 import com.ydtech.modules.fee.service.impl.InsFeeOrderConfigServiceImpl;
 import com.ydtech.modules.fnc.entity.InsFeeAuditHistory;
 import com.ydtech.modules.fnc.service.InsFeeAuditHistoryService;
-import com.ydtech.modules.fnc.service.InsFeeAuditService;
 import com.ydtech.modules.order.entity.InsAreaCompany;
 import com.ydtech.modules.order.entity.InsOrders;
-import com.ydtech.modules.order.entity.InsOrdersTrack;
-import com.ydtech.modules.order.entity.vo.DistributionLevelVo;
 import com.ydtech.modules.order.entity.vo.FeeOrderNewRecordVo;
 import com.ydtech.modules.order.entity.vo.FeeOrderNewVo;
 import com.ydtech.modules.order.service.InsAreaCompanyService;
 import com.ydtech.modules.order.service.InsOrdersService;
-import com.ydtech.modules.order.service.InsOrdersTrackService;
 import com.ydtech.modules.protocol.entity.po.PtlAgreement;
 import com.ydtech.modules.protocol.entity.po.PtlAreaLicense;
 import com.ydtech.modules.protocol.service.PtlAgreementService;
@@ -51,10 +42,8 @@ import org.springframework.transaction.annotation.Transactional;
 import java.math.BigDecimal;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
+import java.util.*;
+import java.util.function.Consumer;
 import java.util.stream.Collectors;
 
 /**
@@ -148,9 +137,18 @@ public class PtlAgreementProductCostsNewServiceImpl extends ServiceImpl<PtlAgree
         }
 
         //费用描述
-        if (agreementProductQueryVo.getCostsDescription() != null) {
-            ptlAgreementProductCostsNewLambdaQueryWrapper.like(PtlAgreementProductCostsNew::getCostsDescription, agreementProductQueryVo.getCostsDescription());
+        if (agreementProductQueryVo.getCostsDescription() != null && agreementProductQueryVo.getCostsDescription().length > 0) {
+            Consumer<LambdaQueryWrapper<PtlAgreementProductCostsNew>> subQueryConsumer = query -> {
+                for (String keyword : agreementProductQueryVo.getCostsDescription()) {
+                    query.and(w -> w.like(PtlAgreementProductCostsNew::getCostsDescription, "%" + keyword + "%"));
+                }
+            };
+
+            ptlAgreementProductCostsNewLambdaQueryWrapper.and(subQueryConsumer);
         }
+//        if (agreementProductQueryVo.getCostsDescription() != null) {
+//            ptlAgreementProductCostsNewLambdaQueryWrapper.like(PtlAgreementProductCostsNew::getCostsDescription, agreementProductQueryVo.getCostsDescription());
+//        }
         //降序排列
         ptlAgreementProductCostsNewLambdaQueryWrapper.orderByDesc(PtlAgreementProductCostsNew::getId);
 

+ 2 - 2
src/main/resources/mapper/modules/order/InsAreaCompanyMapper.xml

@@ -156,7 +156,7 @@
         iac.createtime,
         io.frameno,
         io.licenseno,
-        io.insuredname,
+        JSON_UNQUOTE(json_extract(io.insureinfo, '$.name')) as insuredname,
         io.is_external,
         iac.jq_start_date as jqstartdate,
         iac.jq_end_date as jqenddate,
@@ -214,7 +214,7 @@
             AND io.frameno = #{params.frameNo}
         </if>
         <if test="params.insuredName != null and params.insuredName != ''">
-            AND io.insuredname = #{params.insuredName}
+            AND json_extract(io.insureinfo, '$.name') = #{params.insuredName}
         </if>
         <if test="params.companyId != null and params.companyId != ''">
             AND io.company_id = #{params.companyId}

+ 37 - 0
src/main/resources/mapper/modules/protocol/PtlAgreementTrajectoryMapper.xml

@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ydtech.modules.protocol.dao.PtlAgreementTrajectoryMapper">
+    <resultMap id="BaseResultMap" type="com.ydtech.modules.protocol.entity.po.PtlAgreementTrajectory">
+        <id property="id" column="id" jdbcType="VARCHAR"/>
+        <result property="agreementId" column="agreement_id" jdbcType="VARCHAR"/>
+        <result property="readme" column="readme" jdbcType="VARCHAR"/>
+        <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
+        <result property="createBy" column="create_by" jdbcType="VARCHAR"/>
+        <result property="createName" column="createName" jdbcType="TIMESTAMP"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id, agreement_id, readme, create_time, create_by, createName
+    </sql>
+
+    <select id="getAgreementTrajectory" resultMap="BaseResultMap">
+        select
+            a.id,
+            a.agreement_id,
+            a.readme,
+            a.create_time,
+            a.create_by,
+            b.name as createName
+        from
+        ptl_agreement_trajectory a
+        left join
+            sys_user b on a.create_by = b.id
+        where
+            a.agreement_id =#{ptlAgreementVo.id}
+        order by a.create_time asc
+    </select>
+
+
+</mapper>

+ 6 - 2
src/main/resources/mapper/modules/protocols/PtlAgreementProductCostsNewMapper.xml

@@ -22,8 +22,12 @@
         <if test="params.isAudit != null and params.isAudit != ''">
             AND papcn.is_audit = #{params.isAudit}
         </if>
-        <if test="params.costsDescription != null and params.costsDescription != ''">
-            AND papcn.costs_description like concat('%',#{params.costsDescription},'%')
+        <if test="params.costsDescription != null and params.costsDescription.length > 0">
+            AND (
+            <foreach item="item" index="index" collection="params.costsDescription" open="" separator=" AND " close="">
+                papcn.costs_description LIKE CONCAT('%', #{item}, '%')
+            </foreach>
+            )
         </if>
         <if test="params.productCode != null and params.productCode.size() > 0">
             AND papcn.product_id in