Просмотр исходного кода

1、财务 - 费用核对,按照需求变更文档修改功能。

ligang134 3 лет назад
Родитель
Сommit
e99351fc35
31 измененных файлов с 1148 добавлено и 652 удалено
  1. 34 0
      src/main/java/com/ydtech/constants/enums/dict/finance/CheckingStatusEnum.java
  2. 54 14
      src/main/java/com/ydtech/modules/base/model/vo/PageVo.java
  3. 19 16
      src/main/java/com/ydtech/modules/esm/service/impl/EsmUserReferrerServiceImpl.java
  4. 109 21
      src/main/java/com/ydtech/modules/inv/controller/InvChannelsExternalBillsDetailsController.java
  5. 40 32
      src/main/java/com/ydtech/modules/inv/controller/InvExternalBillsController.java
  6. 16 9
      src/main/java/com/ydtech/modules/inv/dao/InvChannelsExternalBillsDetailsMapper.java
  7. 88 0
      src/main/java/com/ydtech/modules/inv/dao/InvExternalBillsMapper.java
  8. 0 14
      src/main/java/com/ydtech/modules/inv/dao/InvInsExternalBillsMapper.java
  9. 31 12
      src/main/java/com/ydtech/modules/inv/model/InvBaseExternalBillsDetails.java
  10. 0 13
      src/main/java/com/ydtech/modules/inv/model/InvChannelsExternalBillsDetails.java
  11. 19 156
      src/main/java/com/ydtech/modules/inv/model/InvChannelsExternalBillsDetailsHistory.java
  12. 16 44
      src/main/java/com/ydtech/modules/inv/model/InvInsExternalBillsDetails.java
  13. 19 0
      src/main/java/com/ydtech/modules/inv/model/InvInvoiceInfo.java
  14. 85 0
      src/main/java/com/ydtech/modules/inv/model/dto/InvBaseExcelDto.java
  15. 114 0
      src/main/java/com/ydtech/modules/inv/model/dto/InvChannelExcelDto.java
  16. 0 110
      src/main/java/com/ydtech/modules/inv/model/dto/InvInsChannelExcelDto.java
  17. 59 0
      src/main/java/com/ydtech/modules/inv/model/dto/InvInsCompanyDto.java
  18. 90 0
      src/main/java/com/ydtech/modules/inv/model/dto/InvInsExcelDto.java
  19. 0 82
      src/main/java/com/ydtech/modules/inv/model/dto/InvInsStandardExcelDto.java
  20. 32 0
      src/main/java/com/ydtech/modules/inv/model/vo/InsChannelMatchVo.java
  21. 7 2
      src/main/java/com/ydtech/modules/inv/model/vo/InvInsCompanyExportVo.java
  22. 78 0
      src/main/java/com/ydtech/modules/inv/model/vo/InvInsCompanyVo.java
  23. 10 4
      src/main/java/com/ydtech/modules/inv/model/vo/req/InvChannelExternalBillsDetailsReqVO.java
  24. 6 2
      src/main/java/com/ydtech/modules/inv/service/InvChannelsExternalBillsDetailsService.java
  25. 13 0
      src/main/java/com/ydtech/modules/inv/service/InvExternalBillsService.java
  26. 169 94
      src/main/java/com/ydtech/modules/inv/service/impl/InvChannelsExternalBillsDetailsServiceImpl.java
  27. 30 15
      src/main/java/com/ydtech/modules/inv/service/impl/InvExternalBillsServiceImpl.java
  28. 8 11
      src/main/java/com/ydtech/modules/inv/service/impl/InvInsExternalBillsDetailsServiceImpl.java
  29. 2 1
      src/main/java/com/ydtech/modules/inv/service/impl/InvInvoiceInfoServiceImpl.java
  30. BIN
      src/main/resources/template/finance_channel_model_A.xlsx
  31. BIN
      src/main/resources/template/finance_ins_model_A.xlsx

+ 34 - 0
src/main/java/com/ydtech/constants/enums/dict/finance/CheckingStatusEnum.java

@@ -0,0 +1,34 @@
+package com.ydtech.constants.enums.dict.finance;
+
+import com.ydtech.aop.request.DictEnum;
+import com.ydtech.constants.enums.dict.IBaseEnum;
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+
+/**
+ * 财务 - 对账状态
+ *
+ * @author: lig
+ * @date: 2023-05-04
+ */
+@Getter
+@AllArgsConstructor
+@DictEnum(key = "checkingStatusEnum", desc = "对账状态")
+public enum CheckingStatusEnum implements IBaseEnum {
+
+    AS0("0", "未领取",1,0),
+    AS1("1", "已领取",2,0),
+    AS2("2", "已支付",3,0),
+    ;
+
+    private String code;
+    private String desc;
+    //排序
+    private Integer sort;
+    //状态  0 启用  1 不启用
+    private Integer status;
+
+
+
+}

+ 54 - 14
src/main/java/com/ydtech/modules/base/model/vo/PageVo.java

@@ -1,15 +1,16 @@
 package com.ydtech.modules.base.model.vo;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.fasterxml.jackson.annotation.JsonInclude;
-import com.github.pagehelper.Page;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ydtech.core.page.BasePageVO;
+import com.ydtech.exception.SystemException;
+import com.ydtech.modules.base.model.dto.PageDto;
 import com.ydtech.modules.inv.model.vo.res.InvBaseChannelMatchInsResVO;
+import com.ydtech.utils.StringUtils;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
-import java.util.Collection;
 import java.util.List;
 
 /**
@@ -66,6 +67,16 @@ public class PageVo<T> {
     }
 
 
+    public static Page<?> buildPageRequest(PageDto pageDto){
+        int pageNum = pageDto.getPageNum() < 1?1:pageDto.getPageNum();
+        int pageSize = pageDto.getPageSize() <1?1:pageDto.getPageSize();
+        Page<?> p = new Page<>();
+        p.setSize(pageSize);
+        p.setCurrent(pageNum);
+        return p;
+    }
+
+
     /**
      *  构造分页信息
      *  使用与自定义sql
@@ -97,23 +108,52 @@ public class PageVo<T> {
     }
 
 
+//    /**
+//     *  构造mysql 分页起始索引
+//     *  使用与自定义sql
+//     *
+//     * @author: lig
+//     * @date: 2023年06月08日 0008
+//     */
+//    public static int buildPageLimitStart(BasePageVO basePageVo){
+//
+//        int pageNum = basePageVo.getPageNum();
+//        int pageSize = basePageVo.getPageSize();
+//        if(pageNum < 1) basePageVo.setPageNum(1);
+//        if(pageSize < 1) basePageVo.setPageSize(10);
+//
+//        //计算mysql分页起索引
+//        int firstIndex = pageNum==1?0:(pageNum-1) * pageSize +1;
+//        return firstIndex;
+//
+//    }
+
+
     /**
-     *  构造mysql 分页起始索引
-     *  使用与自定义sql
+     *  构造分页信息
      *
      * @author: lig
-     * @date: 2023年06月08日 0008
+     * @date: 2023年08月09日 0009
      */
