wuxw
2023-12-27 297ba5938ca64291f4b74a056fa381dbf410825f
抄送我的工单查看
6个文件已修改
1个文件已添加
288 ■■■■■ 已修改文件
java110-bean/src/main/java/com/java110/dto/workPool/WorkPoolDto.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-db/src/main/resources/mapper/oa/WorkPoolV1ServiceDaoImplMapper.xml 104 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-interface/src/main/java/com/java110/intf/oa/IWorkPoolV1InnerServiceSMO.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-oa/src/main/java/com/java110/oa/cmd/work/QueryCopyWorkCmd.java 121 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-oa/src/main/java/com/java110/oa/dao/IWorkPoolV1ServiceDao.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-oa/src/main/java/com/java110/oa/dao/impl/WorkPoolV1ServiceDaoImpl.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-oa/src/main/java/com/java110/oa/smo/impl/WorkPoolV1InnerServiceSMOImpl.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-bean/src/main/java/com/java110/dto/workPool/WorkPoolDto.java
@@ -61,6 +61,8 @@
    private String staffId;
    private String copyId;
    public String getWorkCycle() {
        return workCycle;
@@ -254,4 +256,12 @@
    public void setStaffId(String staffId) {
        this.staffId = staffId;
    }
    public String getCopyId() {
        return copyId;
    }
    public void setCopyId(String copyId) {
        this.copyId = copyId;
    }
}
java110-db/src/main/resources/mapper/oa/WorkPoolV1ServiceDaoImplMapper.xml
@@ -285,4 +285,108 @@
    </select>
    <select id="queryCopyWorkPoolsCount" parameterType="Map" resultType="Map">
        select count(1) count
        from work_pool t
        left join work_type wt on t.wt_id = wt.wt_id
        left join work_copy wc on t.work_id = wc.work_id and wc.status_cd = '0'
        left join t_dict td on wc.state = td.status_cd and td.table_name = 'work_pool' and td.table_columns = 'state'
        where 1 =1
        <if test="workCycle !=null and workCycle != ''">
            and t.work_cycle= #{workCycle}
        </if>
        <if test="staffId !=null and staffId != ''">
            and wc.staff_id= #{staffId}
        </if>
        <if test="staffName !=null and staffName != ''">
            and wc.staff_name = #{staffName}
        </if>
        <if test="statusCd !=null and statusCd != ''">
            and t.status_cd= #{statusCd}
        </if>
        <if test="storeId !=null and storeId != ''">
            and t.store_id= #{storeId}
        </if>
        <if test="workName !=null and workName != ''">
            and t.work_name= #{workName}
        </if>
        <if test="workId !=null and workId != ''">
            and t.work_id= #{workId}
        </if>
        <if test="wtId !=null and wtId != ''">
            and t.wt_id= #{wtId}
        </if>
        <if test="queryStartTime !=null and queryStartTime !=''">
            and wc.create_time &gt;= #{queryStartTime}
        </if>
        <if test="queryEndTime !=null and queryEndTime !=''">
            and wc.create_time &lt;= #{queryEndTime}
        </if>
        <if test="state !=null and state != ''">
            and wc.state= #{state}
        </if>
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
    </select>
    <select id="queryCopyWorkPools" parameterType="Map" resultType="Map">
        select t.work_cycle,t.work_cycle workCycle,t.create_user_id
        createUserId,t.create_user_name,t.create_user_name createUserName,t.status_cd,t.status_cd
        statusCd,t.store_id storeId,t.work_name workName,t.work_id
        workId,t.wt_id wtId,t.create_user_tel createUserTel,t.start_time
        startTime,t.end_time endTime,wc.state,t.community_id communityId,t.create_time createTime,
        td.`name` stateName,wt.type_name typeName,wc.staff_name curCopyName,wc.copy_id copyId
        from work_pool t
        left join work_type wt on t.wt_id = wt.wt_id
        left join work_copy wc on t.work_id = wc.work_id and wc.status_cd = '0'
        left join t_dict td on wc.state = td.status_cd and td.table_name = 'work_pool' and td.table_columns = 'state'
        where 1 =1
        <if test="workCycle !=null and workCycle != ''">
            and t.work_cycle= #{workCycle}
        </if>
        <if test="staffId !=null and staffId != ''">
            and wc.staff_id= #{staffId}
        </if>
        <if test="staffName !=null and staffName != ''">
            and wc.staff_name = #{staffName}
        </if>
        <if test="statusCd !=null and statusCd != ''">
            and t.status_cd= #{statusCd}
        </if>
        <if test="storeId !=null and storeId != ''">
            and t.store_id= #{storeId}
        </if>
        <if test="workName !=null and workName != ''">
            and t.work_name= #{workName}
        </if>
        <if test="workId !=null and workId != ''">
            and t.work_id= #{workId}
        </if>
        <if test="wtId !=null and wtId != ''">
            and t.wt_id= #{wtId}
        </if>
        <if test="queryStartTime !=null and queryStartTime !=''">
            and wc.create_time &gt;= #{queryStartTime}
        </if>
        <if test="queryEndTime !=null and queryEndTime !=''">
            and wc.create_time &lt;= #{queryEndTime}
        </if>
        <if test="state !=null and state != ''">
            and wc.state= #{state}
        </if>
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
        order by wc.create_time desc
        <if test="page != -1 and page != null ">
            limit #{page}, #{row}
        </if>
    </select>
