demand: TMS系统 - 客户管理 - 现金客户额度 - 超期已用额度 与运单明细单号运费不一致;
committer: heyu
This commit is contained in:
parent
659179197a
commit
9a9aa336e6
@ -4839,58 +4839,67 @@ public class EmisBaseService {
|
|||||||
emisWaybillMapper.updateEmisWaybill(emisWaybill);
|
emisWaybillMapper.updateEmisWaybill(emisWaybill);
|
||||||
}
|
}
|
||||||
|
|
||||||
public EmisWaybill checkVirtualParam(EmisWaybill emisWaybillSave, EmisWaybill emisWaybillOld) throws EmisBizError {
|
public EmisWaybill checkVirtualParam(EmisWaybill emisWaybillSave, EmisWaybill emisWaybillOld) throws EmisBizError {
|
||||||
if (StringUtil.isBlank(emisWaybillSave.getMasterBillCode())) {
|
if (StringUtil.isBlank(emisWaybillSave.getMasterBillCode())) {
|
||||||
throw new EmisBizError(EmisBizErrorType.FAIL, "主单号不能为空");
|
throw new EmisBizError(EmisBizErrorType.FAIL, "主单号不能为空");
|
||||||
}
|
}
|
||||||
if (!"002".equals(emisWaybillSave.getTransLineType()) && !"012".equals(emisWaybillSave.getTransLineType()) && !"014".equals(emisWaybillSave.getTransLineType())) {
|
if (!"002".equals(emisWaybillSave.getTransLineType()) && !"012".equals(emisWaybillSave.getTransLineType())
|
||||||
throw new EmisBizError(EmisBizErrorType.FAIL, "虚拟单只支持线路为缅甸快递/缅甸快递进口/柬埔寨快递进口");
|
&& !"014".equals(emisWaybillSave.getTransLineType())) {
|
||||||
}
|
throw new EmisBizError(EmisBizErrorType.FAIL, "虚拟单只支持线路为缅甸快递/缅甸快递进口/柬埔寨快递进口");
|
||||||
EmisWaybill masterWaybill = emisWaybillMapper
|
}
|
||||||
.selectEmisWaybillByBillCode(emisWaybillSave.getMasterBillCode());
|
EmisWaybill masterWaybill = emisWaybillMapper
|
||||||
if (Objects.isNull(masterWaybill)) {
|
.selectEmisWaybillByBillCode(emisWaybillSave.getMasterBillCode());
|
||||||
throw new EmisBizError(EmisBizErrorType.FAIL, "主单号不存在");
|
if (Objects.isNull(masterWaybill)) {
|
||||||
}
|
throw new EmisBizError(EmisBizErrorType.FAIL, "主单号不存在");
|
||||||
if (!emisWaybillSave.getReceiveCountry().equals(masterWaybill.getReceiveCountry())
|
}
|
||||||
|| !emisWaybillSave.getTransLineType().equals(masterWaybill.getTransLineType()) || !emisWaybillSave.getProductType().equals(masterWaybill.getProductType())) {
|
if (!emisWaybillSave.getReceiveCountry().equals(masterWaybill.getReceiveCountry())
|
||||||
throw new EmisBizError(EmisBizErrorType.FAIL, "主单和虚拟单线路不一致");
|
|| !emisWaybillSave.getTransLineType().equals(masterWaybill.getTransLineType())
|
||||||
}
|
|| !emisWaybillSave.getProductType().equals(masterWaybill.getProductType())) {
|
||||||
if ("1".equals(masterWaybill.getBlVirtual())) {
|
throw new EmisBizError(EmisBizErrorType.FAIL, "主单和虚拟单线路不一致");
|
||||||
throw new EmisBizError(EmisBizErrorType.FAIL, "虚拟单不能作为主单");
|
}
|
||||||
}
|
if ("1".equals(masterWaybill.getBlVirtual())) {
|
||||||
if (emisWaybillOld == null || !"1".equals(emisWaybillOld.getBlVirtual())) {
|
throw new EmisBizError(EmisBizErrorType.FAIL, "虚拟单不能作为主单");
|
||||||
if (masterWaybill.getVirtualRemark().split(",").length >= masterWaybill.getParcelQty()) {
|
}
|
||||||
throw new EmisBizError(EmisBizErrorType.FAIL, emisWaybillSave.getMasterBillCode() + "最多只能绑定" + masterWaybill.getParcelQty() + "个虚拟单");
|
if (!emisWaybillSave.getMasterBillCode().equals(emisWaybillOld.getMasterBillCode())) {
|
||||||
}
|
String virtualRemark = masterWaybill.getVirtualRemark() == null ? "" : masterWaybill.getVirtualRemark();
|
||||||
}
|
long count = Arrays.stream(virtualRemark.split(","))
|
||||||
|
.filter(s -> s != null && !s.trim().isEmpty())
|
||||||
|
.count();
|
||||||
|
if (count >= masterWaybill.getParcelQty()) {
|
||||||
|
throw new EmisBizError(EmisBizErrorType.FAIL,
|
||||||
|
emisWaybillSave.getMasterBillCode() + "最多只能绑定" + masterWaybill.getParcelQty() + "个虚拟单");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
List<EmisTmsSiteBatch> batchList = emisTmsSiteBatchMapper.selectEmisTmsSiteBatchListByBillCodes(
|
List<EmisTmsSiteBatch> batchList = emisTmsSiteBatchMapper.selectEmisTmsSiteBatchListByBillCodes(
|
||||||
Lists.newArrayList(Collections.singleton(emisWaybillSave.getMasterBillCode())));
|
Lists.newArrayList(Collections.singleton(emisWaybillSave.getMasterBillCode())));
|
||||||
if (CollectionUtil.isNotEmpty(batchList)) {
|
if (CollectionUtil.isNotEmpty(batchList)) {
|
||||||
throw new EmisBizError(EmisBizErrorType.FAIL, "该单号已经录入批次,请先在组批次中剔除该运单");
|
throw new EmisBizError(EmisBizErrorType.FAIL, "该单号已经录入批次,请先在组批次中剔除该运单");
|
||||||
}
|
}
|
||||||
return masterWaybill;
|
return masterWaybill;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void handleVirtualForUpdate(EmisWaybill emisWaybillSave, EmisWaybill emisWaybillOld) throws EmisBizError {
|
public void handleVirtualForUpdate(EmisWaybill emisWaybillSave, EmisWaybill emisWaybillOld) throws EmisBizError {
|
||||||
if (!StringUtils.isEmpty(emisWaybillSave.getBlVirtual()) && "1".equals(emisWaybillSave.getBlVirtual())) {
|
if (!StringUtils.isEmpty(emisWaybillSave.getBlVirtual()) && "1".equals(emisWaybillSave.getBlVirtual())) {
|
||||||
handleVirtual(emisWaybillSave,emisWaybillOld);
|
handleVirtual(emisWaybillSave, emisWaybillOld);
|
||||||
} else {
|
} else {
|
||||||
String masterBillCode = emisWaybillOld.getMasterBillCode();
|
String masterBillCode = emisWaybillOld.getMasterBillCode();
|
||||||
if (StringUtil.isNotBlank(masterBillCode)) {
|
if (StringUtil.isNotBlank(masterBillCode)) {
|
||||||
String virtualBillCodeLastSix = emisWaybillSave.getBillCode().substring(emisWaybillSave.getBillCode().length() - 6);
|
String virtualBillCodeLastSix = emisWaybillSave.getBillCode()
|
||||||
EmisWaybill masterWaybill = emisWaybillMapper
|
.substring(emisWaybillSave.getBillCode().length() - 6);
|
||||||
.selectEmisWaybillByBillCode(masterBillCode);
|
EmisWaybill masterWaybill = emisWaybillMapper
|
||||||
List<String> filterVirtualRemark = Arrays.stream(masterWaybill.getVirtualRemark().split(",")).filter(i -> !i.equals(virtualBillCodeLastSix)).collect(Collectors.toList());
|
.selectEmisWaybillByBillCode(masterBillCode);
|
||||||
String virtualRemark = String.join(",", filterVirtualRemark);
|
List<String> filterVirtualRemark = Arrays.stream(masterWaybill.getVirtualRemark().split(","))
|
||||||
masterWaybill.setVirtualRemark(virtualRemark);
|
.filter(i -> !i.equals(virtualBillCodeLastSix)).collect(Collectors.toList());
|
||||||
emisWaybillMapper.updateEmisWaybill(masterWaybill);
|
String virtualRemark = String.join(",", filterVirtualRemark);
|
||||||
emisWaybillProblemInfoService.deleteEmisWaybillProblemInfoByBillCode(emisWaybillSave.getBillCode());
|
masterWaybill.setVirtualRemark(virtualRemark);
|
||||||
// 重新计算提成
|
emisWaybillMapper.updateEmisWaybill(masterWaybill);
|
||||||
emisCommissionProfitService.reCalcProfitByBillCode(emisWaybillSave.getBillCode());
|
emisWaybillProblemInfoService.deleteEmisWaybillProblemInfoByBillCode(emisWaybillSave.getBillCode());
|
||||||
}
|
// 重新计算提成
|
||||||
}
|
emisCommissionProfitService.reCalcProfitByBillCode(emisWaybillSave.getBillCode());
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static void main(String[] args) throws ParseException {
|
public static void main(String[] args) throws ParseException {
|
||||||
// Date startDate = new Date("202");
|
// Date startDate = new Date("202");
|
||||||
|
|||||||
@ -3128,7 +3128,7 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb
|
|||||||
|
|
||||||
// 虚拟件逻辑
|
// 虚拟件逻辑
|
||||||
if ("1".equals(emisWaybillSave.getBlVirtual())) {
|
if ("1".equals(emisWaybillSave.getBlVirtual())) {
|
||||||
updateMasterWaybill(emisWaybillSave,null);
|
updateMasterWaybill(emisWaybillSave,new EmisWaybill());
|
||||||
}
|
}
|
||||||
|
|
||||||
//插入新单
|
//插入新单
|
||||||
|
|||||||
@ -590,6 +590,7 @@
|
|||||||
<!-- or a.dispatch_underling_site_code=#{params.privSiteCode}-->
|
<!-- or a.dispatch_underling_site_code=#{params.privSiteCode}-->
|
||||||
<!-- )-->
|
<!-- )-->
|
||||||
<!-- </if>-->
|
<!-- </if>-->
|
||||||
|
order by a.send_date desc
|
||||||
limit 10
|
limit 10
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user