|
@@ -14,6 +14,7 @@ import com.rongwei.bscommon.sys.utils.ApsUtils;
|
|
|
import com.rongwei.bsentity.domain.*;
|
|
|
import com.rongwei.bsentity.vo.*;
|
|
|
import com.rongwei.rwadmincommon.system.domain.SysDictDo;
|
|
|
+import com.rongwei.rwadmincommon.system.service.SysGeneralCRUDService;
|
|
|
import com.rongwei.rwadmincommon.system.vo.SysUserVo;
|
|
|
import com.rongwei.rwcommon.base.BaseDo;
|
|
|
import com.rongwei.rwcommon.base.R;
|
|
@@ -28,9 +29,12 @@ import com.rongwei.safecommon.utils.CXCommonUtils;
|
|
|
import com.rongwei.safecommon.utils.SaveConstans;
|
|
|
import com.rongwei.wfentity.sys.ProcessInstDo;
|
|
|
import com.rongwei.wfentity.sys.RunTaskDo;
|
|
|
+import com.rongwei.wfentity.sys.vo.CreateProcessVo;
|
|
|
+import com.rongwei.wfentity.sys.vo.FlowBackVo;
|
|
|
+import com.rongwei.wfentity.sys.vo.RunTaskVo;
|
|
|
+import com.rongwei.wfserver.wfcommon.core.service.impl.WorkFlowServiceImpl;
|
|
|
import com.rongwei.wfserver.wfcommon.sys.service.ProcessInstService;
|
|
|
import com.rongwei.wfserver.wfcommon.sys.service.RunTaskService;
|
|
|
-import org.hibernate.validator.internal.constraintvalidators.bv.time.futureorpresent.FutureOrPresentValidatorForMonthDay;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
@@ -159,6 +163,10 @@ public class ApsProductionOrderServiceImpl extends ServiceImpl<ApsProductionOrde
|
|
|
private ApsReportThProcessPhotoService apsReportThProcessPhotoService;
|
|
|
@Autowired
|
|
|
private ApsReportOutputServiceImpl apsReportOutputService;
|
|
|
+ @Autowired
|
|
|
+ private WorkFlowServiceImpl workFlowService;
|
|
|
+ @Autowired
|
|
|
+ private SysGeneralCRUDService sysGeneralCRUDService;
|
|
|
|
|
|
|
|
|
public static final String ERROR_MSG = "%s上诉订单的排程交货期大于承诺交货期";
|
|
@@ -519,6 +527,26 @@ public class ApsProductionOrderServiceImpl extends ServiceImpl<ApsProductionOrde
|
|
|
apsProcessOperationProcessEquService.updateProductionStatus(request);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ String processinstid = apsProductionOrderDo.getProcessinstid();
|
|
|
+ RunTaskDo runTaskDo = runTaskService.getOne(new LambdaQueryWrapper<RunTaskDo>().eq(BaseDo::getDeleted, "0")
|
|
|
+ .eq(RunTaskDo::getProcessinstid, processinstid)
|
|
|
+ .in(RunTaskDo::getTaskstatus, "10", "20")
|
|
|
+ .orderByDesc(BaseDo::getCreatedate), false);
|
|
|
+ RunTaskVo runTaskVo = new RunTaskVo();
|
|
|
+ BeanUtils.copyProperties(runTaskDo, runTaskVo);
|
|
|
+ runTaskVo.setProcessInstId(processinstid);
|
|
|
+ runTaskVo.setBusinesstableid(apsProductionOrderDo.getId());
|
|
|
+ runTaskVo.setProcesstitle("订单评审");
|
|
|
+ runTaskVo.setProcessdefid("order_review");
|
|
|
+ runTaskVo.setAuditoperation("10");
|
|
|
+ runTaskVo.setTaskstatusname("待处理");
|
|
|
+ try {
|
|
|
+ workFlowService.runTask(runTaskVo, true);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("流程更新失败");
|
|
|
+ throw new RuntimeException("执行流程失败,请刷新页面后重试");
|
|
|
+ }
|
|
|
} finally {
|
|
|
log.debug("校验-订单提交完毕,从map中清空当前订单锁,订单ID:{}", id);
|
|
|
productOrderLock.remove(id);
|
|
@@ -1032,25 +1060,40 @@ public class ApsProductionOrderServiceImpl extends ServiceImpl<ApsProductionOrde
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ @Transactional
|
|
|
public R generalMsInsert(OrderSaveOrUpdateVo req) {
|
|
|
MasterSlaveInsertVo masterSlaveInsert = req.getMasterSlaveInsert();
|
|
|
-// String id = masterSlaveInsert.getMasterInsert().getInsertcolumns().get("ID").toString();
|
|
|
-// SysUserVo currentUser = CXCommonUtils.getCurrentUser();
|
|
|
-// if (productOrderLock.containsKey(id)) {
|
|
|
-// log.error("新增-该订单已被:{}提交", productOrderLock.get(id));
|
|
|
-// return R.error("该订单已被提交");
|
|
|
-// }
|
|
|
-// productOrderLock.put(id, currentUser.getId());
|
|
|
-// try {
|
|
|
- cxAdminFeginClient.generalMsInsert(masterSlaveInsert);
|
|
|
-// } finally {
|
|
|
-// log.debug("新增-订单提交完毕,从map中清空当前订单锁,订单ID:{}", id);
|
|
|
-// productOrderLock.remove(id);
|
|
|
-// }
|
|
|
+ try {
|
|
|
+ sysGeneralCRUDService.generalMsInsert(masterSlaveInsert);
|
|
|
+ } catch (Exception e) {
|
|
|
+ throw new RuntimeException("新增订单信息错误,请刷新页面后重试");
|
|
|
+ }
|
|
|
+ //发起流程
|
|
|
+ if (req.getIsStartWf()){
|
|
|
+ ApsProductionOrderDo oldOrder = req.getOldOrder();
|
|
|
+ CreateProcessVo createProcessVo = new CreateProcessVo();
|
|
|
+ createProcessVo.setProcessdefid("order_review");
|
|
|
+ createProcessVo.setBusinesstablename("aps_production_order");
|
|
|
+ createProcessVo.setBusinesstableid(oldOrder.getId());
|
|
|
+ createProcessVo.setProcessname("订单评审");
|
|
|
+ createProcessVo.setProcesstitle(oldOrder.getOrderno()+"-订单评审-"+DateUtil.now());
|
|
|
+ createProcessVo.setUserId(oldOrder.getId());
|
|
|
+ createProcessVo.setNotifycontent("订单评审");
|
|
|
+ //查询订单信息,map格式返回
|
|
|
+ Map<String, Object> map = this.getMap(new LambdaQueryWrapper<ApsProductionOrderDo>().eq(ApsProductionOrderDo::getId, oldOrder.getId()));
|
|
|
+ createProcessVo.setBusinesstableValue(map);
|
|
|
+ try {
|
|
|
+ workFlowService.createProcessInstance(createProcessVo);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("流程创建失败");
|
|
|
+ throw new RuntimeException("执行创建流程失败,请刷新页面后重试");
|
|
|
+ }
|
|
|
+ }
|
|
|
return R.ok();
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ @Transactional
|
|
|
public R generalMsUpdate(OrderSaveOrUpdateVo req) {
|
|
|
MasterSlaveUpdateVo masterSlaveUpdate = req.getMasterSlaveUpdate();
|
|
|
String id = masterSlaveUpdate.getMasterUpdate().getColumnQueryTypes().get(0).getColumns().get(0).getValue();
|
|
@@ -1069,8 +1112,64 @@ public class ApsProductionOrderServiceImpl extends ServiceImpl<ApsProductionOrde
|
|
|
if (!oldOrder.getAuditstatus().equals(nowApsProductionOrderDo.getAuditstatus())) {
|
|
|
return R.error("该订单已被提交,请刷新页面后重新操作");
|
|
|
}
|
|
|
-
|
|
|
- cxAdminFeginClient.generalMsUpdate(masterSlaveUpdate);
|
|
|
+ try {
|
|
|
+ sysGeneralCRUDService.generalMsUpdate(masterSlaveUpdate);
|
|
|
+ } catch (Exception e) {
|
|
|
+ throw new RuntimeException("更新订单信息错误,请刷新页面后重试");
|
|
|
+ }
|
|
|
+ //提交流程
|
|
|
+ if (req.getIsSubmitWf()){
|
|
|
+ String processinstid = nowApsProductionOrderDo.getProcessinstid();
|
|
|
+ RunTaskDo runTaskDo = runTaskService.getOne(new LambdaQueryWrapper<RunTaskDo>().eq(BaseDo::getDeleted, "0")
|
|
|
+ .eq(RunTaskDo::getProcessinstid, processinstid)
|
|
|
+ .in(RunTaskDo::getTaskstatus, "10", "20")
|
|
|
+ .orderByDesc(BaseDo::getCreatedate), false);
|
|
|
+ RunTaskVo runTaskVo = new RunTaskVo();
|
|
|
+ BeanUtils.copyProperties(runTaskDo, runTaskVo);
|
|
|
+ runTaskVo.setProcessInstId(processinstid);
|
|
|
+ runTaskVo.setBusinesstableid(nowApsProductionOrderDo.getId());
|
|
|
+ runTaskVo.setProcesstitle("订单评审");
|
|
|
+ runTaskVo.setProcessdefid("order_review");
|
|
|
+ runTaskVo.setAuditoperation("10");
|
|
|
+ runTaskVo.setTaskstatusname("待处理");
|
|
|
+ runTaskVo.setComment(req.getComment());
|
|
|
+ try {
|
|
|
+ workFlowService.runTask(runTaskVo, true);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("流程更新失败");
|
|
|
+ throw new RuntimeException("执行提交流程失败,请刷新页面后重试");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //退回流程
|
|
|
+ if (req.getIsBackWf()){
|
|
|
+ try{
|
|
|
+ workFlowService.flowBackByType(req.getFlowBackVo());
|
|
|
+ return R.ok();
|
|
|
+ }catch (Exception e){
|
|
|
+ log.error("流程退回失败");
|
|
|
+ throw new RuntimeException("执行退回流程失败,请刷新页面后重试");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //发起流程
|
|
|
+ if (req.getIsStartWf()){
|
|
|
+ CreateProcessVo createProcessVo = new CreateProcessVo();
|
|
|
+ createProcessVo.setProcessdefid("order_review");
|
|
|
+ createProcessVo.setBusinesstablename("aps_production_order");
|
|
|
+ createProcessVo.setBusinesstableid(nowApsProductionOrderDo.getId());
|
|
|
+ createProcessVo.setProcessname("订单评审");
|
|
|
+ createProcessVo.setProcesstitle(nowApsProductionOrderDo.getOrderno()+"-订单评审-"+DateUtil.now());
|
|
|
+ createProcessVo.setUserId(currentUser.getId());
|
|
|
+ createProcessVo.setNotifycontent("订单评审");
|
|
|
+ //查询订单信息,map格式返回
|
|
|
+ Map<String, Object> map = this.getMap(new LambdaQueryWrapper<ApsProductionOrderDo>().eq(ApsProductionOrderDo::getId, nowApsProductionOrderDo.getId()));
|
|
|
+ createProcessVo.setBusinesstableValue(map);
|
|
|
+ try {
|
|
|
+ workFlowService.createProcessInstance(createProcessVo);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("流程创建失败");
|
|
|
+ throw new RuntimeException("执行创建流程失败,请刷新页面后重试");
|
|
|
+ }
|
|
|
+ }
|
|
|
} finally {
|
|
|
log.debug("修改-订单提交完毕,从map中清空当前订单锁,订单ID:{}", id);
|
|
|
productOrderLock.remove(id);
|