</mapper>
java110-interface/src/main/java/com/java110/intf/oa/IWorkPoolV1InnerServiceSMO.java
@@ -71,4 +71,10 @@
    @RequestMapping(value = "/queryTaskWorkPools", method = RequestMethod.POST)
    List<WorkPoolDto> queryTaskWorkPools(@RequestBody WorkPoolDto workPoolDto);
    @RequestMapping(value = "/queryCopyWorkPoolsCount", method = RequestMethod.POST)
    int queryCopyWorkPoolsCount(@RequestBody WorkPoolDto workPoolDto);
    @RequestMapping(value = "/queryCopyWorkPools", method = RequestMethod.POST)
    List<WorkPoolDto> queryCopyWorkPools(@RequestBody WorkPoolDto workPoolDto);
}
service-oa/src/main/java/com/java110/oa/cmd/work/QueryCopyWorkCmd.java
New file
@@ -0,0 +1,121 @@
package com.java110.oa.cmd.work;
import com.alibaba.fastjson.JSONObject;
import com.java110.core.annotation.Java110Cmd;
import com.java110.core.context.CmdContextUtils;
import com.java110.core.context.ICmdDataFlowContext;
import com.java110.core.event.cmd.Cmd;
import com.java110.core.event.cmd.CmdEvent;
import com.java110.dto.workCopy.WorkCopyDto;
import com.java110.dto.workPool.WorkPoolDto;
import com.java110.dto.workTask.WorkTaskDto;
import com.java110.intf.oa.*;
import com.java110.utils.exception.CmdException;
import com.java110.utils.util.BeanConvertUtil;
import com.java110.utils.util.ListUtil;
import com.java110.vo.ResultVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.List;
/**
 * 根据抄送人查询工作单
 */
