wuxw
2024-11-11 52d40ac575fe20f1c4d6b6984b37b3fca8907303
service-oa/src/main/java/com/java110/oa/cmd/work/UpdateWorkPoolCmd.java
@@ -25,19 +25,10 @@
import com.java110.core.event.cmd.CmdEvent;
import com.java110.core.factory.GenerateCodeFactory;
import com.java110.dto.user.UserDto;
import com.java110.dto.workCopy.WorkCopyDto;
import com.java110.dto.workCycle.WorkCycleDto;
import com.java110.dto.workPool.WorkPoolDto;
import com.java110.dto.workPoolFile.WorkPoolFileDto;
import com.java110.dto.workTask.WorkTaskDto;
import com.java110.dto.work.*;
import com.java110.intf.oa.*;
import com.java110.intf.user.IUserV1InnerServiceSMO;
import com.java110.po.workCopy.WorkCopyPo;
import com.java110.po.workCycle.WorkCyclePo;
import com.java110.po.workPool.WorkPoolPo;
import com.java110.po.workPoolContent.WorkPoolContentPo;
import com.java110.po.workPoolFile.WorkPoolFilePo;
import com.java110.po.workTask.WorkTaskPo;
import com.java110.po.workPool.*;
import com.java110.utils.exception.CmdException;
import com.java110.utils.util.*;
import com.java110.vo.ResultVo;
@@ -47,7 +38,6 @@
import java.util.Date;
import java.util.List;
/**
 * 类表述:更新
@@ -85,6 +75,9 @@
    @Autowired
    private IUserV1InnerServiceSMO userV1InnerServiceSMOImpl;
    @Autowired
    private IWorkTaskItemV1InnerServiceSMO workTaskItemV1InnerServiceSMOImpl;
    @Override
    public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
        Assert.hasKeyAndValue(reqJson, "workId", "workId不能为空");
@@ -96,13 +89,34 @@
        String storeId = CmdContextUtils.getStoreId(cmdDataFlowContext);
        reqJson.put("storeId", storeId);
        String userId = CmdContextUtils.getUserId(cmdDataFlowContext);
        if (!reqJson.containsKey("staffs")) {
            throw new CmdException("未包含处理人");
        }
        WorkPoolDto workPoolDto = new WorkPoolDto();
        workPoolDto.setWorkId(reqJson.getString("workId"));
        workPoolDto.setStoreId(storeId);
        workPoolDto.setCreateUserId(userId);
        int count = workPoolV1InnerServiceSMOImpl.queryWorkPoolsCount(workPoolDto);
        if (count < 1) {
            throw new CmdException("您没有权限修改");
        }
        JSONArray staffs = reqJson.getJSONArray("staffs");
        if (staffs == null || staffs.isEmpty()) {
            throw new CmdException("未包含处理人");
        }
        if (!reqJson.containsKey("contents")) {
            throw new CmdException("未包含工作单内容");
        }
        JSONArray contents = reqJson.getJSONArray("contents");
        if (ListUtil.isNull(contents)) {
            throw new CmdException("内容为空");
        }
        if (WorkPoolDto.WORK_CYCLE_ONE.equals(reqJson.getString("workCycle"))) {
@@ -131,7 +145,6 @@
    @Override
    @Java110Transactional
    public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
        String userId = CmdContextUtils.getUserId(cmdDataFlowContext);
        UserDto userDto = new UserDto();
        userDto.setUserId(userId);
@@ -155,10 +168,8 @@
        //todo 保存周期
        updateWorkCycle(workPoolPo, reqJson, userDtos.get(0));
        // todo 保存 工单任务
        updateWorkTask(workPoolPo, reqJson, userDtos.get(0));
        cmdDataFlowContext.setResponseEntity(ResultVo.success());
    }
@@ -178,13 +189,19 @@
        workTaskPo.setStoreId(workPoolPo.getStoreId());
        workTaskV1InnerServiceSMOImpl.deleteWorkTask(workTaskPo);
        WorkTaskItemPo workTaskItemPo = new WorkTaskItemPo();
        workTaskItemPo.setWorkId(workPoolPo.getWorkId());
        workTaskItemPo.setStoreId(workPoolPo.getStoreId());
        workTaskItemV1InnerServiceSMOImpl.deleteWorkTaskItem(workTaskItemPo);
        WorkPoolFilePo workPoolFilePo = new WorkPoolFilePo();
        workPoolFilePo.setWorkId(workPoolPo.getWorkId());
        workPoolFilePo.setStoreId(workPoolPo.getStoreId());
        workPoolFileV1InnerServiceSMOImpl.deleteWorkPoolFile(workPoolFilePo);
        JSONArray contents = reqJson.getJSONArray("contents");
        for (int staffIndex = 0; staffIndex < staffs.size(); staffIndex++) {
             workTaskPo = new WorkTaskPo();
            workTaskPo = new WorkTaskPo();
            workTaskPo.setWorkId(workPoolPo.getWorkId());
            workTaskPo.setState(WorkTaskDto.STATE_WAIT);
            workTaskPo.setTaskId(GenerateCodeFactory.getGeneratorId("11"));
@@ -194,10 +211,26 @@
            workTaskPo.setEndTime(endTime);
            workTaskPo.setStaffId(staffs.getJSONObject(staffIndex).getString("staffId"));
            workTaskPo.setStaffName(staffs.getJSONObject(staffIndex).getString("staffName"));
            workTaskPo.setOrgStaffId(staffs.getJSONObject(staffIndex).getString("staffId"));
            workTaskPo.setOrgStaffName(staffs.getJSONObject(staffIndex).getString("staffName"));
            int flag = workTaskV1InnerServiceSMOImpl.saveWorkTask(workTaskPo);
            if (flag < 1) {
                throw new CmdException("保存数据失败");
            }
            JSONObject content = null;
            for (int cIndex = 0; cIndex < contents.size(); cIndex++) {
                content = contents.getJSONObject(cIndex);
                workTaskItemPo = new WorkTaskItemPo();
                workTaskItemPo.setDeductionMoney("0");
                workTaskItemPo.setContentId(content.getString("contentId"));
                workTaskItemPo.setStoreId(workPoolPo.getStoreId());
                workTaskItemPo.setWorkId(workPoolPo.getWorkId());
                workTaskItemPo.setItemId(GenerateCodeFactory.getGeneratorId("11"));
                workTaskItemPo.setState(WorkTaskDto.STATE_WAIT);
                workTaskItemPo.setCommunityId(workPoolPo.getCommunityId());
                workTaskItemPo.setTaskId(workTaskPo.getTaskId());
                workTaskItemV1InnerServiceSMOImpl.saveWorkTaskItem(workTaskItemPo);
            }
            if (StringUtil.isEmpty(reqJson.getString("pathUrl"))) {
@@ -320,13 +353,18 @@
        workPoolContentPo.setWorkId(workPoolPo.getWorkId());
        workPoolContentPo.setStoreId(workPoolPo.getStoreId());
        workPoolContentV1InnerServiceSMOImpl.deleteWorkPoolContent(workPoolContentPo);
        workPoolContentPo = new WorkPoolContentPo();
        workPoolContentPo.setContentId(GenerateCodeFactory.getGeneratorId("11"));
        workPoolContentPo.setContent(reqJson.getString("content"));
        workPoolContentPo.setWorkId(workPoolPo.getWorkId());
        workPoolContentPo.setCommunityId(reqJson.getString("communityId"));
        workPoolContentPo.setStoreId(reqJson.getString("storeId"));
        workPoolContentV1InnerServiceSMOImpl.saveWorkPoolContent(workPoolContentPo);
        JSONArray contents = reqJson.getJSONArray("contents");
        JSONObject content = null;
        for(int cIndex = 0;cIndex < contents.size();cIndex ++) {
            content = contents.getJSONObject(cIndex);
            workPoolContentPo = new WorkPoolContentPo();
            workPoolContentPo.setContentId(GenerateCodeFactory.getGeneratorId("11"));
            workPoolContentPo.setContent(content.getString("content"));
            workPoolContentPo.setWorkId(workPoolPo.getWorkId());
            workPoolContentPo.setCommunityId(reqJson.getString("communityId"));
            workPoolContentPo.setStoreId(reqJson.getString("storeId"));
            workPoolContentPo.setSeqNum(cIndex + 1);
            workPoolContentV1InnerServiceSMOImpl.saveWorkPoolContent(workPoolContentPo);
        }
    }
}