|
@@ -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.model.dto.InvInsStandardExcelDto;
|
|
|
import com.ydtech.modules.inv.service.InvExternalBillsService;
|
|
import com.ydtech.modules.inv.service.InvExternalBillsService;
|
|
|
import com.ydtech.modules.inv.service.InvInsExternalBillsDetailsService;
|
|
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.BigDecimalUtils;
|
|
|
import com.ydtech.utils.StringUtils;
|
|
import com.ydtech.utils.StringUtils;
|
|
|
import com.ydtech.utils.excel.ExcelUtils2;
|
|
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.stereotype.Service;
|
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
|
|
|
|
+import javax.annotation.Resource;
|
|
|
import java.io.IOException;
|
|
import java.io.IOException;
|
|
|
import java.math.BigDecimal;
|
|
import java.math.BigDecimal;
|
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
@@ -39,8 +42,10 @@ import java.util.stream.Collectors;
|
|
|
public class InvInsExternalBillsDetailsServiceImpl extends ServiceImpl<InvInsExternalBillsDetailsMapper, InvInsExternalBillsDetails>
|
|
public class InvInsExternalBillsDetailsServiceImpl extends ServiceImpl<InvInsExternalBillsDetailsMapper, InvInsExternalBillsDetails>
|
|
|
implements InvInsExternalBillsDetailsService {
|
|
implements InvInsExternalBillsDetailsService {
|
|
|
|
|
|
|
|
- @Autowired
|
|
|
|
|
|
|
+ @Resource
|
|
|
InvExternalBillsService invExternalBillsService;
|
|
InvExternalBillsService invExternalBillsService;
|
|
|
|
|
+ @Resource
|
|
|
|
|
+ PtlAgreementProductCostsService ptlAgreementProductCostsService;
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public boolean deleteByBatchNum(String batchNum) {
|
|
public boolean deleteByBatchNum(String batchNum) {
|
|
@@ -53,26 +58,20 @@ public class InvInsExternalBillsDetailsServiceImpl extends ServiceImpl<InvInsExt
|
|
|
@Override
|
|
@Override
|
|
|
public InvExternalBills importData(InvInsImportDto importDto, MultipartFile file, InvExternalBills iieb) throws Exception {
|
|
public InvExternalBills importData(InvInsImportDto importDto, MultipartFile file, InvExternalBills iieb) throws Exception {
|
|
|
|
|
|
|
|
|
|
+
|
|
|
List<InvInsExternalBillsDetails> list = buildImportExcel(importDto, file, iieb);
|
|
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;
|
|
return iieb;
|
|
|
|
|
|
|
|
|
|
|
|
@@ -91,59 +90,115 @@ public class InvInsExternalBillsDetailsServiceImpl extends ServiceImpl<InvInsExt
|
|
|
List<InvInsExternalBillsDetails> list;
|
|
List<InvInsExternalBillsDetails> list;
|
|
|
Map<String, InvInsExternalBillsDetails> m = new HashMap();
|
|
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);
|
|
|
|
|
+//
|
|
|
|
|
+//
|
|
|
|
|
+// });
|
|
|
|
|
+// }
|
|
|
|
|
|
|
|
|
|
|
|
|
//判断车牌号是否存在 保司
|
|
//判断车牌号是否存在 保司
|