|
|
@ -288,7 +288,7 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper, |
|
|
|
//是否调整
|
|
|
|
if (0 == record.getAdjustmentState()) { |
|
|
|
if (new BigDecimal(record.getStayDetermineMoney()).compareTo(BigDecimal.ZERO) == 0) { |
|
|
|
BigDecimal decimal = new BigDecimal(StringUtils.isNotBlank(record.getUploadMoney()) ? record.getUploadMoney() : "0").add(new BigDecimal(StringUtils.isNotBlank(record.getSecondaryUploadMoney()) ? record.getSecondaryUploadMoney() : "0")).subtract(new BigDecimal(StringUtils.isNotBlank(record.getMoney()) ? record.getMoney() : "0")).subtract(new BigDecimal(StringUtils.isNotBlank(record.getStayDetermineMoney()) ? record.getStayDetermineMoney() : "0")).subtract(new BigDecimal(StringUtils.isNotBlank(record.getEstimateRebate()) ? record.getEstimateRebate() : "0")); |
|
|
|
BigDecimal decimal = new BigDecimal(StringUtils.isNotBlank(record.getUploadMoney()) ? record.getUploadMoney() : "0").add(new BigDecimal(StringUtils.isNotBlank(record.getSecondaryUploadMoney()) ? record.getSecondaryUploadMoney() : "0")).subtract(record.getExpectCost()).subtract(new BigDecimal(StringUtils.isNotBlank(record.getStayDetermineMoney()) ? record.getStayDetermineMoney() : "0")).subtract(new BigDecimal(StringUtils.isNotBlank(record.getEstimateRebate()) ? record.getEstimateRebate() : "0")); |
|
|
|
int i = decimal.compareTo(BigDecimal.ZERO); |
|
|
|
if (i < 0) {//小于
|
|
|
|
record.setIsAdjustment("否"); |
|
|
@ -376,11 +376,9 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper, |
|
|
|
qw.apply(StringUtils.isNotBlank(createStartTime), "date_format (createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')"). |
|
|
|
apply(StringUtils.isNotBlank(createEndTime), "date_format (createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')" |
|
|
|
); |
|
|
|
qw.ne("adjustmentState", 1); |
|
|
|
qw.eq("adjustmentState", 0); |
|
|
|
qw.eq("state", 2); |
|
|
|
if (StringUtils.isNotBlank(query.getState())) { |
|
|
|
qw.eq("state", query.getState()); |
|
|
|
} |
|
|
|
qw.eq("onceCheckState", 0); |
|
|
|
qw.orderByDesc("createTime"); |
|
|
|
List<OneExcelVo> oneExcelVos = baseMapper.excelListOne(qw); |
|
|
|
for (OneExcelVo oneExcelVo : oneExcelVos) { |
|
|
@ -451,12 +449,9 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper, |
|
|
|
qw.apply(StringUtils.isNotBlank(createStartTime), "date_format (createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')"). |
|
|
|
apply(StringUtils.isNotBlank(createEndTime), "date_format (createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')" |
|
|
|
); |
|
|
|
qw.ne("adjustmentState", 1); |
|
|
|
qw.ne("adjustmentState", 0); |
|
|
|
qw.eq("state", 2); |
|
|
|
qw.isNotNull("uploadDate"); |
|
|
|
if (StringUtils.isNotBlank(query.getState())) { |
|
|
|
qw.eq("state", query.getState()); |
|
|
|
} |
|
|
|
qw.orderByDesc("createTime"); |
|
|
|
List<TwoExcelVo> twoExcelVos = baseMapper.excelListTwo(qw); |
|
|
|
for (TwoExcelVo twoExcelVo : twoExcelVos) { |
|
|
@ -489,8 +484,8 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper, |
|
|
|
qw.apply(StringUtils.isNotBlank(createStartTime), "date_format (createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')"). |
|
|
|
apply(StringUtils.isNotBlank(createEndTime), "date_format (createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')" |
|
|
|
); |
|
|
|
qw.eq("adjustmentState", 1); |
|
|
|
qw.isNotNull("uploadDate"); |
|
|
|
qw.eq("adjustmentState", 0); |
|
|
|
qw.eq("state", 2); |
|
|
|
if (query.getSidList().size() > 0) { |
|
|
|
qw.notIn("sid", query.getSidList()); |
|
|
|
} |
|
|
@ -525,13 +520,14 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper, |
|
|
|
if (scmVehRebateVehs.size() < 1) { |
|
|
|
rb.setMsg("请选择返利车辆"); |
|
|
|
} |
|
|
|
|
|
|
|
String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(dto.getOrgPath()).getData(); |
|
|
|
SysOrganizationVo sysOrganizationVo = sysOrganizationFeign.fetchBySid(useOrgSid).getData(); |
|
|
|
for (ScmVehRebateVehDto scmVehRebateVeh : scmVehRebateVehs) { |
|
|
|
ScmVehRebate scmVehRebate = new ScmVehRebate(); |
|
|
|
BeanUtil.copyProperties(scmVehRebateVeh, scmVehRebate, "sid"); |
|
|
|
String vinNo = scmVehRebateVeh.getVinNo(); |
|
|
|
ScmVehRebateVo scmVehRebateVo = baseMapper.selectByVinNoAndOrgSid(vinNo,dto.getRebateTypeKey(),dto.getRebateName(),dto.getPalceGenDate(), useOrgSid); |
|
|
|
ScmVehRebateVo scmVehRebateVo = baseMapper.selectByVinNoAndOrgSid(vinNo, dto.getRebateTypeValue(), dto.getRebateName(), dto.getPalceGenDate(), scmVehRebateVeh.getEstimateRebate(), useOrgSid); |
|
|
|
if (scmVehRebateVo != null) { |
|
|
|
return rb.setMsg("车架号为" + vinNo + "的单车返利信息已存在"); |
|
|
|
} |
|
|
@ -542,6 +538,7 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper, |
|
|
|
scmVehRebate.setCalculationModeKey(dto.getCalculationModeKey()); |
|
|
|
scmVehRebate.setCalculationModeValue(dto.getCalculationModeValue()); |
|
|
|
scmVehRebate.setCalculationStandard(dto.getCalculationStandard()); |
|
|
|
scmVehRebate.setExpectCost(scmVehRebateVeh.getExpectTreatCost().add(scmVehRebateVeh.getExpectSuppCost())); |
|
|
|
scmVehRebate.setCreateOrgSid(useOrgSid); |
|
|
|
scmVehRebate.setCreateOrgName(sysOrganizationVo.getName()); |
|
|
|
scmVehRebate.setUseOrgSid(useOrgSid); |
|
|
@ -554,8 +551,8 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper, |
|
|
|
return rb.success().setMsg("保存成功"); |
|
|
|
} |
|
|
|
|
|
|
|
public void updateState(String sid,Integer state) { |
|
|
|
baseMapper.updateState(sid,state); |
|
|
|
public void updateState(String sid, Integer state) { |
|
|
|
baseMapper.updateState(sid, state); |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean adjustment(ScmVehRebateVehAdjDto dto) { |
|
|
@ -567,10 +564,6 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper, |
|
|
|
scmVehRebateVehDto.setSecondaryUploadDate(dto.getSecondaryUploadDate()); |
|
|
|
scmVehRebateVehDto.setSecondaryUploadMoney(dto.getSecondaryUploadMoney()); |
|
|
|
scmVehRebateVehDto.setStayDetermineMoney(dto.getStayDetermineMoney()); |
|
|
|
/*int mon = Integer.parseInt(scmVehRebateVehDto.getMoney()); |
|
|
|
int cost = Integer.parseInt(dto.getCost()); |
|
|
|
String money = String.valueOf(mon + cost);*/ |
|
|
|
scmVehRebateVehDto.setMoney(dto.getCost()); |
|
|
|
scmVehRebateVehDto.setAdjustmentMoney(dto.getAdjustmentMoney()); |
|
|
|
scmVehRebateVehDto.setIsAdjustment("是"); |
|
|
|
scmVehRebateVehDto.setAdjustmentState(1); |
|
|
@ -578,8 +571,8 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper, |
|
|
|
return rb.success().setMsg("调整成功"); |
|
|
|
} |
|
|
|
|
|
|
|
public void updateWithholdingDateBySid(String vehRebateSid,String withApply) { |
|
|
|
baseMapper.updateWithholdingDateBySid(vehRebateSid,withApply); |
|
|
|
public void updateWithholdingDateBySid(String vehRebateSid, String withApply) { |
|
|
|
baseMapper.updateWithholdingDateBySid(vehRebateSid, withApply); |
|
|
|
} |
|
|
|
|
|
|
|
public void downloadExcel() { |
|
|
@ -632,7 +625,7 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper, |
|
|
|
wb = new XSSFWorkbook(is); |
|
|
|
} |
|
|
|
Sheet sheet = wb.getSheetAt(0); |
|
|
|
VehRebateExcelInfo importReturn = getSheetVal(sheet, resultCell, userSid); |
|
|
|
VehRebateExcelInfo importReturn = getSheetVal(sheet, resultCell, userSid, orgPath); |
|
|
|
if (StringUtils.isNotBlank(importReturn.getCheckInfo())) { |
|
|
|
return rb.setMsg(importReturn.getCheckInfo()); |
|
|
|
} else { |
|
|
@ -676,7 +669,8 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper, |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
private VehRebateExcelInfo getSheetVal(Sheet sheet, int[] resultCell, String userSid) { |
|
|
|
private VehRebateExcelInfo getSheetVal(Sheet sheet, int[] resultCell, String userSid, String orgPath) { |
|
|
|
String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData(); |
|
|
|
VehRebateExcelInfo importReturn = new VehRebateExcelInfo(); |
|
|
|
List<ScmVehRebateExcelInfo> importVoList = new ArrayList<>(); |
|
|
|
Set<String> checkWord = new HashSet<>(); |
|
|
@ -759,6 +753,11 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper, |
|
|
|
} |
|
|
|
if (!importVoList.isEmpty()) { |
|
|
|
for (ScmVehRebateExcelInfo excelInfo : importVoList) { |
|
|
|
ScmVehRebateVo scmVehRebateVo = baseMapper.selectByVinNoAndOrgSid(excelInfo.getVinNo(), excelInfo.getRebateTypeValue(), excelInfo.getRebateName(), excelInfo.getPalceGenDate(), excelInfo.getEstimateRebate(), useOrgSid); |
|
|
|
if (scmVehRebateVo != null) { |
|
|
|
checkWord.add("车架号为" + excelInfo.getVinNo() + "的单车返利信息已存在"); |
|
|
|
break; |
|
|
|
} |
|
|
|
if (StringUtils.isBlank(excelInfo.getVinNo())) { |
|
|
|
checkWord.add("车架号不能为空"); |
|
|
|
break; |
|
|
@ -913,7 +912,7 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper, |
|
|
|
return rb.fail().setMsg("上传文件不正确"); |
|
|
|
} |
|
|
|
|
|
|
|
int[] resultCell = new int[]{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; |
|
|
|
int[] resultCell = new int[]{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}; |
|
|
|
boolean isExcel2003 = true; |
|
|
|
if (fileName.matches("^.+\\.(?i)(xlsx)$")) { |
|
|
|
isExcel2003 = false; |
|
|
@ -935,7 +934,7 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper, |
|
|
|
ScmVehRebateVo scmVehRebateVo = baseMapper.selectExcelInfo(info.getVinNo(), info.getRebateName(), info.getPalceGenDate()); |
|
|
|
Date javaDate = new Date((long) ((Double.valueOf(info.getUploadDate()) - 25569) * 86400 * 1000)); |
|
|
|
String uploadDate = DateUtil.formatDate(javaDate); |
|
|
|
baseMapper.updateOneExcelInfo(uploadDate, info.getUploadMoney(), info.getStayDetermineMoney(), info.getMoney(), info.getAdjustmentRemarks(), scmVehRebateVo.getSid()); |
|
|
|
baseMapper.updateOneExcelInfo(uploadDate, info.getUploadMoney(), info.getStayDetermineMoney(), info.getOnceTreatCost(), info.getOnceSuppCost(), info.getOnceSuppRemark(), info.getAdjustmentRemarks(), scmVehRebateVo.getSid()); |
|
|
|
} |
|
|
|
return rb.success().setMsg("成功导入数据,请点击确定按钮"); |
|
|
|
} |
|
|
@ -988,21 +987,30 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper, |
|
|
|
importVo.setEstimateRebate(temp); |
|
|
|
break; |
|
|
|
case 7: |
|
|
|
importVo.setPalceGenDate(temp); |
|
|
|
importVo.setWithholdCost(temp); |
|
|
|
break; |
|
|
|
case 8: |
|
|
|
importVo.setUploadDate(temp); |
|
|
|
importVo.setPalceGenDate(temp); |
|
|
|
break; |
|
|
|
case 9: |
|
|
|
importVo.setUploadMoney(temp); |
|
|
|
importVo.setUploadDate(temp); |
|
|
|
break; |
|
|
|
case 10: |
|
|
|
importVo.setStayDetermineMoney(temp); |
|
|
|
importVo.setUploadMoney(temp); |
|
|
|
break; |
|
|
|
case 11: |
|
|
|
importVo.setMoney(temp); |
|
|
|
importVo.setStayDetermineMoney(temp); |
|
|
|
break; |
|
|
|
case 12: |
|
|
|
importVo.setOnceTreatCost(temp); |
|
|
|
break; |
|
|
|
case 13: |
|
|
|
importVo.setOnceSuppCost(temp); |
|
|
|
break; |
|
|
|
case 14: |
|
|
|
importVo.setOnceSuppRemark(temp); |
|
|
|
break; |
|
|
|
case 15: |
|
|
|
importVo.setAdjustmentRemarks(temp); |
|
|
|
break; |
|
|
|
default: |
|
|
@ -1038,21 +1046,30 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper, |
|
|
|
word = "预提返利"; |
|
|
|
break; |
|
|
|
case 7: |
|
|
|
word = "所属年月"; |
|
|
|
word = "其中预提费用"; |
|
|
|
break; |
|
|
|
case 8: |
|
|
|
word = "上传日期"; |
|
|
|
word = "所属年月"; |
|
|
|
break; |
|
|
|
case 9: |
|
|
|
word = "上传金额"; |
|
|
|
word = "上传日期"; |
|
|
|
break; |
|
|
|
case 10: |
|
|
|
word = "待确定金额"; |
|
|
|
word = "上传金额"; |
|
|
|
break; |
|
|
|
case 11: |
|
|
|
word = "费用"; |
|
|
|
word = "待确定金额"; |
|
|
|
break; |
|
|
|
case 12: |
|
|
|
word = "待支付费用"; |
|
|
|
break; |
|
|
|
case 13: |
|
|
|
word = "抵顶费用"; |
|
|
|
break; |
|
|
|
case 14: |
|
|
|
word = "抵顶费用说明"; |
|
|
|
break; |
|
|
|
case 15: |
|
|
|
word = "调整说明"; |
|
|
|
break; |
|
|
|
default: |
|
|
@ -1129,10 +1146,10 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper, |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(excelInfo.getCreateTime())) { |
|
|
|
String createTime = ""; |
|
|
|
if (isNumber(excelInfo.getCreateTime())){ |
|
|
|
if (isNumber(excelInfo.getCreateTime())) { |
|
|
|
Date javaDate = new Date((long) ((Double.valueOf(excelInfo.getCreateTime()) - 25569) * 86400 * 1000)); |
|
|
|
createTime = DateUtil.formatDate(javaDate); |
|
|
|
}else { |
|
|
|
} else { |
|
|
|
createTime = excelInfo.getCreateTime(); |
|
|
|
} |
|
|
|
String[] split = createTime.split("-"); |
|
|
@ -1172,6 +1189,19 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper, |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
if (StringUtils.isBlank(excelInfo.getWithholdCost())) { |
|
|
|
checkWord.add("其中预提费用不能为空"); |
|
|
|
break; |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(excelInfo.getWithholdCost())) { |
|
|
|
String withholdCost = excelInfo.getWithholdCost(); |
|
|
|
Pattern pattern = Pattern.compile("^\\d+(.\\d{1,2})?$"); |
|
|
|
boolean matches = pattern.matcher(withholdCost).matches(); |
|
|
|
if (!matches) { |
|
|
|
checkWord.add("其中预提费用必须为数字"); |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
if (StringUtils.isBlank(excelInfo.getPalceGenDate())) { |
|
|
|
checkWord.add("所属年月不能为空"); |
|
|
|
break; |
|
|
@ -1193,10 +1223,10 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper, |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(excelInfo.getUploadDate())) { |
|
|
|
String uploadDate = ""; |
|
|
|
if (isNumber(excelInfo.getUploadDate())){ |
|
|
|
if (isNumber(excelInfo.getUploadDate())) { |
|
|
|
Date javaDate = new Date((long) ((Double.valueOf(excelInfo.getUploadDate()) - 25569) * 86400 * 1000)); |
|
|
|
uploadDate = DateUtil.formatDate(javaDate); |
|
|
|
}else { |
|
|
|
} else { |
|
|
|
uploadDate = excelInfo.getUploadDate(); |
|
|
|
} |
|
|
|
String[] split = uploadDate.split("-"); |
|
|
@ -1234,19 +1264,59 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper, |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
if (StringUtils.isBlank(excelInfo.getMoney())) { |
|
|
|
checkWord.add("费用不能为空"); |
|
|
|
if (StringUtils.isBlank(excelInfo.getOnceTreatCost())) { |
|
|
|
checkWord.add("待支付费用不能为空"); |
|
|
|
break; |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(excelInfo.getMoney())) { |
|
|
|
String money = excelInfo.getMoney(); |
|
|
|
if (StringUtils.isNotBlank(excelInfo.getOnceTreatCost())) { |
|
|
|
String onceTreatCost = excelInfo.getOnceTreatCost(); |
|
|
|
Pattern pattern = Pattern.compile("^\\d+(.\\d{1,2})?$"); |
|
|
|
boolean matches = pattern.matcher(money).matches(); |
|
|
|
boolean matches = pattern.matcher(onceTreatCost).matches(); |
|
|
|
if (!matches) { |
|
|
|
checkWord.add("费用必须为数字"); |
|
|
|
checkWord.add("待支付费用必须为数字"); |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
if (StringUtils.isBlank(excelInfo.getOnceSuppCost())) { |
|
|
|
checkWord.add("抵顶费用不能为空"); |
|
|
|
break; |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(excelInfo.getOnceSuppCost())) { |
|
|
|
String onceSuppCost = excelInfo.getOnceSuppCost(); |
|
|
|
Pattern pattern = Pattern.compile("^\\d+(.\\d{1,2})?$"); |
|
|
|
boolean matches = pattern.matcher(onceSuppCost).matches(); |
|
|
|
if (!matches) { |
|
|
|
checkWord.add("抵顶费用必须为数字"); |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
if (StringUtils.isBlank(excelInfo.getOnceSuppRemark())) { |
|
|
|
checkWord.add("抵顶费用说明不能为空"); |
|
|
|
break; |
|
|
|
} |
|
|
|
int i = new BigDecimal(excelInfo.getStayDetermineMoney()).compareTo(BigDecimal.ZERO); |
|
|
|
//上传返利金额
|
|
|
|
BigDecimal scflje = new BigDecimal(excelInfo.getUploadMoney()).subtract(new BigDecimal(excelInfo.getStayDetermineMoney())).subtract(new BigDecimal(excelInfo.getOnceTreatCost())).subtract(new BigDecimal(excelInfo.getOnceSuppCost())); |
|
|
|
//预提返利-其中预提费用
|
|
|
|
BigDecimal ytfy = new BigDecimal(excelInfo.getEstimateRebate()).subtract(new BigDecimal(excelInfo.getWithholdCost())); |
|
|
|
//调整金额
|
|
|
|
BigDecimal tzje = new BigDecimal(excelInfo.getUploadMoney()).subtract(new BigDecimal(excelInfo.getStayDetermineMoney())).subtract(new BigDecimal(excelInfo.getOnceTreatCost())).subtract(new BigDecimal(excelInfo.getOnceSuppCost())).subtract(new BigDecimal(excelInfo.getEstimateRebate())); |
|
|
|
if (i > 0) { |
|
|
|
excelInfo.setIsAdjustment("否"); |
|
|
|
excelInfo.setAdjustmentMoney("0"); |
|
|
|
} else if (i == 0) { |
|
|
|
if (scflje.compareTo(ytfy) > 0) { |
|
|
|
excelInfo.setIsAdjustment("是"); |
|
|
|
excelInfo.setAdjustmentMoney(tzje.toString()); |
|
|
|
} else if (scflje.compareTo(ytfy) == 0) { |
|
|
|
excelInfo.setIsAdjustment("是"); |
|
|
|
excelInfo.setAdjustmentMoney(tzje.toString()); |
|
|
|
} else if (scflje.compareTo(ytfy) < 0) { |
|
|
|
excelInfo.setIsAdjustment("否"); |
|
|
|
excelInfo.setAdjustmentMoney("0"); |
|
|
|
} |
|
|
|
} |
|
|
|
excelInfo.setDiffAmount(scflje.subtract(ytfy).toString()); |
|
|
|
} |
|
|
|
} |
|
|
|
StringBuffer sbcheck1 = new StringBuffer(); |
|
|
@ -1280,7 +1350,7 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper, |
|
|
|
return rb.fail().setMsg("上传文件不正确"); |
|
|
|
} |
|
|
|
|
|
|
|
int[] resultCell = new int[]{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14}; |
|
|
|
int[] resultCell = new int[]{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18}; |
|
|
|
boolean isExcel2003 = true; |
|
|
|
if (fileName.matches("^.+\\.(?i)(xlsx)$")) { |
|
|
|
isExcel2003 = false; |
|
|
@ -1302,7 +1372,7 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper, |
|
|
|
ScmVehRebateVo scmVehRebateVo = baseMapper.selectExcelInfo(info.getVinNo(), info.getRebateName(), info.getPalceGenDate()); |
|
|
|
Date javaDate = new Date((long) ((Double.valueOf(info.getSecondaryUploadDate()) - 25569) * 86400 * 1000)); |
|
|
|
String secondaryUploadDate = DateUtil.formatDate(javaDate); |
|
|
|
baseMapper.updateTwoExcelInfo(secondaryUploadDate, info.getSecondaryUploadMoney(), info.getMoney(), info.getAdjustmentRemarks(), scmVehRebateVo.getSid()); |
|
|
|
baseMapper.updateTwoExcelInfo(secondaryUploadDate, info.getSecondaryUploadMoney(), info.getSecondTreatCost(), info.getSecondSuppCost(), info.getSecondSuppRemark(), info.getAdjustmentRemarks(), scmVehRebateVo.getSid()); |
|
|
|
} |
|
|
|
return rb.success().setMsg("成功导入数据,请点击确定按钮"); |
|
|
|
} |
|
|
@ -1355,27 +1425,39 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper, |
|
|
|
importVo.setEstimateRebate(temp); |
|
|
|
break; |
|
|
|
case 7: |
|
|
|
importVo.setPalceGenDate(temp); |
|
|
|
importVo.setWithholdCost(temp); |
|
|
|
break; |
|
|
|
case 8: |
|
|
|
importVo.setUploadDate(temp); |
|
|
|
importVo.setPalceGenDate(temp); |
|
|
|
break; |
|
|
|
case 9: |
|
|
|
importVo.setUploadMoney(temp); |
|
|
|
importVo.setUploadDate(temp); |
|
|
|
break; |
|
|
|
case 10: |
|
|
|
importVo.setStayDetermineMoney(temp); |
|
|
|
importVo.setUploadMoney(temp); |
|
|
|
break; |
|
|
|
case 11: |
|
|
|
importVo.setSecondaryUploadDate(temp); |
|
|
|
importVo.setStayDetermineMoney(temp); |
|
|
|
break; |
|
|
|
case 12: |
|
|
|
importVo.setSecondaryUploadMoney(temp); |
|
|
|
importVo.setQzMoney(temp); |
|
|
|
break; |
|
|
|
case 13: |
|
|
|
importVo.setMoney(temp); |
|
|
|
importVo.setSecondaryUploadDate(temp); |
|
|
|
break; |
|
|
|
case 14: |
|
|
|
importVo.setSecondaryUploadMoney(temp); |
|
|
|
break; |
|
|
|
case 15: |
|
|
|
importVo.setSecondTreatCost(temp); |
|
|
|
break; |
|
|
|
case 16: |
|
|
|
importVo.setSecondSuppCost(temp); |
|
|
|
break; |
|
|
|
case 17: |
|
|
|
importVo.setSecondSuppRemark(temp); |
|
|
|
break; |
|
|
|
case 18: |
|
|
|
importVo.setAdjustmentRemarks(temp); |
|
|
|
break; |
|
|
|
default: |
|
|
@ -1411,27 +1493,39 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper, |
|
|
|
word = "预提返利"; |
|
|
|
break; |
|
|
|
case 7: |
|
|
|
word = "所属年月"; |
|
|
|
word = "其中预提费用"; |
|
|
|
break; |
|
|
|
case 8: |
|
|
|
word = "上传日期"; |
|
|
|
word = "所属年月"; |
|
|
|
break; |
|
|
|
case 9: |
|
|
|
word = "上传金额"; |
|
|
|
word = "上传日期"; |
|
|
|
break; |
|
|
|
case 10: |
|
|
|
word = "待确定金额"; |
|
|
|
word = "上传金额"; |
|
|
|
break; |
|
|
|
case 11: |
|
|
|
word = "二次上传日期"; |
|
|
|
word = "待确定金额"; |
|
|
|
break; |
|
|
|
case 12: |
|
|
|
word = "二次上传金额"; |
|
|
|
word = "其中费用"; |
|
|
|
break; |
|
|
|
case 13: |
|
|
|
word = "费用"; |
|
|
|
word = "二次上传日期"; |
|
|
|
break; |
|
|
|
case 14: |
|
|
|
word = "二次上传金额"; |
|
|
|
break; |
|
|
|
case 15: |
|
|
|
word = "待支付费用"; |
|
|
|
break; |
|
|
|
case 16: |
|
|
|
word = "抵顶费费用"; |
|
|
|
break; |
|
|
|
case 17: |
|
|
|
word = "抵顶费用说明"; |
|
|
|
break; |
|
|
|
case 18: |
|
|
|
word = "调整说明"; |
|
|
|
break; |
|
|
|
default: |
|
|
@ -1545,6 +1639,19 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper, |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
if (StringUtils.isBlank(excelInfo.getWithholdCost())) { |
|
|
|
checkWord.add("其中预提费用不能为空"); |
|
|
|
break; |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(excelInfo.getWithholdCost())) { |
|
|
|
String withholdCost = excelInfo.getWithholdCost(); |
|
|
|
Pattern pattern = Pattern.compile("^\\d+(.\\d{1,2})?$"); |
|
|
|
boolean matches = pattern.matcher(withholdCost).matches(); |
|
|
|
if (!matches) { |
|
|
|
checkWord.add("其中预提费用必须为数字"); |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
if (StringUtils.isBlank(excelInfo.getPalceGenDate())) { |
|
|
|
checkWord.add("所属年月不能为空"); |
|
|
|
break; |
|
|
@ -1566,10 +1673,10 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper, |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(excelInfo.getUploadDate())) { |
|
|
|
String uploadDate = ""; |
|
|
|
if (isNumber(excelInfo.getUploadDate())){ |
|
|
|
if (isNumber(excelInfo.getUploadDate())) { |
|
|
|
Date javaDate = new Date((long) ((Double.valueOf(excelInfo.getUploadDate()) - 25569) * 86400 * 1000)); |
|
|
|
uploadDate = DateUtil.formatDate(javaDate); |
|
|
|
}else { |
|
|
|
} else { |
|
|
|
uploadDate = excelInfo.getUploadDate(); |
|
|
|
} |
|
|
|
String[] split = uploadDate.split("-"); |
|
|
@ -1607,16 +1714,29 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper, |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
if (StringUtils.isBlank(excelInfo.getQzMoney())) { |
|
|
|
checkWord.add("其中费用不能为空"); |
|
|
|
break; |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(excelInfo.getQzMoney())) { |
|
|
|
String qzMoney = excelInfo.getQzMoney(); |
|
|
|
Pattern pattern = Pattern.compile("^\\d+(.\\d{1,2})?$"); |
|
|
|
boolean matches = pattern.matcher(qzMoney).matches(); |
|
|
|
if (!matches) { |
|
|
|
checkWord.add("其中费用必须为数字"); |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
if (StringUtils.isBlank(excelInfo.getUploadDate())) { |
|
|
|
checkWord.add("二次上传日期不能为空"); |
|
|
|
break; |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(excelInfo.getSecondaryUploadDate())) { |
|
|
|
String secondaryUploadDate = ""; |
|
|
|
if (isNumber(excelInfo.getSecondaryUploadDate())){ |
|
|
|
if (isNumber(excelInfo.getSecondaryUploadDate())) { |
|
|
|
Date javaDate = new Date((long) ((Double.valueOf(excelInfo.getSecondaryUploadDate()) - 25569) * 86400 * 1000)); |
|
|
|
secondaryUploadDate = DateUtil.formatDate(javaDate); |
|
|
|
}else { |
|
|
|
} else { |
|
|
|
secondaryUploadDate = excelInfo.getSecondaryUploadDate(); |
|
|
|
} |
|
|
|
String[] split = secondaryUploadDate.split("-"); |
|
|
@ -1641,19 +1761,59 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper, |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
if (StringUtils.isBlank(excelInfo.getMoney())) { |
|
|
|
checkWord.add("费用不能为空"); |
|
|
|
if (StringUtils.isBlank(excelInfo.getSecondTreatCost())) { |
|
|
|
checkWord.add("待支付费用不能为空"); |
|
|
|
break; |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(excelInfo.getMoney())) { |
|
|
|
String money = excelInfo.getMoney(); |
|
|
|
if (StringUtils.isNotBlank(excelInfo.getSecondTreatCost())) { |
|
|
|
String secondTreatCost = excelInfo.getSecondTreatCost(); |
|
|
|
Pattern pattern = Pattern.compile("^\\d+(.\\d{1,2})?$"); |
|
|
|
boolean matches = pattern.matcher(money).matches(); |
|
|
|
boolean matches = pattern.matcher(secondTreatCost).matches(); |
|
|
|
if (!matches) { |
|
|
|
checkWord.add("费用必须为数字"); |
|
|
|
checkWord.add("待支付费用必须为数字"); |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
if (StringUtils.isBlank(excelInfo.getSecondSuppCost())) { |
|
|
|
checkWord.add("抵顶费费用不能为空"); |
|
|
|
break; |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(excelInfo.getSecondSuppCost())) { |
|
|
|
String secondSuppCost = excelInfo.getSecondSuppCost(); |
|
|
|
Pattern pattern = Pattern.compile("^\\d+(.\\d{1,2})?$"); |
|
|
|
boolean matches = pattern.matcher(secondSuppCost).matches(); |
|
|
|
if (!matches) { |
|
|
|
checkWord.add("抵顶费费用必须为数字"); |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
if (StringUtils.isBlank(excelInfo.getSecondSuppRemark())) { |
|
|
|
checkWord.add("抵顶费用说明不能为空"); |
|
|
|
break; |
|
|
|
} |
|
|
|
int i = new BigDecimal(excelInfo.getStayDetermineMoney()).compareTo(BigDecimal.ZERO); |
|
|
|
//上传返利金额
|
|
|
|
BigDecimal scflje = new BigDecimal(excelInfo.getUploadMoney()).add(new BigDecimal(excelInfo.getSecondaryUploadMoney())).subtract(new BigDecimal(excelInfo.getStayDetermineMoney())).subtract(new BigDecimal(excelInfo.getQzMoney())).subtract(new BigDecimal(excelInfo.getSecondTreatCost())).subtract(new BigDecimal(excelInfo.getSecondSuppCost())); |
|
|
|
//预提返利-其中预提费用
|
|
|
|
BigDecimal ytfy = new BigDecimal(excelInfo.getEstimateRebate()).subtract(new BigDecimal(excelInfo.getWithholdCost())); |
|
|
|
//调整金额
|
|
|
|
BigDecimal tzje = new BigDecimal(excelInfo.getUploadMoney()).add(new BigDecimal(excelInfo.getSecondaryUploadMoney())).subtract(new BigDecimal(excelInfo.getStayDetermineMoney())).subtract(new BigDecimal(excelInfo.getQzMoney())).subtract(new BigDecimal(excelInfo.getSecondTreatCost())).subtract(new BigDecimal(excelInfo.getSecondSuppCost())).subtract(new BigDecimal(excelInfo.getEstimateRebate())); |
|
|
|
if (i > 0) { |
|
|
|
excelInfo.setIsAdjustment("否"); |
|
|
|
excelInfo.setAdjustmentMoney("0"); |
|
|
|
} else if (i == 0) { |
|
|
|
if (scflje.compareTo(ytfy) > 0) { |
|
|
|
excelInfo.setIsAdjustment("是"); |
|
|
|
excelInfo.setAdjustmentMoney(tzje.toString()); |
|
|
|
} else if (scflje.compareTo(ytfy) == 0) { |
|
|
|
excelInfo.setIsAdjustment("是"); |
|
|
|
excelInfo.setAdjustmentMoney(tzje.toString()); |
|
|
|
} else if (scflje.compareTo(ytfy) < 0) { |
|
|
|
excelInfo.setIsAdjustment("否"); |
|
|
|
excelInfo.setAdjustmentMoney("0"); |
|
|
|
} |
|
|
|
} |
|
|
|
excelInfo.setDiffAmount(scflje.subtract(ytfy).toString()); |
|
|
|
} |
|
|
|
} |
|
|
|
StringBuffer sbcheck1 = new StringBuffer(); |
|
|
@ -1674,4 +1834,12 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper, |
|
|
|
importReturn.setInfos(importVoList); |
|
|
|
return importReturn; |
|
|
|
} |
|
|
|
|
|
|
|
public void updateAdjustmentState(String vehRebateSid, int adjustmentState) { |
|
|
|
baseMapper.updateAdjustmentState(vehRebateSid, adjustmentState); |
|
|
|
} |
|
|
|
|
|
|
|
public void updateOnceCheckState(String sid, int onceCheckState) { |
|
|
|
baseMapper.updateOnceCheckState(sid,onceCheckState); |
|
|
|
} |
|
|
|
} |