|
|
@ -353,7 +353,7 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp |
|
|
|
} else { |
|
|
|
qw.eq("bd.applySid", query.getApplySid()); |
|
|
|
} |
|
|
|
qw.eq("bd.typeState",0); |
|
|
|
qw.eq("bd.typeState", 0); |
|
|
|
} |
|
|
|
IPage<BusDeliveredApply> page = PagerUtil.queryToPage(pq); |
|
|
|
IPage<BusDeliveredApplyVo> pagging = baseMapper.selectPageVo(page, qw); |
|
|
@ -2111,7 +2111,7 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp |
|
|
|
qw.eq("useOrgSid", orgSid); |
|
|
|
qw.eq("applySid", pagerQuery.getParams().getUserSid()); |
|
|
|
} |
|
|
|
qw.eq("bd.typeState",0); |
|
|
|
qw.eq("bd.typeState", 0); |
|
|
|
IPage<AppDeliveredApplyPageQuery> page = PagerUtil.queryToPage(pagerQuery); |
|
|
|
IPage<AppDeliveredApplyPageVo> iPage = baseMapper.getRetrievalApplyList(page, qw, pagerQuery.getParams().getName()); |
|
|
|
List<AppDeliveredApplyPageVo> records = iPage.getRecords(); |
|
|
@ -2940,6 +2940,29 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp |
|
|
|
return r; |
|
|
|
} |
|
|
|
|
|
|
|
private synchronized int submitAppBusinessData2(SubmitUnDeliveredApplyDto dto, BusDeliveredApply |
|
|
|
busDeliveredApply) { |
|
|
|
int r = 0; |
|
|
|
if (StringUtils.isBlank(dto.getSid())) { |
|
|
|
r = 1; |
|
|
|
} else { |
|
|
|
if (busDeliveredApply != null) { |
|
|
|
String businessTaskId = busDeliveredApply.getTaskId(); |
|
|
|
if (StringUtils.isBlank(businessTaskId) && StringUtils.isBlank(dto.getTaskId())) { |
|
|
|
//新提交
|
|
|
|
r = 1; |
|
|
|
} else if (StringUtils.isNotBlank(businessTaskId) && businessTaskId.equals(dto.getTaskId())) { |
|
|
|
//二次提交//只有数据一致的时候才能进行下一步
|
|
|
|
r = 2; |
|
|
|
} |
|
|
|
} else { |
|
|
|
r = 3; |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
return r; |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean<DeliveredFinVo> deliveredFinSelect(String contractNo, String vinSid) { |
|
|
|
ResultBean<DeliveredFinVo> rb = ResultBean.fireFail(); |
|
|
|
DeliveredFinVo deliveredFinVo = new DeliveredFinVo(); |
|
|
@ -3076,7 +3099,7 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp |
|
|
|
} else { |
|
|
|
qw.eq("bd.applySid", query.getApplySid()); |
|
|
|
} |
|
|
|
qw.eq("typeState",1); |
|
|
|
qw.eq("typeState", 1); |
|
|
|
} |
|
|
|
IPage<BusDeliveredApply> page = PagerUtil.queryToPage(pq); |
|
|
|
IPage<BusDeliveredApplyVo> pagging = baseMapper.selectPageVo(page, qw); |
|
|
@ -3093,6 +3116,648 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean unSave(UnBusDeliveredApplyDto dto) { |
|
|
|
return null; |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
String sid = dto.getSid(); |
|
|
|
String orgPath = dto.getOrgPath(); |
|
|
|
String contractNo = dto.getContractId(); |
|
|
|
if (StringUtils.isBlank(sid)) { |
|
|
|
//根据合同编号查询销售订单
|
|
|
|
//根据orgPath以及用户sid查询申请人
|
|
|
|
String userSid = dto.getUserSid(); |
|
|
|
String deptName = ""; |
|
|
|
String deptSid = ""; |
|
|
|
String orgSidPath = ""; |
|
|
|
if (StringUtils.isNotBlank(orgPath)) { |
|
|
|
List<String> split = Arrays.asList(orgPath.split("/")); |
|
|
|
if (split.size() > 1) { |
|
|
|
//获取本级sid获取本级部门信息
|
|
|
|
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(split.size() - 2)).getData(); |
|
|
|
SysOrganizationVo sysOrganization1 = sysOrganizationFeign.fetchBySid(split.get(split.size() - 1)).getData(); |
|
|
|
deptName = sysOrganization.getName() + "/" + sysOrganization1.getName(); |
|
|
|
deptName = sysOrganization1.getName(); |
|
|
|
deptSid = sysOrganization1.getSid(); |
|
|
|
} else { |
|
|
|
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(0)).getData(); |
|
|
|
deptName = sysOrganization.getName(); |
|
|
|
deptName = sysOrganization.getName(); |
|
|
|
deptSid = sysOrganization.getSid(); |
|
|
|
} |
|
|
|
orgSidPath = orgPath; |
|
|
|
} |
|
|
|
//根据用户sid查询人员姓名
|
|
|
|
ResultBean<SysUserVo> userVoResultBean = sysUserFeign.fetchBySid(userSid); |
|
|
|
if (!userVoResultBean.getSuccess()) { |
|
|
|
return rb.setMsg(userVoResultBean.getMsg()); |
|
|
|
} |
|
|
|
BusDeliveredApply busDeliveredApply = new BusDeliveredApply(); |
|
|
|
BeanUtil.copyProperties(dto, busDeliveredApply, "sid"); |
|
|
|
busDeliveredApply.setContractNo(contractNo); |
|
|
|
busDeliveredApply.setApplySid(userSid); |
|
|
|
busDeliveredApply.setCreateBySid(userSid); |
|
|
|
busDeliveredApply.setApplyName(userVoResultBean.getData().getName()); |
|
|
|
busDeliveredApply.setStaffDeptName(deptName); |
|
|
|
busDeliveredApply.setApplyDept(deptName); |
|
|
|
busDeliveredApply.setApplyDeptSid(deptSid); |
|
|
|
busDeliveredApply.setStaffDeptSid(deptSid); |
|
|
|
busDeliveredApply.setStaffUserSid(userSid); |
|
|
|
busDeliveredApply.setStaffName(userVoResultBean.getData().getName()); |
|
|
|
busDeliveredApply.setOrgSidPath(orgSidPath); |
|
|
|
BusSalesOrder busSalesOrder = busSalesOrderService.selectByContractNos(dto.getContractId()); |
|
|
|
if (busSalesOrder != null) { |
|
|
|
busDeliveredApply.setStaffDeptName(busSalesOrder.getOrgName()); |
|
|
|
busDeliveredApply.setStaffDeptSid(busSalesOrder.getOrgSid()); |
|
|
|
} |
|
|
|
SysOrganizationVo sysOrganizationVo = sysOrganizationFeign.fetchBySid(sysStaffOrgFeign.getOrgSidByPath(orgPath).getData()).getData(); |
|
|
|
//出库申请单号
|
|
|
|
String billNo = ""; |
|
|
|
String date = DateUtil.format(DateUtil.date(), "yyyyMM"); |
|
|
|
billNo = "XSCKD" + sysOrganizationVo.getOrgCode() + date; |
|
|
|
String v = baseMapper.selectNum(billNo); |
|
|
|
if (StringUtils.isNotBlank(v)) { |
|
|
|
billNo = Rule.getBillNo(billNo, Integer.valueOf(v).intValue()); |
|
|
|
} else { |
|
|
|
billNo = Rule.getBillNo(billNo, 0); |
|
|
|
} |
|
|
|
busDeliveredApply.setBillNo(billNo); |
|
|
|
//根据合同编号查询销售订单的信息
|
|
|
|
ResultBean<AppOrderDetailsVo> resultBean = busSalesOrderService.getSaleOrderDetailsByContractNo(contractNo); |
|
|
|
if (!resultBean.getSuccess()) { |
|
|
|
log.error("获取销售订单详情出错啦!!!"); |
|
|
|
return rb; |
|
|
|
} |
|
|
|
AppOrderDetailsVo appOrderDetailsVo = resultBean.getData(); |
|
|
|
busDeliveredApply.setCustomerSid(appOrderDetailsVo.getCustomerSid()); |
|
|
|
//销售类型
|
|
|
|
busDeliveredApply.setPaymentMethod(appOrderDetailsVo.getPayType()); |
|
|
|
busDeliveredApply.setPaymentMethodKey(appOrderDetailsVo.getPayTypeKey()); |
|
|
|
//中介人
|
|
|
|
SubmitVo intermediary1 = appOrderDetailsVo.getIntermediary1(); |
|
|
|
if (intermediary1 != null) { |
|
|
|
String agencyFee = intermediary1.getAgencyFee(); |
|
|
|
if (StringUtils.isNotBlank(agencyFee)) { |
|
|
|
busDeliveredApply.setDistributorPrice(agencyFee); |
|
|
|
} |
|
|
|
busDeliveredApply.setDistributorName(intermediary1.getIntermediaryName()); |
|
|
|
} |
|
|
|
//中介人2
|
|
|
|
SubmitVo intermediary2 = appOrderDetailsVo.getIntermediary2(); |
|
|
|
if (intermediary2 != null) { |
|
|
|
String agencyFee = intermediary2.getAgencyFee(); |
|
|
|
if (StringUtils.isNotBlank(agencyFee)) { |
|
|
|
busDeliveredApply.setDistributorPriceTwo(agencyFee); |
|
|
|
} |
|
|
|
busDeliveredApply.setDistributorNameTwo(intermediary2.getIntermediaryName()); |
|
|
|
} |
|
|
|
String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData(); |
|
|
|
busDeliveredApply.setUseOrgSid(useOrgSid); |
|
|
|
//车辆列表
|
|
|
|
List<AppCarListVo> carList = dto.getCarList(); |
|
|
|
for (int i = 0; i < carList.size(); i++) { |
|
|
|
AppCarListVo appCarListVo = carList.get(i); |
|
|
|
BusDeliveredApplyDetails busDeliveredApplyDetails = new BusDeliveredApplyDetails(); |
|
|
|
busDeliveredApplyDetails.setSingleCarDiscountPrice(appCarListVo.getDiscount()); |
|
|
|
busDeliveredApplyDetails.setVinSid(appCarListVo.getVinSid()); |
|
|
|
busDeliveredApplyDetails.setApplySid(busDeliveredApply.getSid()); |
|
|
|
//根据合同编号和车架号查询busVinSId
|
|
|
|
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleService.selectByNoAndVinSid(busDeliveredApply.getContractNo(), appCarListVo.getVinSid()); |
|
|
|
busDeliveredApplyDetails.setBusVinSid(busSalesOrderVehicle.getSid()); |
|
|
|
BusDeliveredUseMessagesVo busDeliveredUseMessagesVo = appCarListVo.getRealBuyer(); |
|
|
|
busDeliveredApplyDetails.setVinNo(busDeliveredUseMessagesVo.getVin()); |
|
|
|
//赠送套餐
|
|
|
|
BigDecimal discountAll = BigDecimal.ZERO; |
|
|
|
StringBuilder discountRemarks = new StringBuilder(); |
|
|
|
List<BusDeliveredDetailsDiscountsVo> discountUse = appCarListVo.getDiscountUse(); |
|
|
|
for (int j = 0; j < discountUse.size(); j++) { |
|
|
|
BusDeliveredDetailsDiscountsVo busDeliveredDetailsDiscountsVo = discountUse.get(j); |
|
|
|
BusDeliveredDetailsDiscount busDeliveredDetailsDiscount = new BusDeliveredDetailsDiscount(); |
|
|
|
//出库申请sid
|
|
|
|
busDeliveredDetailsDiscount.setApplySid(busDeliveredApply.getSid()); |
|
|
|
//出库车辆表sid
|
|
|
|
busDeliveredDetailsDiscount.setDetailsSid(busDeliveredApplyDetails.getSid()); |
|
|
|
//优惠包名称
|
|
|
|
busDeliveredDetailsDiscount.setName(busDeliveredDetailsDiscountsVo.getDiscountName()); |
|
|
|
//价值
|
|
|
|
busDeliveredDetailsDiscount.setPrice(busDeliveredDetailsDiscountsVo.getDiscountPrice()); |
|
|
|
//优惠包项目说明
|
|
|
|
busDeliveredDetailsDiscount.setDiscountExplain(busDeliveredDetailsDiscountsVo.getDiscountInfo()); |
|
|
|
//数量
|
|
|
|
BusSalesOrderDiscount busSalesOrderDiscount = busSalesOrderDiscountService.fetchBySid(busDeliveredDetailsDiscountsVo.getDiscountSid()); |
|
|
|
busDeliveredDetailsDiscount.setNum(busSalesOrderDiscount.getNum()); |
|
|
|
//本次赠送数量
|
|
|
|
busDeliveredDetailsDiscount.setGiveNum(busDeliveredDetailsDiscountsVo.getDiscountNum()); |
|
|
|
//销售订单中主车优惠的sid
|
|
|
|
busDeliveredDetailsDiscount.setDiscountSid(busDeliveredDetailsDiscountsVo.getDiscountSid()); |
|
|
|
busDeliveredDetailsDiscountService.insert(busDeliveredDetailsDiscount); |
|
|
|
discountAll = discountAll.add(new BigDecimal(busDeliveredDetailsDiscount.getPrice()).multiply(new BigDecimal(busDeliveredDetailsDiscount.getGiveNum()))); |
|
|
|
if (j == 0 || j == discountUse.size() - 1) { |
|
|
|
String disInfo = busDeliveredDetailsDiscountsVo.getDiscountName() + busDeliveredDetailsDiscountsVo.getDiscountInfo() + "X" + busDeliveredDetailsDiscount.getGiveNum(); |
|
|
|
discountRemarks = discountRemarks.append(disInfo).append(","); |
|
|
|
} else { |
|
|
|
String disInfo = busDeliveredDetailsDiscountsVo.getDiscountName() + busDeliveredDetailsDiscountsVo.getDiscountInfo() + "X" + busDeliveredDetailsDiscount.getGiveNum(); |
|
|
|
discountRemarks = discountRemarks.append(disInfo); |
|
|
|
} |
|
|
|
} |
|
|
|
busDeliveredApplyDetails.setDiscountAll(discountAll.toString()); |
|
|
|
busDeliveredApplyDetails.setRemarks(discountRemarks.toString()); |
|
|
|
//使用人信息
|
|
|
|
if ("2".equals(busDeliveredApply.getTypeKey())) { |
|
|
|
BusDeliveredUseMessage busDeliveredUseMessage = new BusDeliveredUseMessage(); |
|
|
|
BeanUtil.copyProperties(busDeliveredUseMessagesVo, busDeliveredUseMessage); |
|
|
|
busDeliveredUseMessage.setApplySid(busDeliveredApply.getSid()); |
|
|
|
busDeliveredUseMessageService.insert(busDeliveredUseMessage); |
|
|
|
busDeliveredApplyDetails.setUseMessageSid(busDeliveredUseMessage.getSid()); |
|
|
|
} |
|
|
|
if ("0".equals(busDeliveredApply.getTypeKey())) { |
|
|
|
//客户的信息
|
|
|
|
String customerSid = busDeliveredApply.getCustomerSid(); |
|
|
|
ResultBean<CrmCustomerTempVo> crmCustomerTempResultBean = crmCustomerTempFeign.fetchSid(customerSid); |
|
|
|
if (crmCustomerTempResultBean.getData() != null) { |
|
|
|
CrmCustomerTempVo crmCustomerTempVo = crmCustomerTempResultBean.getData(); |
|
|
|
BusDeliveredUseMessage busDeliveredUseMessage = new BusDeliveredUseMessage(); |
|
|
|
busDeliveredUseMessage.setAddress(crmCustomerTempVo.getAddress()); |
|
|
|
busDeliveredUseMessage.setName(crmCustomerTempVo.getName()); |
|
|
|
busDeliveredUseMessage.setMobile(crmCustomerTempVo.getMobile()); |
|
|
|
busDeliveredUseMessage.setIdNo(crmCustomerTempVo.getIDNumber()); |
|
|
|
busDeliveredUseMessage.setCustomerType(crmCustomerTempVo.getCustomerType()); |
|
|
|
busDeliveredUseMessage.setCustomerTypeKey(crmCustomerTempVo.getCustomerTypeKey()); |
|
|
|
busDeliveredUseMessage.setApplySid(busDeliveredApply.getSid()); |
|
|
|
busDeliveredUseMessage.setContacts(crmCustomerTempVo.getContacts()); |
|
|
|
busDeliveredUseMessage.setIsConfirmRealBuyer("1"); |
|
|
|
busDeliveredUseMessageService.insert(busDeliveredUseMessage); |
|
|
|
busDeliveredApplyDetails.setUseMessageSid(busDeliveredUseMessage.getSid()); |
|
|
|
} |
|
|
|
} |
|
|
|
if ("1".equals(busDeliveredApply.getTypeKey())) { |
|
|
|
//贷款人的信息
|
|
|
|
String loanSid = busDeliveredApply.getLoanSid(); |
|
|
|
ResultBean<CrmCustomerTempVo> crmCustomerTempResultBean = crmCustomerTempFeign.fetchSid(loanSid); |
|
|
|
if (crmCustomerTempResultBean.getData() != null) { |
|
|
|
CrmCustomerTempVo crmCustomerTempVo = crmCustomerTempResultBean.getData(); |
|
|
|
BusDeliveredUseMessage busDeliveredUseMessage = new BusDeliveredUseMessage(); |
|
|
|
busDeliveredUseMessage.setAddress(crmCustomerTempVo.getAddress()); |
|
|
|
busDeliveredUseMessage.setName(crmCustomerTempVo.getName()); |
|
|
|
busDeliveredUseMessage.setMobile(crmCustomerTempVo.getMobile()); |
|
|
|
busDeliveredUseMessage.setIdNo(crmCustomerTempVo.getIDNumber()); |
|
|
|
busDeliveredUseMessage.setCustomerType(crmCustomerTempVo.getCustomerType()); |
|
|
|
busDeliveredUseMessage.setCustomerTypeKey(crmCustomerTempVo.getCustomerTypeKey()); |
|
|
|
busDeliveredUseMessage.setApplySid(busDeliveredApply.getSid()); |
|
|
|
busDeliveredUseMessage.setContacts(crmCustomerTempVo.getContacts()); |
|
|
|
busDeliveredUseMessage.setIsConfirmRealBuyer("1"); |
|
|
|
busDeliveredUseMessageService.insert(busDeliveredUseMessage); |
|
|
|
busDeliveredApplyDetails.setUseMessageSid(busDeliveredUseMessage.getSid()); |
|
|
|
} |
|
|
|
} |
|
|
|
busDeliveredApplyDetailsService.insert(busDeliveredApplyDetails); |
|
|
|
} |
|
|
|
baseMapper.insert(busDeliveredApply); |
|
|
|
sid = busDeliveredApply.getSid(); |
|
|
|
/* List<BaseVehicleStateDto> stateDtoList = new ArrayList<>(); |
|
|
|
List<String> vinSidList = busDeliveredApplyDetailsService.selectVinSidByApplySid(sid); |
|
|
|
vinSidList.removeAll(Collections.singleton(null)); |
|
|
|
if (!vinSidList.isEmpty()) { |
|
|
|
vinSidList.stream().forEach(vv -> { |
|
|
|
BaseVehicleStateDto baseVehicleStateDto = new BaseVehicleStateDto(); |
|
|
|
baseVehicleStateDto.setOperateType(BaseVehicleStateEnum.OperateTypeEnum.CKKP_SAVE.getTypeKey()); |
|
|
|
baseVehicleStateDto.setBusSid(vv); |
|
|
|
stateDtoList.add(baseVehicleStateDto); |
|
|
|
}); |
|
|
|
ResultBean busVehicleStateResultBean = baseVehicleStateFeign.saveOrUpdate(stateDtoList); |
|
|
|
}*/ |
|
|
|
//保存开票信息
|
|
|
|
|
|
|
|
} else { |
|
|
|
//根据出库申请sid查询出库申请是否存在
|
|
|
|
BusDeliveredApply busDeliveredApply = fetchBySid(sid); |
|
|
|
if (busDeliveredApply == null) { |
|
|
|
return rb.setMsg("该出库申请不存在"); |
|
|
|
} |
|
|
|
if (StringUtils.isBlank(dto.getStaffDeptSid())) { |
|
|
|
dto.setStaffDeptSid(busDeliveredApply.getStaffDeptSid()); |
|
|
|
} |
|
|
|
if (StringUtils.isBlank(dto.getStaffUserSid())) { |
|
|
|
dto.setStaffUserSid(busDeliveredApply.getStaffUserSid()); |
|
|
|
} |
|
|
|
if (StringUtils.isBlank(dto.getCustomerSid())) { |
|
|
|
dto.setCustomerSid(busDeliveredApply.getCustomerSid()); |
|
|
|
} |
|
|
|
if (StringUtils.isBlank(dto.getPaymentMethodKey())) { |
|
|
|
dto.setPaymentMethodKey(busDeliveredApply.getPaymentMethodKey()); |
|
|
|
} |
|
|
|
BeanUtil.copyProperties(dto, busDeliveredApply, "sid"); |
|
|
|
BusSalesOrder busSalesOrder = busSalesOrderService.selectByContractNos(dto.getContractId()); |
|
|
|
if (busSalesOrder != null) { |
|
|
|
busDeliveredApply.setStaffDeptName(busSalesOrder.getOrgName()); |
|
|
|
busDeliveredApply.setStaffDeptSid(busSalesOrder.getOrgSid()); |
|
|
|
} |
|
|
|
//根据合同编号查询销售订单的信息
|
|
|
|
ResultBean<AppOrderDetailsVo> resultBean = busSalesOrderService.getSaleOrderDetailsByContractNo(contractNo); |
|
|
|
if (!resultBean.getSuccess()) { |
|
|
|
log.error("获取销售订单详情出错啦!!!"); |
|
|
|
return rb; |
|
|
|
} |
|
|
|
AppOrderDetailsVo appOrderDetailsVo = resultBean.getData(); |
|
|
|
//中介人
|
|
|
|
SubmitVo intermediary1 = appOrderDetailsVo.getIntermediary1(); |
|
|
|
if (intermediary1 != null) { |
|
|
|
String agencyFee = intermediary1.getAgencyFee(); |
|
|
|
if (StringUtils.isNotBlank(agencyFee)) { |
|
|
|
busDeliveredApply.setDistributorPrice(agencyFee); |
|
|
|
} |
|
|
|
busDeliveredApply.setDistributorName(intermediary1.getIntermediaryName()); |
|
|
|
} |
|
|
|
//中介人2
|
|
|
|
SubmitVo intermediary2 = appOrderDetailsVo.getIntermediary2(); |
|
|
|
if (intermediary2 != null) { |
|
|
|
String agencyFee = intermediary2.getAgencyFee(); |
|
|
|
if (StringUtils.isNotBlank(agencyFee)) { |
|
|
|
busDeliveredApply.setDistributorPriceTwo(agencyFee); |
|
|
|
} |
|
|
|
busDeliveredApply.setDistributorNameTwo(intermediary2.getIntermediaryName()); |
|
|
|
} |
|
|
|
//==============================================================
|
|
|
|
List<BaseVehicleStateDto> stateDtoList = new ArrayList<>(); |
|
|
|
List<String> vinSidList = busDeliveredApplyDetailsService.selectVinSidByApplySid(sid); |
|
|
|
vinSidList.removeAll(Collections.singleton(null)); |
|
|
|
if (!vinSidList.isEmpty()) { |
|
|
|
List<BaseVehicleStateDto> finalStateDtoList1 = stateDtoList; |
|
|
|
vinSidList.stream().forEach(vv -> { |
|
|
|
BaseVehicleStateDto baseVehicleStateDto = new BaseVehicleStateDto(); |
|
|
|
baseVehicleStateDto.setOperateType(BaseVehicleStateEnum.OperateTypeEnum.CKKP_DELETE.getTypeKey()); |
|
|
|
baseVehicleStateDto.setBusSid(vv); |
|
|
|
finalStateDtoList1.add(baseVehicleStateDto); |
|
|
|
}); |
|
|
|
ResultBean busVehicleStateResultBean = baseVehicleStateFeign.saveOrUpdate(stateDtoList); |
|
|
|
} |
|
|
|
//=================================================================
|
|
|
|
//删除
|
|
|
|
busDeliveredApplyDetailsService.deleteByApplySid(sid); |
|
|
|
busDeliveredUseMessageService.deleteByApplySid(sid); |
|
|
|
busDeliveredDetailsDiscountService.deleteByApplySid(sid); |
|
|
|
//车辆列表
|
|
|
|
List<AppCarListVo> carList = dto.getCarList(); |
|
|
|
for (int i = 0; i < carList.size(); i++) { |
|
|
|
AppCarListVo appCarListVo = carList.get(i); |
|
|
|
BusDeliveredApplyDetails busDeliveredApplyDetails = new BusDeliveredApplyDetails(); |
|
|
|
busDeliveredApplyDetails.setSingleCarDiscountPrice(appCarListVo.getDiscount()); |
|
|
|
busDeliveredApplyDetails.setVinSid(appCarListVo.getVinSid()); |
|
|
|
busDeliveredApplyDetails.setApplySid(busDeliveredApply.getSid()); |
|
|
|
BusDeliveredUseMessagesVo busDeliveredUseMessagesVo = appCarListVo.getRealBuyer(); |
|
|
|
busDeliveredApplyDetails.setVinNo(busDeliveredUseMessagesVo.getVin()); |
|
|
|
//根据合同编号和车架号查询busVinSId
|
|
|
|
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleService.selectByNoAndVinSid(busDeliveredApply.getContractNo(), appCarListVo.getVinSid()); |
|
|
|
busDeliveredApplyDetails.setBusVinSid(busSalesOrderVehicle.getSid()); |
|
|
|
//赠送套餐
|
|
|
|
BigDecimal discountAll = BigDecimal.ZERO; |
|
|
|
StringBuilder discountRemarks = new StringBuilder(); |
|
|
|
List<BusDeliveredDetailsDiscountsVo> discountUse = appCarListVo.getDiscountUse(); |
|
|
|
for (int j = 0; j < discountUse.size(); j++) { |
|
|
|
BusDeliveredDetailsDiscountsVo busDeliveredDetailsDiscountsVo = discountUse.get(j); |
|
|
|
BusDeliveredDetailsDiscount busDeliveredDetailsDiscount = new BusDeliveredDetailsDiscount(); |
|
|
|
//出库申请sid
|
|
|
|
busDeliveredDetailsDiscount.setApplySid(busDeliveredApply.getSid()); |
|
|
|
//出库车辆表sid
|
|
|
|
busDeliveredDetailsDiscount.setDetailsSid(busDeliveredApplyDetails.getSid()); |
|
|
|
//优惠包名称
|
|
|
|
busDeliveredDetailsDiscount.setName(busDeliveredDetailsDiscountsVo.getDiscountName()); |
|
|
|
//价值
|
|
|
|
busDeliveredDetailsDiscount.setPrice(busDeliveredDetailsDiscountsVo.getDiscountPrice()); |
|
|
|
//优惠包项目说明
|
|
|
|
busDeliveredDetailsDiscount.setDiscountExplain(busDeliveredDetailsDiscountsVo.getDiscountInfo()); |
|
|
|
//数量
|
|
|
|
BusSalesOrderDiscount busSalesOrderDiscount = busSalesOrderDiscountService.fetchBySid(busDeliveredDetailsDiscountsVo.getDiscountSid()); |
|
|
|
busDeliveredDetailsDiscount.setNum(busSalesOrderDiscount.getNum()); |
|
|
|
//本次赠送数量
|
|
|
|
busDeliveredDetailsDiscount.setGiveNum(busDeliveredDetailsDiscountsVo.getDiscountNum()); |
|
|
|
//销售订单中主车优惠的sid
|
|
|
|
busDeliveredDetailsDiscount.setDiscountSid(busDeliveredDetailsDiscountsVo.getDiscountSid()); |
|
|
|
busDeliveredDetailsDiscountService.insert(busDeliveredDetailsDiscount); |
|
|
|
discountAll = discountAll.add(new BigDecimal(busDeliveredDetailsDiscount.getPrice()).multiply(new BigDecimal(busDeliveredDetailsDiscount.getGiveNum()))); |
|
|
|
if (j == 0 || j == discountUse.size() - 1) { |
|
|
|
String disInfo = busDeliveredDetailsDiscountsVo.getDiscountName() + busDeliveredDetailsDiscountsVo.getDiscountInfo() + "X" + busDeliveredDetailsDiscount.getGiveNum(); |
|
|
|
discountRemarks = discountRemarks.append(disInfo).append(","); |
|
|
|
} else { |
|
|
|
String disInfo = busDeliveredDetailsDiscountsVo.getDiscountName() + busDeliveredDetailsDiscountsVo.getDiscountInfo() + "X" + busDeliveredDetailsDiscount.getGiveNum(); |
|
|
|
discountRemarks = discountRemarks.append(disInfo); |
|
|
|
} |
|
|
|
} |
|
|
|
busDeliveredApplyDetails.setDiscountAll(discountAll.toString()); |
|
|
|
busDeliveredApplyDetails.setRemarks(discountRemarks.toString()); |
|
|
|
//使用人信息
|
|
|
|
if ("2".equals(busDeliveredApply.getTypeKey())) { |
|
|
|
BusDeliveredUseMessage busDeliveredUseMessage = new BusDeliveredUseMessage(); |
|
|
|
BeanUtil.copyProperties(busDeliveredUseMessagesVo, busDeliveredUseMessage); |
|
|
|
busDeliveredUseMessage.setApplySid(busDeliveredApply.getSid()); |
|
|
|
busDeliveredUseMessageService.insert(busDeliveredUseMessage); |
|
|
|
busDeliveredApplyDetails.setUseMessageSid(busDeliveredUseMessage.getSid()); |
|
|
|
} |
|
|
|
if ("0".equals(busDeliveredApply.getTypeKey())) { |
|
|
|
//客户的信息
|
|
|
|
String customerSid = busDeliveredApply.getCustomerSid(); |
|
|
|
ResultBean<CrmCustomerTempVo> crmCustomerTempResultBean = crmCustomerTempFeign.fetchSid(customerSid); |
|
|
|
if (crmCustomerTempResultBean.getData() != null) { |
|
|
|
CrmCustomerTempVo crmCustomerTempVo = crmCustomerTempResultBean.getData(); |
|
|
|
BusDeliveredUseMessage busDeliveredUseMessage = new BusDeliveredUseMessage(); |
|
|
|
busDeliveredUseMessage.setAddress(crmCustomerTempVo.getAddress()); |
|
|
|
busDeliveredUseMessage.setName(crmCustomerTempVo.getName()); |
|
|
|
busDeliveredUseMessage.setMobile(crmCustomerTempVo.getMobile()); |
|
|
|
busDeliveredUseMessage.setIdNo(crmCustomerTempVo.getIDNumber()); |
|
|
|
busDeliveredUseMessage.setCustomerType(crmCustomerTempVo.getCustomerType()); |
|
|
|
busDeliveredUseMessage.setCustomerTypeKey(crmCustomerTempVo.getCustomerTypeKey()); |
|
|
|
busDeliveredUseMessage.setApplySid(busDeliveredApply.getSid()); |
|
|
|
busDeliveredUseMessage.setContacts(crmCustomerTempVo.getContacts()); |
|
|
|
busDeliveredUseMessage.setIsConfirmRealBuyer("0"); |
|
|
|
busDeliveredUseMessageService.insert(busDeliveredUseMessage); |
|
|
|
busDeliveredApplyDetails.setUseMessageSid(busDeliveredUseMessage.getSid()); |
|
|
|
} |
|
|
|
} |
|
|
|
if ("1".equals(busDeliveredApply.getTypeKey())) { |
|
|
|
//贷款人的信息
|
|
|
|
String loanSid = busDeliveredApply.getLoanSid(); |
|
|
|
ResultBean<CrmCustomerTempVo> crmCustomerTempResultBean = crmCustomerTempFeign.fetchSid(loanSid); |
|
|
|
if (crmCustomerTempResultBean.getData() != null) { |
|
|
|
CrmCustomerTempVo crmCustomerTempVo = crmCustomerTempResultBean.getData(); |
|
|
|
BusDeliveredUseMessage busDeliveredUseMessage = new BusDeliveredUseMessage(); |
|
|
|
busDeliveredUseMessage.setAddress(crmCustomerTempVo.getAddress()); |
|
|
|
busDeliveredUseMessage.setName(crmCustomerTempVo.getName()); |
|
|
|
busDeliveredUseMessage.setMobile(crmCustomerTempVo.getMobile()); |
|
|
|
busDeliveredUseMessage.setIdNo(crmCustomerTempVo.getIDNumber()); |
|
|
|
busDeliveredUseMessage.setCustomerType(crmCustomerTempVo.getCustomerType()); |
|
|
|
busDeliveredUseMessage.setCustomerTypeKey(crmCustomerTempVo.getCustomerTypeKey()); |
|
|
|
busDeliveredUseMessage.setApplySid(busDeliveredApply.getSid()); |
|
|
|
busDeliveredUseMessage.setContacts(crmCustomerTempVo.getContacts()); |
|
|
|
busDeliveredUseMessage.setIsConfirmRealBuyer("0"); |
|
|
|
busDeliveredUseMessageService.insert(busDeliveredUseMessage); |
|
|
|
busDeliveredApplyDetails.setUseMessageSid(busDeliveredUseMessage.getSid()); |
|
|
|
} |
|
|
|
} |
|
|
|
busDeliveredApplyDetailsService.insert(busDeliveredApplyDetails); |
|
|
|
} |
|
|
|
baseMapper.updateById(busDeliveredApply); |
|
|
|
} |
|
|
|
return rb.success().setData(sid); |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean submitUnDeliveredApply(SubmitUnDeliveredApplyDto dto) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
//判断选择的优惠是否超出
|
|
|
|
List<AppCarListVo> carList = dto.getCarList(); |
|
|
|
if (!carList.isEmpty()) { |
|
|
|
//判断出库车辆列表是否已存在待出库车辆记录,存在提示不能重复出库
|
|
|
|
for (AppCarListVo appCarListVo : carList) { |
|
|
|
int i = busDeliveredApplyDetailsService.fetchByIsDeleteVinSid(appCarListVo.getVinSid()); |
|
|
|
if (i > 0) { |
|
|
|
return rb.setMsg("车辆已存在出库中"); |
|
|
|
} |
|
|
|
} |
|
|
|
List<String> vinNoLists = new ArrayList<>(); |
|
|
|
List<String> vinSidLists = baseMapper.selectSid2(dto.getContractId(), dto.getSid()); |
|
|
|
//判断合同编号是否一致
|
|
|
|
for (int a = 0; a < carList.size(); a++) { |
|
|
|
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleService.selectByNoAndVinSid(dto.getContractId(), carList.get(a).getVinSid()); |
|
|
|
if (busSalesOrderVehicle == null) { |
|
|
|
return rb.setMsg("所选车辆与合同编号不匹配"); |
|
|
|
} |
|
|
|
if (vinSidLists.contains(carList.get(a).getVinSid())) { |
|
|
|
vinNoLists.add(carList.get(a).getVinSid()); |
|
|
|
} |
|
|
|
} |
|
|
|
//判断已经选择的车辆是否已经提交
|
|
|
|
List<String> vinSid = carList.stream().map(AppCarListVo::getVinSid).collect(Collectors.toList()); |
|
|
|
List<String> vinNoList = baseMapper.selectVinNo(dto.getContractId(), vinSid); |
|
|
|
if (!vinNoList.isEmpty()) { |
|
|
|
return rb.setMsg(String.join(",", vinNoList) + "已提交或已出库"); |
|
|
|
} |
|
|
|
if (!vinNoLists.isEmpty()) { |
|
|
|
vinNoLists = baseMapper.selectBySid(dto.getContractId(), vinNoLists); |
|
|
|
if (!vinNoLists.isEmpty()) { |
|
|
|
return rb.setMsg(String.join(",", vinNoLists) + "已发起过欠款出库流程"); |
|
|
|
} |
|
|
|
} |
|
|
|
List<String> vinNoListss = baseMapper.selectVinNosss2(dto.getContractId(), vinSid); |
|
|
|
vinNoListss.removeAll(Collections.singleton(null)); |
|
|
|
if (!vinNoListss.isEmpty()) { |
|
|
|
return rb.setMsg(String.join(",", vinNoListss) + "不符合欠款出库的条件"); |
|
|
|
} |
|
|
|
//判断是否存在优惠包超出的情况
|
|
|
|
int giveNumBySid = 0; |
|
|
|
for (int i = 0; i < carList.size(); i++) { |
|
|
|
AppCarListVo appCarListVo = carList.get(i); |
|
|
|
List<BusDeliveredDetailsDiscountsVo> discountUse = appCarListVo.getDiscountUse(); |
|
|
|
for (int j = 0; j < discountUse.size(); j++) { |
|
|
|
BusDeliveredDetailsDiscountsVo busDeliveredDetailsDiscountsVo = discountUse.get(j); |
|
|
|
BusSalesOrderDiscount busSalesOrderDiscount = busSalesOrderDiscountService.fetchBySid(busDeliveredDetailsDiscountsVo.getDiscountSid()); |
|
|
|
//根据discountSid查询已通过或已提交的申请的赠送套餐的数量
|
|
|
|
int count = busDeliveredDetailsDiscountService.selectGiveNumBySid(busDeliveredDetailsDiscountsVo.getDiscountSid()); |
|
|
|
int giveNum = count + busDeliveredDetailsDiscountsVo.getDiscountNum(); |
|
|
|
giveNumBySid = giveNumBySid + busDeliveredDetailsDiscountsVo.getDiscountNum(); |
|
|
|
if (busSalesOrderDiscount.getNum() < giveNum) { |
|
|
|
return rb.setMsg("车辆赠送的优惠包已超出"); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
boolean isTrue = false; |
|
|
|
//若为本销售订单中最后一批车辆出库,则需要判断是否还有未赠送的套餐,如果存在则不允许提交
|
|
|
|
//查询该合同的销售订单的车辆sid集合
|
|
|
|
List<String> busSidList = busSalesOrderService.selectByContractNoToVin(dto.getContractId()); |
|
|
|
//查询已出库或出库审批中的车辆sid集合
|
|
|
|
List<String> applyBusSidList = baseMapper.selectByContractNoToVin(dto.getContractId()); |
|
|
|
//所有车辆与已出库或审批中的车辆集合查询出差集
|
|
|
|
busSidList.removeAll(applyBusSidList); |
|
|
|
//根据合同编号以及车辆sid查询busVinSid
|
|
|
|
List<String> busVinSidList = baseMapper.selectByContractNoToVinSid(dto.getContractId(), vinSid); |
|
|
|
busVinSidList.removeAll(Collections.singleton(null)); |
|
|
|
busSidList.removeAll(busVinSidList); |
|
|
|
if (busSidList.isEmpty()) { |
|
|
|
isTrue = true; |
|
|
|
} |
|
|
|
//是否是最后一批出库车辆
|
|
|
|
if (isTrue) { |
|
|
|
//是否存在未赠送的套餐,如果存在则不允许提交
|
|
|
|
int num = baseMapper.selectNumByContractNo(dto.getContractId()); |
|
|
|
num = num + giveNumBySid; |
|
|
|
int orderNum = busSalesOrderDiscountService.selectByContractNo(dto.getContractId()); |
|
|
|
if (orderNum > num) { |
|
|
|
return rb.setMsg("本次出库为该订单最后一批出库,还存在未赠送的套餐,不允许提交"); |
|
|
|
} |
|
|
|
} |
|
|
|
} else { |
|
|
|
return rb.setMsg("请选择要出库的车辆"); |
|
|
|
} |
|
|
|
|
|
|
|
BusDeliveredApply busDeliveredApply = fetchBySid(dto.getSid()); |
|
|
|
int r = submitAppBusinessData2(dto, busDeliveredApply); |
|
|
|
if (r == 3) { |
|
|
|
return rb.setMsg("该申请不存在"); |
|
|
|
} |
|
|
|
if (r == 0) { |
|
|
|
return rb.setMsg("操作失败!提交的数据不一致"); |
|
|
|
} |
|
|
|
//新增修改保存
|
|
|
|
ResultBean<String> resultBean = unSave(dto); |
|
|
|
if (!resultBean.getSuccess()) { |
|
|
|
return rb.setMsg(resultBean.getMsg()); |
|
|
|
} |
|
|
|
String sid = resultBean.getData(); |
|
|
|
busDeliveredApply = fetchBySid(sid); |
|
|
|
String orgSidPath = ""; |
|
|
|
if (StringUtils.isNotBlank(busDeliveredApply.getOrgSidPath())) { |
|
|
|
orgSidPath = busDeliveredApply.getOrgSidPath(); |
|
|
|
} |
|
|
|
String businessSid = resultBean.getData(); |
|
|
|
//创建BusinessVariables实体对象
|
|
|
|
BusinessVariables bv = new BusinessVariables(); |
|
|
|
//流程中的参数赋值
|
|
|
|
Map<String, Object> variables = new HashMap<>(); |
|
|
|
//用户的部门全路径sid
|
|
|
|
bv.setOrgSidPath(orgSidPath); |
|
|
|
//业务sid
|
|
|
|
bv.setBusinessSid(businessSid); |
|
|
|
//用户sid
|
|
|
|
bv.setUserSid(dto.getUserSid()); |
|
|
|
//流程定义id
|
|
|
|
bv.setModelId(ProcDefEnum.QKBUSDELIVEREDAPPLY.getProDefId()); |
|
|
|
//判断发起人是否为销售专员
|
|
|
|
variables.put("isAdj", busDeliveredApply.getCreateBySid().equals(busDeliveredApply.getStaffUserSid())); |
|
|
|
//判断是否为贷款业务
|
|
|
|
variables.put("isDk", "2".equals(busDeliveredApply.getPaymentMethodKey())); |
|
|
|
//若app移动端有此功能,则传递appMap参数
|
|
|
|
Map<String, Object> appMap = new HashMap<>(); |
|
|
|
//需和移动端沟通业务sid保存的属性具体值:appMap中sid不是固定的。移动端提供具体字段。
|
|
|
|
appMap.put("outboundSid", businessSid); |
|
|
|
appMap.put("contractId", busDeliveredApply.getContractNo()); |
|
|
|
appMap.put("contract_id", busDeliveredApply.getContractNo()); |
|
|
|
variables.put("app", appMap); |
|
|
|
//根据合同号查询销售订单
|
|
|
|
if (!"2".equals(busDeliveredApply.getPaymentMethodKey())) { |
|
|
|
BusSalesOrder busSalesOrder = busSalesOrderService.selectByContractNos(busDeliveredApply.getContractNo()); |
|
|
|
if ("2".equals(busSalesOrder.getFinancePlan())) { |
|
|
|
//查询是否是自营非担保
|
|
|
|
ResultBean<SolutionsDetailsVo> detailsVoResultBean = loanSolutionsFeign.selectDetailsss(busSalesOrder.getSid()); |
|
|
|
if (detailsVoResultBean.getData() != null) { |
|
|
|
if ("01".equals(detailsVoResultBean.getData().getTypeKey())) { |
|
|
|
//自营非担保
|
|
|
|
variables.put("isDanBao", true); |
|
|
|
} else { |
|
|
|
variables.put("isDanBao", false); |
|
|
|
} |
|
|
|
} else { |
|
|
|
variables.put("isDanBao", false); |
|
|
|
} |
|
|
|
} else { |
|
|
|
variables.put("isDanBao", false); |
|
|
|
} |
|
|
|
} else { |
|
|
|
variables.put("isDanBao", true); |
|
|
|
} |
|
|
|
|
|
|
|
FlowProcessMapQuery flowProcessMapQuery = new FlowProcessMapQuery(); |
|
|
|
flowProcessMapQuery.setProDefKey(bv.getModelId()); |
|
|
|
flowProcessMapQuery.setVariables(variables); |
|
|
|
flowProcessMapQuery.setContractNo(busDeliveredApply.getContractNo()); |
|
|
|
variables = flowableFeign.getMap(flowProcessMapQuery).getData(); |
|
|
|
bv.setFormVariables(variables); |
|
|
|
if (r == 1) { |
|
|
|
ResultBean<UpdateFlowFieldVo> voResultBean = flowFeign.startProcess(bv); |
|
|
|
if (!voResultBean.getSuccess()) { |
|
|
|
return rb.setMsg(voResultBean.getMsg()); |
|
|
|
} |
|
|
|
UpdateFlowFieldVo ufVo = voResultBean.getData(); |
|
|
|
updateFlowFiled(BeanUtil.beanToMap(ufVo)); |
|
|
|
//将该申请的车架号的待出库中的状态修改为出库中
|
|
|
|
List<String> vinSidList = busDeliveredApplyDetailsService.selectVinSidByApplySid(sid); |
|
|
|
|
|
|
|
//更新出库申请的状态为待审核2
|
|
|
|
baseMapper.updateStateBySid(2, sid); |
|
|
|
busDeliveredApply = fetchBySid(businessSid); |
|
|
|
//==============================新增车辆的持久状态组装数据
|
|
|
|
try { |
|
|
|
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() |
|
|
|
.setNameFormat("demo-pool-%d").build(); |
|
|
|
ExecutorService pool = new ThreadPoolExecutor(2, 100, |
|
|
|
0L, TimeUnit.MILLISECONDS, |
|
|
|
new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); |
|
|
|
BusDeliveredApply finalBusDeliveredApply1 = busDeliveredApply; |
|
|
|
Future future1 = pool.submit(() -> { |
|
|
|
List<BaseVehicleStateDto> dtoList = new ArrayList<>(); |
|
|
|
vinSidList.removeAll(Collections.singleton(null)); |
|
|
|
if (!vinSidList.isEmpty()) { |
|
|
|
vinSidList.stream().forEach(v -> { |
|
|
|
BaseVehicleStateDto baseVehicleStateDto = new BaseVehicleStateDto(); |
|
|
|
baseVehicleStateDto.setOperateType(BaseVehicleStateEnum.OperateTypeEnum.CKTJ.getTypeKey()); |
|
|
|
baseVehicleStateDto.setBusSid(v); |
|
|
|
dtoList.add(baseVehicleStateDto); |
|
|
|
}); |
|
|
|
ResultBean busVehicleStateResultBean = baseVehicleStateFeign.saveOrUpdate(dtoList); |
|
|
|
} |
|
|
|
}); |
|
|
|
} catch (Exception e) { |
|
|
|
e.printStackTrace(); |
|
|
|
} |
|
|
|
try { |
|
|
|
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() |
|
|
|
.setNameFormat("demo-pool-%d").build(); |
|
|
|
ExecutorService pool = new ThreadPoolExecutor(2, 100, |
|
|
|
0L, TimeUnit.MILLISECONDS, |
|
|
|
new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); |
|
|
|
BusDeliveredApply finalBusDeliveredApply = busDeliveredApply; |
|
|
|
Future future1 = pool.submit(() -> { |
|
|
|
//极光推送
|
|
|
|
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); |
|
|
|
MessageFlowVo messageFlowVo = new MessageFlowVo(); |
|
|
|
BeanUtil.copyProperties(ufVo, messageFlowVo); |
|
|
|
messageFlowableQuery.setUfVo(messageFlowVo); |
|
|
|
messageFlowableQuery.setAppMap(appMap); |
|
|
|
messageFlowableQuery.setBusinessSid(businessSid); |
|
|
|
messageFlowableQuery.setModuleName("欠款出库申请"); |
|
|
|
messageFlowableQuery.setMsgContent(finalBusDeliveredApply.getApplyName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); |
|
|
|
messageFlowableQuery.setMsgTitle("欠款出库申请"); |
|
|
|
ResultBean<String> stringResultBean = messageFeign.pushMessage(messageFlowableQuery); |
|
|
|
}); |
|
|
|
} catch (Exception e) { |
|
|
|
e.printStackTrace(); |
|
|
|
} |
|
|
|
|
|
|
|
return voResultBean; |
|
|
|
} |
|
|
|
if (r == 2) { |
|
|
|
// ToDo:驳回到发起人后再次提交
|
|
|
|
if (StringUtils.isBlank(dto.getInstanceId())) { |
|
|
|
return rb.setMsg("参数错误:procInsId"); |
|
|
|
} |
|
|
|
bv.setTaskId(busDeliveredApply.getTaskId()); |
|
|
|
bv.setTaskDefKey(busDeliveredApply.getTaskDefKey()); |
|
|
|
bv.setComment("重新提交"); |
|
|
|
bv.setInstanceId(dto.getInstanceId()); |
|
|
|
//将该申请的车架号的待出库中的状态修改为出库中
|
|
|
|
List<String> vinSidList = busDeliveredApplyDetailsService.selectVinSidByApplySid(sid); |
|
|
|
//==============================新增车辆的持久状态组装数据
|
|
|
|
try { |
|
|
|
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() |
|
|
|
.setNameFormat("demo-pool-%d").build(); |
|
|
|
ExecutorService pool = new ThreadPoolExecutor(2, 100, |
|
|
|
0L, TimeUnit.MILLISECONDS, |
|
|
|
new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); |
|
|
|
BusDeliveredApply finalBusDeliveredApply1 = busDeliveredApply; |
|
|
|
Future future1 = pool.submit(() -> { |
|
|
|
List<BaseVehicleStateDto> dtoList = new ArrayList<>(); |
|
|
|
vinSidList.removeAll(Collections.singleton(null)); |
|
|
|
if (!vinSidList.isEmpty()) { |
|
|
|
vinSidList.stream().forEach(v -> { |
|
|
|
BaseVehicleStateDto baseVehicleStateDto = new BaseVehicleStateDto(); |
|
|
|
baseVehicleStateDto.setOperateType(BaseVehicleStateEnum.OperateTypeEnum.CKTJ.getTypeKey()); |
|
|
|
baseVehicleStateDto.setBusSid(v); |
|
|
|
dtoList.add(baseVehicleStateDto); |
|
|
|
}); |
|
|
|
ResultBean busVehicleStateResultBean = baseVehicleStateFeign.saveOrUpdate(dtoList); |
|
|
|
} |
|
|
|
}); |
|
|
|
} catch (Exception e) { |
|
|
|
e.printStackTrace(); |
|
|
|
} |
|
|
|
//更新出库申请的状态为待审核2
|
|
|
|
baseMapper.updateStateBySid(2, sid); |
|
|
|
return complete(bv); |
|
|
|
} |
|
|
|
return rb; |
|
|
|
} |
|
|
|
} |