From 297ba5938ca64291f4b74a056fa381dbf410825f Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期三, 27 十二月 2023 09:56:06 +0800
Subject: [PATCH] 抄送我的工单查看
---
service-oa/src/main/java/com/java110/oa/dao/IWorkPoolV1ServiceDao.java | 4
java110-db/src/main/resources/mapper/oa/WorkPoolV1ServiceDaoImplMapper.xml | 104 ++++++++++++++++++++
java110-bean/src/main/java/com/java110/dto/workPool/WorkPoolDto.java | 10 ++
service-oa/src/main/java/com/java110/oa/cmd/work/QueryCopyWorkCmd.java | 121 ++++++++++++++++++++++++
service-oa/src/main/java/com/java110/oa/dao/impl/WorkPoolV1ServiceDaoImpl.java | 21 ++++
service-oa/src/main/java/com/java110/oa/smo/impl/WorkPoolV1InnerServiceSMOImpl.java | 22 ++++
java110-interface/src/main/java/com/java110/intf/oa/IWorkPoolV1InnerServiceSMO.java | 6 +
7 files changed, 288 insertions(+), 0 deletions(-)
diff --git a/java110-bean/src/main/java/com/java110/dto/workPool/WorkPoolDto.java b/java110-bean/src/main/java/com/java110/dto/workPool/WorkPoolDto.java
index e77c39f..21e600c 100644
--- a/java110-bean/src/main/java/com/java110/dto/workPool/WorkPoolDto.java
+++ b/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;
+ }
}
diff --git a/java110-db/src/main/resources/mapper/oa/WorkPoolV1ServiceDaoImplMapper.xml b/java110-db/src/main/resources/mapper/oa/WorkPoolV1ServiceDaoImplMapper.xml
index 015fa4d..5d1441e 100644
--- a/java110-db/src/main/resources/mapper/oa/WorkPoolV1ServiceDaoImplMapper.xml
+++ b/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 >= #{queryStartTime}
+ </if>
+ <if test="queryEndTime !=null and queryEndTime !=''">
+ and wc.create_time <= #{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 >= #{queryStartTime}
+ </if>
+ <if test="queryEndTime !=null and queryEndTime !=''">
+ and wc.create_time <= #{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>
diff --git a/java110-interface/src/main/java/com/java110/intf/oa/IWorkPoolV1InnerServiceSMO.java b/java110-interface/src/main/java/com/java110/intf/oa/IWorkPoolV1InnerServiceSMO.java
index 581ab07..d743e3d 100644
--- a/java110-interface/src/main/java/com/java110/intf/oa/IWorkPoolV1InnerServiceSMO.java
+++ b/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);
}
diff --git a/service-oa/src/main/java/com/java110/oa/cmd/work/QueryCopyWorkCmd.java b/service-oa/src/main/java/com/java110/oa/cmd/work/QueryCopyWorkCmd.java
new file mode 100644
index 0000000..d462d46
--- /dev/null
+++ b/service-oa/src/main/java/com/java110/oa/cmd/work/QueryCopyWorkCmd.java
@@ -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);
+ }
+
+ }
+}
diff --git a/service-oa/src/main/java/com/java110/oa/dao/IWorkPoolV1ServiceDao.java b/service-oa/src/main/java/com/java110/oa/dao/IWorkPoolV1ServiceDao.java
index 99fe521..a0aa8df 100644
--- a/service-oa/src/main/java/com/java110/oa/dao/IWorkPoolV1ServiceDao.java
+++ b/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);
}
diff --git a/service-oa/src/main/java/com/java110/oa/dao/impl/WorkPoolV1ServiceDaoImpl.java b/service-oa/src/main/java/com/java110/oa/dao/impl/WorkPoolV1ServiceDaoImpl.java
index 60bf51e..c4f13e7 100644
--- a/service-oa/src/main/java/com/java110/oa/dao/impl/WorkPoolV1ServiceDaoImpl.java
+++ b/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;
+ }
+
}
diff --git a/service-oa/src/main/java/com/java110/oa/smo/impl/WorkPoolV1InnerServiceSMOImpl.java b/service-oa/src/main/java/com/java110/oa/smo/impl/WorkPoolV1InnerServiceSMOImpl.java
index 633b419..3951269 100644
--- a/service-oa/src/main/java/com/java110/oa/smo/impl/WorkPoolV1InnerServiceSMOImpl.java
+++ b/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;
+ }
+
}
--
Gitblit v1.8.0