Browse Source

移动端简易订单以及销售订单添加车辆的锁定状态修改

master
dimengzhe 3 years ago
parent
commit
13fd61b3d9
  1. 18
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busmaindeposit/BusMainDepositService.java
  2. 149
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java

18
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busmaindeposit/BusMainDepositService.java

@ -2212,14 +2212,18 @@ public class BusMainDepositService extends MybatisBaseService<BusMainDepositMapp
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
//修改车辆台账锁定状态为未锁定
AppBusDepositVehicleDetailVo appBusDepositVehicleDetailVo = busDepositVehicleService.getReserveCarDetails(query.getBusinessSid()).getData();
List<String> list = appBusDepositVehicleDetailVo.getVehicleList().stream().map(AppBusDepositVehicleListVo::getCarSid).collect(Collectors.toList()).stream().distinct().collect(Collectors.toList());
BusMainDepositUpdateQuery busMainDepositUpdateQuery = new BusMainDepositUpdateQuery();
busMainDepositUpdateQuery.setVinSidList(list);
busMainDepositUpdateQuery.setLockedState(VehicleState.LockEnum.UN_LOCK.getCode());
busMainDepositUpdateQuery.setLockedStateValue(VehicleState.LockEnum.UN_LOCK.getRemarks());
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
if (DictCommonEnum.DepositBillType.JYDD_DC.getCode().equals(busMainDeposit.getDepositBillTypeKey())) {
//修改车辆台账锁定状态为未锁定
AppBusDepositVehicleDetailVo appBusDepositVehicleDetailVo = busDepositVehicleService.getReserveCarDetails(query.getBusinessSid()).getData();
List<String> list = appBusDepositVehicleDetailVo.getVehicleList().stream().map(AppBusDepositVehicleListVo::getCarSid).collect(Collectors.toList()).stream().distinct().collect(Collectors.toList());
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());
}
}

149
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java

@ -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);
}
}

Loading…
Cancel
Save