@Java110Cmd(serviceCode = "work.queryCopyWork")
public class QueryCopyWorkCmd extends Cmd {
    @Autowired
    private IWorkPoolV1InnerServiceSMO workPoolV1InnerServiceSMOImpl;
    @Autowired
    private IWorkTaskV1InnerServiceSMO workTaskV1InnerServiceSMOImpl;
    @Autowired
    private IWorkCopyV1InnerServiceSMO workCopyV1InnerServiceSMOImpl;
    @Autowired
    private IWorkPoolFileV1InnerServiceSMO workPoolFileV1InnerServiceSMOImpl;
    @Autowired
    private IWorkPoolContentV1InnerServiceSMO workPoolContentV1InnerServiceSMOImpl;
    @Override
    public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
        super.validatePageInfo(reqJson);
        String storeId = CmdContextUtils.getStoreId(context);
        reqJson.put("storeId", storeId);
    }
    @Override
    public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
        WorkPoolDto workPoolDto = BeanConvertUtil.covertBean(reqJson, WorkPoolDto.class);
        String userId = CmdContextUtils.getUserId(context);
        workPoolDto.setStaffId(userId);
        int count = workPoolV1InnerServiceSMOImpl.queryCopyWorkPoolsCount(workPoolDto);
        List<WorkPoolDto> workPoolDtos = null;
        if (count > 0) {
            workPoolDtos = workPoolV1InnerServiceSMOImpl.queryCopyWorkPools(workPoolDto);
        } else {
            workPoolDtos = new ArrayList<>();
        }
        //todo 查询 处理人 和抄送人
        queryTask(workPoolDtos);
        ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) reqJson.getInteger("row")), count, workPoolDtos);
        ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
        context.setResponseEntity(responseEntity);
    }
    private void queryTask(List<WorkPoolDto> workPoolDtos) {
        if (ListUtil.isNull(workPoolDtos)) {
            return;
        }
        List<String> workIds = new ArrayList<>();
        for (WorkPoolDto workPoolDto : workPoolDtos) {
            workIds.add(workPoolDto.getWorkId());
        }
        WorkTaskDto workTaskDto = new WorkTaskDto();
        workTaskDto.setWorkIds(workIds.toArray(new String[workIds.size()]));
        List<WorkTaskDto> workTaskDtos = workTaskV1InnerServiceSMOImpl.queryWorkTasks(workTaskDto);
        String curStaffName = "";
        for (WorkPoolDto workPoolDto : workPoolDtos) {
            curStaffName = "";
            for (WorkTaskDto tmpWorkTaskDto : workTaskDtos) {
                if (!WorkTaskDto.STATE_WAIT.equals(tmpWorkTaskDto.getState())) {
                    continue;
                }
                if (!workPoolDto.getWorkId().equals(tmpWorkTaskDto.getWorkId())) {
                    continue;
                }
                if (curStaffName.split(",").length > 2) {
                    continue;
                }
                curStaffName += (tmpWorkTaskDto.getStaffName() + ",");
            }
            workPoolDto.setCurStaffName(curStaffName);
        }
    }
}
service-oa/src/main/java/com/java110/oa/dao/IWorkPoolV1ServiceDao.java
@@ -74,4 +74,8 @@
    int queryTaskWorkPoolsCount(Map info);
    List<Map> queryTaskWorkPools(Map info);
    int queryCopyWorkPoolsCount(Map info);
    List<Map> queryCopyWorkPools(Map info);
}
service-oa/src/main/java/com/java110/oa/dao/impl/WorkPoolV1ServiceDaoImpl.java
@@ -129,5 +129,26 @@
        return infos;
    }
    @Override
    public int queryCopyWorkPoolsCount(Map info) {
        logger.debug("查询 queryTaskWorkPoolsCount 入参 info : {}",info);
        List<Map> infos = sqlSessionTemplate.selectList("workPoolV1ServiceDaoImpl.queryCopyWorkPoolsCount", info);
        if (infos.size() < 1) {
            return 0;
        }
        return Integer.parseInt(infos.get(0).get("count").toString());
    }
    @Override
    public List<Map> queryCopyWorkPools(Map info) {
        logger.debug("查询 queryTaskWorkPools 入参 info : {}",info);
        List<Map> infos = sqlSessionTemplate.selectList("workPoolV1ServiceDaoImpl.queryCopyWorkPools",info);
        return infos;
    }
}
service-oa/src/main/java/com/java110/oa/smo/impl/WorkPoolV1InnerServiceSMOImpl.java
@@ -108,4 +108,26 @@
        return workPools;
    }
    @Override
    public int queryCopyWorkPoolsCount(@RequestBody WorkPoolDto workPoolDto) {
        return workPoolV1ServiceDaoImpl.queryCopyWorkPoolsCount(BeanConvertUtil.beanCovertMap(workPoolDto));
    }
    @Override
    public List<WorkPoolDto> queryCopyWorkPools(@RequestBody WorkPoolDto workPoolDto) {
        //校验是否传了 分页信息
        int page = workPoolDto.getPage();
        if (page != PageDto.DEFAULT_PAGE) {
            workPoolDto.setPage((page - 1) * workPoolDto.getRow());
        }
        List<WorkPoolDto> workPools = BeanConvertUtil.covertBeanList(
                workPoolV1ServiceDaoImpl.queryCopyWorkPools(BeanConvertUtil.beanCovertMap(workPoolDto)),
                WorkPoolDto.class);
        return workPools;
    }
}