Procházet zdrojové kódy

协议历史记录详情

haoyu před 2 roky
rodič
revize
2f7d8ea113

+ 42 - 8
src/main/java/com/ydtech/modules/admin/service/impl/SysDeptServiceImpl.java

@@ -187,26 +187,60 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept>
     @Override
     @Transactional
     public HttpResult updateDept(SysDept record) {
-        // 查询当前部门序号是否存在
+        // 查询修改的序号是否存在
         LambdaQueryWrapper<SysDept> qw = new LambdaQueryWrapper<>();
         qw.eq(SysDept::getDelFlag, 0);  // 删除标志为未删除
         qw.eq(SysDept::getParentId, record.getParentId()); // 父级部门ID相同
         qw.eq(SysDept::getOrderNum, record.getOrderNum());  // 排序号相同
         boolean exists = baseMapper.exists(qw);
+        //不存在则直接修改
+        if (!exists) {
+            baseMapper.updateById(record);
+            return HttpResult.ok();
+        }
 
-        if (exists){
-            // 如果存在,查询该父级部门下排序号大于当前部门的部门列表
+        //查询机构
+        SysDept sysDept = getById(record.getId());
+        //原本的序号
+        Integer orderNum = sysDept.getOrderNum();
+        //本次修改的序号
+        Integer newOrderNum = record.getOrderNum();
+        // 向上换位
+        if (newOrderNum < orderNum) {
+            // 查询该父级部门下排序号大于当前部门的部门列表
             LambdaQueryWrapper<SysDept> lqw = new LambdaQueryWrapper<>();
             lqw.eq(SysDept::getDelFlag, 0); // 删除标志为未删除
             lqw.eq(SysDept::getParentId, record.getParentId()); // 父级部门ID相同
             lqw.ge(SysDept::getOrderNum, record.getOrderNum());  // 排序号大于等于当前部门
             List<SysDept> sysDeptList = list(lqw);
-            sysDeptList.forEach(i -> {
-                i.setOrderNum(i.getOrderNum() + 1);
-                updateById(i);
-            });
+            sysDeptList.sort(Comparator.comparing(SysDept::getOrderNum));
+            for (SysDept dept : sysDeptList) {
+                dept.setOrderNum(dept.getOrderNum() + 1);
+                updateById(dept);
+                if (dept.getOrderNum().equals(orderNum)) {
+                    break;
+                }
+            }
+           baseMapper.updateById(record);
+        }
+        //向下换位
+        if (newOrderNum > orderNum) {
+            // 查询该父级部门下排序号小于当前部门的部门列表
+            LambdaQueryWrapper<SysDept> lqw = new LambdaQueryWrapper<>();
+            lqw.eq(SysDept::getDelFlag, 0); // 删除标志为未删除
+            lqw.eq(SysDept::getParentId, record.getParentId()); // 父级部门ID相同
+            lqw.le(SysDept::getOrderNum, record.getOrderNum());  // 排序号大于等于当前部门
+            List<SysDept> sysDeptList = list(lqw);
+            sysDeptList.sort(Comparator.comparing(SysDept::getOrderNum).reversed());
+            for (SysDept dept : sysDeptList) {
+                dept.setOrderNum(dept.getOrderNum() - 1);
+                updateById(dept);
+                if (dept.getOrderNum().equals(orderNum)) {
+                    break;
+                }
+            }
+            baseMapper.updateById(record);
         }
-        baseMapper.updateById(record);
         return HttpResult.ok();
     }
 

+ 19 - 1
src/main/java/com/ydtech/modules/protocol/controller/PtlAgreementHistoryController.java

@@ -20,6 +20,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.HashMap;
 import java.util.List;
 
 /**
@@ -48,11 +49,28 @@ public class PtlAgreementHistoryController extends BaseController {
     @ApiOperation("分页查询协议历史")
     public HttpResult<PageResult> agreementHistoryPage(@RequestBody PtlAgreementProductQueryVo ptlAgreementProductQueryVo) {
         Page page = buildPageRequest(ptlAgreementProductQueryVo.getPageDto());
-        Page<PtlAgreementHistoryConvertQueryVo> ptlAgreementPage = ptlAgreementHistoryService.pageHistory(page,ptlAgreementProductQueryVo.getAgreementId());
+        Page<PtlAgreementHistoryConvertQueryVo> ptlAgreementPage = ptlAgreementHistoryService.pageHistory(page, ptlAgreementProductQueryVo);
 
         return HttpResult.ok(buildPageResponse(ptlAgreementPage));
     }
 
+
+    @GetMapping("/getDetail/{batchNo}")
+    @ApiOperation("协议历史记录详情")
+    public HttpResult<HashMap<String, Object>> getAgreementHistoryDetail(@PathVariable String batchNo) {
+        HashMap<String, Object> historyDetail = ptlAgreementHistoryService.getHistoryDetail(batchNo);
+        return HttpResult.ok(historyDetail);
+    }
+
+
+//    @GetMapping("/agreementHistoryComparison/{batchNo}")
+//    @ApiOperation("协议历史记录比对")
+//    public HttpResult<HashMap<String, Object>> agreementHistoryComparison(@PathVariable String batchNo) {
+//        HashMap<String, Object> newHistory = ptlAgreementHistoryService.agreementComparison(batchNo);
+//        return HttpResult.ok(newHistory);
+//    }
+
+
     @PostMapping("costsHistoryPage")
     @ApiOperation("查询费用历史记录")
     public HttpResult<PageResult> costsHistoryPage(@RequestBody PtlAgreementProductQueryVo ptlAgreementProductCostsHistory) {

+ 2 - 1
src/main/java/com/ydtech/modules/protocol/dao/PtlAgreementHistoryMapper.java

@@ -3,6 +3,7 @@ package com.ydtech.modules.protocol.dao;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ydtech.modules.protocol.entity.po.PtlAgreementHistory;
+import com.ydtech.modules.protocol.entity.vo.PtlAgreementProductQueryVo;
 
 import java.util.HashMap;
 import java.util.List;
@@ -15,7 +16,7 @@ import java.util.List;
  * @Entity com.ydtech.modules.protocol.entity.po.PtlAgreement
  */
 public interface PtlAgreementHistoryMapper extends BaseMapper<PtlAgreementHistory> {
-    Page<HashMap> pageHistory(Page page, String agreementId);
+    Page<HashMap> pageHistory(Page page, PtlAgreementProductQueryVo vo);
 
 }
 

+ 27 - 0
src/main/java/com/ydtech/modules/protocol/entity/vo/PtlAgreementPageVo.java

@@ -16,12 +16,36 @@ public class PtlAgreementPageVo extends BasePageVO {
 
     private static final long serialVersionUID = 2575020753576017621L;
 
+    @ApiModelProperty("协议时间 开始")
+    private LocalDate agreementStartDate;
+
+    @ApiModelProperty("协议时间 结束")
+    private LocalDate agreementEndDate;
+
     @ApiModelProperty("录入时间 开始")
     private LocalDate startDate;
 
     @ApiModelProperty("录入时间 结束")
     private LocalDate endDate;
 
+    @ApiModelProperty("录入用户")
+    private String creator;
+
+    @ApiModelProperty("修改时间 开始")
+    private LocalDate updateStarTime;
+
+    @ApiModelProperty("修改时间 结束")
+    private LocalDate updateEndTime;
+
+    @ApiModelProperty("修改人")
+    private String modifiedBy;
+
+    @ApiModelProperty("省市区")
+    private String areaCode;
+
+    @ApiModelProperty("省市区等级")
+    private String level;
+
     @ApiModelProperty("合作公司id")
     private String partnerCompaniesId;
 
@@ -34,4 +58,7 @@ public class PtlAgreementPageVo extends BasePageVO {
     @ApiModelProperty("供应商类型")
     private Integer companiesType;
 
+    @ApiModelProperty("协议类型 1 平台 2 私有 3 网销")
+    private Integer agreementType;
+
 }

+ 6 - 10
src/main/java/com/ydtech/modules/protocol/service/PtlAgreementHistoryService.java

@@ -2,18 +2,10 @@ package com.ydtech.modules.protocol.service;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.ydtech.core.page.HttpResult;
-import com.ydtech.core.page.PageResult;
-import com.ydtech.modules.esm.model.EsmInsCompany;
-import com.ydtech.modules.protocol.entity.dto.PtlAgreementAttributionDto;
-import com.ydtech.modules.protocol.entity.dto.PtlAgreementInsCompanyDto;
-import com.ydtech.modules.protocol.entity.dto.PtlAgreementSaveDto;
-import com.ydtech.modules.protocol.entity.dto.history.PtlAgreementHistorySaveDto;
-import com.ydtech.modules.protocol.entity.po.PtlAgreement;
 import com.ydtech.modules.protocol.entity.po.PtlAgreementHistory;
 import com.ydtech.modules.protocol.entity.vo.*;
 
-import java.util.List;
+import java.util.HashMap;
 
 /**
  * @author wenks
@@ -24,5 +16,9 @@ public interface PtlAgreementHistoryService extends IService<PtlAgreementHistory
 
     boolean saveAgreementHistory(PtlAgreementHistory ptlAgreementHistory);
 
-    Page<PtlAgreementHistoryConvertQueryVo> pageHistory(Page page, String agreementId);
+    Page<PtlAgreementHistoryConvertQueryVo> pageHistory(Page page, PtlAgreementProductQueryVo ptlAgreementProductQueryVo);
+
+    HashMap<String, Object> getHistoryDetail(String batchNo);
+
+//    HashMap<String, Object> agreementComparison(String batchNo);
 }

+ 68 - 31
src/main/java/com/ydtech/modules/protocol/service/impl/PtlAgreementHistoryServiceImpl.java

@@ -5,45 +5,17 @@ import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ydtech.config.DictEnumConfig;
-import com.ydtech.constants.enums.dict.DictionaryData;
-import com.ydtech.constants.enums.dict.DictionaryManagement;
-import com.ydtech.constants.enums.dict.agreement.AgreementType;
 import com.ydtech.core.page.HttpResult;
-import com.ydtech.core.page.PageResult;
-import com.ydtech.exception.SystemException;
-import com.ydtech.modules.esm.model.EsmInsCompany;
-import com.ydtech.modules.esm.service.EsmInsCompanyService;
-import com.ydtech.modules.order.service.InsCrawlerOrderService;
-import com.ydtech.modules.protocol.constants.HistoryStatusConstants;
 import com.ydtech.modules.protocol.dao.PtlAgreementHistoryMapper;
-import com.ydtech.modules.protocol.dao.PtlAgreementMapper;
-import com.ydtech.modules.protocol.entity.constants.PtlApiType;
-import com.ydtech.modules.protocol.entity.dto.PtlAgreementAttributionDto;
-import com.ydtech.modules.protocol.entity.dto.PtlAgreementDto;
-import com.ydtech.modules.protocol.entity.dto.PtlAgreementInsCompanyDto;
-import com.ydtech.modules.protocol.entity.dto.PtlAgreementSaveDto;
-import com.ydtech.modules.protocol.entity.dto.history.PtlAgreementHistorySaveDto;
 import com.ydtech.modules.protocol.entity.po.*;
 import com.ydtech.modules.protocol.entity.vo.*;
 import com.ydtech.modules.protocol.service.*;
-import com.ydtech.modules.protocol.utils.AssertionUtils;
-import com.ydtech.utils.idgen.IdGenerate;
-import org.apache.commons.lang3.ObjectUtils;
-import org.apache.commons.lang3.StringUtils;
-import org.jsoup.helper.DataUtil;
-import org.springframework.beans.BeanUtils;
-import org.springframework.context.annotation.Lazy;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
 
-import java.time.LocalDate;
-import java.time.LocalDateTime;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
 
 
 /**
@@ -55,6 +27,15 @@ import java.util.stream.Collectors;
 public class PtlAgreementHistoryServiceImpl extends ServiceImpl<PtlAgreementHistoryMapper, PtlAgreementHistory> implements PtlAgreementHistoryService {
 
 
+    @Autowired
+    private PtlAgreementAttributionHistoryService ptlAgreementAttributionHistoryService;
+
+    @Autowired
+    private  PtlAgreementDeptHistoryService ptlAgreementDeptHistoryService;
+
+//    @Autowired
+//    private PtlAgreementService ptlAgreementService;
+
 
     @Override
     public boolean saveAgreementHistory(PtlAgreementHistory ptlAgreementHistory) {
@@ -62,9 +43,11 @@ public class PtlAgreementHistoryServiceImpl extends ServiceImpl<PtlAgreementHist
         return true;
     }
 
+
     @Override
-    public Page<PtlAgreementHistoryConvertQueryVo> pageHistory(Page page, String agreementId) {
-        Page<HashMap> hashMaps = baseMapper.pageHistory(page, agreementId);
+    public Page<PtlAgreementHistoryConvertQueryVo> pageHistory(Page page, PtlAgreementProductQueryVo ptlAgreementProductQueryVo) {
+
+        Page<HashMap> hashMaps = baseMapper.pageHistory(page, ptlAgreementProductQueryVo);
         Page<PtlAgreementHistoryConvertQueryVo> ptlAgreementHistoryQueryVos = new Page();
         List<PtlAgreementHistoryConvertQueryVo> ptlAgreementHistoryQueryList = new ArrayList<>();
         for (HashMap hashMap : hashMaps.getRecords()) {
@@ -121,4 +104,58 @@ public class PtlAgreementHistoryServiceImpl extends ServiceImpl<PtlAgreementHist
         return ptlAgreementHistoryQueryVos;
     }
 
+    @Override
+    public HashMap<String, Object> getHistoryDetail(String batchNo) {
+        LambdaQueryWrapper<PtlAgreementHistory> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+        lambdaQueryWrapper.eq(PtlAgreementHistory::getBatch, batchNo);
+        PtlAgreementHistory ptlAgreementHistory = getOne(lambdaQueryWrapper);
+
+        LambdaQueryWrapper<PtlAgreementDeptHistory> deptQueryWrapper = new LambdaQueryWrapper<>();
+        deptQueryWrapper.eq(PtlAgreementDeptHistory::getBatch, batchNo);
+        List<PtlAgreementDeptHistory> deptHistories = ptlAgreementDeptHistoryService.list(deptQueryWrapper);
+
+        LambdaQueryWrapper<PtlAgreementAttributionHistory> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(PtlAgreementAttributionHistory::getBatch, batchNo);
+        PtlAgreementAttributionHistory ptlAgreementAttributionHistory = ptlAgreementAttributionHistoryService.getOne(queryWrapper);
+
+        HashMap<String, Object> hashMap = new HashMap<>();
+        hashMap.put("ptlAgreementHistory", ptlAgreementHistory);
+        hashMap.put("deptHistories", deptHistories);
+        hashMap.put("ptlAgreementAttributionHistory", ptlAgreementAttributionHistory);
+
+        return hashMap;
+    }
+
+//    @Override
+//    public HashMap<String, Object> agreementComparison(String batchNo) {
+//
+//        LambdaQueryWrapper<PtlAgreementHistory> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+//        lambdaQueryWrapper.eq(PtlAgreementHistory::getBatch, batchNo);
+//        PtlAgreementHistory ptlAgreementHistory = getOne(lambdaQueryWrapper);
+//
+//        LambdaQueryWrapper<PtlAgreementDeptHistory> deptQueryWrapper = new LambdaQueryWrapper<>();
+//        deptQueryWrapper.eq(PtlAgreementDeptHistory::getBatch, batchNo);
+//        List<PtlAgreementDeptHistory> deptHistories = ptlAgreementDeptHistoryService.list(deptQueryWrapper);
+//
+//        LambdaQueryWrapper<PtlAgreementAttributionHistory> queryWrapper = new LambdaQueryWrapper<>();
+//        queryWrapper.eq(PtlAgreementAttributionHistory::getBatch, batchNo);
+//        PtlAgreementAttributionHistory ptlAgreementAttributionHistory = ptlAgreementAttributionHistoryService.getOne(queryWrapper);
+//
+//        HashMap<String, Object> historyDetail = new HashMap<>();
+//        historyDetail.put("ptlAgreementHistory", ptlAgreementHistory);
+//        historyDetail.put("deptHistories", deptHistories);
+//        historyDetail.put("ptlAgreementAttributionHistory", ptlAgreementAttributionHistory);
+//
+//
+//
+////        HashMap<String, Object> historyDetail = getHistoryDetail(batchNo);
+//
+//        HttpResult<PtlAgreementQueryVo> newAgreementDetail = ptlAgreementService.getByAgreementId(ptlAgreementHistory.getAgreementId());
+//
+//        HashMap<String, Object> hashMap = new HashMap<>();
+//        hashMap.put("historyDetail", historyDetail);
+//        hashMap.put("newAgreementDetail", newAgreementDetail);
+//        return hashMap;
+//    }
+
 }

+ 6 - 2
src/main/java/com/ydtech/modules/protocols/entity/po/PtlAgreementProductCostsNewHistory.java

@@ -1,6 +1,6 @@
 package com.ydtech.modules.protocols.entity.po;
 
-import com.baomidou.mybatisplus.annotation.IdType;
+
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
@@ -178,10 +178,14 @@ public class PtlAgreementProductCostsNewHistory {
     @TableField(value = "no_car_export_investment_radio")
     private BigDecimal noCarExportInvestmentRadio;
 
-    @ApiModelProperty(value = "费用因子属性")
+    @ApiModelProperty(value = "费用因子属性字符串")
     @TableField(exist = false)
     private String costsAttrLinks;
 
+    @ApiModelProperty(value = "费用属性集合")
+    @TableField(exist = false)
+    private List<PtlAgreementUndwrtRulesAttr> costsAttrLinkList;
+
     @ApiModelProperty(value = "批次")
     @TableField(value = "batch")
     private String batch;

+ 5 - 0
src/main/java/com/ydtech/modules/protocols/entity/po/PtlAgreementUndwrtRulesNewHistory.java

@@ -51,6 +51,11 @@ public class PtlAgreementUndwrtRulesNewHistory {
     @ApiModelProperty(value = "费用因子属性")
     @TableField(exist = false)
     private String costsAttrLinks;
+
+    @ApiModelProperty(value = "费用因子属性")
+    @TableField(exist = false)
+    private  List<PtlAgreementUndwrtRulesAttr>  costsAttrLinkList;
+
     @ApiModelProperty(value = "批次")
     @TableField(value = "batch")
     private String batch;

+ 10 - 1
src/main/resources/mapper/modules/protocol/PtlAgreementHistoryMapper.xml

@@ -52,7 +52,16 @@
             ptl_agreement_history iah
                 LEFT JOIN ptl_agreement_attribution_history iaah ON iah.batch = iaah.batch
         WHERE
-            iah.agreement_id = #{agreementId}
+            iah.agreement_id = #{vo.agreementId}
+        <if test="vo.operatorType != null and vo.operatorType != ''">
+            AND iah.operator_type = #{vo.operatorType}
+        </if>
+        <if test="vo.operator != null and vo.operator != ''">
+            AND iah.operator = #{vo.operator}
+        </if>
+        <if test="vo.operatorTime != null and vo.operatorTime != ''">
+            AND DATE(iah.operator_time) = #{vo.operatorTime}
+        </if>
     </select>
 
 </mapper>