ligang134 3 年 前
コミット
923eabd453

+ 1 - 1
src/main/java/com/ydtech/constants/enums/dict/DictionaryManagement.java

@@ -26,7 +26,7 @@ public class DictionaryManagement {
 //    @ApiModelProperty("状态 0.启用 1.禁用")
 //    private Integer status;
 
-    @TableField(exist = false)
+//    @TableField(exist = false)
     private List<DictionaryData> ddList;
 
 //    @TableField(exist = false)

+ 33 - 0
src/main/java/com/ydtech/constants/enums/dict/SupplierTypeEnum.java

@@ -0,0 +1,33 @@
+package com.ydtech.constants.enums.dict;
+
+import com.ydtech.aop.request.DictEnum;
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+
+/**
+ * 供应商类型
+ *
+ * @author: lig
+ * @date: 2023-07-25
+ */
+@Getter
+@AllArgsConstructor
+@DictEnum(key = "supplierTypeEnum", desc = "供应商类型")
+public enum SupplierTypeEnum 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;
+
+
+
+}

+ 86 - 0
src/main/java/com/ydtech/modules/admin/controller/SysSysDictController.java

@@ -0,0 +1,86 @@
+package com.ydtech.modules.admin.controller;
+
+
+import com.ydtech.config.DictEnumConfig;
+import com.ydtech.constants.enums.dict.DictionaryManagement;
+import com.ydtech.core.page.HttpResult;
+import com.ydtech.modules.base.controller.BaseController;
+import com.ydtech.utils.StringUtils;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.*;
+
+/**
+ * 系统字典 控制器
+ *
+ * @author Lig
+ * @date 2023-07-25
+ */
+
+@Api(tags = "系统字典管理")
+@RestController
+@RequestMapping("sysDict")
+public class SysSysDictController extends BaseController {
+
+
+
+
+    /**
+     * 枚举类字典
+     *
+     * @author: lig
+     * @date: 2023年04月10日 0010
+     */
+    @ApiOperation(value = "根据多个字典类型查询字典数据")
+    @GetMapping("/listAllDataByTypes")
+    public List<DictionaryManagement> listAllDataByTypes(@RequestParam Set<String> dictTypeList) {
+        List<DictionaryManagement> dmList = new ArrayList<>();
+        Map<String, DictionaryManagement> dmMap = DictEnumConfig.getDmMap();
+        Set<String> dictTypeListRemain = new HashSet<>();
+        for (String dictType : dictTypeList) {
+            if (dmMap.containsKey(dictType)) {
+                DictionaryManagement dictionaryManagement = dmMap.get(dictType);
+                dmList.add(dictionaryManagement);
+            } else {
+                dictTypeListRemain.add(dictType);
+            }
+        }
+//        List<DictionaryManagement> dictionaryManagements = dictionaryManagementService.listAllDataByTypes(dictTypeListRemain);
+//        dmList.addAll(dictionaryManagements);
+        return dmList;
+    }
+
+
+    /**
+     * 枚举类
+     *
+     * @author: lig
+     * @date: 2023年04月10日 0010
+     */
+    @ApiOperation(value = "获取字典类型列表")
+    @GetMapping("/dictTypeList")
+    public List<DictionaryManagement> dictTypeList() {
+
+        List<DictionaryManagement> dictList = DictEnumConfig.dictManageList;
+
+        return dictList;
+    }
+
+
+
+    @GetMapping(value = "/dictDetails/{type}")
+    @ApiOperation(value = "获取字典详情列表")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "type", value = "分类", required = true, dataType = "String")
+    })
+    public HttpResult<DictionaryManagement> dictDetails(@PathVariable String type) {
+
+        Map<String, DictionaryManagement> m = DictEnumConfig.getDmMap();
+
+        return HttpResult.ok(m.get(type));
+    }
+}

+ 13 - 0
src/main/java/com/ydtech/modules/esm/model/EsmInsCompany.java

@@ -7,6 +7,7 @@ import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import javax.validation.constraints.NotNull;
 import java.util.Date;
 import java.io.Serializable;
 import java.util.List;
