|
|
@ -909,12 +909,12 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper |
|
|
|
|
|
|
|
public ResultBean taskReject(BusSalesOrderFlowDto query) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
BusSalesOrder busSalesOrder = fetchBySid(query.getBusinessSid()); |
|
|
|
if (busSalesOrder == null) { |
|
|
|
AtomicReference<BusSalesOrder> busSalesOrder = new AtomicReference<>(fetchBySid(query.getBusinessSid())); |
|
|
|
if (busSalesOrder.get() == null) { |
|
|
|
return rb.setMsg("该申请不存在"); |
|
|
|
} |
|
|
|
|
|
|
|
String businessTaskId = busSalesOrder.getTaskId(); |
|
|
|
String businessTaskId = busSalesOrder.get().getTaskId(); |
|
|
|
if (StringUtils.isNotBlank(businessTaskId)) { |
|
|
|
if (businessTaskId.equals(query.getTaskId())) { |
|
|
|
if (StringUtils.isBlank(query.getComment())) { |
|
|
@ -925,7 +925,7 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper |
|
|
|
} |
|
|
|
FlowTaskVo flowTaskVo = new FlowTaskVo(); |
|
|
|
BeanUtil.copyProperties(query, flowTaskVo); |
|
|
|
Map<String, Object> variables = getOrderMap(busSalesOrder); |
|
|
|
Map<String, Object> variables = getOrderMap(busSalesOrder.get()); |
|
|
|
flowTaskVo.setValues(variables); |
|
|
|
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.taskReject(flowTaskVo); |
|
|
|
if (!resultBean.getSuccess()) { |
|
|
@ -935,30 +935,59 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper |
|
|
|
Map<String, Object> map = BeanUtil.beanToMap(resultBean.getData()); |
|
|
|
//更新业务中的流程相关的参数
|
|
|
|
updateFlowFiled(map); |
|
|
|
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()); |
|
|
|
busSalesOrder.set(fetchBySid(query.getBusinessSid())); |
|
|
|
String procId = busSalesOrder.get().getProcInstId(); |
|
|
|
Future future1 = pool.submit(() -> { |
|
|
|
//极光推送
|
|
|
|
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); |
|
|
|
MessageFlowVo messageFlowVo = new MessageFlowVo(); |
|
|
|
BeanUtil.copyProperties(ufVo, messageFlowVo); |
|
|
|
ufVo.setProcInsId(procId); |
|
|
|
messageFlowableQuery.setUfVo(messageFlowVo); |
|
|
|
messageFlowableQuery.setAppMap((Map<String, Object>) variables.get("app")); |
|
|
|
messageFlowableQuery.setBusinessSid(query.getBusinessSid()); |
|
|
|
messageFlowableQuery.setModuleName("销售订单申请"); |
|
|
|
ResultBean<List<LatestTaskVo>> listResultBean = flowTaskFeign.getLatestTasks(procId); |
|
|
|
String nextNodeUserSids = listResultBean.getData().get(0).getASSIGNEE_(); |
|
|
|
List<String> receiveSidList = Arrays.asList(nextNodeUserSids.split(",")); |
|
|
|
if (receiveSidList.size() == 1 && receiveSidList.get(0).equals(busSalesOrder.get().getStaffSid())) { |
|
|
|
messageFlowableQuery.setMsgContent("您提交的" + messageFlowableQuery.getModuleName() + "已被驳回,请重新提交"); |
|
|
|
} else { |
|
|
|
messageFlowableQuery.setMsgContent(busSalesOrder.get().getStaffName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); |
|
|
|
} |
|
|
|
|
|
|
|
//极光推送
|
|
|
|
busSalesOrder = fetchBySid(query.getBusinessSid()); |
|
|
|
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); |
|
|
|
MessageFlowVo messageFlowVo = new MessageFlowVo(); |
|
|
|
BeanUtil.copyProperties(ufVo, messageFlowVo); |
|
|
|
String procId = busSalesOrder.getProcInstId(); |
|
|
|
ufVo.setProcInsId(procId); |
|
|
|
messageFlowableQuery.setUfVo(messageFlowVo); |
|
|
|
messageFlowableQuery.setAppMap((Map<String, Object>) variables.get("app")); |
|
|
|
messageFlowableQuery.setBusinessSid(query.getBusinessSid()); |
|
|
|
messageFlowableQuery.setModuleName("销售订单申请"); |
|
|
|
ResultBean<List<LatestTaskVo>> listResultBean = flowTaskFeign.getLatestTasks(procId); |
|
|
|
String nextNodeUserSids = listResultBean.getData().get(0).getASSIGNEE_(); |
|
|
|
List<String> receiveSidList = Arrays.asList(nextNodeUserSids.split(",")); |
|
|
|
if (receiveSidList.size() == 1 && receiveSidList.get(0).equals(busSalesOrder.getStaffSid())) { |
|
|
|
messageFlowableQuery.setMsgContent("您提交的" + messageFlowableQuery.getModuleName() + "已被驳回,请重新提交"); |
|
|
|
} else { |
|
|
|
messageFlowableQuery.setMsgContent(busSalesOrder.getStaffName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); |
|
|
|
messageFlowableQuery.setMsgTitle("销售订单"); |
|
|
|
ResultBean<String> stringResultBean = messageFeign.pushMessage(messageFlowableQuery); |
|
|
|
}); |
|
|
|
Future future2 = pool.submit(() -> { |
|
|
|
ResultBean<List<LatestTaskVo>> listResultBean = flowTaskFeign.getLatestTasks(procId); |
|
|
|
String nextNodeUserSids = listResultBean.getData().get(0).getASSIGNEE_(); |
|
|
|
List<String> receiveSidList = Arrays.asList(nextNodeUserSids.split(",")); |
|
|
|
if (receiveSidList.size() == 1 && receiveSidList.get(0).equals(busSalesOrder.get().getStaffSid())) { |
|
|
|
ResultBean<AppOrderDetailsVo> details = getSaleOrderDetails(query.getBusinessSid()); |
|
|
|
AppOrderDetailsVo vo = details.getData(); |
|
|
|
if ("现车".equals(vo.getOrderType())) { |
|
|
|
//更新已选择的车架号的状态为未锁定
|
|
|
|
List<String> list = busSalesOrderVehicleService.selectVehicleSid(query.getBusinessSid()); |
|
|
|
BusMainDepositUpdateQuery busMainDepositUpdateQuery = new BusMainDepositUpdateQuery(); |
|
|
|
busMainDepositUpdateQuery.setVinSidList(list); |
|
|
|
busMainDepositUpdateQuery.setLockedState(VehicleState.LockEnum.UN_LOCK.getCode()); |
|
|
|
busMainDepositUpdateQuery.setLockedStateValue(VehicleState.LockEnum.UN_LOCK.getRemarks()); |
|
|
|
baseVehicleFeign.updateMainDepositByVinNo(busMainDepositUpdateQuery); |
|
|
|
} |
|
|
|
} |
|
|
|
}); |
|
|
|
|
|
|
|
} catch (Exception e) { |
|
|
|
e.printStackTrace(); |
|
|
|
} |
|
|
|
|
|
|
|
messageFlowableQuery.setMsgTitle("销售订单"); |
|
|
|
ResultBean<String> stringResultBean = messageFeign.pushMessage(messageFlowableQuery); |
|
|
|
// String msgSid = getMessage(ufVo, (Map<String, Object>) variables.get("app"), busSalesOrder);
|
|
|
|
|
|
|
|
return rb.success(); |
|
|
|
} |
|
|
@ -967,22 +996,6 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean breakProcess(BusSalesOrderFlowDto query) { |
|
|
|
/*FlowTaskVo flowTaskVo = new FlowTaskVo(); |
|
|
|
BeanUtil.copyProperties(dto, flowTaskVo); |
|
|
|
//更新销售订单的状态为不通过
|
|
|
|
updateStateByBusinessSid(3, dto.getBusinessSid()); |
|
|
|
ResultBean resultBean = flowTaskFeign.breakProcess(flowTaskVo); |
|
|
|
if (!resultBean.getSuccess()) { |
|
|
|
return resultBean; |
|
|
|
} |
|
|
|
//更新业务表中的流程状态
|
|
|
|
modifyFlowState(dto.getBusinessSid(), |
|
|
|
ProcDefEnum.SALESORDER.getProDefId(), |
|
|
|
String.valueOf(resultBean.getData()), |
|
|
|
dto.getInstanceId(), |
|
|
|
"Event_end", |
|
|
|
dto.getTaskId()); |
|
|
|
return resultBean.success();*/ |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
if (StringUtils.isBlank(query.getInstanceId())) { |
|
|
|
return rb.setMsg("参数错误:instanceId"); |
|
|
@ -1028,6 +1041,17 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
ResultBean<AppOrderDetailsVo> details = getSaleOrderDetails(query.getBusinessSid()); |
|
|
|
AppOrderDetailsVo vo = details.getData(); |
|
|
|
if ("现车".equals(vo.getOrderType())) { |
|
|
|
//更新已选择的车架号的状态为未锁定
|
|
|
|
List<String> list = busSalesOrderVehicleService.selectVehicleSid(query.getBusinessSid()); |
|
|
|
BusMainDepositUpdateQuery busMainDepositUpdateQuery = new BusMainDepositUpdateQuery(); |
|
|
|
busMainDepositUpdateQuery.setVinSidList(list); |
|
|
|
busMainDepositUpdateQuery.setLockedState(VehicleState.LockEnum.UN_LOCK.getCode()); |
|
|
|
busMainDepositUpdateQuery.setLockedStateValue(VehicleState.LockEnum.UN_LOCK.getRemarks()); |
|
|
|
baseVehicleFeign.updateMainDepositByVinNo(busMainDepositUpdateQuery); |
|
|
|
} |
|
|
|
return rb.success().setData(resultBean.getData()); |
|
|
|
} |
|
|
|
} |
|
|
@ -1035,27 +1059,6 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean revokeProcess(BusSalesOrderFlowDto query) { |
|
|
|
/* FlowTaskVo flowTaskVo = new FlowTaskVo(); |
|
|
|
BeanUtil.copyProperties(dto, flowTaskVo); |
|
|
|
ResultBean<List<LatestTaskVo>> resultBean = flowTaskFeign.revokeProcess(flowTaskVo); |
|
|
|
if (!resultBean.getSuccess()) { |
|
|
|
return resultBean; |
|
|
|
} |
|
|
|
String nodeState = resultBean.getData().get(0).getName_(); |
|
|
|
String taskDefKey = resultBean.getData().get(0).getTask_def_key_(); |
|
|
|
String inComingSourceRef = resultBean.getData().get(0).getIncomingSourceRef(); |
|
|
|
if (inComingSourceRef.contains("start")) { |
|
|
|
// nodeState = SysFormLinkFlowStateEnum.UNCOMMITTED.getState();
|
|
|
|
} else { |
|
|
|
nodeState = nodeState; |
|
|
|
|
|
|
|
} |
|
|
|
modifyFlowState(dto.getBusinessSid(), |
|
|
|
ProcDefEnum.SALESORDER.getProDefId(), |
|
|
|
nodeState, |
|
|
|
dto.getInstanceId(), |
|
|
|
taskDefKey, resultBean.getData().get(0).getId_()); |
|
|
|
return new ResultBean().success();*/ |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
if (StringUtils.isBlank(query.getUserSid())) { |
|
|
|
return rb.setMsg("参数错误:userSid"); |
|
|
@ -1072,6 +1075,24 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper |
|
|
|
return rb.setMsg(resultBean.getMsg()); |
|
|
|
} |
|
|
|
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); |
|
|
|
busSalesOrder = fetchBySid(query.getBusinessSid()); |
|
|
|
String procId = busSalesOrder.getProcInstId(); |
|
|
|
ResultBean<List<LatestTaskVo>> listResultBean = flowTaskFeign.getLatestTasks(procId); |
|
|
|
String nextNodeUserSids = listResultBean.getData().get(0).getASSIGNEE_(); |
|
|
|
List<String> receiveSidList = Arrays.asList(nextNodeUserSids.split(",")); |
|
|
|
if (receiveSidList.size() == 1 && receiveSidList.get(0).equals(busSalesOrder.getStaffSid())) { |
|
|
|
ResultBean<AppOrderDetailsVo> details = getSaleOrderDetails(query.getBusinessSid()); |
|
|
|
AppOrderDetailsVo vo = details.getData(); |
|
|
|
if ("现车".equals(vo.getOrderType())) { |
|
|
|
//更新已选择的车架号的状态为未锁定
|
|
|
|
List<String> list = busSalesOrderVehicleService.selectVehicleSid(query.getBusinessSid()); |
|
|
|
BusMainDepositUpdateQuery busMainDepositUpdateQuery = new BusMainDepositUpdateQuery(); |
|
|
|
busMainDepositUpdateQuery.setVinSidList(list); |
|
|
|
busMainDepositUpdateQuery.setLockedState(VehicleState.LockEnum.UN_LOCK.getCode()); |
|
|
|
busMainDepositUpdateQuery.setLockedStateValue(VehicleState.LockEnum.UN_LOCK.getRemarks()); |
|
|
|
baseVehicleFeign.updateMainDepositByVinNo(busMainDepositUpdateQuery); |
|
|
|
} |
|
|
|
} |
|
|
|
return rb.success().setData(resultBean.getData()); |
|
|
|
} |
|
|
|
} |
|
|
@ -2593,8 +2614,8 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper |
|
|
|
List<String> list = busSalesOrderVehicleService.selectVehicleSid(bv.getBusinessSid()); |
|
|
|
BusMainDepositUpdateQuery busMainDepositUpdateQuery = new BusMainDepositUpdateQuery(); |
|
|
|
busMainDepositUpdateQuery.setVinSidList(list); |
|
|
|
busMainDepositUpdateQuery.setLockedState(VehicleState.LockEnum.CONDUCT_LOCK.getCode()); |
|
|
|
busMainDepositUpdateQuery.setLockedStateValue(VehicleState.LockEnum.CONDUCT_LOCK.getRemarks()); |
|
|
|
busMainDepositUpdateQuery.setLockedState(VehicleState.LockEnum.ORDER_LOCK.getCode()); |
|
|
|
busMainDepositUpdateQuery.setLockedStateValue(VehicleState.LockEnum.ORDER_LOCK.getRemarks()); |
|
|
|
baseVehicleFeign.updateMainDepositByVinNo(busMainDepositUpdateQuery); |
|
|
|
} |
|
|
|
} |
|
|
|