|
@@ -120,30 +120,9 @@ public class WorkOrderManageController {
|
|
|
public AjaxMessage<Integer> submitTask(
|
|
|
@ApiParam(value = "1任务、2工单", required = true) @RequestParam Integer flowType,
|
|
|
@ApiParam(value = "任务、工单id", required = true) @RequestParam Integer flowId,
|
|
|
- @ApiParam(value = "json格式存储对应任务详情", required = false) @RequestParam(required = false) String flowDetail,
|
|
|
@ApiParam(value = "处理结果", required = true) @RequestParam String flowResult,
|
|
|
- @ApiParam(value = "1审批通过、2同意、3驳回", required = true) @RequestParam Integer actionId) {
|
|
|
+ @ApiParam(value = "1审批通过、2同意、3驳回、4漏点定位、5停水、6提交", required = true) @RequestParam Integer actionId) {
|
|
|
LoginUser currentUser = UserUtil.getCurrentUser();
|
|
|
- //有任务详情的更新详情表数据
|
|
|
- if(!StringUtils.isEmpty(flowDetail)) {
|
|
|
- WorkFlowDetail workFlowDetail =new WorkFlowDetail();
|
|
|
- workFlowDetail.setFlowType(flowType);
|
|
|
- workFlowDetail.setFlowId(flowId);
|
|
|
- workFlowDetail.setFlowDetail(flowDetail);
|
|
|
- Integer detailId= workFlowDetailService.selectDetailId(workFlowDetail);
|
|
|
-
|
|
|
- //插入或更新详情
|
|
|
- if(detailId==null) {
|
|
|
- workFlowDetail.setCreateBy(currentUser.getUsername());
|
|
|
- workFlowDetail.setDateCreate(new Date());
|
|
|
- workFlowDetailService.insertSelective(workFlowDetail);
|
|
|
- }else{
|
|
|
- workFlowDetail.setUpdateBy(currentUser.getUsername());
|
|
|
- workFlowDetail.setDateUpdate(new Date());
|
|
|
- workFlowDetail.setId(detailId);
|
|
|
- workFlowDetailService.updateByPrimaryKeySelective(workFlowDetail);
|
|
|
- }
|
|
|
- }
|
|
|
|
|
|
WorkFlowLog workFlowLog=new WorkFlowLog();
|
|
|
workFlowLog.setFlowId(flowId);
|
|
@@ -158,49 +137,83 @@ public class WorkOrderManageController {
|
|
|
Action action=null;
|
|
|
if(actionId==1){
|
|
|
action=Action.ACTION_AUDIT;
|
|
|
- }else if(actionId==2){
|
|
|
+ }else if(actionId==2||actionId==6){
|
|
|
action=Action.ACTION_RECEIVE;
|
|
|
}else if(actionId==3){
|
|
|
action=Action.ACTION_REJECT;
|
|
|
}
|
|
|
Map<String,Object> args=new HashMap<>();
|
|
|
+
|
|
|
//查询当前工单或任务 并更新当前状态
|
|
|
if(flowType == 1){
|
|
|
PlanManage plan= planManageService.selectByPrimaryKey(flowId);
|
|
|
workFlowLog.setProcessInstanceId(plan.getProcessInstanceId());
|
|
|
workFlowLog.setTaskId(plan.getCurrentTaskId());
|
|
|
|
|
|
- List<TaskPorcessResult> handleResult = workFlowService.handleTask(action,plan.getCurrentTaskId(), null, null);
|
|
|
- plan.setCurrentTaskId(handleResult.size()>0?handleResult.get(0).getCurrentTaskId():null);
|
|
|
- plan.setCurrentUsers(handleResult.size()>0?handleResult.get(0).getCurrentTaskUsers():null);
|
|
|
- plan.setCurrentTaskName(handleResult.size()>0?handleResult.get(0).getCurrentTaskName():null);
|
|
|
- plan.setUpdateBy(currentUser.getUsername());
|
|
|
- plan.setDateUpdate(new Date());
|
|
|
- if(handleResult.size()==0||handleResult==null) {
|
|
|
- plan.setPlanStatus(2);
|
|
|
- plan.setPlanEndDate(new Date());
|
|
|
+ if(action!=null){
|
|
|
+ List<TaskPorcessResult> handleResult = workFlowService.handleTask(action,plan.getCurrentTaskId(), null, null);
|
|
|
+ plan.setCurrentTaskId(handleResult.size()>0?handleResult.get(0).getCurrentTaskId():null);
|
|
|
+ plan.setCurrentUsers(handleResult.size()>0?handleResult.get(0).getCurrentTaskUsers():null);
|
|
|
+ plan.setCurrentTaskName(handleResult.size()>0?handleResult.get(0).getCurrentTaskName():null);
|
|
|
+ plan.setUpdateBy(currentUser.getUsername());
|
|
|
+ plan.setDateUpdate(new Date());
|
|
|
+ if(handleResult.size()==0||handleResult==null) {
|
|
|
+ plan.setPlanStatus(2);
|
|
|
+ plan.setPlanEndDate(new Date());
|
|
|
+ }
|
|
|
+ planManageService.updateByPrimaryKey(plan);
|
|
|
}
|
|
|
- planManageService.updateByPrimaryKey(plan);
|
|
|
}else if(flowType == 2){
|
|
|
WorkOrderManage order= workOrderManageService.selectByPrimaryKey(flowId);
|
|
|
workFlowLog.setProcessInstanceId(order.getProcessInstanceId());
|
|
|
workFlowLog.setTaskId(order.getCurrentTaskId());
|
|
|
+ //如果是漏点定位和停水操作 创建子单
|
|
|
+ if(actionId==4||actionId==5){
|
|
|
+ WorkOrderManage workOrderManage=new WorkOrderManage();
|
|
|
+ workOrderManage.setTenantId(currentUser.getTenantId());
|
|
|
+ workOrderManage.setCreateBy(currentUser.getUsername());
|
|
|
+ workOrderManage.setDateCreate(new Date());
|
|
|
+ workOrderManage.setOrderStatus(0);
|
|
|
+ workOrderManage.setTaskNo(DatesUtil.formatDate(new Date(),"yyyyMMddHHmmss")+String.valueOf((int) (Math.random()*(9999-1000)+1000)));
|
|
|
+ workOrderManage.setOrderPid(flowId);
|
|
|
+ workOrderManage.setEventType(order.getEventType());
|
|
|
+ workOrderManage.setOrderTypeId(actionId==4?4:2);
|
|
|
+ workOrderManageService.insertSelective(workOrderManage);
|
|
|
+ }else if(actionId==6){
|
|
|
+ //判断子单完成情况后才可以提交
|
|
|
+ List<WorkOrderManageDto> childOrder=workOrderManageService.selectOrderDetail(flowId);
|
|
|
+ if(childOrder.size()>1){
|
|
|
+ for(int i=1;i<childOrder.size();i++) {
|
|
|
+ WorkOrderManageDto child=childOrder.get(i);
|
|
|
+ if(child.getOrderTypeId()==4&&child.getOrderStatus()!=2)
|
|
|
+ return new AjaxMessage<>(ResultStatus.CHILD_ORDER_ING);
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- List<TaskPorcessResult> handleResult = workFlowService.handleTask(action,order.getCurrentTaskId(), null, null);
|
|
|
- order.setCurrentTaskId(handleResult.size()>0?handleResult.get(0).getCurrentTaskId():null);
|
|
|
- order.setCurrentUsers(handleResult.size()>0?handleResult.get(0).getCurrentTaskUsers():null);
|
|
|
- order.setCurrentTaskName(handleResult.size()>0?handleResult.get(0).getCurrentTaskName():null);
|
|
|
- order.setUpdateBy(currentUser.getUsername());
|
|
|
- order.setDateUpdate(new Date());
|
|
|
- if(handleResult.size()==0||handleResult==null) {
|
|
|
- order.setOrderStatus(2);
|
|
|
- order.setFinishDate(new Date());
|
|
|
+ //判断父单完成情况后才可以提交
|
|
|
+ WorkOrderManage parentOrder=workOrderManageService.selectByPrimaryKey(order.getOrderPid());
|
|
|
+ if(order.getOrderTypeId()==2&&parentOrder.getOrderStatus()!=2) {
|
|
|
+ return new AjaxMessage<>(ResultStatus.PARENT_ORDER_ING);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if(action!=null){
|
|
|
+ List<TaskPorcessResult> handleResult = workFlowService.handleTask(action,order.getCurrentTaskId(), null, null);
|
|
|
+ order.setCurrentTaskId(handleResult.size()>0?handleResult.get(0).getCurrentTaskId():null);
|
|
|
+ order.setCurrentUsers(handleResult.size()>0?handleResult.get(0).getCurrentTaskUsers():null);
|
|
|
+ order.setCurrentTaskName(handleResult.size()>0?handleResult.get(0).getCurrentTaskName():null);
|
|
|
+ order.setUpdateBy(currentUser.getUsername());
|
|
|
+ order.setDateUpdate(new Date());
|
|
|
+ if(handleResult.size()==0||handleResult==null) {
|
|
|
+ order.setOrderStatus(2);
|
|
|
+ order.setFinishDate(new Date());
|
|
|
+ }
|
|
|
+ workOrderManageService.updateByPrimaryKey(order);
|
|
|
}
|
|
|
- workOrderManageService.updateByPrimaryKey(order);
|
|
|
}
|
|
|
//记录日志
|
|
|
workFlowLogService.insert(workFlowLog);
|
|
|
- return new AjaxMessage<>(ResultStatus.OK );
|
|
|
+ return new AjaxMessage<>(ResultStatus.OK);
|
|
|
}
|
|
|
/**
|
|
|
* APP查询工单详情
|
|
@@ -208,8 +221,41 @@ public class WorkOrderManageController {
|
|
|
*/
|
|
|
@RequestMapping(value = "selectOrderDetail", method = RequestMethod.GET)
|
|
|
@ApiOperation(value = "APP查询工单详情")
|
|
|
- public AjaxMessage<WorkOrderManageDto> selectOrderDetail(
|
|
|
+ public AjaxMessage<List<WorkOrderManageDto>> selectOrderDetail(
|
|
|
@ApiParam(value = "工单id", required = true) @RequestParam Integer flowId) {
|
|
|
- return new AjaxMessage<>(ResultStatus.OK, workOrderManageService.selectOrderDetail(flowId));
|
|
|
+ List<WorkOrderManageDto> result=workOrderManageService.selectOrderDetail(flowId);
|
|
|
+ Map<String,String> dictMap=userCenterClient.selectListByPCodes("SC_WORK_ORDER_TYPE,SC_TASK_TYPE");
|
|
|
+ if(result.size()>0&&dictMap.size()>0){
|
|
|
+ for(WorkOrderManageDto workOrderManageDto:result) {
|
|
|
+ workOrderManageDto.setTypeName(dictMap.get(workOrderManageDto.getOrderTypeId().toString()));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return new AjaxMessage<>(ResultStatus.OK, result);
|
|
|
+ }
|
|
|
+ @RequestMapping(value = "saveDetail", method = RequestMethod.GET)
|
|
|
+ @ApiOperation(value = "保存工单和任务的详情数据")
|
|
|
+ public AjaxMessage<Integer> saveDetail(
|
|
|
+ @ApiParam(value = "1任务、2工单", required = true) @RequestParam Integer flowType,
|
|
|
+ @ApiParam(value = "任务、工单id", required = true) @RequestParam Integer flowId,
|
|
|
+ @ApiParam(value = "json格式存储对应任务详情", required = true) @RequestParam String flowDetail){
|
|
|
+ LoginUser currentUser = UserUtil.getCurrentUser();
|
|
|
+ WorkFlowDetail workFlowDetail =new WorkFlowDetail();
|
|
|
+ workFlowDetail.setFlowType(flowType);
|
|
|
+ workFlowDetail.setFlowId(flowId);
|
|
|
+ workFlowDetail.setFlowDetail(flowDetail);
|
|
|
+ Integer detailId= workFlowDetailService.selectDetailId(workFlowDetail);
|
|
|
+
|
|
|
+ //插入或更新详情
|
|
|
+ if(detailId==null) {
|
|
|
+ workFlowDetail.setCreateBy(currentUser.getUsername());
|
|
|
+ workFlowDetail.setDateCreate(new Date());
|
|
|
+ workFlowDetailService.insertSelective(workFlowDetail);
|
|
|
+ }else{
|
|
|
+ workFlowDetail.setUpdateBy(currentUser.getUsername());
|
|
|
+ workFlowDetail.setDateUpdate(new Date());
|
|
|
+ workFlowDetail.setId(detailId);
|
|
|
+ workFlowDetailService.updateByPrimaryKeySelective(workFlowDetail);
|
|
|
+ }
|
|
|
+ return new AjaxMessage<>(ResultStatus.OK);
|
|
|
}
|
|
|
}
|