@@ -80,6 +81,18 @@ public class EsmInsCompany implements Serializable {
     @ApiModelProperty(value = "拼音")
     private String cnName;
 
+    @TableField(value = "code")
+    @ApiModelProperty(value = "编码")
+    private String code;
+
+    @TableField(value = "type")
+    @ApiModelProperty(value = "保司类型(1 - 财险、2 - 寿险、0 - 渠道)")
+    @NotNull(message = "保司类型不能为空!")
+    private String type;
+
+
+
+
 
     @ApiModelProperty(value = "子集")
     @TableField(exist = false)

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

@@ -1,5 +1,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 com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -10,7 +13,11 @@ import com.ydtech.exception.SystemException;
 import com.ydtech.modules.base.controller.BaseController;
 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.ins.utils.ExcelUtils2;
 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.req.InvChannelExternalBillsDetailsReqVO;
 import com.ydtech.modules.inv.model.vo.req.InvInsExternalBillsReqVO;
@@ -26,7 +33,10 @@ import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
 import java.util.Date;
+import java.util.List;
 
 /**
  * 外部单据控制层  临时
@@ -104,6 +114,7 @@ public class InvExternalBillsController extends BaseController {
         }
 
 
+        //数据导入
         invExternalBillsService.importData(importDto,iieb,file);
 
 
@@ -114,112 +125,6 @@ public class InvExternalBillsController extends BaseController {
 
 
 
-//    @PostMapping("/importDataAdd")
-//    @ApiOperation(value = "excel导入数据(新增)")
-//    public HttpResult importDataAdd(@ApiParam(name = "file", value = "excel文件", required = true) @RequestPart MultipartFile file
-//            , HttpServletRequest request
-//            , @ApiParam(name = "insCompanyId", value = "保险公司ID") String insCompanyId
-//            , @ApiParam(name = "businessChannels", value = "业务渠道") String businessChannels
-//            , @ApiParam(name = "flag", value = "标识(1 保险公司模板导入   2 渠道模板导入)", required = true) @RequestParam String flag
-//    ) {
-//
-//        if (ObjectUtils.isEmpty(file) || file.getSize() <= 0) {
-//            throw new SystemException("上传文件大小为空");
-//        }
-//
-//
-//        HttpResult result = null;
-//
-//        InvExternalBills iieb = new InvExternalBills();
-//        iieb.setCreateTime(new Date());
-//        iieb.setCreateBy(getUserId());
-//        iieb.setImportStatus("1");
-//        iieb.setFlag(flag);
-//
-//        invExternalBillsService.importData(flag, insCompanyId, businessChannels, iieb, file);
-//
-//
-//        return HttpResult.ok("导入成功");
-//
-//    }
-//
-//
-//    @PostMapping("/importDataEdit")
-//    @ApiOperation(value = "excel导入数据(修改)")
-//    public HttpResult importDataEdit(@ApiParam(name = "file", value = "excel文件", required = true) @RequestPart MultipartFile file
-//            , @ApiParam(name = "batchNum", value = "批次号", required = true) @RequestParam String batchNum
-//            , HttpServletRequest request
-//    ) {
-//
-//        if (ObjectUtils.isEmpty(file) || file.getSize() <= 0) {
-//            throw new SystemException("上传文件大小为空");
-//        }
-//
-//        InvExternalBills ieb = invExternalBillsService.getById(batchNum);
-//
-//
-//        ieb.setCreateTime(new Date());
-//        ieb.setCreateBy(getUserId());
-//        ieb.setImportStatus("1");
-//        invExternalBillsService.updateById(ieb);
-//
-//        //重新导入
-//        invExternalBillsService.importDataAnew(ieb.getFlag(), batchNum, file, ieb);
-//
-//
-//        return HttpResult.ok("重新导入成功");
-//
-//    }
-
-
-//    @PostMapping("/import")
-//    @ApiOperation(value = "excel导入数据")
-//    public HttpResult importData(@ApiParam(name = "file", value = "excel文件") MultipartFile file, HttpServletRequest request
-//            , String insCompanyId, String id ) {
-//        HttpResult result = null;
-//
-//
-//        InvInsExternalBills iieb = null;
-//        if (StringUtils.isNotEmpty(id)) {
-//            iieb = insExternalBillsService.getById(id);
-//            invInsExternalBillsDetailsService.deleteByBatchNum(id);
-//        } else {
-//            if (StringUtils.isNotEmpty(insCompanyId)) {
-//                EsmInsCompany eic = esmInsCompanyService.getById(insCompanyId);
-//                if (null != eic) {
-//                    iieb = new InvInsExternalBills();
-//                    iieb.setInsCompanyId(eic.getId());
-//                    iieb.setInsCompanyName(eic.getName());
-//
-//
-//                } else {
-//                    return HttpResult.error("保险公司不存在");
-//                }
-//
-//            } else {
-//                return HttpResult.error("保险公司ID空");
-//            }
-//
-//        }
-//
-//
-//        iieb.setCreateTime(new Date());
-//        iieb.setCreateBy(getUserId(request));
-//
-//        iieb.setImportStatus("1");
-//
-//        insExternalBillsService.saveOrUpdate(iieb);
-//
-//        //导入详细数据
-//        insExternalBillsService.importData(file, iieb);
-//
-//
-////        return insExternalBillsService.importData(file);
-//        return HttpResult.ok();
-//
-//    }
-
-
     @ApiOperation(value = "修改")
     @ApiResponses({
             @ApiResponse(code = 500, message = "出现异常"),
@@ -263,4 +168,33 @@ public class InvExternalBillsController extends BaseController {
     }
 
 
+
+    @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) {
+
+
+        LambdaQueryWrapper<InvInsExternalBillsDetails> lqw = new LambdaQueryWrapper();
+        lqw.eq(InvInsExternalBillsDetails::getBatchNum,batchNum);
+        List<InvInsExternalBillsDetails> list = invInsExternalBillsDetailsService.list(lqw);
+
+        String fileName = "result";
+        // 导出
+        ExportParams exportParams = new ExportParams("保司数据导出", "sheet0", ExcelType.HSSF);
+        // 设置
+        exportParams.setStyle(ExcelStyleUtil.class);
+        try {
+            ExcelUtils2.exportExcel(list, InvInsExternalBillsDetails.class, fileName, exportParams, request, response);
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
+
+
+        return HttpResult.ok();
+    }
+
+
 }

+ 9 - 0
src/main/java/com/ydtech/modules/inv/model/InvBaseExternalBillsDetails.java

@@ -81,12 +81,20 @@ public class InvBaseExternalBillsDetails implements Serializable {
     @ApiModelProperty(value = "商业保费")
     private BigDecimal cip;
 
+    /**
+     * 其他保费
+     */
+    @TableField(value = "other")
+    @ApiModelProperty(value = "其他保费")
+    private BigDecimal other;
+
 
     /**
      * 交强费用
      */
     @TableField(value = "mlifta_cost")
     @ApiModelProperty(value = "交强费用")
+    @Excel(name = "交强费用")
     private BigDecimal mliftaCost;
 
     /**
@@ -110,6 +118,7 @@ public class InvBaseExternalBillsDetails implements Serializable {
      */
     @TableField(value = "ins_company")
     @ApiModelProperty(value = "保险公司")
+    @Excel(name = "保险公司")
     private String insCompany;
 
     /**

+ 68 - 9
src/main/java/com/ydtech/modules/inv/model/InvExternalBills.java

@@ -4,14 +4,18 @@ import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ydtech.constants.enums.dict.IBaseEnum;
+import com.ydtech.utils.BigDecimalUtils;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
+import org.apache.poi.ss.formula.functions.T;
 import springfox.documentation.annotations.ApiIgnore;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
 import java.util.Date;
+import java.util.List;
 
 @TableName(value = "inv_external_bills")
 @Data
@@ -67,6 +71,19 @@ public class InvExternalBills implements Serializable {
     @TableField(value = "cip")
     private BigDecimal cip;
 
+
+//    @ApiModelProperty(value = "总交强险费用")
+//    @TableField(value = "mlifta_cost")
+//    private BigDecimal mliftaCost;
+//
+//    @ApiModelProperty(value = "车船税费用")
+//    @TableField(value = "vavt_cost")
+//    private BigDecimal vavtCost;
+//
+//    @ApiModelProperty(value = "商业险费用")
+//    @TableField(value = "cip_cost")
+//    private BigDecimal cipCost;
+
     /**
      * 其他保费
      */
@@ -130,19 +147,61 @@ public class InvExternalBills implements Serializable {
 
 
     @ApiIgnore
-    public static InvExternalBills buildImportInvExternalBills(InvExternalBills iieb, boolean boo, BigDecimal totalMlifta, BigDecimal totalVavt, BigDecimal totalCip){
-        if (!boo) {
-            iieb.setImportStatus("0");
-            iieb.setErrorMsg("保存数据出错");
+//    public static InvExternalBills buildImportInvExternalBills(InvExternalBills iieb, List<T extends InvBaseExternalBillsDetails> list){
+
+    public static <T extends InvBaseExternalBillsDetails> InvExternalBills buildImportInvExternalBills(InvExternalBills iieb,List<T> list) {
+
+//    public static InvExternalBills buildImportInvExternalBills(InvExternalBills iieb, boolean boo, BigDecimal totalMlifta, BigDecimal totalVavt, BigDecimal totalCip){
+
+        //总交强险保费
+        BigDecimal totalMlifta = BigDecimal.ZERO;
+        //总车船税
+        BigDecimal totalVavt = BigDecimal.ZERO;
+        //总商业险保费
+        BigDecimal totalCip = BigDecimal.ZERO;
+        //总其他保费
+        BigDecimal totalOther = BigDecimal.ZERO;
+
+//        //总交强险费用
+//        BigDecimal totalMliftaCost = BigDecimal.ZERO;
+//        //总车船税费用
+//        BigDecimal totalVavtCost = BigDecimal.ZERO;
+//        //总商业险费用
+//        BigDecimal totalCipCost = BigDecimal.ZERO;
+
+
+        if(null != list && list.size() > 0){
 
-        } else {
-            iieb.setMlifta(totalMlifta);
-            iieb.setVavt(totalVavt);
-            iieb.setCip(totalCip);
-            iieb.setImportStatus("1");
+            for (int i = 0; i < list.size(); i++) {
+                if (null == list.get(i)) list.remove(list.get(i));
+                list.get(i).setBatchNum(iieb.getId());
+                totalMlifta = totalMlifta.add(BigDecimalUtils.nullToZero(list.get(i).getMlifta()));
+                totalVavt = totalVavt.add(BigDecimalUtils.nullToZero(list.get(i).getVavt()));
+                totalCip = totalCip.add(BigDecimalUtils.nullToZero(list.get(i).getCip()));
+                totalOther = totalOther.add(BigDecimalUtils.nullToZero(list.get(i).getOther()));
 
+//                totalMliftaCost = totalMliftaCost.add(BigDecimalUtils.nullToZero(list.get(i).getMliftaCost()));
+//                totalVavtCost = totalVavtCost.add(BigDecimalUtils.nullToZero(list.get(i).getVavtCost()));
+//                totalCipCost = totalCipCost.add(BigDecimalUtils.nullToZero(list.get(i).getCipCost()));
 
+            }
+            iieb.setInventoryQuantity(list.size());
         }
+
+
+        iieb.setMlifta(totalMlifta);
+        iieb.setVavt(totalVavt);
+        iieb.setCip(totalCip);
+
+//        iieb.setMliftaCost(totalMliftaCost);
+//        iieb.setVavtCost(totalVavtCost);
+//        iieb.setCipCost(totalCipCost);
+
+        iieb.setImportStatus("1");
+
+
+
+
         return iieb;
     }
 

+ 1 - 0
src/main/java/com/ydtech/modules/inv/model/InvInsExternalBillsDetails.java

@@ -25,6 +25,7 @@ public class InvInsExternalBillsDetails extends InvBaseExternalBillsDetails {
      */
     @TableField(value = "policy_num")
     @ApiModelProperty(value = "保单号")
+    @Excel(name = "保单号")
     private String policyNum;
 
     /**

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

@@ -16,6 +16,12 @@ public class InvInsStandardExcelDto {
     @Excel(name = "保单号")
     private String policyNum;
 
+    @Excel(name = "保险公司名称")
+    private String insuranceCompany;
+
+    @Excel(name = "保险公司用户")
+    private String insuranceCompanyUser;
+
 
     @Excel(name = "车牌号")
     private String plateNum;

+ 5 - 12
src/main/java/com/ydtech/modules/inv/service/impl/InvChannelsExternalBillsDetailsServiceImpl.java

@@ -108,6 +108,10 @@ public class InvChannelsExternalBillsDetailsServiceImpl extends ServiceImpl<InvC
 
                     icebd.setMliftaCost(a.getMliftaCost());
 
+                    icebd.setPayDate(a.getPayDate());
+                    icebd.setInsCoverage(a.getInsCoverage());
+
+
                     icebd.setStatus("1");
 
                 }
@@ -142,21 +146,10 @@ public class InvChannelsExternalBillsDetailsServiceImpl extends ServiceImpl<InvC
 
         } else {
 
-            BigDecimal totalMlifta = BigDecimal.ZERO;
-            BigDecimal totalVavt = BigDecimal.ZERO;
-            BigDecimal totalCip = BigDecimal.ZERO;
-            for (int i = 0; i < list.size(); i++) {
-
-                list.get(i).setBatchNum(iieb.getId());
-                totalMlifta = totalMlifta.add(list.get(i).getMlifta());
-            }
-
+            iieb = InvExternalBills.buildImportInvExternalBills(iieb, list);
             boolean boo = saveBatch(list);
-            iieb.setInventoryQuantity(list.size());
-            iieb = InvExternalBills.buildImportInvExternalBills(iieb, boo, totalMlifta, totalVavt, totalCip);
         }
         return iieb;
-//        invExternalBillsService.updateById(iieb);
 
 
     }

+ 8 - 4
src/main/java/com/ydtech/modules/inv/service/impl/InvExternalBillsServiceImpl.java

@@ -68,9 +68,9 @@ public class InvExternalBillsServiceImpl extends ServiceImpl<InvInsExternalBills
     @Override
     public void importData(InvInsImportDto importDto, InvExternalBills iieb,MultipartFile file) {
         try {
-
-
-
+            /**
+             *  保险公司模板导入
+             */
             if (importDto.getFlag().equals("1")) {
 
                 EsmInsCompany eic = esmInsCompanyService.getById(importDto.getInsCompanyId());
@@ -79,7 +79,11 @@ public class InvExternalBillsServiceImpl extends ServiceImpl<InvInsExternalBills
                 iieb.setInsCompanyName(eic.getName());
                 //导入保险公司详细数据
                 invInsExternalBillsDetailsService.importData(importDto,file, iieb);
-            } else if (importDto.getFlag().equals("2")) {
+            } else
+                /**
+                 *  渠道模板导入
+                 */
+                if (importDto.getFlag().equals("2")) {
                 //导入渠道详细数据
                 invChannelsExternalBillsDetailsService.importData(file, iieb);
             }

+ 111 - 56
src/main/java/com/ydtech/modules/inv/service/impl/InvInsExternalBillsDetailsServiceImpl.java

@@ -13,6 +13,8 @@ import com.ydtech.modules.inv.model.dto.InvInsSimpleSysExcelDto;
 import com.ydtech.modules.inv.model.dto.InvInsStandardExcelDto;
 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.ExcelUtils2;
@@ -21,6 +23,7 @@ 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;
@@ -39,8 +42,10 @@ import java.util.stream.Collectors;
 public class InvInsExternalBillsDetailsServiceImpl extends ServiceImpl<InvInsExternalBillsDetailsMapper, InvInsExternalBillsDetails>
         implements InvInsExternalBillsDetailsService {
 
-    @Autowired
+    @Resource
     InvExternalBillsService invExternalBillsService;
+    @Resource
+    PtlAgreementProductCostsService ptlAgreementProductCostsService;
 
     @Override
     public boolean deleteByBatchNum(String batchNum) {
@@ -53,26 +58,20 @@ public class InvInsExternalBillsDetailsServiceImpl extends ServiceImpl<InvInsExt
     @Override
     public InvExternalBills importData(InvInsImportDto importDto, MultipartFile file, InvExternalBills iieb) throws Exception {
 
+
         List<InvInsExternalBillsDetails> list = buildImportExcel(importDto, file, iieb);
 
-        BigDecimal totalMlifta = BigDecimal.ZERO;
-        BigDecimal totalVavt = BigDecimal.ZERO;
-        BigDecimal totalCip = BigDecimal.ZERO;
+        iieb = InvExternalBills.buildImportInvExternalBills(iieb, list);
+
+        boolean boo = saveBatch(list);
 
-//            list = list.stream().filter(l -> l.getPlateNum() != null).collect(Collectors.toList());
-        for (int i = 0; i < list.size(); i++) {
-            if (null == list.get(i)) list.remove(list.get(i));
-            list.get(i).setBatchNum(iieb.getId());
-            totalMlifta = totalMlifta.add(BigDecimalUtils.nullToZero(list.get(i).getMlifta()));
-            totalVavt = totalVavt.add(BigDecimalUtils.nullToZero(list.get(i).getVavt()));
-            totalCip = totalCip.add(BigDecimalUtils.nullToZero(list.get(i).getCip()));
+        if (!boo) {
+            iieb.setImportStatus("0");
+            iieb.setErrorMsg("保存数据出错");
 
         }
-        boolean boo = saveBatch(list);
 
-        iieb.setInventoryQuantity(list.size());
-        iieb = InvExternalBills.buildImportInvExternalBills(iieb, boo, totalMlifta, totalVavt, totalCip);
-//        invExternalBillsService.updateById(iieb);
+
         return iieb;
 
 
@@ -91,59 +90,115 @@ public class InvInsExternalBillsDetailsServiceImpl extends ServiceImpl<InvInsExt
         List<InvInsExternalBillsDetails> list;
         Map<String, InvInsExternalBillsDetails> m = new HashMap();
 
-        //标准模板
-        if (importDto.isStandard()) {
-            List<InvInsStandardExcelDto> standardList = ExcelUtils2.importExcel(file, InvInsStandardExcelDto.class, 0, 1, 1);
-            standardList.stream().forEach(a -> {
-
-                InvInsExternalBillsDetails iiebd = new InvInsExternalBillsDetails();
-                if (m.containsKey(a.getPlateNum())) {
-                    iiebd = m.get(a.getPlateNum());
-
-                } else {
-                    BeanUtil.copyProperties(a, iiebd);
-                }
-                buildStandardDtoParam(a, iiebd);
-                m.put(a.getPlateNum(), iiebd);
-            });
 
-        } else if (iieb.getInsCompanyId().equals("000019")) {
-            //中煤
-            List<InvInsChinaCoalExcelDto> zmlist = ExcelUtils2.importExcel(file, InvInsChinaCoalExcelDto.class, 0, 1, 1);
-            zmlist.stream().forEach(a -> {
+        List<InvInsStandardExcelDto> standardList = ExcelUtils2.importExcel(file, InvInsStandardExcelDto.class, 0, 1, 1);
+        standardList.stream().forEach(a -> {
 
-                InvInsExternalBillsDetails iiebd = new InvInsExternalBillsDetails();
-                if (m.containsKey(a.getPlateNum())) {
-                    iiebd = m.get(a.getPlateNum());
 
-                } else {
-                    BeanUtil.copyProperties(a, iiebd);
-                }
-                buildChinaCoalDtoParam(a, iiebd);
-                m.put(a.getPlateNum(), iiebd);
+            List<String> filedList = new ArrayList<>();
+            filedList.add(a.getInsuranceCompanyUser());
+            //获取费用
+            List<PtlAgreementProductCosts> costList = ptlAgreementProductCostsService.selectByCompanyId(iieb.getInsCompanyId(),filedList);
+            Map<String,String> costMap = new HashMap();
+            costList.stream().forEach(cost ->{
+                costMap.put(cost.getProductName(),cost.getCostsProportion());
             });
 
-        } else {
-            //万家模板
-            List<InvInsSimpleSysExcelDto> wjlist = ExcelUtils2.importExcel(file, InvInsSimpleSysExcelDto.class, 0, 1, 1);
-            wjlist.stream().forEach(b -> {
+            InvInsExternalBillsDetails iiebd = new InvInsExternalBillsDetails();
+            if (m.containsKey(a.getPlateNum())) {
+                iiebd = m.get(a.getPlateNum());
 
-                InvInsExternalBillsDetails iiebd = new InvInsExternalBillsDetails();
-                if (m.containsKey(b.getPlateNum())) {
-                    iiebd = m.get(b.getPlateNum());
+            } else {
+                BeanUtil.copyProperties(a, iiebd);
+            }
 
-                } else {
-                    BeanUtil.copyProperties(b, iiebd);
-                }
 
-                buildSimpleSysDtoParam(b, iiebd);
+            //产品匹配   添加费用
+            if(costMap.containsKey(a.getProductName())){
+                if(a.getProductName().equals("单交")){
+                    iiebd.setMliftaCost(new BigDecimal(costMap.get(a.getProductName())));
+                }
 
+            }
 
-                m.put(b.getPlateNum(), iiebd);
+            buildStandardDtoParam(a, iiebd);
+            m.put(a.getPlateNum(), iiebd);
+        });
 
 
-            });
-        }
+//        //标准模板
+//        if (importDto.isStandard()) {
+//            List<InvInsStandardExcelDto> standardList = ExcelUtils2.importExcel(file, InvInsStandardExcelDto.class, 0, 1, 1);
+//            standardList.stream().forEach(a -> {
+//
+//
+//                List<String> filedList = new ArrayList<>();
+//                filedList.add(a.getInsuranceCompanyUser());
+//                //获取费用
+//                List<PtlAgreementProductCosts> costList = ptlAgreementProductCostsService.selectByCompanyId(iieb.getInsCompanyId(),filedList);
+//                Map<String,String> costMap = new HashMap();
+//                costList.stream().forEach(cost ->{
+//                    costMap.put(cost.getProductName(),cost.getCostsProportion());
+//                });
+//
+//                InvInsExternalBillsDetails iiebd = new InvInsExternalBillsDetails();
+//                if (m.containsKey(a.getPlateNum())) {
+//                    iiebd = m.get(a.getPlateNum());
+//
+//                } else {
+//                    BeanUtil.copyProperties(a, iiebd);
+//                }
+//
+//
+//                //产品匹配   添加费用
+//                if(costMap.containsKey(a.getProductName())){
+//                    if(a.getProductName().equals("单交")){
+//                        iiebd.setMliftaCost(new BigDecimal(costMap.get(a.getProductName())));
+//                    }
+//
+//                }
+//
+//                buildStandardDtoParam(a, iiebd);
+//                m.put(a.getPlateNum(), iiebd);
+//            });
+//
+//        } else if (iieb.getInsCompanyId().equals("000019")) {
+//            //中煤
+//            List<InvInsChinaCoalExcelDto> zmlist = ExcelUtils2.importExcel(file, InvInsChinaCoalExcelDto.class, 0, 1, 1);
+//            zmlist.stream().forEach(a -> {
+//
+//                InvInsExternalBillsDetails iiebd = new InvInsExternalBillsDetails();
+//                if (m.containsKey(a.getPlateNum())) {
+//                    iiebd = m.get(a.getPlateNum());
+//
+//                } else {
+//                    BeanUtil.copyProperties(a, iiebd);
+//                }
+//                buildChinaCoalDtoParam(a, iiebd);
+//                m.put(a.getPlateNum(), iiebd);
+//            });
+//
+//        } else {
+//            //万家模板
+//            List<InvInsSimpleSysExcelDto> wjlist = ExcelUtils2.importExcel(file, InvInsSimpleSysExcelDto.class, 0, 1, 1);
+//            wjlist.stream().forEach(b -> {
+//
+//                InvInsExternalBillsDetails iiebd = new InvInsExternalBillsDetails();
+//                if (m.containsKey(b.getPlateNum())) {
+//                    iiebd = m.get(b.getPlateNum());
+//
+//                } else {
+//                    BeanUtil.copyProperties(b, iiebd);
+//                }
+//
+//                buildSimpleSysDtoParam(b, iiebd);
+//
+//
+//                m.put(b.getPlateNum(), iiebd);
+//
+//
+//            });
+//        }
 
 
         //判断车牌号是否存在  保司