wuxw
2025-03-30 becc16e36e8fdad39eb32661acb73375c6cbdfb4
service-oa/src/main/java/com/java110/oa/cmd/work/SaveWorkPoolCmd.java
@@ -25,21 +25,20 @@
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.workPoolContent.WorkPoolContentDto;
import com.java110.dto.workPoolFile.WorkPoolFileDto;
import com.java110.dto.workTask.WorkTaskDto;
import com.java110.dto.work.WorkCopyDto;
import com.java110.dto.work.WorkCycleDto;
import com.java110.dto.work.WorkPoolDto;
import com.java110.dto.work.WorkPoolFileDto;
import com.java110.dto.work.WorkTaskDto;
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.WorkCopyPo;
import com.java110.po.workPool.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.workTaskItem.WorkTaskItemPo;
import com.java110.po.workPool.WorkPoolContentPo;
import com.java110.po.workPool.WorkPoolFilePo;
import com.java110.po.workPool.WorkTaskPo;
import com.java110.po.workPool.WorkTaskItemPo;
import com.java110.utils.exception.CmdException;
import com.java110.utils.util.*;
import com.java110.vo.ResultVo;
@@ -105,12 +104,11 @@
     */
    @Override
    public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
        Assert.hasKeyAndValue(reqJson, "communityId", "请求报文中未包含communityId");
        Assert.hasKeyAndValue(reqJson, "wtId", "请求报文中未包含wtId");
        Assert.hasKeyAndValue(reqJson, "workName", "请求报文中未包含workName");
        Assert.hasKeyAndValue(reqJson, "workCycle", "请求报文中未包含workCycle");
        Assert.hasKeyAndValue(reqJson, "startTime", "请求报文中未包含startTime");
        Assert.hasKeyAndValue(reqJson, "endTime", "请求报文中未包含endTime");
        Assert.hasKeyAndValue(reqJson, "communityId", "请求报文中未包含小区");
        Assert.hasKeyAndValue(reqJson, "wtId", "请求报文中未包含工作类型");
        Assert.hasKeyAndValue(reqJson, "workCycle", "请求报文中未包含工单标识");
        Assert.hasKeyAndValue(reqJson, "startTime", "请求报文中未包含开始时间");
        Assert.hasKeyAndValue(reqJson, "endTime", "请求报文中未包含完成时间");
        String storeId = CmdContextUtils.getStoreId(cmdDataFlowContext);
        reqJson.put("storeId", storeId);
        if (!reqJson.containsKey("staffs")) {
@@ -159,6 +157,10 @@
        userDto.setUserId(userId);
        List<UserDto> userDtos = userV1InnerServiceSMOImpl.queryUsers(userDto);
        Assert.listOnlyOne(userDtos, "用户未登录");
        String workName = reqJson.getString("workName");
        if (StringUtil.isEmpty(workName)) {
            reqJson.put("workName", userDtos.get(0).getName() + "发起的工作单");
        }
        WorkPoolPo workPoolPo = BeanConvertUtil.covertBean(reqJson, WorkPoolPo.class);
        workPoolPo.setWorkId(GenerateCodeFactory.getGeneratorId(CODE_PREFIX_ID));
        workPoolPo.setCreateUserId(userDtos.get(0).getUserId());
@@ -171,6 +173,9 @@
        }
        //todo 保存 工作单内容
        saveContent(workPoolPo, reqJson, userDtos.get(0));
        //todo 保存 提交附件
        saveFile(workPoolPo,reqJson,userDtos.get(0));
        //todo 保存 抄送人
        saveCopyStaff(workPoolPo, reqJson, userDtos.get(0));
        //todo 保存周期
@@ -179,6 +184,8 @@
        saveWorkTask(workPoolPo, reqJson, userDtos.get(0));
        cmdDataFlowContext.setResponseEntity(ResultVo.success());
    }
    private void saveWorkTask(WorkPoolPo workPoolPo, JSONObject reqJson, UserDto userDto) {
        JSONArray staffs = reqJson.getJSONArray("staffs");
@@ -222,19 +229,6 @@
                workTaskItemPo.setTaskId(workTaskPo.getTaskId());
                workTaskItemV1InnerServiceSMOImpl.saveWorkTaskItem(workTaskItemPo);
            }
            if (StringUtil.isEmpty(reqJson.getString("pathUrl"))) {
                continue;
            }
            WorkPoolFilePo workPoolFilePo = new WorkPoolFilePo();
            workPoolFilePo.setCommunityId(workPoolPo.getCommunityId());
            workPoolFilePo.setFileType(WorkPoolFileDto.FILE_TYPE_START);
            workPoolFilePo.setFileId(GenerateCodeFactory.getGeneratorId("11"));
            workPoolFilePo.setWorkId(workPoolPo.getWorkId());
            workPoolFilePo.setTaskId(workTaskPo.getTaskId());
            workPoolFilePo.setPathUrl(reqJson.getString("pathUrl"));
            workPoolFilePo.setStoreId(workPoolPo.getStoreId());
            workPoolFileV1InnerServiceSMOImpl.saveWorkPoolFile(workPoolFilePo);
        }
    }
@@ -335,4 +329,25 @@
            workPoolContentV1InnerServiceSMOImpl.saveWorkPoolContent(workPoolContentPo);
        }
    }
    private void saveFile(WorkPoolPo workPoolPo, JSONObject reqJson, UserDto userDto) {
        JSONArray pathUrls = reqJson.getJSONArray("pathUrls");
        if (ListUtil.isNull(pathUrls)) {
            return;
        }
        for (int urlIndex = 0; urlIndex < pathUrls.size(); urlIndex++) {
            WorkPoolFilePo workPoolFilePo = new WorkPoolFilePo();
            workPoolFilePo.setCommunityId(workPoolPo.getCommunityId());
            workPoolFilePo.setFileType(WorkPoolFileDto.FILE_TYPE_START);
            workPoolFilePo.setFileId(GenerateCodeFactory.getGeneratorId("11"));
            workPoolFilePo.setWorkId(workPoolPo.getWorkId());
            workPoolFilePo.setTaskId("-1");
            workPoolFilePo.setPathUrl(pathUrls.getString(urlIndex));
            workPoolFilePo.setStoreId(workPoolPo.getStoreId());
            workPoolFilePo.setItemId("-1");
            workPoolFilePo.setContentId("-1");
            workPoolFileV1InnerServiceSMOImpl.saveWorkPoolFile(workPoolFilePo);
        }
    }
}