-    public static int buildPageLimitStart(BasePageVO basePageVo){
-
-        int pageNum = basePageVo.getPageNum();
-        int pageSize = basePageVo.getPageSize();
-        if(pageNum < 1) basePageVo.setPageNum(1);
-        if(pageSize < 1) basePageVo.setPageSize(10);
+    public static void buildPageInfo(PageDto pageDto, PageVo pageVo){
+        if(pageDto.getPageSize()<1)pageDto.setPageSize(1);
 
+        int total = StringUtils.toInt(pageVo.getTotalSize());
         //计算mysql分页起索引
-        int firstIndex = pageNum==1?0:(pageNum-1) * pageSize +1;
-        return firstIndex;
+        int firstIndex = pageDto.getPageNum() <= 1 ? 0 : (pageDto.getPageNum() - 1) * pageDto.getPageSize();
+
+        //计算mysql分页总页数
+        int totalPages = total % pageDto.getPageSize() == 0 ? total / pageDto.getPageSize() : total / pageDto.getPageSize() + 1;
+
+
+        //响应
+        pageVo.setPageNum(pageDto.getPageNum() == 0?1:pageDto.getPageNum());
+        pageVo.setPageSize(pageDto.getPageSize());
+        pageVo.setTotalPages(totalPages);
+
+
+        //请求替换分页开始索引
+        pageDto.setPageNum(firstIndex);
 
     }
 

+ 19 - 16
src/main/java/com/ydtech/modules/esm/service/impl/EsmUserReferrerServiceImpl.java

@@ -117,23 +117,26 @@ public class EsmUserReferrerServiceImpl extends ServiceImpl<EsmUserReferrerMappe
         //获取分页数量
         int total = super.baseMapper.countReferrerByAffiliation(pageDto);
 
-        //计算mysql分页起索引
-        int firstIndex = pageDto.getPageNum() == 1 ? 0 : (pageDto.getPageNum() - 1) * pageDto.getPageSize();
-
-
-        //计算mysql分页总页数
-        int totalPages = total % pageDto.getPageSize() == 0 ? total / pageDto.getPageSize() : total / pageDto.getPageSize() + 1;
-
-
-        //响应
         pageVo.setTotalSize(total);
-        pageVo.setPageNum(pageDto.getPageNum());
-        pageVo.setPageSize(pageDto.getPageSize());
-        pageVo.setTotalPages(totalPages);
-
-
-        //请求替换分页开始索引
-        pageDto.setPageNum(firstIndex);
+        PageVo.buildPageInfo(pageDto,pageVo);
+
+//        //计算mysql分页起索引
+//        int firstIndex = pageDto.getPageNum() == 1 ? 0 : (pageDto.getPageNum() - 1) * pageDto.getPageSize();
+//
+//
+//        //计算mysql分页总页数
+//        int totalPages = total % pageDto.getPageSize() == 0 ? total / pageDto.getPageSize() : total / pageDto.getPageSize() + 1;
+//
+//
+//        //响应
+//
+//        pageVo.setPageNum(pageDto.getPageNum());
+//        pageVo.setPageSize(pageDto.getPageSize());
+//        pageVo.setTotalPages(totalPages);
+//
+//
+//        //请求替换分页开始索引
+//        pageDto.setPageNum(firstIndex);
         pageVo.setContent(super.baseMapper.selectReferrerByAffiliation(pageDto));
 
 

+ 109 - 21
src/main/java/com/ydtech/modules/inv/controller/InvChannelsExternalBillsDetailsController.java

@@ -1,20 +1,30 @@
 package com.ydtech.modules.inv.controller;
 
+import cn.dev33.satoken.stp.StpUtil;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.bean.copier.CopyOptions;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ydtech.constants.enums.dict.finance.CheckingStatusEnum;
 import com.ydtech.core.page.HttpResult;
 import com.ydtech.core.page.PageRequest;
 import com.ydtech.core.page.PageResult;
 import com.ydtech.modules.admin.model.SysUser;
+import com.ydtech.modules.admin.model.dto.SysUserDto;
+import com.ydtech.modules.admin.model.vo.SysUserBaseVO;
 import com.ydtech.modules.base.controller.BaseController;
 import com.ydtech.modules.base.model.dto.BaseDto;
+import com.ydtech.modules.base.model.dto.PageDto;
+import com.ydtech.modules.base.model.vo.PageVo;
 import com.ydtech.modules.inv.model.InvChannelsExternalBillsDetails;
 import com.ydtech.modules.inv.model.InvChannelsExternalBillsDetailsHistory;
+import com.ydtech.modules.inv.model.InvExternalBills;
 import com.ydtech.modules.inv.model.InvInsExternalBillsDetails;
+import com.ydtech.modules.inv.model.dto.InvInsCompanyDto;
+import com.ydtech.modules.inv.model.dto.InvInsImportDto;
+import com.ydtech.modules.inv.model.vo.InvInsCompanyVo;
 import com.ydtech.modules.inv.model.vo.req.InvInsExternalBillsDetailsReqVO;
 import com.ydtech.modules.inv.service.InvChannelsExternalBillsDetailsHistoryService;
 import com.ydtech.modules.inv.service.InvChannelsExternalBillsDetailsService;
@@ -66,21 +76,26 @@ public class InvChannelsExternalBillsDetailsController extends BaseController {
     /**
      * 分页查询
      *
-     * @param reqVo
+     * @param pageDto
      * @return
      */
     @ApiOperation(value = "分页查询")
     @PostMapping(value = "/queryPage")
-    public HttpResult<PageResult<InvChannelsExternalBillsDetails>> queryPage(@RequestBody InvInsExternalBillsDetailsReqVO reqVo) {
+    public HttpResult<PageResult<InvChannelsExternalBillsDetails>> queryPage(@RequestBody PageDto<InvInsCompanyDto> pageDto) {
+//    public HttpResult<PageResult<InvChannelsExternalBillsDetails>> queryPage(@RequestBody InvInsExternalBillsDetailsReqVO reqVo) {
+
 
         LambdaQueryWrapper<InvChannelsExternalBillsDetails> lqw = new LambdaQueryWrapper();
-        lqw.eq(StringUtils.isNotEmpty(reqVo.getBatchNum()), InvChannelsExternalBillsDetails::getBatchNum, reqVo.getBatchNum());
-        lqw.eq(StringUtils.isNotEmpty(reqVo.getStatus()), InvChannelsExternalBillsDetails::getStatus, reqVo.getStatus());
-        lqw.eq(StringUtils.isNotEmpty(reqVo.getInsCompanyId()), InvChannelsExternalBillsDetails::getInsCompanyId, reqVo.getInsCompanyId());
-        lqw.eq(StringUtils.isNotEmpty(reqVo.getChannel()), InvChannelsExternalBillsDetails::getChannel, reqVo.getChannel());
-        lqw.eq(StringUtils.isNotEmpty(reqVo.getPlateNum()), InvChannelsExternalBillsDetails::getPlateNum, reqVo.getPlateNum());
+        if(null != pageDto.getDto()){
+            lqw.in(null != pageDto.getDto().getInsCompanyIds() && pageDto.getDto().getInsCompanyIds().size() > 0, InvChannelsExternalBillsDetails::getInsCompanyId, pageDto.getDto().getInsCompanyIds());
+            lqw.eq(null != pageDto.getDto().getPayDate(),InvChannelsExternalBillsDetails::getPayDate,pageDto.getDto().getPayDate());
+            lqw.eq(StringUtils.isNotEmpty(pageDto.getDto().getPlateNum()), InvChannelsExternalBillsDetails::getPlateNum, pageDto.getDto().getPlateNum());
+            lqw.eq(StringUtils.isNotEmpty(pageDto.getDto().getOutChannel()), InvChannelsExternalBillsDetails::getOutChannel, pageDto.getDto().getOutChannel());
+            lqw.eq(StringUtils.isNotEmpty(pageDto.getDto().getChannel()), InvChannelsExternalBillsDetails::getChannel, pageDto.getDto().getChannel());
+            lqw.eq(StringUtils.isNotEmpty(pageDto.getDto().getStatus()), InvChannelsExternalBillsDetails::getStatus, pageDto.getDto().getStatus());
+        }
 
-        Page p = PageRequest.buildPageRequestByVo(reqVo);
+        Page p = PageVo.buildPageRequest(pageDto);
         IPage<InvChannelsExternalBillsDetails> pResult = icebdService.page(p, lqw);
         //传入查询条件
         PageResult pageResult = PageResult.buildPageResult(pResult);
@@ -130,6 +145,7 @@ public class InvChannelsExternalBillsDetailsController extends BaseController {
 //        BeanUtils.copyProperties(icebd, icebdh,"id");
         icebdh.setEditId(icebdOld.getId());
         icebdh.setEditTime(new Date());
+        icebdh.setEditBy(StpUtil.getLoginId().toString());
         icebdhList.add(icebdh);
 
 
@@ -142,18 +158,15 @@ public class InvChannelsExternalBillsDetailsController extends BaseController {
     }
 
 
-    @GetMapping(value = "/receive/{batchNum}")
-    @ApiOperation(value = "确认领取")
+    @PostMapping(value = "/batchReceive")
+    @ApiOperation(value = "批量领取")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "batchNum", value = "批次号", required = true, dataType = "String")
+            @ApiImplicitParam(name = "ids", value = "渠道ID数组", dataType = "String", paramType = "body", allowMultiple = true, required = true)
     })
-    @Transactional
-    public HttpResult receive(@PathVariable String batchNum) {
-
+    public HttpResult batchReceive(@RequestBody List<String> ids) {
         LambdaQueryWrapper<InvChannelsExternalBillsDetails> lqw = new LambdaQueryWrapper<>();
         lqw.select(InvChannelsExternalBillsDetails::getPlateNum);
-        lqw.eq(InvChannelsExternalBillsDetails::getBatchNum,batchNum);
-//        List<InvChannelsExternalBillsDetails> iebdList = icebdService.list(lqw);
+        lqw.in(InvChannelsExternalBillsDetails::getId,ids);
         //车牌号
         List<String> plateNums = icebdService.listObjs(lqw, new Function<Object, String>() {
             @Override
@@ -164,23 +177,61 @@ public class InvChannelsExternalBillsDetailsController extends BaseController {
 
         //保险公司 更新状态
         LambdaUpdateWrapper<InvInsExternalBillsDetails> insLuw = new LambdaUpdateWrapper<>();
-        insLuw.set(InvInsExternalBillsDetails::getStatus,"1");
+        insLuw.set(InvInsExternalBillsDetails::getStatus,CheckingStatusEnum.AS1.getCode());
         insLuw.in(InvInsExternalBillsDetails::getPlateNum,plateNums);
+        insLuw.eq(InvInsExternalBillsDetails::getStatus,CheckingStatusEnum.AS0.getCode());
         InvInsExternalBillsDetailsService.update(insLuw);
 
 
-
-
         //渠道 更新批次号状态
         LambdaUpdateWrapper<InvChannelsExternalBillsDetails> luw = new LambdaUpdateWrapper<>();
-        luw.set(InvChannelsExternalBillsDetails::getStatus,"1");
-        luw.eq(InvChannelsExternalBillsDetails::getBatchNum,batchNum);
+        luw.set(InvChannelsExternalBillsDetails::getStatus, CheckingStatusEnum.AS1.getCode());
+        luw.in(InvChannelsExternalBillsDetails::getId,ids);
         icebdService.update(luw);
 
         return HttpResult.ok("领取成功");
     }
 
 
+//    @GetMapping(value = "/receive/{batchNum}")
+//    @ApiOperation(value = "确认领取")
+//    @ApiImplicitParams({
+//            @ApiImplicitParam(name = "batchNum", value = "批次号", required = true, dataType = "String")
+//    })
+//    @Transactional
+//    public HttpResult receive(@PathVariable String batchNum) {
+//
+//        LambdaQueryWrapper<InvChannelsExternalBillsDetails> lqw = new LambdaQueryWrapper<>();
+//        lqw.select(InvChannelsExternalBillsDetails::getPlateNum);
+//        lqw.eq(InvChannelsExternalBillsDetails::getBatchNum,batchNum);
+////        List<InvChannelsExternalBillsDetails> iebdList = icebdService.list(lqw);
+//        //车牌号
+//        List<String> plateNums = icebdService.listObjs(lqw, new Function<Object, String>() {
+//            @Override
+//            public String apply(Object id) {
+//                return id.toString();
+//            }
+//        });
+//
+//        //保险公司 更新状态
+//        LambdaUpdateWrapper<InvInsExternalBillsDetails> insLuw = new LambdaUpdateWrapper<>();
+//        insLuw.set(InvInsExternalBillsDetails::getStatus,"1");
+//        insLuw.in(InvInsExternalBillsDetails::getPlateNum,plateNums);
+//        InvInsExternalBillsDetailsService.update(insLuw);
+//
+//
+//
+//
+//        //渠道 更新批次号状态
+//        LambdaUpdateWrapper<InvChannelsExternalBillsDetails> luw = new LambdaUpdateWrapper<>();
+//        luw.set(InvChannelsExternalBillsDetails::getStatus,"1");
+//        luw.eq(InvChannelsExternalBillsDetails::getBatchNum,batchNum);
+//        icebdService.update(luw);
+//
+//        return HttpResult.ok("领取成功");
+//    }
+
+
     @PostMapping(value = "/batchPay")
     @ApiOperation(value = "批量支付")
     @ApiImplicitParams({
@@ -210,4 +261,41 @@ public class InvChannelsExternalBillsDetailsController extends BaseController {
     }
 
 
+
+    @PostMapping("/importData")
+    @ApiOperation(value = "渠道数据导入(excel)")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "file", value = "excel文件", required = true, dataType = "__file")
+    })
+    public HttpResult importData(@RequestPart MultipartFile file) {
+
+        icebdService.importData(file);
+
+        return HttpResult.ok("导入成功");
+
+    }
+
+    @PostMapping(value = "/findEditHistory")
+    @ApiOperation(value = "获取渠道修改历史")
+    public HttpResult<PageResult<InvChannelsExternalBillsDetailsHistory>> findEditHistory(@RequestBody PageDto<InvInsCompanyDto> pageDto) {
+
+        LambdaQueryWrapper<InvChannelsExternalBillsDetailsHistory> lqw = new LambdaQueryWrapper<>();
+        if(null != pageDto.getDto()){
+            lqw.eq(StringUtils.isNotEmpty(pageDto.getDto().getPlateNum()),InvChannelsExternalBillsDetailsHistory::getPlateNum,pageDto.getDto().getPlateNum());
+        }
+        lqw.orderByAsc(InvChannelsExternalBillsDetailsHistory::getPlateNum,InvChannelsExternalBillsDetailsHistory::getEditTime);
+
+
+        Page p = PageVo.buildPageRequest(pageDto);
+        IPage<InvChannelsExternalBillsDetailsHistory> pResult = icebdhService.page(p,lqw);
+        //传入查询条件
+        PageResult pageResult = PageResult.buildPageResult(pResult);
+
+
+        return HttpResult.ok(pageResult);
+//        return HttpResult.ok(sysUserService.gainUserPage(pageDto));
+    }
+
+
+
 }

+ 40 - 32
src/main/java/com/ydtech/modules/inv/controller/InvExternalBillsController.java

@@ -3,6 +3,8 @@ package com.ydtech.modules.inv.controller;
 import cn.afterturn.easypoi.excel.ExcelExportUtil;
 import cn.afterturn.easypoi.excel.entity.ExportParams;
 import cn.afterturn.easypoi.excel.entity.enmus.ExcelType;
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.bean.copier.CopyOptions;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -11,14 +13,22 @@ import com.ydtech.core.page.PageRequest;
 import com.ydtech.core.page.PageResult;
 import com.ydtech.exception.SystemException;
 import com.ydtech.modules.base.controller.BaseController;
+import com.ydtech.modules.base.model.dto.PageDto;
+import com.ydtech.modules.base.model.dto.TestDto;
+import com.ydtech.modules.base.model.vo.PageVo;
 import com.ydtech.modules.esm.model.EsmInsCompany;
 import com.ydtech.modules.esm.service.EsmInsCompanyService;
 import com.ydtech.modules.fnc.vo.FncVoucherVo;
 import com.ydtech.modules.ins.utils.ExcelStyleUtil;
+import com.ydtech.modules.inv.model.InvBaseExternalBillsDetails;
+import com.ydtech.modules.inv.model.InvChannelsExternalBillsDetails;
 import com.ydtech.modules.inv.model.InvExternalBills;
 import com.ydtech.modules.inv.model.InvInsExternalBillsDetails;
+import com.ydtech.modules.inv.model.dto.InvInsCompanyDto;
 import com.ydtech.modules.inv.model.dto.InvInsImportDto;
+import com.ydtech.modules.inv.model.vo.InsChannelMatchVo;
 import com.ydtech.modules.inv.model.vo.InvInsCompanyExportVo;
+import com.ydtech.modules.inv.model.vo.InvInsCompanyVo;
 import com.ydtech.modules.inv.model.vo.req.InvChannelExternalBillsDetailsReqVO;
 import com.ydtech.modules.inv.model.vo.req.InvInsExternalBillsReqVO;
 import com.ydtech.modules.inv.model.vo.res.InvBaseChannelMatchInsResVO;
@@ -80,7 +90,7 @@ public class InvExternalBillsController extends BaseController {
         lqw.between(StringUtils.isNotEmpty(reqVo.getImportStartTime()) && StringUtils.isNotEmpty(reqVo.getImportEndTime()), InvExternalBills::getCreateTime, reqVo.getImportStartTime(), reqVo.getImportEndTime());
         lqw.eq(InvExternalBills::getFlag, reqVo.getFlag());
         lqw.eq(StringUtils.isNotEmpty(reqVo.getInsCompanyId()), InvExternalBills::getInsCompanyId, reqVo.getInsCompanyId());
-        lqw.eq(StringUtils.isNotEmpty(reqVo.getId()),InvExternalBills::getId,reqVo.getId());
+        lqw.eq(StringUtils.isNotEmpty(reqVo.getId()), InvExternalBills::getId, reqVo.getId());
 
         Page p = PageRequest.buildPageRequestByVo(reqVo);
         IPage<InvExternalBills> pResult = invExternalBillsService.page(p, lqw);
@@ -96,41 +106,36 @@ public class InvExternalBillsController extends BaseController {
             @ApiImplicitParam(name = "file", value = "excel文件", required = true, dataType = "__file")
     })
 //    public HttpResult importData( InvInsImportDto importDto) {
-    public HttpResult importData(@RequestPart MultipartFile file,InvInsImportDto importDto) {
+    public HttpResult importData(@RequestPart MultipartFile file, InvInsImportDto importDto) {
 //    public HttpResult importData(@RequestBody InvInsImportDto importDto) {
 
-        if(importDto.getFlag().equals("1") && StringUtils.isEmpty(importDto.getInsCompanyId()))return HttpResult.error("保险公司导入模式下,保险公司ID为必填。");
+        if (importDto.getFlag().equals("1") && StringUtils.isEmpty(importDto.getInsCompanyId()))
+            return HttpResult.error("保险公司导入模式下,保险公司ID为必填。");
 
         InvExternalBills iieb = null;
-        if(StringUtils.isNotEmpty(importDto.getBatchNum())){
+        if (StringUtils.isNotEmpty(importDto.getBatchNum())) {
             iieb = invExternalBillsService.getById(importDto.getBatchNum());
             //删除详细数据
             invInsExternalBillsDetailsService.deleteByBatchNum(iieb.getId());
-        }else{
+        } else {
             iieb = new InvExternalBills();
             iieb.setCreateTime(new Date());
             iieb.setCreateBy(getUserId());
             iieb.setImportStatus("1");
             iieb.setFlag(importDto.getFlag());
 
-            //渠道
-            iieb.setBusinessChannels(importDto.getBusinessChannels());
+//            //渠道
+//            iieb.setBusinessChannels(importDto.getBusinessChannels());
             invExternalBillsService.save(iieb);
-
         }
-
-
         //数据导入
-        invExternalBillsService.importData(importDto,iieb,file);
-
+        invExternalBillsService.importData(importDto, iieb, file);
 
         return HttpResult.ok("导入成功");
 
     }
 
 
-
-
     @ApiOperation(value = "修改")
     @ApiResponses({
             @ApiResponse(code = 500, message = "出现异常"),
@@ -142,7 +147,6 @@ public class InvExternalBillsController extends BaseController {
         return HttpResult.ok(invExternalBillsService.updateById(invExternalBills));
     }
 
-
     @ApiOperation(value = "单条删除通过批次号")
     @ApiResponses({
             @ApiResponse(code = 500, message = "出现异常"),
@@ -164,33 +168,36 @@ public class InvExternalBillsController extends BaseController {
         return HttpResult.ok(invExternalBillsService.removeById(batchNum));
     }
 
-
     @PostMapping("/channelMatchingIns")
     @ApiOperation(value = "渠道匹配保险公司数据(分页)")
-    public HttpResult<PageResult<InvBaseChannelMatchInsResVO>> channelMatchIns(@RequestBody InvChannelExternalBillsDetailsReqVO reqVo) {
-
-        return HttpResult.ok(invChannelsExternalBillsDetailsService.gainChannelMatchIns(reqVo));
-
+    public HttpResult<PageVo<InvBaseChannelMatchInsResVO>> channelMatchIns(@RequestBody PageDto<InvChannelExternalBillsDetailsReqVO> pageDto) {
+        return HttpResult.ok(invChannelsExternalBillsDetailsService.gainChannelMatchIns(pageDto));
     }
-
-
+//    @PostMapping("/channelMatchingIns")
+//    @ApiOperation(value = "渠道匹配保险公司数据(分页)")
+//    public HttpResult<PageResult<InvBaseChannelMatchInsResVO>> channelMatchIns(@RequestBody InvChannelExternalBillsDetailsReqVO reqVo) {
+//
+//        return HttpResult.ok(invChannelsExternalBillsDetailsService.gainChannelMatchIns(reqVo));
+//
+//    }
 
     @GetMapping(value = "/export/{batchNum}")
     @ApiOperation(value = "保司数据导出(包含费用)")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "batchNum", value = "批次号", required = true, dataType = "String")
     })
-    public HttpResult export(@PathVariable String batchNum,HttpServletRequest request, HttpServletResponse response) {
+    public HttpResult export(@PathVariable String batchNum, HttpServletRequest request, HttpServletResponse response) {
 
 
         LambdaQueryWrapper<InvInsExternalBillsDetails> lqw = new LambdaQueryWrapper();
-        lqw.eq(InvInsExternalBillsDetails::getBatchNum,batchNum);
+        lqw.eq(InvInsExternalBillsDetails::getBatchNum, batchNum);
         List<InvInsExternalBillsDetails> list = invInsExternalBillsDetailsService.list(lqw);
 
         List<InvInsCompanyExportVo> listVo = new ArrayList<>();
-        list.stream().forEach(a ->{
+        list.stream().forEach(a -> {
             InvInsCompanyExportVo vo = new InvInsCompanyExportVo();
-            vo.setPolicyNum(a.getPolicyNum());
+            vo.setMliftaPolicyNum(a.getMliftaPolicyNum());
+            vo.setCipPolicyNum(a.getCipPolicyNum());
             vo.setApplicant(a.getApplicant());
             vo.setPlateNum(a.getPlateNum());
             vo.setPayDate(a.getPayDate());
@@ -205,21 +212,22 @@ public class InvExternalBillsController extends BaseController {
 
             listVo.add(vo);
         });
-
-
-
         String fileName = batchNum + "-保司数据导出";
         try {
-            ExcelEasypoiUtils.exportExcel(listVo, InvInsCompanyExportVo.class,fileName,response);
+            ExcelEasypoiUtils.exportExcel(listVo, InvInsCompanyExportVo.class, fileName, response);
         } catch (IOException e) {
             throw new RuntimeException(e);
         }
 
+        return HttpResult.ok();
+    }
 
 
+    @PostMapping(value = "/synthesize")
+    @ApiOperation(value = "综合查询")
+    public HttpResult<PageVo<InvInsCompanyVo>> synthesize(@RequestBody PageDto<InvInsCompanyDto> pageDto) {
+        return HttpResult.ok(invExternalBillsService.gainSynthesizePage(pageDto));
 
-
-        return HttpResult.ok();
     }
 
 

+ 16 - 9
src/main/java/com/ydtech/modules/inv/dao/InvChannelsExternalBillsDetailsMapper.java

@@ -1,6 +1,7 @@
 package com.ydtech.modules.inv.dao;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ydtech.modules.base.model.dto.PageDto;
 import com.ydtech.modules.inv.model.InvChannelsExternalBillsDetails;
 import com.ydtech.modules.inv.model.vo.req.InvChannelExternalBillsDetailsReqVO;
 import com.ydtech.modules.inv.model.vo.res.InvBaseChannelMatchInsResVO;
@@ -62,23 +63,29 @@ public interface InvChannelsExternalBillsDetailsMapper extends BaseMapper<InvCha
 
     //条件
     String selectWhereSql = "" +
-            "<if test='page.batchNum !=null and page.batchNum!=\"\"  '>" +
-            " and t.batchNum = #{page.batchNum} " +
+            "<if test='page.dto !=null '>" +
+            "<if test='page.dto.ids !=null and page.dto.ids!=\"\"  '>" +
+//            " and t.id in (#{page.dto.ids}) " +
+            " and t.id in " +
+            "   <foreach item='item' index='index' collection='page.dto.ids' open='(' separator=',' close=')'>" +
+            "       #{item}" +
+            "   </foreach>" +
             "</if> " +
-            "<if test='page.isMatch !=null and page.isMatch!=\"\" and page.isMatch == 1  '>" +
-            " and t.mliftaMatch=1 and t.plateNumMatch=1 and t.vavtMatch=1 and t.cipMatch=1 and t.status &lt;&gt; 0 " +
+            "<if test='page.dto.isMatch !=null and page.dto.isMatch!=\"\" and page.dto.isMatch == 1  '>" +
+            " and t.mliftaMatch=1 and t.plateNumMatch=1 and t.vavtMatch=1 and t.cipMatch=1 and t.status = 0 " +
+//            " and t.mliftaMatch=1 and t.plateNumMatch=1 and t.vavtMatch=1 and t.cipMatch=1 and t.status &lt;&gt; 0 " +
+            "</if> " +
+            "<if test='page.dto.isMatch !=null and page.dto.isMatch!=\"\" and page.dto.isMatch == 0  '>" +
+            " and (t.mliftaMatch=0 or t.plateNumMatch=0 or t.vavtMatch=0 or t.cipMatch=0  and t.status = 0) " +
             "</if> " +
-            "<if test='page.isMatch !=null and page.isMatch!=\"\" and page.isMatch == 0  '>" +
-            " and (t.mliftaMatch=0 or t.plateNumMatch=0 or t.vavtMatch=0 or t.cipMatch=0  and t.status &lt;&gt; 0) " +
-//            " and (t.mliftaMatch=0 or t.plateNumMatch=0 or t.vavtMatch=0 or t.cipMatch=0  and t.status &lt;=&gt; 0) " +
             "</if> ";
 
 
     @Select({"<script> select count(1) from (", selectSql,selectWhereSql, ") a </script>"})
-    int gainChannelMatchInsCount(@Param("page") InvChannelExternalBillsDetailsReqVO reqVO);
+    int gainChannelMatchInsCount(@Param("page") PageDto pageDto);
 
     @Select({"<script> ", selectSql,selectWhereSql, " limit #{page.pageNum},#{page.pageSize}", "</script>"})
-    List<InvBaseChannelMatchInsResVO> gainChannelMatchIns(@Param("page") InvChannelExternalBillsDetailsReqVO reqVO);
+    List<InvBaseChannelMatchInsResVO> gainChannelMatchIns(@Param("page") PageDto pageDto);
 }
 
 

+ 88 - 0
src/main/java/com/ydtech/modules/inv/dao/InvExternalBillsMapper.java

@@ -0,0 +1,88 @@
+package com.ydtech.modules.inv.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ydtech.modules.admin.model.vo.SysUserBaseVO;
+import com.ydtech.modules.admin.model.vo.SysUserVO;
+import com.ydtech.modules.base.model.dto.PageDto;
+import com.ydtech.modules.inv.model.InvExternalBills;
+import com.ydtech.modules.inv.model.vo.InvInsCompanyVo;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
+
+/**
+ * @author Administrator
+ * @description 针对表【inv_ins_external_bills(财务 - 保险公司 - 外部票据)】的数据库操作Mapper
+ * @createDate 2023-06-06 10:58:18
+ * @Entity generator.domain.InvInsExternalBills
+ */
+public interface InvExternalBillsMapper extends BaseMapper<InvExternalBills> {
+
+    String field = " " +
+            ",id" +
+            ",plate_num as plateNum" +
+            ",mlifta" +
+            ",vavt" +
+            ",cip" +
+            ",mlifta_cost as mliftaCost" +
+            ",vavt_cost as vavtCost" +
+            ",cip_cost as cipCost" +
+            ",ins_company_id as insCompanyId" +
+            ",status " +
+            ",pay_date as payDate " +
+            ",ins_company as insCompany"
+
+            ;
+
+    String selectSql = " select * " ;
+
+    String fromSql = " from (" +
+            "select '保司' as classify ,'' as channel ,'' as outChannel " + field + " from inv_ins_external_bills_details "+
+//            "select id,plate_num as plateNum,'保司' as classify,mlifta,vavt,cip,mlifta_cost as mliftaCost,vavt_cost as vavtCost,cip_cost as cipCost from inv_ins_external_bills_details " +
+            " UNION " +
+            "select '渠道' as classify , channel ,out_channel as outChannel" + field + " from inv_channels_external_bills_details  "+
+//            " select id,plate_num as plateNum,'渠道' as classify,mlifta,vavt,cip,mlifta_cost as mliftaCost,vavt_cost as vavtCost,cip_cost as cipCost from inv_channels_external_bills_details " +
+            " ) t where 1=1 ";
+
+    String whereSql = " " +
+            "<if test='page.dto !=null  '> " +
+                "<if test='page.dto.classify !=null and page.dto.classify!=\"\" '> " +
+                " and t.classify = #{page.dto.classify}" +
+                "</if> " +
+                "<if test='page.dto.plateNum !=null and page.dto.plateNum!=\"\" '> " +
+                " and t.plateNum = #{page.dto.plateNum}" +
+                "</if> " +
+                "<if test='page.dto.insCompanyIds !=null and page.dto.insCompanyIds.size>0  '>" +
+                " and t.insCompanyId in " +
+                "   <foreach item='item' index='index' collection='page.dto.insCompanyIds' open='(' separator=',' close=')'>" +
+                "       #{item}" +
+                "   </foreach>" +
+                "</if> " +
+                "<if test='page.dto.channel !=null and page.dto.channel!=\"\" '> " +
+                " and t.channel = #{page.dto.channel}" +
+                "</if> " +
+                "<if test='page.dto.outChannel !=null and page.dto.outChannel!=\"\" '> " +
+                " and t.outChannel = #{page.dto.outChannel}" +
+                "</if> " +
+                "<if test='page.dto.status !=null and page.dto.status!=\"\" '> " +
+                " and t.status = #{page.dto.status}" +
+                "</if> " +
+            "</if> " +
+            "";
+
+    @Select({"<script>",
+            selectSql,
+            fromSql,
+            whereSql,
+            " limit #{page.pageNum},#{page.pageSize} ",
+            "</script>"})
+    List<InvInsCompanyVo> gainSynthesize(@Param("page") PageDto pageDto);
+
+
+    @Select({"<script>", "select count(1) ", fromSql, whereSql, "</script>"})
+    int gainSynthesizeCount(@Param("page") PageDto pageDto);
+
+
+
+}

+ 0 - 14
src/main/java/com/ydtech/modules/inv/dao/InvInsExternalBillsMapper.java

@@ -1,14 +0,0 @@
-package com.ydtech.modules.inv.dao;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.ydtech.modules.inv.model.InvExternalBills;
-
-/**
- * @author Administrator
- * @description 针对表【inv_ins_external_bills(财务 - 保险公司 - 外部票据)】的数据库操作Mapper
- * @createDate 2023-06-06 10:58:18
- * @Entity generator.domain.InvInsExternalBills
- */
-public interface InvInsExternalBillsMapper extends BaseMapper<InvExternalBills> {
-
-}

+ 31 - 12
src/main/java/com/ydtech/modules/inv/model/InvBaseExternalBillsDetails.java

@@ -30,8 +30,6 @@ public class InvBaseExternalBillsDetails implements Serializable {
     @ApiModelProperty(value = "批次号")
     private String batchNum;
 
-
-
     /**
      * 车牌号
      */
@@ -48,7 +46,12 @@ public class InvBaseExternalBillsDetails implements Serializable {
     private Date payDate;
 
 
-
+    /**
+     * 投保人
+     */
+    @TableField(value = "applicant")
+    @ApiModelProperty(value = "投保人")
+    private String applicant;
 
 
     /**
@@ -58,35 +61,33 @@ public class InvBaseExternalBillsDetails implements Serializable {
     @ApiModelProperty(value = "被保险人")
     private String insured;
 
-
-
     /**
      * 交强保费
      */
     @TableField(value = "mlifta")
     @ApiModelProperty(value = "交强险保费")
-    private BigDecimal mlifta;
+    private BigDecimal mlifta = BigDecimal.ZERO;
 
     /**
      * 车船税保费
      */
     @TableField(value = "vavt")
     @ApiModelProperty(value = "车船税保费")
-    private BigDecimal vavt;
+    private BigDecimal vavt = BigDecimal.ZERO;
 
     /**
      * 商业保费
      */
     @TableField(value = "cip")
     @ApiModelProperty(value = "商业保费")
-    private BigDecimal cip;
+    private BigDecimal cip = BigDecimal.ZERO;
 
     /**
      * 其他保费
      */
     @TableField(value = "other")
     @ApiModelProperty(value = "其他保费")
-    private BigDecimal other;
+    private BigDecimal other = BigDecimal.ZERO;
 
 
     /**
@@ -94,21 +95,33 @@ public class InvBaseExternalBillsDetails implements Serializable {
      */
     @TableField(value = "mlifta_cost")
     @ApiModelProperty(value = "交强费用")
-    private BigDecimal mliftaCost;
+    private BigDecimal mliftaCost = BigDecimal.ZERO;
 
     /**
      * 车船税费用
      */
     @TableField(value = "vavt_cost")
     @ApiModelProperty(value = "车船税费用")
-    private BigDecimal vavtCost;
+    private BigDecimal vavtCost = BigDecimal.ZERO;
 
     /**
      * 商业费用
      */
     @TableField(value = "cip_cost")
     @ApiModelProperty(value = "商业费用")
-    private BigDecimal cipCost;
+    private BigDecimal cipCost = BigDecimal.ZERO;
+
+    /**
+     * 其他费用
+     */
+    @TableField(value = "other_cost")
+    @ApiModelProperty(value = "其他费用")
+    private BigDecimal otherCost = BigDecimal.ZERO;
+
+
+    @TableField(value = "vavt_no_overdue_fine")
+    @ApiModelProperty(value = "车船税(剔除滞纳金)")
+    private BigDecimal vavtNoOverdueFine = BigDecimal.ZERO;
 
 
 
@@ -126,6 +139,12 @@ public class InvBaseExternalBillsDetails implements Serializable {
     @TableField(value = "ins_company_id")
     private String insCompanyId;
 
+    /**
+     * 状态(0 未领取、1 未支付、2已支付)
+     */
+    @TableField(value = "status")
+    private String status;
+
 
 
 

+ 0 - 13
src/main/java/com/ydtech/modules/inv/model/InvChannelsExternalBillsDetails.java

@@ -14,12 +14,6 @@ import java.math.BigDecimal;
 @TableName(value ="inv_channels_external_bills_details")
 @Data
 public class InvChannelsExternalBillsDetails extends InvBaseExternalBillsDetails {
-//    /**
-//     *
-//     */
-//    @TableId(value = "id")
-//    private String id;
-//
     /**
      * 等级
      */
@@ -38,8 +32,6 @@ public class InvChannelsExternalBillsDetails extends InvBaseExternalBillsDetails
     @TableField(value = "ins_coverage")
     private String insCoverage;
 
-
-
     /**
      * 出单渠道
      */
@@ -53,11 +45,6 @@ public class InvChannelsExternalBillsDetails extends InvBaseExternalBillsDetails
     @TableField(value = "cope")
     private BigDecimal cope;
 
-    /**
-     * 状态(0 未领取、1 未支付、2已支付)
-     */
-    @TableField(value = "status")
-    private String status;
 
     /**
      * 付款操作人

+ 19 - 156
src/main/java/com/ydtech/modules/inv/model/InvChannelsExternalBillsDetailsHistory.java

@@ -2,8 +2,10 @@ package com.ydtech.modules.inv.model;
 
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import java.math.BigDecimal;
 import java.util.Date;
 
 /**
@@ -20,160 +22,21 @@ public class InvChannelsExternalBillsDetailsHistory extends InvBaseExternalBills
 
     @TableField(value = "edit_time")
     private Date editTime;
-//
-//    /**
-//     * 批次号
-//     */
-//    @TableField(value = "batch_num")
-//    private String batchNum;
-//
-//    /**
-//     * 保单号
-//     */
-//    @Excel(name = "保单号")
-//    @TableField(value = "policy_num")
-//    private String policyNum;
-//
-//    /**
-//     * 车牌号
-//     */
-//    @Excel(name = "车牌号")
-//    @TableField(value = "plate_num")
-//    private String plateNum;
-//
-//    /**
-//     * 付款日期
-//     */
-//    @Excel(name = "付款日期")
-//    @TableField(value = "pay_date")
-//    private Date payDate;
-//
-//    /**
-//     * 起保日期
-//     */
-//    @Excel(name = "起保日期")
-//    @TableField(value = "coc_date")
-//    private Date cocDate;
-//
-//    /**
-//     * 险种名称
-//     */
-//    @Excel(name = "险种名称")
-//    @TableField(value = "ins_kind_name")
-//    private String insKindName;
-//
-//    /**
-//     * 投保习惯
-//     */
-//    @Excel(name = "投保习惯")
-//    @TableField(value = "ins_habit")
-//    private String insHabit;
-//
-//    /**
-//     * 使用性质
-//     */
-//    @Excel(name = "使用性质")
-//    @TableField(value = "use_nature")
-//    private String useNature;
-//
-//    /**
-//     * 被保险人
-//     */
-//    @Excel(name = "被保险人")
-//    @TableField(value = "insured")
-//    private String insured;
-//
-//    /**
-//     * 投保人
-//     */
-//    @Excel(name = "投保人")
-//    @TableField(value = "applicant")
-//    private String applicant;
-//
-//    /**
-//     * 交强保费
-//     */
-//    @Excel(name = "交强保费")
-//    @TableField(value = "mlifta")
-//    private BigDecimal mlifta;
-//
-//    /**
-//     * 车船税保费
-//     */
-//    @Excel(name = "车船税保费")
-//    @TableField(value = "vavt")
-//    private BigDecimal vavt;
-//
-//    /**
-//     * 商业保费
-//     */
-//    @Excel(name = "商业保费")
-//    @TableField(value = "cip")
-//    private BigDecimal cip;
-//
-//    /**
-//     * 三者保额
-//     */
-//    @Excel(name = "三者保额")
-//    @TableField(value = "tpi_si")
-//    private String tpiSi;
-//
-//    /**
-//     * 批改类型
-//     */
-//    @Excel(name = "批改类型")
-//    @TableField(value = "correction_type")
-//    private String correctionType;
-//
-//    /**
-//     * 排量
-//     */
-//    @Excel(name = "排量")
-//    @TableField(value = "cc")
-//    private String cc;
-//
-//    /**
-//     * 投保人年龄
-//     */
-//    @Excel(name = "投保人年龄")
-//    @TableField(value = "applicant_age")
-//    private String applicantAge;
-//
-//    /**
-//     * 投保人身份证号
-//     */
-//    @Excel(name = "投保人身份证号")
-//    @TableField(value = "applicant_id_card")
-//    private String applicantIdCard;
-//
-//    /**
-//     * 投保人性别
-//     */
-//    @Excel(name = "投保人性别")
-//    @TableField(value = "applicant_sex")
-//    private String applicantSex;
-//
-//    /**
-//     * 投保联系人
-//     */
-//    @Excel(name = "投保联系人")
-//    @TableField(value = "applicant_contact")
-//    private String applicantContact;
-//
-//    /**
-//     * 广博分
-//     */
-//    @Excel(name = "广博分")
-//    @TableField(value = "wide_grades")
-//    private String wideGrades;
-//
-//    /**
-//     * 光博分
-//     */
-//    @Excel(name = "光博分")
-//    @TableField(value = "light_grades")
-//    private String lightGrades;
-//
-//    @TableField(exist = false)
-//    private static final long serialVersionUID = 1L;
+
+    @TableField(value = "edit_By")
+    private String editBy;
+
+
+    /**
+     * 出单渠道
+     */
+    @TableField(value = "out_channel")
+    private String outChannel;
+
+    /**
+     * 应付
+     */
+    @ApiModelProperty(value = "应付")
+    @TableField(value = "cope")
+    private BigDecimal cope;
 }

+ 16 - 44
src/main/java/com/ydtech/modules/inv/model/InvInsExternalBillsDetails.java

@@ -19,13 +19,19 @@ import java.util.Date;
 @ApiModel
 public class InvInsExternalBillsDetails extends InvBaseExternalBillsDetails {
 
+    /**
+     * 交强险保单号
+     */
+    @TableField(value = "mlifta_policy_num")
+    @ApiModelProperty(value = "交强险保单号")
+    private String mliftaPolicyNum;
 
     /**
-     * 保单号
+     * 商业险保单号
      */
-    @TableField(value = "policy_num")
-    @ApiModelProperty(value = "保单号")
-    private String policyNum;
+    @TableField(value = "cip_policy_num")
+    @ApiModelProperty(value = "商业险保单号")
+    private String cipPolicyNum;
 
     /**
      * 起保日期
@@ -57,12 +63,6 @@ public class InvInsExternalBillsDetails extends InvBaseExternalBillsDetails {
     @ApiModelProperty(value = "使用性质")
     private String useNature;
 
-    /**
-     * 投保人
-     */
-    @TableField(value = "applicant")
-    @ApiModelProperty(value = "投保人")
-    private String applicant;
 
     /**
      * 三者保额
@@ -85,33 +85,6 @@ public class InvInsExternalBillsDetails extends InvBaseExternalBillsDetails {
     @ApiModelProperty(value = "投保人年龄")
     private String applicantAge;
 
-    /**
-     * 三者费用
-     */
-    @TableField(value = "tpi_cost")
-    @ApiModelProperty(value = "三者费用")
-    private String tpiCost;
-
-//    /**
-//     * 投保人身份证号
-//     */
-//    @TableField(value = "applicant_id_card")
-//    @ApiModelProperty(value = "投保人身份证号")
-//    private String applicantIdCard;
-//
-//    /**
-//     * 投保人性别
-//     */
-//    @TableField(value = "applicant_sex")
-//    @ApiModelProperty(value = "投保人性别")
-//    private String applicantSex;
-//
-//    /**
-//     * 投保联系人
-//     */
-//    @TableField(value = "applicant_contact")
-//    @ApiModelProperty(value = "投保联系人")
-//    private String applicantContact;
 
     /**
      * 批改类型
@@ -139,15 +112,14 @@ public class InvInsExternalBillsDetails extends InvBaseExternalBillsDetails {
      *  保险公司账号说明
      */
     @TableField(value = "ins_account")
-    @ApiModelProperty(value = "保险公司账号说明")
+    @ApiModelProperty(value = "保险公司用户")
     private String insAccount;
 
-    /**
-     *  状态
-     */
-    @TableField(value = "status")
-    @ApiModelProperty(value = "状态(0 待领取、1已领取)")
-    private String status;
+
+    @TableField(value = "branch_code")
+    @ApiModelProperty(value = "网点代码")
+    private String branchCode;
+
 
     @TableField(exist = false)
     private static final long serialVersionUID = 1L;

+ 19 - 0
src/main/java/com/ydtech/modules/inv/model/InvInvoiceInfo.java

@@ -194,6 +194,25 @@ public class InvInvoiceInfo extends BaseEntity implements Serializable {
     private int type;
 
 
+    @Excel(name = "已提利润")
+    @ApiModelProperty(value = "已提利润")
+    @TableField(value = "profit_applied")
+    private BigDecimal profitApplied;
+
+    @Excel(name = "未出账金额")
+    @ApiModelProperty(value = "未出账金额")
+    @TableField(value = "not_out_money")
+    private BigDecimal notOutMoney;
+
+    @Excel(name = "利润合计")
+    @ApiModelProperty(value = "利润合计")
+    @TableField(value = "total_profit")
+    private BigDecimal totalProfit;
+
+
+
+
+
     @TableField(exist = false)
     private static final long serialVersionUID = 1L;
 }

+ 85 - 0
src/main/java/com/ydtech/modules/inv/model/dto/InvBaseExcelDto.java

@@ -0,0 +1,85 @@
+package com.ydtech.modules.inv.model.dto;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.baomidou.mybatisplus.annotation.TableField;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 财务 - 导入 基础 DTO
+ */
+@Data
+public class InvBaseExcelDto {
+
+
+    /**
+     * 付款日期
+     */
+    @Excel(name = "付款日期", exportFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date payDate;
+
+    /**
+     * 车牌号
+     */
+    @Excel(name = "车牌号")
+    private String plateNum;
+
+
+    /**
+     * 保险公司
+     */
+    @Excel(name = "保险公司名称")
+    private String insCompany;
+
+
+    /**
+     * 交强保费
+     */
+    @Excel(name = "交强保费")
+    private BigDecimal mlifta = BigDecimal.ZERO;
+
+    /**
+     * 车船税保费
+     */
+    @Excel(name = "车船税保费")
+    private BigDecimal vavt = BigDecimal.ZERO;
+
+    /**
+     * 商业保费
+     */
+    @Excel(name = "商业保费")
+    private BigDecimal cip = BigDecimal.ZERO;
+
+    @Excel(name = "其他保费")
+    private BigDecimal other = BigDecimal.ZERO;
+
+    /**
+     * 交强费用
+     */
+    @Excel(name = "交强费用")
+    private BigDecimal mliftaCost = BigDecimal.ZERO;
+
+
+    /**
+     * 商业费用
+     */
+    @Excel(name = "商业费用")
+    private BigDecimal cipCost = BigDecimal.ZERO;
+
+    /**
+     * 车船税费用
+     */
+    @Excel(name = "车船税费用")
+    private BigDecimal vavtCost = BigDecimal.ZERO;
+
+    @Excel(name = "其他费用")
+    private BigDecimal otherCost = BigDecimal.ZERO;
+
+    @Excel(name = "车船税(剔除滞纳金)")
+    private BigDecimal vavtNoOverdueFine = BigDecimal.ZERO;
+
+
+
+}

+ 114 - 0
src/main/java/com/ydtech/modules/inv/model/dto/InvChannelExcelDto.java

@@ -0,0 +1,114 @@
+package com.ydtech.modules.inv.model.dto;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * 财务 - 渠道 DTO   模板
+ */
+@Data
+public class InvChannelExcelDto extends InvBaseExcelDto{
+
+    /**
+     * 等级
+     */
+    @Excel(name = "等级")
+    private String level;
+
+    @Excel(name = "业务渠道")
+    private String channel;
+
+//    /**
+//     * 付款日期
+//     */
+//    @Excel(name = "付款日期")
+//    private Date payDate;
+//
+//    /**
+//     * 车牌号
+//     */
+//    @Excel(name = "车牌号")
+//    private String plateNum;
+
+    /**
+     * 被保险人
+     */
+    @Excel(name = "被保险人")
+    private String insured;
+
+//    /**
+//     * 保险公司
+//     */
+//    @Excel(name = "保险公司")
+//    private String insCompany;
+
+    /**
+     * 险别
+     */
+    @Excel(name = "险别")
+    private String insCoverage;
+
+    /**
+     * 出单渠道
+     */
+    @Excel(name = "出单渠道")
+    private String outChannel;
+
+//    /**
+//     * 交强保费
+//     */
+//    @Excel(name = "交强保费")
+//    private BigDecimal mlifta;
+//
+//    /**
+//     * 车船税保费
+//     */
+//    @Excel(name = "车船税保费")
+//    private BigDecimal vavt;
+//
+//    /**
+//     * 商业保费
+//     */
+//    @Excel(name = "商业保费")
+//    private BigDecimal cip;
+//
+//    @Excel(name = "其他保费")
+//    private BigDecimal other;
+//
+//    /**
+//     * 交强费用
+//     */
+//    @Excel(name = "交强费用")
+//    private BigDecimal mliftaCost;
+//
+//
+//    /**
+//     * 商业费用
+//     */
+//    @Excel(name = "商业费用")
+//    private BigDecimal cipCost;
+//
+//    /**
+//     * 车船税费用
+//     */
+//    @Excel(name = "车船税费用")
+//    private BigDecimal vavtCost;
+//
+//    @Excel(name = "其他费用")
+//    private String otherCost;
+//
+//    @Excel(name = "车船税(剔除滞纳金)")
+//    private BigDecimal vavtNoOverdueFine;
+
+    /**
+     * 应付
+     */
+    @Excel(name = "应付")
+    private BigDecimal cope;
+
+
+
+
+}

+ 0 - 110
src/main/java/com/ydtech/modules/inv/model/dto/InvInsChannelExcelDto.java

@@ -1,110 +0,0 @@
-package com.ydtech.modules.inv.model.dto;
-
-import cn.afterturn.easypoi.excel.annotation.Excel;
-import com.baomidou.mybatisplus.annotation.TableField;
-import lombok.Data;
-
-import java.math.BigDecimal;
-import java.util.Date;
-
-/**
- * 财务 - 渠道 DTO   模板
- */
-@Data
-public class InvInsChannelExcelDto  {
-
-    /**
-     * 等级
-     */
-    @Excel(name = "等级")
-    private String level;
-
-    @Excel(name = "业务渠道")
-    private String channel;
-
-    /**
-     * 付款日期
-     */
-    @Excel(name = "签单日期")
-    private Date payDate;
-
-    /**
-     * 车牌号
-     */
-    @Excel(name = "车牌号")
-    private String plateNum;
-
-    /**
-     * 被保险人
-     */
-    @Excel(name = "被保险人")
-    private String insured;
-
-    /**
-     * 保险公司
-     */
-    @Excel(name = "保险公司")
-    private String insCompany;
-
-    /**
-     * 险别
-     */
-    @Excel(name = "险别")
-    private String insCoverage;
-
-    /**
-     * 出单渠道
-     */
-    @Excel(name = "出单渠道")
-    private String outChannel;
-
-    /**
-     * 交强保费
-     */
-    @Excel(name = "交强保费")
-    private BigDecimal mlifta;
-
-    /**
-     * 车船税保费
-     */
-    @Excel(name = "车船税保费")
-    private BigDecimal vavt;
-
-    /**
-     * 商业保费
-     */
-    @Excel(name = "商业保费")
-    private BigDecimal cip;
-
-    /**
-     * 交强费用
-     */
-    @Excel(name = "交强费用")
-    private BigDecimal mliftaCost;
-
-
-    /**
-     * 商业费用
-     */
-    @Excel(name = "商业费用")
-    private BigDecimal cipCost;
-
-    /**
-     * 车船税费用
-     */
-    @Excel(name = "车船税费用")
-    private BigDecimal vavtCost;
-
-    /**
-     * 应付
-     */
-    @Excel(name = "应付")
-    private BigDecimal cope;
-
-
-
-
-
-    @TableField(exist = false)
-    private static final long serialVersionUID = 1L;
-}

+ 59 - 0
src/main/java/com/ydtech/modules/inv/model/dto/InvInsCompanyDto.java

@@ -0,0 +1,59 @@
+package com.ydtech.modules.inv.model.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+
+/**
+ *  财务  保司、渠道    DTO
+ *
+ * @author: lig
+ * @date: 2023-08-10
+ */
+@Data
+@ApiModel(value = "财务 - 保司、渠道  DTO")
+public class InvInsCompanyDto {
+
+
+    @ApiModelProperty(value = "分类(保司、渠道)")
+    private String classify;
+
+    @ApiModelProperty(value = "车牌号")
+    private String plateNum;
+
+    @ApiModelProperty(value = "保险公司Id集")
+    private List<String> insCompanyIds;
+
+//    @ApiModelProperty(value = "保单号")
+//    private String insuranceSlipNum;
+
+    @ApiModelProperty(value = "业务渠道")
+    private String channel;
+
+    @ApiModelProperty(value = "出单渠道")
+    private String outChannel;
+
+    @ApiModelProperty(value = "投保人")
+    private String applicant;
+
+    @ApiModelProperty(value = "被保人")
+    private String insured;
+
+    @ApiModelProperty(value = "状态")
+    private String status;
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @ApiModelProperty(value = "付款日期")
+    private Date payDate;
+//    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+//    @ApiModelProperty(value = "签单日期")
+//    private Date signBillDate;
+
+
+
+}

+ 90 - 0
src/main/java/com/ydtech/modules/inv/model/dto/InvInsExcelDto.java

@@ -0,0 +1,90 @@
+package com.ydtech.modules.inv.model.dto;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.ydtech.modules.inv.model.InvBaseExternalBillsDetails;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 财务 - 保险公司 - 标准Excel模板 DTO
+ */
+@Data
+public class InvInsExcelDto extends InvBaseExcelDto {
+
+    @Excel(name = "交强险保单号")
+    private String mliftaPolicyNum;
+
+    @Excel(name = "商业险保单号")
+    private String cipPolicyNum;
+
+//    @Excel(name = "保险公司名称")
+//    private String insuranceCompany;
+
+    @Excel(name = "保险公司用户")
+    private String insCompanyUser;
+
+
+    @Excel(name = "车牌号")
+    private String plateNum;
+
+    @Excel(name = "车辆使用性质")
+    private String useNature;
+
+//    /**
+//     * 付款日期
+//     */
+//    @Excel(name = "付款日期", exportFormat = "yyyy-MM-dd HH:mm:ss")
+//    private Date payDate;
+
+
+    /**
+     * 产品名称
+     */
+    @Excel(name = "产品名称")
+    private String productName;
+
+    /**
+     * 被保人
+     */
+    @Excel(name = "被保人")
+    private String insured;
+
+    /**
+     * 投保人
+     */
+    @Excel(name = "投保人")
+    private String applicant;
+
+//    /**
+//     * 交强保费
+//     */
+//    @Excel(name = "交强保费")
+//    private BigDecimal mlifta = BigDecimal.ZERO;
+//
+//    @Excel(name = "车船税保费")
+//    private BigDecimal vavt = BigDecimal.ZERO;
+//
+//    @Excel(name = "商业保费")
+//    private BigDecimal cip = BigDecimal.ZERO;
+//
+//    @Excel(name = "其他保费")
+//    private BigDecimal other = BigDecimal.ZERO;
+//
+//    @Excel(name = "交强费用")
+//    private BigDecimal mliftaCost = BigDecimal.ZERO;
+//
+//    @Excel(name = "车船税费用")
+//    private BigDecimal vavtCost = BigDecimal.ZERO;
+//
+//    @Excel(name = "商业费用")
+//    private BigDecimal cipCost = BigDecimal.ZERO;
+//
+//    @Excel(name = "其他费用")
+//    private BigDecimal otherCost = BigDecimal.ZERO;
+//
+//    @Excel(name = "车船税(剔除滞纳金)")
+//    private BigDecimal vavtNoOverdueFine;
+
+
+}

+ 0 - 82
src/main/java/com/ydtech/modules/inv/model/dto/InvInsStandardExcelDto.java

@@ -1,82 +0,0 @@
-package com.ydtech.modules.inv.model.dto;
-
-import cn.afterturn.easypoi.excel.annotation.Excel;
-import com.baomidou.mybatisplus.annotation.TableField;
-import lombok.Data;
-
-import java.math.BigDecimal;
-import java.util.Date;
-
-/**
- * 财务 - 保险公司 - 标准Excel模板 DTO
- */
-@Data
-public class InvInsStandardExcelDto {
-
-    @Excel(name = "保单号")
-    private String policyNum;
-
-    @Excel(name = "保险公司名称")
-    private String insuranceCompany;
-
-    @Excel(name = "保险公司用户")
-    private String insuranceCompanyUser;
-
-
-    @Excel(name = "车牌号")
-    private String plateNum;
-
-    /**
-     * 付款日期
-     */
-    @Excel(name = "付款日期", exportFormat = "yyyy-MM-dd HH:mm:ss")
-    private Date payDate;
-
-
-    /**
-     * 产品名称
-     */
-    @Excel(name = "产品名称")
-    private String productName;
-
-    /**
-     * 被保人
-     */
-    @Excel(name = "被保人")
-    private String insured;
-
-    /**
-     * 投保人
-     */
-    @Excel(name = "投保人")
-    private String applicant;
-
-    /**
-     * 交强保费
-     */
-    @Excel(name = "交强保费")
-    private BigDecimal mlifta;
-
-    @Excel(name = "车船税保费")
-    private BigDecimal vavt;
-
-    @Excel(name = "商业保费")
-    private BigDecimal cip;
-
-    @Excel(name = "三者保费")
-    private String tpi;
-
-    @Excel(name = "交强费用")
-    private BigDecimal mliftaCost;
-
-    @Excel(name = "车船税费用")
-    private BigDecimal vavtCost;
-
-    @Excel(name = "商业费用")
-    private BigDecimal cipCost;
-
-    @Excel(name = "三者费用")
-    private String tpiCost;
-
-
-}

+ 32 - 0
src/main/java/com/ydtech/modules/inv/model/vo/InsChannelMatchVo.java

@@ -0,0 +1,32 @@
+package com.ydtech.modules.inv.model.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ydtech.modules.base.model.vo.PageVo;
+import com.ydtech.modules.inv.model.vo.res.InvBaseChannelMatchInsResVO;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ *  财务  保司、渠道 匹配 VO
+ *
+ * @author: lig
+ * @date: 2023-08-10
+ */
+@Data
+@ApiModel(value = "财务 - 保司、渠道  匹配VO")
+public class InsChannelMatchVo {
+
+
+    @ApiModelProperty(value = "匹配数据")
+    private PageVo<InvBaseChannelMatchInsResVO> isMatch;
+
+    @ApiModelProperty(value = "不匹配数据")
+    private PageVo<InvBaseChannelMatchInsResVO> notMatch;
+
+
+
+}

+ 7 - 2
src/main/java/com/ydtech/modules/inv/model/vo/InvInsCompanyExportVo.java

@@ -1,6 +1,8 @@
 package com.ydtech.modules.inv.model.vo;
 
 import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.baomidou.mybatisplus.annotation.TableField;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.math.BigDecimal;
@@ -15,8 +17,11 @@ import java.util.Date;
 @Data
 public class InvInsCompanyExportVo {
 
-    @Excel(name = "保单号",width = 25)
-    private String policyNum;
+    @Excel(name = "交强险保单号",width = 32)
+    private String mliftaPolicyNum;
+
+    @Excel(name = "商业险保单号",width = 32)
+    private String cipPolicyNum;
 
     @Excel(name = "投保人",width = 15)
     private String applicant;

+ 78 - 0
src/main/java/com/ydtech/modules/inv/model/vo/InvInsCompanyVo.java

@@ -0,0 +1,78 @@
+package com.ydtech.modules.inv.model.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ *  财务  保司、渠道    VO
+ *
+ * @author: lig
+ * @date: 2023-08-09
+ */
+@Data
+@ApiModel(value = "财务 - 保司、渠道  VO")
+public class InvInsCompanyVo {
+
+
+    @ApiModelProperty(value = "id")
+    private String id;
+
+    @ApiModelProperty(value = "分类(保司、渠道)")
+    private String classify;
+
+    @ApiModelProperty(value = "车牌号")
+    private String plateNum;
+
+    @ApiModelProperty(value = "保险公司Id")
+    private String insCompanyId;
+
+    @ApiModelProperty(value = "保险公司")
+    private String insCompany;
+
+    @ApiModelProperty(value = "保单号")
+    private String insuranceSlipNum;
+
+    @ApiModelProperty(value = "出单渠道")
+    private String channel;
+
+    @ApiModelProperty(value = "投保人")
+    private String applicant;
+
+    @ApiModelProperty(value = "被保人")
+    private String insured;
+
+    @ApiModelProperty(value = "状态")
+    private String status;
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @ApiModelProperty(value = "付款日期")
+    private Date payDate;
+
+    @ApiModelProperty(value = "交强险保费")
+    private BigDecimal mlifta = BigDecimal.ZERO;
+
+    @ApiModelProperty(value = "车船税保费")
+    private BigDecimal vavt = BigDecimal.ZERO;
+
+    @ApiModelProperty(value = "商业保费")
+    private BigDecimal cip = BigDecimal.ZERO;
+
+    @ApiModelProperty(value = "其他保费")
+    private BigDecimal other = BigDecimal.ZERO;
+
+    @ApiModelProperty(value = "交强险费用")
+    private BigDecimal mliftaCost = BigDecimal.ZERO;
+
+    @ApiModelProperty(value = "车船税费用")
+    private BigDecimal vavtCost = BigDecimal.ZERO;
+
+    @ApiModelProperty(value = "商业险费用")
+    private BigDecimal cipCost = BigDecimal.ZERO;
+
+
+}

+ 10 - 4
src/main/java/com/ydtech/modules/inv/model/vo/req/InvChannelExternalBillsDetailsReqVO.java

@@ -1,10 +1,13 @@
 package com.ydtech.modules.inv.model.vo.req;
 
+import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.ydtech.core.page.BasePageVO;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import java.util.List;
+
 /**
  * 财务 - 保险公司 - 外部票据  详情 请求
  *
@@ -13,12 +16,15 @@ import lombok.Data;
  */
 @Data
 @ApiModel
-public class InvChannelExternalBillsDetailsReqVO extends BasePageVO {
+public class InvChannelExternalBillsDetailsReqVO {
+
+//    @ApiModelProperty(value = "批次号")
+//    private String batchNum;
 
-    @ApiModelProperty(value = "批次号")
-    private String batchNum;
+    @ApiModelProperty(value = "渠道id集合")
+    private List<String> ids;
 
-    @ApiModelProperty(value = "匹配数据(1匹配  0不匹配)")
+    @ApiModelProperty(value = "匹配(1:匹配数据、0未匹配数据)")
     private String isMatch;
 
 

+ 6 - 2
src/main/java/com/ydtech/modules/inv/service/InvChannelsExternalBillsDetailsService.java

@@ -3,6 +3,8 @@ package com.ydtech.modules.inv.service;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ydtech.core.page.PageResult;
 import com.ydtech.modules.admin.model.SysUser;
+import com.ydtech.modules.base.model.dto.PageDto;
+import com.ydtech.modules.base.model.vo.PageVo;
 import com.ydtech.modules.inv.model.InvChannelsExternalBillsDetails;
 import com.ydtech.modules.inv.model.InvExternalBills;
 import com.ydtech.modules.inv.model.vo.req.InvChannelExternalBillsDetailsReqVO;
@@ -16,12 +18,14 @@ import java.util.List;
 public interface InvChannelsExternalBillsDetailsService extends IService<InvChannelsExternalBillsDetails> {
 
 
-    PageResult<InvBaseChannelMatchInsResVO> gainChannelMatchIns(InvChannelExternalBillsDetailsReqVO reqVo);
+    public PageVo gainChannelMatchIns(PageDto pageDto);
 
     boolean deleteByBatchNum(String batchNum);
 
     //    @Async
-    InvExternalBills importData(MultipartFile file, InvExternalBills iieb);
+//    InvExternalBills importData(MultipartFile file, InvExternalBills iieb);
+
+    void importData(MultipartFile file);
 
 
 

+ 13 - 0
src/main/java/com/ydtech/modules/inv/service/InvExternalBillsService.java

@@ -1,8 +1,12 @@
 package com.ydtech.modules.inv.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.ydtech.modules.admin.model.vo.SysReferrerVo;
+import com.ydtech.modules.base.model.dto.PageDto;
+import com.ydtech.modules.base.model.vo.PageVo;
 import com.ydtech.modules.inv.model.InvExternalBills;
 import com.ydtech.modules.inv.model.dto.InvInsImportDto;
+import com.ydtech.modules.inv.model.vo.InvInsCompanyVo;
 import org.springframework.scheduling.annotation.Async;
 import org.springframework.web.multipart.MultipartFile;
 
@@ -58,4 +62,13 @@ public interface InvExternalBillsService extends IService<InvExternalBills> {
 //     */
 //    void importDataAnew(String flag, String batchNum, MultipartFile file, InvExternalBills ieb);
 
+
+    /**
+     *  获取综合查询分页
+     *
+     * @author: lig
+     * @date: 2023-08-09
+     */
+    public PageVo<InvInsCompanyVo> gainSynthesizePage(PageDto pageDto);
+
 }

+ 169 - 94
src/main/java/com/ydtech/modules/inv/service/impl/InvChannelsExternalBillsDetailsServiceImpl.java

@@ -4,33 +4,25 @@ import cn.hutool.core.bean.BeanUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ydtech.core.page.BasePageVO;
-import com.ydtech.core.page.PageResult;
+import com.ydtech.constants.enums.dict.finance.CheckingStatusEnum;
 import com.ydtech.exception.SystemException;
 import com.ydtech.modules.admin.model.SysUser;
+import com.ydtech.modules.base.model.dto.PageDto;
+import com.ydtech.modules.base.model.vo.PageVo;
 import com.ydtech.modules.esm.model.EsmInsCompany;
 import com.ydtech.modules.esm.service.EsmInsCompanyService;
 import com.ydtech.modules.inv.dao.InvChannelsExternalBillsDetailsMapper;
 import com.ydtech.modules.inv.model.InvChannelsExternalBillsDetails;
-import com.ydtech.modules.inv.model.InvExternalBills;
-import com.ydtech.modules.inv.model.InvInsExternalBillsDetails;
-import com.ydtech.modules.inv.model.dto.InvInsChannelExcelDto;
-import com.ydtech.modules.inv.model.vo.req.InvChannelExternalBillsDetailsReqVO;
+import com.ydtech.modules.inv.model.dto.InvChannelExcelDto;
 import com.ydtech.modules.inv.model.vo.res.InvBaseChannelMatchInsResVO;
-import com.ydtech.modules.inv.model.vo.res.InvChannelMatchInsResVO;
-import com.ydtech.modules.inv.model.vo.res.InvCompanyResVO;
 import com.ydtech.modules.inv.service.InvChannelsExternalBillsDetailsService;
 import com.ydtech.modules.inv.service.InvExternalBillsService;
-import com.ydtech.utils.StringUtils;
 import com.ydtech.utils.excel.ExcelEasypoiUtils;
-import com.ydtech.utils.excel.ExcelUtils2;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
 import java.io.IOException;
-import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -48,30 +40,45 @@ public class InvChannelsExternalBillsDetailsServiceImpl extends ServiceImpl<InvC
     private EsmInsCompanyService esmInsCompanyService;
 
     @Override
-    public PageResult<InvBaseChannelMatchInsResVO> gainChannelMatchIns(InvChannelExternalBillsDetailsReqVO reqVo) {
+    public PageVo<InvBaseChannelMatchInsResVO> gainChannelMatchIns(PageDto pageDto) {
+        PageVo<InvBaseChannelMatchInsResVO> pageVo = new PageVo();
         //获取总数量
-        int total = super.baseMapper.gainChannelMatchInsCount(reqVo);
-//        //计算mysql分页起索引
-//        int firstIndex = reqVo.getPageNum()==1?0:(reqVo.getPageNum()-1) * reqVo.getPageSize() +1;
-//        //计算mysql分页总页数
-//        int totalPages = total % reqVo.getPageSize() == 0?total / reqVo.getPageSize():total / reqVo.getPageSize() +1;
+        int total = super.baseMapper.gainChannelMatchInsCount(pageDto);
 
-//        PageResult pr = new PageResult();
-//        pr.setPageNum(reqVo.getPageNum());
-//        pr.setPageSize(reqVo.getPageSize());
-//        pr.setTotalSize(total);
-//        pr.setTotalPages(totalPages);
+        pageVo.setTotalSize(total);
+        PageVo.buildPageInfo(pageDto, pageVo);
 
+        pageVo.setContent(super.baseMapper.gainChannelMatchIns(pageDto));
 
-        //请求替换分页开始索引
-        reqVo.setPageNum(PageResult.buildPageLimitStart(reqVo));
+        return pageVo;
 
-        List<InvBaseChannelMatchInsResVO> resVOList = super.baseMapper.gainChannelMatchIns(reqVo);
-
-
-        return PageResult.buildPageResult(reqVo, total, resVOList);
 
     }
+//    @Override
+//    public PageResult<InvBaseChannelMatchInsResVO> gainChannelMatchIns(InvChannelExternalBillsDetailsReqVO reqVo) {
+//        //获取总数量
+//        int total = super.baseMapper.gainChannelMatchInsCount(reqVo);
+////        //计算mysql分页起索引
+////        int firstIndex = reqVo.getPageNum()==1?0:(reqVo.getPageNum()-1) * reqVo.getPageSize() +1;
+////        //计算mysql分页总页数
+////        int totalPages = total % reqVo.getPageSize() == 0?total / reqVo.getPageSize():total / reqVo.getPageSize() +1;
+//
+////        PageResult pr = new PageResult();
+////        pr.setPageNum(reqVo.getPageNum());
+////        pr.setPageSize(reqVo.getPageSize());
+////        pr.setTotalSize(total);
+////        pr.setTotalPages(totalPages);
+//
+//
+//        //请求替换分页开始索引
+//        reqVo.setPageNum(PageResult.buildPageLimitStart(reqVo));
+//
+//        List<InvBaseChannelMatchInsResVO> resVOList = super.baseMapper.gainChannelMatchIns(reqVo);
+//
+//
+//        return PageResult.buildPageResult(reqVo, total, resVOList);
+//
+//    }
 
     @Override
     public boolean deleteByBatchNum(String batchNum) {
@@ -80,30 +87,149 @@ public class InvChannelsExternalBillsDetailsServiceImpl extends ServiceImpl<InvC
         return remove(lqw);
     }
 
+//    @Override
+//    public InvExternalBills importData(MultipartFile file, InvExternalBills iieb) {
+//
+//        String errorMsg = "";
+//        List<InvChannelsExternalBillsDetails> list = null;
+//        try {
+//            List<InvInsChannelExcelDto> dtoList =  ExcelEasypoiUtils.importExcel(file, InvInsChannelExcelDto.class, 0, 1, 1);
+//
+//            dtoList = dtoList.stream().filter(l -> l.getPlateNum() != null).collect(Collectors.toList());
+//            if(null == dtoList || dtoList.size() < 1){
+//                errorMsg = "导入失败!匹配数据 0 条";
+//
+//            }
+//
+//
+//            Map<String, InvChannelsExternalBillsDetails> m = new HashMap();
+//            dtoList.stream().forEach(a ->{
+//                InvChannelsExternalBillsDetails icebd = new InvChannelsExternalBillsDetails();
+//                if (m.containsKey(a.getPlateNum())) {
+//                    icebd = m.get(a.getPlateNum());
+//
+//                } else {
+//                    BeanUtil.copyProperties(a, icebd);
+//                    //对应保险公司
+//                    EsmInsCompany insCompany = esmInsCompanyService.findInsCompanyByName(a.getInsCompany());
+//                    if(null == insCompany)throw new SystemException("保险公司:" + a.getInsCompany() + "不匹配");
+//                    icebd.setInsCompanyId(insCompany.getId());
+//                    icebd.setInsCompany(insCompany.getName());
+//
+//                    icebd.setMliftaCost(a.getMliftaCost());
+//
+//                    icebd.setPayDate(a.getPayDate());
+//                    icebd.setInsCoverage(a.getInsCoverage());
+//
+//
+//                    icebd.setStatus("1");
+//
+//                }
+//                m.put(a.getPlateNum(), icebd);
+//            });
+//
+//            //获取车牌号list
+//            List<String> listKey = m.keySet().stream().collect(Collectors.toList());
+//            //获取车牌号重复的list  渠道
+//            List<String> longs = gainPlateNumRepetitionList(listKey);
+//
+//
+//            if(longs.size() > 0){
+//                errorMsg = "车牌号已经存在:"+longs;
+////                throw new SystemException("车牌号已经存在:"+longs);
+//            }else{
+//                list = new ArrayList<>(m.values());
+//            }
+//
+//
+//
+//
+//        } catch (IOException e) {
+//            errorMsg = "导入失败!" + e.getMessage();
+//        }
+//
+//
+//        if (StringUtils.isNotEmpty(errorMsg)) {
+//            iieb.setImportStatus("0");
+//            iieb.setErrorMsg(errorMsg);
+//
+//
+//        } else {
+//
+//            iieb = InvExternalBills.buildImportInvExternalBills(iieb, list);
+//            boolean boo = saveBatch(list);
+//        }
+//        return iieb;
+//
+//
+//    }
+
+    @Override
+    public void pay(List<String> ids, SysUser user) {
+        //更新批次号状态
+        LambdaUpdateWrapper<InvChannelsExternalBillsDetails> luw = new LambdaUpdateWrapper<>();
+        luw.set(InvChannelsExternalBillsDetails::getStatus, "2");
+        luw.set(InvChannelsExternalBillsDetails::getPayOperatorId, user.getId());
+        luw.set(InvChannelsExternalBillsDetails::getPayOperator, user.getName());
+        luw.in(InvChannelsExternalBillsDetails::getId, ids);
+        update(luw);
+    }
+
+
+    /**
+     * 获取车牌号重复的list  渠道
+     *
+     * @author: lig
+     * @date: 2023年07月07日 0007
+     */
+    private List<String> gainPlateNumRepetitionList(List<String> listKey) {
+        LambdaQueryWrapper<InvChannelsExternalBillsDetails> lqw = new LambdaQueryWrapper();
+        lqw.select(InvChannelsExternalBillsDetails::getPlateNum);
+        lqw.eq(InvChannelsExternalBillsDetails::getStatus, CheckingStatusEnum.AS0.getCode());
+        lqw.in(InvChannelsExternalBillsDetails::getPlateNum, listKey);
+
+        //查询获取对象具体字段的集合
+        List<String> longs = listObjs(lqw, new Function<Object, String>() {
+            @Override
+            public String apply(Object id) {
+                return id.toString();
+            }
+        });
+        return longs;
+
+    }
+
+
     @Override
-    public InvExternalBills importData(MultipartFile file, InvExternalBills iieb) {
+    public void importData(MultipartFile file) {
 
         String errorMsg = "";
         List<InvChannelsExternalBillsDetails> list = null;
         try {
-            List<InvInsChannelExcelDto> dtoList =  ExcelEasypoiUtils.importExcel(file, InvInsChannelExcelDto.class, 0, 1, 1);
+            List<InvChannelExcelDto> dtoList = ExcelEasypoiUtils.importExcel(file, InvChannelExcelDto.class, 0, 1, 1);
 
             dtoList = dtoList.stream().filter(l -> l.getPlateNum() != null).collect(Collectors.toList());
-            if(null == dtoList || dtoList.size() < 1){
-                errorMsg = "导入失败!匹配数据 0 条";
+            if (null == dtoList || dtoList.size() < 1) {
+//                errorMsg = "导入失败!匹配数据 0 条";
+                throw new SystemException("导入失败!匹配数据 0 条");
 
             }
+
+
             Map<String, InvChannelsExternalBillsDetails> m = new HashMap();
-            dtoList.stream().forEach(a ->{
+            dtoList.stream().forEach(a -> {
                 InvChannelsExternalBillsDetails icebd = new InvChannelsExternalBillsDetails();
                 if (m.containsKey(a.getPlateNum())) {
                     icebd = m.get(a.getPlateNum());
+                    if (!a.getChannel().equals(icebd.getChannel())) {
+                        throw new SystemException("导入重复数据,车牌号:" + a.getPlateNum());
+                    }
 
                 } else {
                     BeanUtil.copyProperties(a, icebd);
                     //对应保险公司
                     EsmInsCompany insCompany = esmInsCompanyService.findInsCompanyByName(a.getInsCompany());
-                    if(null == insCompany)throw new SystemException("保险公司:" + a.getInsCompany() + "不匹配");
+                    if (null == insCompany) throw new SystemException("保险公司:" + a.getInsCompany() + "不匹配");
                     icebd.setInsCompanyId(insCompany.getId());
                     icebd.setInsCompany(insCompany.getName());
 
@@ -112,8 +238,7 @@ public class InvChannelsExternalBillsDetailsServiceImpl extends ServiceImpl<InvC
                     icebd.setPayDate(a.getPayDate());
                     icebd.setInsCoverage(a.getInsCoverage());
 
-
-                    icebd.setStatus("1");
+                    icebd.setStatus("0");
 
                 }
                 m.put(a.getPlateNum(), icebd);
@@ -124,74 +249,24 @@ public class InvChannelsExternalBillsDetailsServiceImpl extends ServiceImpl<InvC
             //获取车牌号重复的list  渠道
             List<String> longs = gainPlateNumRepetitionList(listKey);
 
-
-            if(longs.size() > 0){
-                errorMsg = "车牌号已经存在:"+longs;
+            if (longs.size() > 0) {
+                throw new SystemException(String.format("车牌号已经存在:%s", longs));
+//                errorMsg = "车牌号已经存在:"+longs;
 //                throw new SystemException("车牌号已经存在:"+longs);
-            }else{
+            } else {
                 list = new ArrayList<>(m.values());
+                saveBatch(list);
             }
 
-
-
-
         } catch (IOException e) {
-            errorMsg = "导入失败!" + e.getMessage();
+            throw new SystemException("导入失败!");
+//            errorMsg = "导入失败!" + e.getMessage();
         }
 
 
-        if (StringUtils.isNotEmpty(errorMsg)) {
-            iieb.setImportStatus("0");
-            iieb.setErrorMsg(errorMsg);
-
-
-        } else {
-
-            iieb = InvExternalBills.buildImportInvExternalBills(iieb, list);
-            boolean boo = saveBatch(list);
-        }
-        return iieb;
-
-
-    }
-
-    @Override
-    public void pay(List<String> ids, SysUser user) {
-        //更新批次号状态
-        LambdaUpdateWrapper<InvChannelsExternalBillsDetails> luw = new LambdaUpdateWrapper<>();
-        luw.set(InvChannelsExternalBillsDetails::getStatus,"2");
-        luw.set(InvChannelsExternalBillsDetails::getPayOperatorId,user.getId());
-        luw.set(InvChannelsExternalBillsDetails::getPayOperator,user.getName());
-        luw.in(InvChannelsExternalBillsDetails::getId,ids);
-        update(luw);
     }
 
 
-    /**
-     *  获取车牌号重复的list  渠道
-     *
-     * @author: lig
-     * @date: 2023年07月07日 0007
-     */
-    private List<String> gainPlateNumRepetitionList(List<String> listKey){
-        LambdaQueryWrapper<InvChannelsExternalBillsDetails> lqw = new LambdaQueryWrapper();
-                lqw.select(InvChannelsExternalBillsDetails::getPlateNum);
-                lqw.in(InvChannelsExternalBillsDetails::getPlateNum,listKey);
-
-        //查询获取对象具体字段的集合
-        List<String> longs = listObjs(lqw, new Function<Object, String>() {
-            @Override
-            public String apply(Object id) {
-                return id.toString();
-            }
-        });
-        return longs;
-
-    }
-
-
-
-
 }
 
 

+ 30 - 15
src/main/java/com/ydtech/modules/inv/service/impl/InvExternalBillsServiceImpl.java

@@ -2,29 +2,27 @@ package com.ydtech.modules.inv.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ydtech.exception.SystemException;
+import com.ydtech.modules.admin.model.vo.SysReferrerVo;
+import com.ydtech.modules.base.model.dto.PageDto;
+import com.ydtech.modules.base.model.vo.PageVo;
 import com.ydtech.modules.esm.model.EsmInsCompany;
 import com.ydtech.modules.esm.service.EsmInsCompanyService;
-import com.ydtech.modules.inv.dao.InvInsExternalBillsMapper;
+import com.ydtech.modules.inv.dao.InvExternalBillsMapper;
 import com.ydtech.modules.inv.model.InvExternalBills;
-import com.ydtech.modules.inv.model.InvInsExternalBillsDetails;
 import com.ydtech.modules.inv.model.dto.InvInsImportDto;
+import com.ydtech.modules.inv.model.vo.InvInsCompanyVo;
 import com.ydtech.modules.inv.service.InvChannelsExternalBillsDetailsService;
 import com.ydtech.modules.inv.service.InvInsExternalBillsDetailsService;
 import com.ydtech.modules.inv.service.InvExternalBillsService;
-import com.ydtech.utils.StringUtils;
-import com.ydtech.utils.excel.ExcelUtils2;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
-import java.io.IOException;
-import java.math.BigDecimal;
 import java.util.List;
 
 
 @Service
-public class InvExternalBillsServiceImpl extends ServiceImpl<InvInsExternalBillsMapper, InvExternalBills>
+public class InvExternalBillsServiceImpl extends ServiceImpl<InvExternalBillsMapper, InvExternalBills>
         implements InvExternalBillsService {
 
     @Resource
@@ -79,14 +77,15 @@ public class InvExternalBillsServiceImpl extends ServiceImpl<InvInsExternalBills
                 iieb.setInsCompanyName(eic.getName());
                 //导入保险公司详细数据
                 invInsExternalBillsDetailsService.importData(importDto,file, iieb);
-            } else
-                /**
-                 *  渠道模板导入
-                 */
-                if (importDto.getFlag().equals("2")) {
-                //导入渠道详细数据
-                invChannelsExternalBillsDetailsService.importData(file, iieb);
             }
+//            else
+//                /**
+//                 *  渠道模板导入
+//                 */
+//                if (importDto.getFlag().equals("2")) {
+//                //导入渠道详细数据
+//                invChannelsExternalBillsDetailsService.importData(file, iieb);
+//            }
         } catch (Exception e) {
             e.printStackTrace();
             log.error("导入数据失败:" + e.getMessage());
@@ -97,6 +96,22 @@ public class InvExternalBillsServiceImpl extends ServiceImpl<InvInsExternalBills
         updateById(iieb);
     }
 
+    @Override
+    public PageVo<InvInsCompanyVo> gainSynthesizePage(PageDto pageDto) {
+        PageVo<InvInsCompanyVo> pageVo = new PageVo();
+
+        //获取分页数量
+        int total = super.baseMapper.gainSynthesizeCount(pageDto);
+        pageVo.setTotalSize(total);
+
+        PageVo.buildPageInfo(pageDto,pageVo);
+
+        pageVo.setContent(super.baseMapper.gainSynthesize(pageDto));
+
+
+        return pageVo;
+    }
+
 
 //    @Override
 //    public void importData(String flag, String insCompanyId, String businessChannels, InvExternalBills iieb, MultipartFile file) {

+ 8 - 11
src/main/java/com/ydtech/modules/inv/service/impl/InvInsExternalBillsDetailsServiceImpl.java

@@ -3,6 +3,7 @@ package com.ydtech.modules.inv.service.impl;
 import cn.hutool.core.bean.BeanUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ydtech.constants.enums.dict.finance.CheckingStatusEnum;
 import com.ydtech.exception.SystemException;
 import com.ydtech.modules.inv.dao.InvInsExternalBillsDetailsMapper;
 import com.ydtech.modules.inv.model.InvExternalBills;
@@ -10,22 +11,17 @@ import com.ydtech.modules.inv.model.InvInsExternalBillsDetails;
 import com.ydtech.modules.inv.model.dto.InvInsChinaCoalExcelDto;
 import com.ydtech.modules.inv.model.dto.InvInsImportDto;
 import com.ydtech.modules.inv.model.dto.InvInsSimpleSysExcelDto;
-import com.ydtech.modules.inv.model.dto.InvInsStandardExcelDto;
+import com.ydtech.modules.inv.model.dto.InvInsExcelDto;
 import com.ydtech.modules.inv.service.InvExternalBillsService;
 import com.ydtech.modules.inv.service.InvInsExternalBillsDetailsService;
 import com.ydtech.modules.protocol.entity.po.PtlAgreementProductCosts;
 import com.ydtech.modules.protocol.service.PtlAgreementProductCostsService;
-import com.ydtech.utils.BigDecimalUtils;
 import com.ydtech.utils.StringUtils;
 import com.ydtech.utils.excel.ExcelEasypoiUtils;
-import com.ydtech.utils.excel.ExcelUtils2;
-import org.springframework.beans.BeanUtils;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
-import java.io.IOException;
 import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -92,12 +88,12 @@ public class InvInsExternalBillsDetailsServiceImpl extends ServiceImpl<InvInsExt
         Map<String, InvInsExternalBillsDetails> m = new HashMap();
 
 
-        List<InvInsStandardExcelDto> standardList = ExcelEasypoiUtils.importExcel(file, InvInsStandardExcelDto.class, 0, 1, 1);
+        List<InvInsExcelDto> standardList = ExcelEasypoiUtils.importExcel(file, InvInsExcelDto.class, 0, 1, 1);
         standardList.stream().forEach(a -> {
 
 
             List<String> filedList = new ArrayList<>();
-            filedList.add(a.getInsuranceCompanyUser());
+            filedList.add(a.getInsCompanyUser());
             //费用map
             Map<String,String> costMap = new HashMap();
             try {
@@ -215,6 +211,7 @@ public class InvInsExternalBillsDetailsServiceImpl extends ServiceImpl<InvInsExt
         LambdaQueryWrapper<InvInsExternalBillsDetails> lqw = new LambdaQueryWrapper();
         lqw.select(InvInsExternalBillsDetails::getPlateNum);
         lqw.in(InvInsExternalBillsDetails::getPlateNum, listKey);
+        lqw.eq(InvInsExternalBillsDetails::getStatus, CheckingStatusEnum.AS0.getCode());
 
         //查询获取对象具体字段的集合
         List<String> longs = listObjs(lqw, new Function<Object, String>() {
@@ -259,8 +256,8 @@ public class InvInsExternalBillsDetailsServiceImpl extends ServiceImpl<InvInsExt
             iiebd.setCip(dto.getPremium());
             //三者保额
             iiebd.setTpi(dto.getTpi());
-            //三者保费
-            iiebd.setTpiCost(dto.getTpiPremium());
+//            //三者保费
+//            iiebd.setTpiCost(dto.getTpiPremium());
         }
     }
 
@@ -293,7 +290,7 @@ public class InvInsExternalBillsDetailsServiceImpl extends ServiceImpl<InvInsExt
      * @author: lig
      * @date: 2023-07-10
      */
-    void buildStandardDtoParam(InvInsStandardExcelDto simpleSysDto, InvInsExternalBillsDetails iiebd) {
+    void buildStandardDtoParam(InvInsExcelDto simpleSysDto, InvInsExternalBillsDetails iiebd) {
 
         iiebd.setInsHabit(simpleSysDto.getProductName());
         iiebd.setStatus("0");

+ 2 - 1
src/main/java/com/ydtech/modules/inv/service/impl/InvInvoiceInfoServiceImpl.java

@@ -160,8 +160,9 @@ public class InvInvoiceInfoServiceImpl extends ServiceImpl<InvInvoiceInfoMapper,
             List<InvInvoiceInfoInOut> invoiceInfoInOutList = dto.getInvoiceInfoInOutList();
             if(null !=invoiceInfoInOutList && invoiceInfoInOutList.size()>0){
                 invInvoiceInfoInOutService.removeById(invInvoiceInfo.getId());
-                invInvoiceInfoInOutService.saveBatch(invoiceInfoInOutList);
+
             }
+            invInvoiceInfoInOutService.saveBatch(invoiceInfoInOutList);
         }
         return saveOrUpdate(invInvoiceInfo);
     }

BIN
src/main/resources/template/finance_channel_model_A.xlsx


BIN
src/main/resources/template/finance_ins_model_A.xlsx