|
|
@ -727,6 +727,7 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa |
|
|
|
sitemVo.setStaffList(staffList); |
|
|
|
sitemVo.setStaffNameList(staffNameList); |
|
|
|
sitemVo.setStaffNames(String.join("、", staffNameList)); |
|
|
|
sitemVo.setRepairerName(String.join("、", staffNameList)); |
|
|
|
} |
|
|
|
sitemVos.add(sitemVo); |
|
|
|
} |
|
|
@ -823,16 +824,16 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa |
|
|
|
} |
|
|
|
vo.setGoodsDetailsVos(goodsDetailsVos); |
|
|
|
} |
|
|
|
FmsReceivesettle receivesettle = fmsReceivesettleFeign.fetchBySourceSid(sid).getData(); |
|
|
|
if (null != receivesettle) { |
|
|
|
vo.setShowReSettleBtn(true); |
|
|
|
SettleVo settleVo = new SettleVo(); //结算信息
|
|
|
|
BeanUtil.copyProperties(receivesettle, settleVo); |
|
|
|
if (null != receivesettle.getSettleTime()) { |
|
|
|
settleVo.setSettleTime(sdf.format(receivesettle.getSettleTime())); |
|
|
|
} |
|
|
|
vo.setSettleVo(settleVo); |
|
|
|
} |
|
|
|
// FmsReceivesettle receivesettle = fmsReceivesettleFeign.fetchBySourceSid(sid).getData();
|
|
|
|
// if (null != receivesettle) {
|
|
|
|
// vo.setShowReSettleBtn(true);
|
|
|
|
// SettleVo settleVo = new SettleVo(); //结算信息
|
|
|
|
// BeanUtil.copyProperties(receivesettle, settleVo);
|
|
|
|
// if (null != receivesettle.getSettleTime()) {
|
|
|
|
// settleVo.setSettleTime(sdf.format(receivesettle.getSettleTime()));
|
|
|
|
// }
|
|
|
|
// vo.setSettleVo(settleVo);
|
|
|
|
// }
|
|
|
|
List<FileUrlQuery> file = new ArrayList<>(); |
|
|
|
List<String> file2 = new ArrayList<>(); |
|
|
|
List<AsAppendix> asAppendices = asAppendixService.fetchByLinkSid(sid); |
|
|
@ -1470,231 +1471,231 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa |
|
|
|
String sid = dto.getSid(); |
|
|
|
AsBusrepairBill asBusrepairBill = fetchBySid(sid); |
|
|
|
if (asBusrepairBill.getNodeCode() == 5) { |
|
|
|
//计算工时提成分配维修人员
|
|
|
|
List<AsBusrepairBillSitem> sitems = asBusrepairBillSitemService.fetchByBillSid(sid); |
|
|
|
if (sitems != null) { |
|
|
|
if (!sitems.isEmpty()) { |
|
|
|
for (AsBusrepairBillSitem sitem : sitems) { |
|
|
|
BigDecimal examineHourPrice = BigDecimal.ZERO; |
|
|
|
if (null != sitem.getExamineHourPrice()) { |
|
|
|
examineHourPrice = sitem.getExamineHourPrice(); |
|
|
|
} |
|
|
|
if (examineHourPrice.compareTo(BigDecimal.ZERO) > 0) { |
|
|
|
String billSid = sitem.getBillSid(); |
|
|
|
String serviceItemSid = sitem.getServiceItemSid(); |
|
|
|
List<AsBusrepairBillSitemRepairer> repairers = asBusrepairBillSitemRepairerService.fetchByBillSid(billSid, serviceItemSid); |
|
|
|
if (null != repairers) { |
|
|
|
if (!repairers.isEmpty()) { |
|
|
|
//查询权重之和
|
|
|
|
BigDecimal sum = BigDecimal.ZERO; |
|
|
|
Map<String, BigDecimal> map = new HashMap<>(); |
|
|
|
for (AsBusrepairBillSitemRepairer repairer : repairers) { |
|
|
|
String rSid = repairer.getSid(); |
|
|
|
String pSid = repairer.getRepairerSid(); |
|
|
|
BigDecimal weight = BigDecimal.ZERO; |
|
|
|
String w = asTechTitleDetailService.selWeightByUserSid(pSid); |
|
|
|
if (StringUtils.isNotBlank(w)) { |
|
|
|
weight = new BigDecimal(w); |
|
|
|
} |
|
|
|
sum = sum.add(weight); |
|
|
|
map.put(rSid, weight); |
|
|
|
} |
|
|
|
if (sum.compareTo(BigDecimal.ZERO) > 0) { |
|
|
|
if (map.size() > 0) { |
|
|
|
for (Map.Entry<String, BigDecimal> entry : map.entrySet()) { |
|
|
|
String mSid = entry.getKey(); |
|
|
|
BigDecimal mWeight = entry.getValue(); |
|
|
|
AsBusrepairBillSitemRepairer repairer = asBusrepairBillSitemRepairerService.fetchBySid(mSid); |
|
|
|
BigDecimal finalWeight = mWeight.divide(sum, 2, BigDecimal.ROUND_HALF_UP).multiply(examineHourPrice); |
|
|
|
repairer.setCommission(finalWeight); |
|
|
|
asBusrepairBillSitemRepairerService.updateById(repairer); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
// //计算工时提成分配维修人员
|
|
|
|
// List<AsBusrepairBillSitem> sitems = asBusrepairBillSitemService.fetchByBillSid(sid);
|
|
|
|
// if (sitems != null) {
|
|
|
|
// if (!sitems.isEmpty()) {
|
|
|
|
// for (AsBusrepairBillSitem sitem : sitems) {
|
|
|
|
// BigDecimal examineHourPrice = BigDecimal.ZERO;
|
|
|
|
// if (null != sitem.getExamineHourPrice()) {
|
|
|
|
// examineHourPrice = sitem.getExamineHourPrice();
|
|
|
|
// }
|
|
|
|
// if (examineHourPrice.compareTo(BigDecimal.ZERO) > 0) {
|
|
|
|
// String billSid = sitem.getBillSid();
|
|
|
|
// String serviceItemSid = sitem.getServiceItemSid();
|
|
|
|
// List<AsBusrepairBillSitemRepairer> repairers = asBusrepairBillSitemRepairerService.fetchByBillSid(billSid, serviceItemSid);
|
|
|
|
// if (null != repairers) {
|
|
|
|
// if (!repairers.isEmpty()) {
|
|
|
|
// //查询权重之和
|
|
|
|
// BigDecimal sum = BigDecimal.ZERO;
|
|
|
|
// Map<String, BigDecimal> map = new HashMap<>();
|
|
|
|
// for (AsBusrepairBillSitemRepairer repairer : repairers) {
|
|
|
|
// String rSid = repairer.getSid();
|
|
|
|
// String pSid = repairer.getRepairerSid();
|
|
|
|
// BigDecimal weight = BigDecimal.ZERO;
|
|
|
|
// String w = asTechTitleDetailService.selWeightByUserSid(pSid);
|
|
|
|
// if (StringUtils.isNotBlank(w)) {
|
|
|
|
// weight = new BigDecimal(w);
|
|
|
|
// }
|
|
|
|
// sum = sum.add(weight);
|
|
|
|
// map.put(rSid, weight);
|
|
|
|
// }
|
|
|
|
// if (sum.compareTo(BigDecimal.ZERO) > 0) {
|
|
|
|
// if (map.size() > 0) {
|
|
|
|
// for (Map.Entry<String, BigDecimal> entry : map.entrySet()) {
|
|
|
|
// String mSid = entry.getKey();
|
|
|
|
// BigDecimal mWeight = entry.getValue();
|
|
|
|
// AsBusrepairBillSitemRepairer repairer = asBusrepairBillSitemRepairerService.fetchBySid(mSid);
|
|
|
|
// BigDecimal finalWeight = mWeight.divide(sum, 2, BigDecimal.ROUND_HALF_UP).multiply(examineHourPrice);
|
|
|
|
// repairer.setCommission(finalWeight);
|
|
|
|
// asBusrepairBillSitemRepairerService.updateById(repairer);
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
|
|
|
|
if (asBusrepairBill.getSubject().equals("保内")) { |
|
|
|
if (asBusrepairBill.getOldIsReclaim() != 1) { |
|
|
|
return rb.setMsg("请先完成旧件入库,再进行操作!"); |
|
|
|
} |
|
|
|
asBusrepairBill.setNodeCode(6); |
|
|
|
asBusrepairBill.setNodeName("已结算"); |
|
|
|
asBusrepairBill.setNodeTime(new DateTime()); |
|
|
|
asBusrepairBill.setSettleTime(DateUtil.formatDate(new Date())); |
|
|
|
if (asBusrepairBill.getMaterialConfirm().intValue() == 0) { |
|
|
|
asBusrepairBill.setMaterialConfirm(1); |
|
|
|
asBusrepairBill.setOutDoorState("2"); |
|
|
|
} |
|
|
|
baseMapper.updateById(asBusrepairBill); |
|
|
|
//新增工单环节信息
|
|
|
|
AsBusrepairBillNode billNode = new AsBusrepairBillNode(); |
|
|
|
billNode.setBillSid(sid); |
|
|
|
billNode.setCreateByName(dto.getOperator()); |
|
|
|
billNode.setNodeName("已结算"); |
|
|
|
billNode.setCreateBySid(dto.getOperatorSid()); |
|
|
|
billNode.setNodeCode("6"); |
|
|
|
asBusrepairBillNodeService.insert(billNode); |
|
|
|
} |
|
|
|
if (asBusrepairBill.getSubject().equals("保外")) { |
|
|
|
SettleVo settleVo = dto.getSettleVo(); |
|
|
|
if (null != settleVo) { |
|
|
|
FmsReceivesettleDto settleDto = new FmsReceivesettleDto(); |
|
|
|
BeanUtil.copyProperties(settleVo, settleDto, "id", "sid"); |
|
|
|
settleDto.setCreateBySid(dto.getOperatorSid()); |
|
|
|
settleDto.setCreateByName(dto.getOperator()); |
|
|
|
settleDto.setSourceBillSid(dto.getSid()); |
|
|
|
settleDto.setSourceBillNo(asBusrepairBill.getBillNo()); |
|
|
|
fmsReceivesettleFeign.save(settleDto); |
|
|
|
if (null != asBusrepairBill.getHourAmount()) { |
|
|
|
if (asBusrepairBill.getHourAmount().compareTo(BigDecimal.ZERO) > 0) { |
|
|
|
FinUncollectedReceivablesDetailedDto finUncollectedReceivablesDetailedDto = new FinUncollectedReceivablesDetailedDto(); |
|
|
|
finUncollectedReceivablesDetailedDto.setCreateByName(asBusrepairBill.getCreateByName()); |
|
|
|
finUncollectedReceivablesDetailedDto.setCreateBySid(asBusrepairBill.getCreateBySid()); |
|
|
|
finUncollectedReceivablesDetailedDto.setCustomerSid(asBusrepairBill.getCustomerSid()); |
|
|
|
finUncollectedReceivablesDetailedDto.setCustomerName(asBusrepairBill.getCustomerName()); |
|
|
|
finUncollectedReceivablesDetailedDto.setContractSid(asBusrepairBill.getSid()); |
|
|
|
finUncollectedReceivablesDetailedDto.setContractNo(asBusrepairBill.getBillNo()); |
|
|
|
AsBusrepairBillVech billVech = asBusrepairBillVechService.fetchByBillSid(asBusrepairBill.getSid()); |
|
|
|
if (null != billVech) { |
|
|
|
if (StringUtils.isNotBlank(billVech.getVinNo())) { |
|
|
|
finUncollectedReceivablesDetailedDto.setVIN(billVech.getVinNo()); |
|
|
|
finUncollectedReceivablesDetailedDto.setBusVinSid(billVech.getSid()); |
|
|
|
} |
|
|
|
} |
|
|
|
finUncollectedReceivablesDetailedDto.setStaffDeptSid(asBusrepairBill.getDeptSid()); |
|
|
|
finUncollectedReceivablesDetailedDto.setStaffDeptName(asBusrepairBill.getDeptName()); |
|
|
|
finUncollectedReceivablesDetailedDto.setCustomerPhone(asBusrepairBill.getMobile()); |
|
|
|
finUncollectedReceivablesDetailedDto.setUseOrgSid(asBusrepairBill.getUseOrgSid()); |
|
|
|
finUncollectedReceivablesDetailedDto.setOrgSidPath(asBusrepairBill.getOrgSidPath()); |
|
|
|
finUncollectedReceivablesDetailedDto.setReceivablesName("工时费"); |
|
|
|
finUncollectedReceivablesDetailedDto.setCurrentReceivableMoney((asBusrepairBill.getHourAmount()).toString()); |
|
|
|
finUncollectedReceivablesDetailedDto.setReveivableMoney((asBusrepairBill.getHourAmount()).toString()); |
|
|
|
finUncollectedReceivablesDetailedDto.setUseOrgName(asBusrepairBill.getUseOrgName()); |
|
|
|
finUncollectedReceivablesDetailedDto.setKxState("01"); |
|
|
|
finUncollectedReceivablesDetailedFeign.saveOrUpdate(finUncollectedReceivablesDetailedDto); |
|
|
|
} |
|
|
|
} |
|
|
|
if (null != asBusrepairBill.getGoodsAmount()) { |
|
|
|
if (asBusrepairBill.getGoodsAmount().compareTo(BigDecimal.ZERO) > 0) { |
|
|
|
FinUncollectedReceivablesDetailedDto finUncollectedReceivablesDetailedDto = new FinUncollectedReceivablesDetailedDto(); |
|
|
|
finUncollectedReceivablesDetailedDto.setCreateByName(asBusrepairBill.getCreateByName()); |
|
|
|
finUncollectedReceivablesDetailedDto.setCreateBySid(asBusrepairBill.getCreateBySid()); |
|
|
|
finUncollectedReceivablesDetailedDto.setCustomerSid(asBusrepairBill.getCustomerSid()); |
|
|
|
finUncollectedReceivablesDetailedDto.setCustomerName(asBusrepairBill.getCustomerName()); |
|
|
|
finUncollectedReceivablesDetailedDto.setContractSid(asBusrepairBill.getSid()); |
|
|
|
finUncollectedReceivablesDetailedDto.setContractNo(asBusrepairBill.getBillNo()); |
|
|
|
AsBusrepairBillVech billVech = asBusrepairBillVechService.fetchByBillSid(asBusrepairBill.getSid()); |
|
|
|
if (null != billVech) { |
|
|
|
if (StringUtils.isNotBlank(billVech.getVinNo())) { |
|
|
|
finUncollectedReceivablesDetailedDto.setVIN(billVech.getVinNo()); |
|
|
|
finUncollectedReceivablesDetailedDto.setBusVinSid(billVech.getSid()); |
|
|
|
} |
|
|
|
} |
|
|
|
finUncollectedReceivablesDetailedDto.setStaffDeptSid(asBusrepairBill.getDeptSid()); |
|
|
|
finUncollectedReceivablesDetailedDto.setStaffDeptName(asBusrepairBill.getDeptName()); |
|
|
|
finUncollectedReceivablesDetailedDto.setCustomerPhone(asBusrepairBill.getMobile()); |
|
|
|
finUncollectedReceivablesDetailedDto.setUseOrgSid(asBusrepairBill.getUseOrgSid()); |
|
|
|
finUncollectedReceivablesDetailedDto.setOrgSidPath(asBusrepairBill.getOrgSidPath()); |
|
|
|
finUncollectedReceivablesDetailedDto.setReceivablesName("材料费"); |
|
|
|
finUncollectedReceivablesDetailedDto.setCurrentReceivableMoney((asBusrepairBill.getGoodsAmount()).toString()); |
|
|
|
finUncollectedReceivablesDetailedDto.setReveivableMoney((asBusrepairBill.getGoodsAmount()).toString()); |
|
|
|
finUncollectedReceivablesDetailedDto.setUseOrgName(asBusrepairBill.getUseOrgName()); |
|
|
|
finUncollectedReceivablesDetailedDto.setKxState("01"); |
|
|
|
finUncollectedReceivablesDetailedFeign.saveOrUpdate(finUncollectedReceivablesDetailedDto); |
|
|
|
} |
|
|
|
} |
|
|
|
BigDecimal addAmount = BigDecimal.ZERO; |
|
|
|
BigDecimal outAmount = BigDecimal.ZERO; |
|
|
|
BigDecimal subsidyAmount = BigDecimal.ZERO; |
|
|
|
BigDecimal rescueAmount = BigDecimal.ZERO; |
|
|
|
if (null != asBusrepairBill.getAddAmount()) { |
|
|
|
addAmount = asBusrepairBill.getAddAmount(); |
|
|
|
} |
|
|
|
if (null != asBusrepairBill.getOutAmount()) { |
|
|
|
outAmount = asBusrepairBill.getOutAmount(); |
|
|
|
} |
|
|
|
if (null != asBusrepairBill.getSubsidyAmount()) { |
|
|
|
subsidyAmount = asBusrepairBill.getSubsidyAmount(); |
|
|
|
} |
|
|
|
if (null != asBusrepairBill.getRescueAmount()) { |
|
|
|
rescueAmount = asBusrepairBill.getRescueAmount(); |
|
|
|
} |
|
|
|
BigDecimal otherAmountAll = addAmount.add(outAmount).add(subsidyAmount).add(rescueAmount); |
|
|
|
if (otherAmountAll.compareTo(BigDecimal.ZERO) > 0) { |
|
|
|
FinUncollectedReceivablesDetailedDto finUncollectedReceivablesDetailedDto = new FinUncollectedReceivablesDetailedDto(); |
|
|
|
finUncollectedReceivablesDetailedDto.setCreateByName(asBusrepairBill.getCreateByName()); |
|
|
|
finUncollectedReceivablesDetailedDto.setCreateBySid(asBusrepairBill.getCreateBySid()); |
|
|
|
finUncollectedReceivablesDetailedDto.setCustomerSid(asBusrepairBill.getCustomerSid()); |
|
|
|
finUncollectedReceivablesDetailedDto.setCustomerName(asBusrepairBill.getCustomerName()); |
|
|
|
finUncollectedReceivablesDetailedDto.setContractSid(asBusrepairBill.getSid()); |
|
|
|
finUncollectedReceivablesDetailedDto.setContractNo(asBusrepairBill.getBillNo()); |
|
|
|
AsBusrepairBillVech billVech = asBusrepairBillVechService.fetchByBillSid(asBusrepairBill.getSid()); |
|
|
|
if (null != billVech) { |
|
|
|
if (StringUtils.isNotBlank(billVech.getVinNo())) { |
|
|
|
finUncollectedReceivablesDetailedDto.setVIN(billVech.getVinNo()); |
|
|
|
finUncollectedReceivablesDetailedDto.setBusVinSid(billVech.getSid()); |
|
|
|
} |
|
|
|
} |
|
|
|
finUncollectedReceivablesDetailedDto.setStaffDeptSid(asBusrepairBill.getDeptSid()); |
|
|
|
finUncollectedReceivablesDetailedDto.setStaffDeptName(asBusrepairBill.getDeptName()); |
|
|
|
finUncollectedReceivablesDetailedDto.setCustomerPhone(asBusrepairBill.getMobile()); |
|
|
|
finUncollectedReceivablesDetailedDto.setUseOrgSid(asBusrepairBill.getUseOrgSid()); |
|
|
|
finUncollectedReceivablesDetailedDto.setOrgSidPath(asBusrepairBill.getOrgSidPath()); |
|
|
|
finUncollectedReceivablesDetailedDto.setReceivablesName("其他费用"); |
|
|
|
finUncollectedReceivablesDetailedDto.setCurrentReceivableMoney(otherAmountAll.toString()); |
|
|
|
finUncollectedReceivablesDetailedDto.setReveivableMoney(otherAmountAll.toString()); |
|
|
|
finUncollectedReceivablesDetailedDto.setUseOrgName(asBusrepairBill.getUseOrgName()); |
|
|
|
finUncollectedReceivablesDetailedDto.setKxState("01"); |
|
|
|
finUncollectedReceivablesDetailedFeign.saveOrUpdate(finUncollectedReceivablesDetailedDto); |
|
|
|
} |
|
|
|
} |
|
|
|
asBusrepairBill.setSettleTime(DateUtil.formatDate(new Date())); |
|
|
|
asBusrepairBill.setNodeCode(6); |
|
|
|
asBusrepairBill.setNodeName("已结算"); |
|
|
|
asBusrepairBill.setNodeTime(new DateTime()); |
|
|
|
asBusrepairBill.setOutDoorState("2"); |
|
|
|
baseMapper.updateById(asBusrepairBill); |
|
|
|
//保外推送结算申请
|
|
|
|
AsBillSettelApplyDto settelApplyDto = new AsBillSettelApplyDto(); |
|
|
|
settelApplyDto.setNodeState("待提交"); |
|
|
|
settelApplyDto.setSourceBillType(0); |
|
|
|
settelApplyDto.setCreateByName(dto.getCreateByName()); |
|
|
|
settelApplyDto.setCreateTime(new Date()); |
|
|
|
settelApplyDto.setCreateBySid(dto.getCreateBySid()); |
|
|
|
settelApplyDto.setUseOrgSid(dto.getUseOrgSid()); |
|
|
|
settelApplyDto.setDept(dto.getDeptName()); |
|
|
|
settelApplyDto.setDeptSid(dto.getDeptSid()); |
|
|
|
settelApplyDto.setSourceSid(dto.getSid()); |
|
|
|
settelApplyDto.setSourceBillNo(dto.getBillNo()); |
|
|
|
settelApplyDto.setCustomerSid(dto.getCustomerSid()); |
|
|
|
settelApplyDto.setCustomerName(dto.getCustomerName()); |
|
|
|
BigDecimal receivableAmount = BigDecimal.ZERO; // 应收金额
|
|
|
|
BigDecimal discountAmount = BigDecimal.ZERO; // 优惠金额
|
|
|
|
BigDecimal settleAmount = BigDecimal.ZERO; // 结算金额
|
|
|
|
if (StringUtils.isNotBlank(dto.getReceivableAmount())) { |
|
|
|
receivableAmount = new BigDecimal(dto.getReceivableAmount()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(dto.getDiscountAmount())) { |
|
|
|
discountAmount = new BigDecimal(dto.getDiscountAmount()); |
|
|
|
} |
|
|
|
settleAmount = receivableAmount.subtract(discountAmount); |
|
|
|
settelApplyDto.setReceivableAmount(receivableAmount.toString()); |
|
|
|
settelApplyDto.setSettleAmount(settleAmount.toString()); |
|
|
|
asBillSettelApplyService.saveOrUpdateDto(settelApplyDto); |
|
|
|
//新增工单环节信息
|
|
|
|
AsBusrepairBillNode billNode = new AsBusrepairBillNode(); |
|
|
|
billNode.setBillSid(sid); |
|
|
|
billNode.setCreateByName(dto.getOperator()); |
|
|
|
billNode.setNodeName("已结算"); |
|
|
|
billNode.setCreateBySid(dto.getOperatorSid()); |
|
|
|
billNode.setNodeCode("6"); |
|
|
|
asBusrepairBillNodeService.insert(billNode); |
|
|
|
} |
|
|
|
// asBusrepairBill.setNodeCode(6);
|
|
|
|
// asBusrepairBill.setNodeName("已结算");
|
|
|
|
// asBusrepairBill.setNodeTime(new DateTime());
|
|
|
|
// asBusrepairBill.setSettleTime(DateUtil.formatDate(new Date()));
|
|
|
|
// if (asBusrepairBill.getMaterialConfirm().intValue() == 0) {
|
|
|
|
// asBusrepairBill.setMaterialConfirm(1);
|
|
|
|
// asBusrepairBill.setOutDoorState("2");
|
|
|
|
// }
|
|
|
|
// baseMapper.updateById(asBusrepairBill);
|
|
|
|
// //新增工单环节信息
|
|
|
|
// AsBusrepairBillNode billNode = new AsBusrepairBillNode();
|
|
|
|
// billNode.setBillSid(sid);
|
|
|
|
// billNode.setCreateByName(dto.getOperator());
|
|
|
|
// billNode.setNodeName("已结算");
|
|
|
|
// billNode.setCreateBySid(dto.getOperatorSid());
|
|
|
|
// billNode.setNodeCode("6");
|
|
|
|
// asBusrepairBillNodeService.insert(billNode);
|
|
|
|
} |
|
|
|
// if (asBusrepairBill.getSubject().equals("保外")) {
|
|
|
|
// SettleVo settleVo = dto.getSettleVo();
|
|
|
|
// if (null != settleVo) {
|
|
|
|
// FmsReceivesettleDto settleDto = new FmsReceivesettleDto();
|
|
|
|
// BeanUtil.copyProperties(settleVo, settleDto, "id", "sid");
|
|
|
|
// settleDto.setCreateBySid(dto.getOperatorSid());
|
|
|
|
// settleDto.setCreateByName(dto.getOperator());
|
|
|
|
// settleDto.setSourceBillSid(dto.getSid());
|
|
|
|
// settleDto.setSourceBillNo(asBusrepairBill.getBillNo());
|
|
|
|
// fmsReceivesettleFeign.save(settleDto);
|
|
|
|
// if (null != asBusrepairBill.getHourAmount()) {
|
|
|
|
// if (asBusrepairBill.getHourAmount().compareTo(BigDecimal.ZERO) > 0) {
|
|
|
|
// FinUncollectedReceivablesDetailedDto finUncollectedReceivablesDetailedDto = new FinUncollectedReceivablesDetailedDto();
|
|
|
|
// finUncollectedReceivablesDetailedDto.setCreateByName(asBusrepairBill.getCreateByName());
|
|
|
|
// finUncollectedReceivablesDetailedDto.setCreateBySid(asBusrepairBill.getCreateBySid());
|
|
|
|
// finUncollectedReceivablesDetailedDto.setCustomerSid(asBusrepairBill.getCustomerSid());
|
|
|
|
// finUncollectedReceivablesDetailedDto.setCustomerName(asBusrepairBill.getCustomerName());
|
|
|
|
// finUncollectedReceivablesDetailedDto.setContractSid(asBusrepairBill.getSid());
|
|
|
|
// finUncollectedReceivablesDetailedDto.setContractNo(asBusrepairBill.getBillNo());
|
|
|
|
// AsBusrepairBillVech billVech = asBusrepairBillVechService.fetchByBillSid(asBusrepairBill.getSid());
|
|
|
|
// if (null != billVech) {
|
|
|
|
// if (StringUtils.isNotBlank(billVech.getVinNo())) {
|
|
|
|
// finUncollectedReceivablesDetailedDto.setVIN(billVech.getVinNo());
|
|
|
|
// finUncollectedReceivablesDetailedDto.setBusVinSid(billVech.getSid());
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// finUncollectedReceivablesDetailedDto.setStaffDeptSid(asBusrepairBill.getDeptSid());
|
|
|
|
// finUncollectedReceivablesDetailedDto.setStaffDeptName(asBusrepairBill.getDeptName());
|
|
|
|
// finUncollectedReceivablesDetailedDto.setCustomerPhone(asBusrepairBill.getMobile());
|
|
|
|
// finUncollectedReceivablesDetailedDto.setUseOrgSid(asBusrepairBill.getUseOrgSid());
|
|
|
|
// finUncollectedReceivablesDetailedDto.setOrgSidPath(asBusrepairBill.getOrgSidPath());
|
|
|
|
// finUncollectedReceivablesDetailedDto.setReceivablesName("工时费");
|
|
|
|
// finUncollectedReceivablesDetailedDto.setCurrentReceivableMoney((asBusrepairBill.getHourAmount()).toString());
|
|
|
|
// finUncollectedReceivablesDetailedDto.setReveivableMoney((asBusrepairBill.getHourAmount()).toString());
|
|
|
|
// finUncollectedReceivablesDetailedDto.setUseOrgName(asBusrepairBill.getUseOrgName());
|
|
|
|
// finUncollectedReceivablesDetailedDto.setKxState("01");
|
|
|
|
// finUncollectedReceivablesDetailedFeign.saveOrUpdate(finUncollectedReceivablesDetailedDto);
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// if (null != asBusrepairBill.getGoodsAmount()) {
|
|
|
|
// if (asBusrepairBill.getGoodsAmount().compareTo(BigDecimal.ZERO) > 0) {
|
|
|
|
// FinUncollectedReceivablesDetailedDto finUncollectedReceivablesDetailedDto = new FinUncollectedReceivablesDetailedDto();
|
|
|
|
// finUncollectedReceivablesDetailedDto.setCreateByName(asBusrepairBill.getCreateByName());
|
|
|
|
// finUncollectedReceivablesDetailedDto.setCreateBySid(asBusrepairBill.getCreateBySid());
|
|
|
|
// finUncollectedReceivablesDetailedDto.setCustomerSid(asBusrepairBill.getCustomerSid());
|
|
|
|
// finUncollectedReceivablesDetailedDto.setCustomerName(asBusrepairBill.getCustomerName());
|
|
|
|
// finUncollectedReceivablesDetailedDto.setContractSid(asBusrepairBill.getSid());
|
|
|
|
// finUncollectedReceivablesDetailedDto.setContractNo(asBusrepairBill.getBillNo());
|
|
|
|
// AsBusrepairBillVech billVech = asBusrepairBillVechService.fetchByBillSid(asBusrepairBill.getSid());
|
|
|
|
// if (null != billVech) {
|
|
|
|
// if (StringUtils.isNotBlank(billVech.getVinNo())) {
|
|
|
|
// finUncollectedReceivablesDetailedDto.setVIN(billVech.getVinNo());
|
|
|
|
// finUncollectedReceivablesDetailedDto.setBusVinSid(billVech.getSid());
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// finUncollectedReceivablesDetailedDto.setStaffDeptSid(asBusrepairBill.getDeptSid());
|
|
|
|
// finUncollectedReceivablesDetailedDto.setStaffDeptName(asBusrepairBill.getDeptName());
|
|
|
|
// finUncollectedReceivablesDetailedDto.setCustomerPhone(asBusrepairBill.getMobile());
|
|
|
|
// finUncollectedReceivablesDetailedDto.setUseOrgSid(asBusrepairBill.getUseOrgSid());
|
|
|
|
// finUncollectedReceivablesDetailedDto.setOrgSidPath(asBusrepairBill.getOrgSidPath());
|
|
|
|
// finUncollectedReceivablesDetailedDto.setReceivablesName("材料费");
|
|
|
|
// finUncollectedReceivablesDetailedDto.setCurrentReceivableMoney((asBusrepairBill.getGoodsAmount()).toString());
|
|
|
|
// finUncollectedReceivablesDetailedDto.setReveivableMoney((asBusrepairBill.getGoodsAmount()).toString());
|
|
|
|
// finUncollectedReceivablesDetailedDto.setUseOrgName(asBusrepairBill.getUseOrgName());
|
|
|
|
// finUncollectedReceivablesDetailedDto.setKxState("01");
|
|
|
|
// finUncollectedReceivablesDetailedFeign.saveOrUpdate(finUncollectedReceivablesDetailedDto);
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// BigDecimal addAmount = BigDecimal.ZERO;
|
|
|
|
// BigDecimal outAmount = BigDecimal.ZERO;
|
|
|
|
// BigDecimal subsidyAmount = BigDecimal.ZERO;
|
|
|
|
// BigDecimal rescueAmount = BigDecimal.ZERO;
|
|
|
|
// if (null != asBusrepairBill.getAddAmount()) {
|
|
|
|
// addAmount = asBusrepairBill.getAddAmount();
|
|
|
|
// }
|
|
|
|
// if (null != asBusrepairBill.getOutAmount()) {
|
|
|
|
// outAmount = asBusrepairBill.getOutAmount();
|
|
|
|
// }
|
|
|
|
// if (null != asBusrepairBill.getSubsidyAmount()) {
|
|
|
|
// subsidyAmount = asBusrepairBill.getSubsidyAmount();
|
|
|
|
// }
|
|
|
|
// if (null != asBusrepairBill.getRescueAmount()) {
|
|
|
|
// rescueAmount = asBusrepairBill.getRescueAmount();
|
|
|
|
// }
|
|
|
|
// BigDecimal otherAmountAll = addAmount.add(outAmount).add(subsidyAmount).add(rescueAmount);
|
|
|
|
// if (otherAmountAll.compareTo(BigDecimal.ZERO) > 0) {
|
|
|
|
// FinUncollectedReceivablesDetailedDto finUncollectedReceivablesDetailedDto = new FinUncollectedReceivablesDetailedDto();
|
|
|
|
// finUncollectedReceivablesDetailedDto.setCreateByName(asBusrepairBill.getCreateByName());
|
|
|
|
// finUncollectedReceivablesDetailedDto.setCreateBySid(asBusrepairBill.getCreateBySid());
|
|
|
|
// finUncollectedReceivablesDetailedDto.setCustomerSid(asBusrepairBill.getCustomerSid());
|
|
|
|
// finUncollectedReceivablesDetailedDto.setCustomerName(asBusrepairBill.getCustomerName());
|
|
|
|
// finUncollectedReceivablesDetailedDto.setContractSid(asBusrepairBill.getSid());
|
|
|
|
// finUncollectedReceivablesDetailedDto.setContractNo(asBusrepairBill.getBillNo());
|
|
|
|
// AsBusrepairBillVech billVech = asBusrepairBillVechService.fetchByBillSid(asBusrepairBill.getSid());
|
|
|
|
// if (null != billVech) {
|
|
|
|
// if (StringUtils.isNotBlank(billVech.getVinNo())) {
|
|
|
|
// finUncollectedReceivablesDetailedDto.setVIN(billVech.getVinNo());
|
|
|
|
// finUncollectedReceivablesDetailedDto.setBusVinSid(billVech.getSid());
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// finUncollectedReceivablesDetailedDto.setStaffDeptSid(asBusrepairBill.getDeptSid());
|
|
|
|
// finUncollectedReceivablesDetailedDto.setStaffDeptName(asBusrepairBill.getDeptName());
|
|
|
|
// finUncollectedReceivablesDetailedDto.setCustomerPhone(asBusrepairBill.getMobile());
|
|
|
|
// finUncollectedReceivablesDetailedDto.setUseOrgSid(asBusrepairBill.getUseOrgSid());
|
|
|
|
// finUncollectedReceivablesDetailedDto.setOrgSidPath(asBusrepairBill.getOrgSidPath());
|
|
|
|
// finUncollectedReceivablesDetailedDto.setReceivablesName("其他费用");
|
|
|
|
// finUncollectedReceivablesDetailedDto.setCurrentReceivableMoney(otherAmountAll.toString());
|
|
|
|
// finUncollectedReceivablesDetailedDto.setReveivableMoney(otherAmountAll.toString());
|
|
|
|
// finUncollectedReceivablesDetailedDto.setUseOrgName(asBusrepairBill.getUseOrgName());
|
|
|
|
// finUncollectedReceivablesDetailedDto.setKxState("01");
|
|
|
|
// finUncollectedReceivablesDetailedFeign.saveOrUpdate(finUncollectedReceivablesDetailedDto);
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// asBusrepairBill.setSettleTime(DateUtil.formatDate(new Date()));
|
|
|
|
// asBusrepairBill.setNodeCode(6);
|
|
|
|
// asBusrepairBill.setNodeName("已结算");
|
|
|
|
// asBusrepairBill.setNodeTime(new DateTime());
|
|
|
|
// asBusrepairBill.setOutDoorState("2");
|
|
|
|
// baseMapper.updateById(asBusrepairBill);
|
|
|
|
// //保外推送结算申请
|
|
|
|
// AsBillSettelApplyDto settelApplyDto = new AsBillSettelApplyDto();
|
|
|
|
// settelApplyDto.setNodeState("待提交");
|
|
|
|
// settelApplyDto.setSourceBillType(0);
|
|
|
|
// settelApplyDto.setCreateByName(dto.getCreateByName());
|
|
|
|
// settelApplyDto.setCreateTime(new Date());
|
|
|
|
// settelApplyDto.setCreateBySid(dto.getCreateBySid());
|
|
|
|
// settelApplyDto.setUseOrgSid(dto.getUseOrgSid());
|
|
|
|
// settelApplyDto.setDept(dto.getDeptName());
|
|
|
|
// settelApplyDto.setDeptSid(dto.getDeptSid());
|
|
|
|
// settelApplyDto.setSourceSid(dto.getSid());
|
|
|
|
// settelApplyDto.setSourceBillNo(dto.getBillNo());
|
|
|
|
// settelApplyDto.setCustomerSid(dto.getCustomerSid());
|
|
|
|
// settelApplyDto.setCustomerName(dto.getCustomerName());
|
|
|
|
// BigDecimal receivableAmount = BigDecimal.ZERO; // 应收金额
|
|
|
|
// BigDecimal discountAmount = BigDecimal.ZERO; // 优惠金额
|
|
|
|
// BigDecimal settleAmount = BigDecimal.ZERO; // 结算金额
|
|
|
|
// if (StringUtils.isNotBlank(dto.getReceivableAmount())) {
|
|
|
|
// receivableAmount = new BigDecimal(dto.getReceivableAmount());
|
|
|
|
// }
|
|
|
|
// if (StringUtils.isNotBlank(dto.getDiscountAmount())) {
|
|
|
|
// discountAmount = new BigDecimal(dto.getDiscountAmount());
|
|
|
|
// }
|
|
|
|
// settleAmount = receivableAmount.subtract(discountAmount);
|
|
|
|
// settelApplyDto.setReceivableAmount(receivableAmount.toString());
|
|
|
|
// settelApplyDto.setSettleAmount(settleAmount.toString());
|
|
|
|
// asBillSettelApplyService.saveOrUpdateDto(settelApplyDto);
|
|
|
|
// //新增工单环节信息
|
|
|
|
// AsBusrepairBillNode billNode = new AsBusrepairBillNode();
|
|
|
|
// billNode.setBillSid(sid);
|
|
|
|
// billNode.setCreateByName(dto.getOperator());
|
|
|
|
// billNode.setNodeName("已结算");
|
|
|
|
// billNode.setCreateBySid(dto.getOperatorSid());
|
|
|
|
// billNode.setNodeCode("6");
|
|
|
|
// asBusrepairBillNodeService.insert(billNode);
|
|
|
|
// }
|
|
|
|
} |
|
|
|
return rb.success(); |
|
|
|
} |
|
|
|