diff --git a/inventory-dao/src/main/java/com/rzyc/bean/FactorTime.java b/inventory-dao/src/main/java/com/rzyc/bean/FactorTime.java index a9ee8d7..c0172df 100644 --- a/inventory-dao/src/main/java/com/rzyc/bean/FactorTime.java +++ b/inventory-dao/src/main/java/com/rzyc/bean/FactorTime.java @@ -1,11 +1,31 @@ package com.rzyc.bean; +import io.swagger.annotations.ApiModelProperty; + import java.util.Date; +/** + * 履职清单的履职记录完成情况 + * @version v1.0 + * @author dong + * @date 2023/8/16 17:08 + */ public class FactorTime { + @ApiModelProperty("时间") private Date changeTime; + @ApiModelProperty("id") + private String relationId; + + public String getRelationId() { + return relationId; + } + + public void setRelationId(String relationId) { + this.relationId = relationId; + } + public Date getChangeTime() { return changeTime; } diff --git a/inventory-dao/src/main/java/com/rzyc/mapper/OATaskMapper.java b/inventory-dao/src/main/java/com/rzyc/mapper/OATaskMapper.java index 99f20df..3eb4bb7 100644 --- a/inventory-dao/src/main/java/com/rzyc/mapper/OATaskMapper.java +++ b/inventory-dao/src/main/java/com/rzyc/mapper/OATaskMapper.java @@ -158,5 +158,8 @@ public interface OATaskMapper extends BaseMapper { /*未完成履职任务*/ List notCompleteTask(); + /*履职记录对于的任务*/ + List detailTasks(@Param("detailId") String detailId); + } diff --git a/inventory-dao/src/main/java/com/rzyc/mapper/user/ListDetailMapper.java b/inventory-dao/src/main/java/com/rzyc/mapper/user/ListDetailMapper.java index 2935478..f6cac5d 100644 --- a/inventory-dao/src/main/java/com/rzyc/mapper/user/ListDetailMapper.java +++ b/inventory-dao/src/main/java/com/rzyc/mapper/user/ListDetailMapper.java @@ -55,6 +55,10 @@ public interface ListDetailMapper { @Param("condition") String condition, @Param("year") String year); + /*履职记录详情*/ + ListDetailWithBLOBs findByDetailId(@Param("detailId") String detailId); + + /*修改删除状态*/ Integer changeSelState(@Param("listdetailid") String listdetailid, @Param("delState") Integer delState, diff --git a/inventory-dao/src/main/java/com/rzyc/mapper/user/ListFactorMapper.java b/inventory-dao/src/main/java/com/rzyc/mapper/user/ListFactorMapper.java index f5b1bf2..a3ae60d 100644 --- a/inventory-dao/src/main/java/com/rzyc/mapper/user/ListFactorMapper.java +++ b/inventory-dao/src/main/java/com/rzyc/mapper/user/ListFactorMapper.java @@ -94,4 +94,7 @@ public interface ListFactorMapper { /*按年份查询*/ List findBySysYear(@Param("sysYear") String sysYear); + + /*履职记录关联的履职清单*/ + List detailFactors(@Param("detailId") String detailId); } diff --git a/inventory-dao/src/main/java/com/rzyc/mapper/user/ListRelationMapper.java b/inventory-dao/src/main/java/com/rzyc/mapper/user/ListRelationMapper.java index a76adba..5a31af5 100644 --- a/inventory-dao/src/main/java/com/rzyc/mapper/user/ListRelationMapper.java +++ b/inventory-dao/src/main/java/com/rzyc/mapper/user/ListRelationMapper.java @@ -2,6 +2,7 @@ package com.rzyc.mapper.user; import com.rzyc.model.user.ListRelation; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; import javax.annotation.Resource; @@ -17,4 +18,7 @@ import javax.annotation.Resource; @Repository public interface ListRelationMapper extends BaseMapper { + /*删除清单记录关系数据*/ + Integer delByTargetId(@Param("targetId") String targetId, @Param("targetType") Integer targetType ); + } diff --git a/inventory-dao/src/main/java/com/rzyc/model/user/ListDetail.java b/inventory-dao/src/main/java/com/rzyc/model/user/ListDetail.java index fa0f06e..d85087f 100644 --- a/inventory-dao/src/main/java/com/rzyc/model/user/ListDetail.java +++ b/inventory-dao/src/main/java/com/rzyc/model/user/ListDetail.java @@ -1,6 +1,7 @@ package com.rzyc.model.user; import com.fasterxml.jackson.annotation.JsonFormat; +import com.rzyc.model.OATask; import com.rzyc.model.check.BookEntCheck; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -80,8 +81,30 @@ public class ListDetail implements Serializable { @ApiModelProperty("检查记录") private List entChecks = new ArrayList<>(); + @ApiModelProperty("清单列表") + private List factors; + + @ApiModelProperty("任务列表") + private List tasks; + private static final long serialVersionUID = 1L; + public List getFactors() { + return factors; + } + + public void setFactors(List factors) { + this.factors = factors; + } + + public List getTasks() { + return tasks; + } + + public void setTasks(List tasks) { + this.tasks = tasks; + } + public String getTaskName() { return taskName; } diff --git a/inventory-dao/src/main/resources/mapper/OATaskMapper.xml b/inventory-dao/src/main/resources/mapper/OATaskMapper.xml index 33da4d2..e540279 100644 --- a/inventory-dao/src/main/resources/mapper/OATaskMapper.xml +++ b/inventory-dao/src/main/resources/mapper/OATaskMapper.xml @@ -679,5 +679,12 @@ AND ot.`TaskType` = '履职任务' + + + diff --git a/inventory-dao/src/main/resources/mapper/user/ListDetailMapper.xml b/inventory-dao/src/main/resources/mapper/user/ListDetailMapper.xml index f4513e7..da7cddf 100644 --- a/inventory-dao/src/main/resources/mapper/user/ListDetailMapper.xml +++ b/inventory-dao/src/main/resources/mapper/user/ListDetailMapper.xml @@ -446,6 +446,16 @@ + + + + + + + + diff --git a/inventory-dao/src/main/resources/mapper/user/ListFactorMapper.xml b/inventory-dao/src/main/resources/mapper/user/ListFactorMapper.xml index f360be2..76f8556 100644 --- a/inventory-dao/src/main/resources/mapper/user/ListFactorMapper.xml +++ b/inventory-dao/src/main/resources/mapper/user/ListFactorMapper.xml @@ -495,12 +495,27 @@ + + + + + + + SELECT lf.`ListPerformId`,lf.`CheckStandard`,lf.`Frequency`, + (SELECT COUNT(*) FROM list_relation lr + WHERE lr.target_id = lf.`ListFactorId` and lr.target_type = 1) factorNum + FROM ListFactor lf + WHERE lf.`ListPerformId` IN + + #{performId} + + AND lf.`SysYear` = #{year} + AND lf.del_state = 1 + ORDER BY lf.`SortId` ASC ,lf.`ListNum` ASC + + + + + + + diff --git a/inventory-dao/src/main/resources/mapper/user/ListRelationMapper.xml b/inventory-dao/src/main/resources/mapper/user/ListRelationMapper.xml index 3fb851b..2afda90 100644 --- a/inventory-dao/src/main/resources/mapper/user/ListRelationMapper.xml +++ b/inventory-dao/src/main/resources/mapper/user/ListRelationMapper.xml @@ -19,4 +19,9 @@ relation_id, detail_id, target_id, target_type, create_by, create_time, modify_by, modify_time + + + DELETE FROM list_relation WHERE target_id = #{targetId} AND target_type = #{targetType} + + diff --git a/inventory-gov/src/main/java/com/rzyc/controller/BaseController.java b/inventory-gov/src/main/java/com/rzyc/controller/BaseController.java index 5718e5b..9d25509 100644 --- a/inventory-gov/src/main/java/com/rzyc/controller/BaseController.java +++ b/inventory-gov/src/main/java/com/rzyc/controller/BaseController.java @@ -2414,7 +2414,7 @@ public class BaseController { total = 0l; } total++; - ListFactor listFactor = listFactorMapper.selectByPrimaryKey(listfactorid); + ListFactor listFactor = listFactorMapper.selectByPrimaryKey(oaTask.getOtcid()); if(null == listFactor.getFrequency()){ listFactor.setFrequency(1); } diff --git a/inventory-gov/src/main/java/com/rzyc/controller/PcPersonalController.java b/inventory-gov/src/main/java/com/rzyc/controller/PcPersonalController.java index d787097..e1ca211 100644 --- a/inventory-gov/src/main/java/com/rzyc/controller/PcPersonalController.java +++ b/inventory-gov/src/main/java/com/rzyc/controller/PcPersonalController.java @@ -682,6 +682,18 @@ public class PcPersonalController extends com.rzyc.controller.BaseController { listDetail.setFactorCnt(listFactor.getFactorcnt()); } + //履职清单 + List factors = listFactorMapper.detailFactors(listDetail.getListdetailid()); + if(null != factors && factors.size() > 0){ + listDetail.setFactors(factors); + } + + //履职任务 + List tasks = oaTaskMapper.detailTasks(listDetail.getListdetailid()); + if(null != tasks && tasks.size() > 0){ + listDetail.setTasks(tasks); + } + result.setData(listDetail); }else{ result.setCode(Code.NO_DATA.getCode()); @@ -1182,6 +1194,39 @@ public class PcPersonalController extends com.rzyc.controller.BaseController { return result; } + /** + * 履职记录详情 + * @version v1.0 + * @author dong + * @date 2023/8/16 15:50 + */ + @LoginAuth + @ApiOperation(value = "履职记录详情", notes = "履职记录详情") + @GetMapping(value = "performRecordDetail/{listdetailid}") + @ApiImplicitParam(name = "listdetailid",value = "履职记录id",required = true) + @ResponseBody + public SingleResult performRecordDetail(@PathVariable String listdetailid)throws Exception{ + SingleResult result = new SingleResult<>(); + ListDetailWithBLOBs detail = listDetailMapper.findByDetailId(listdetailid); + if(null != detail){ + + //履职清单 + List factors = listFactorMapper.detailFactors(detail.getListdetailid()); + if(null != factors && factors.size() > 0){ + detail.setFactors(factors); + } + + //履职任务 + List tasks = oaTaskMapper.detailTasks(detail.getListdetailid()); + if(null != tasks && tasks.size() > 0){ + detail.setTasks(tasks); + } + + } + result.setData(detail); + return result; + } + /** * 履职变更记录 * @version v1.0 @@ -1238,6 +1283,22 @@ public class PcPersonalController extends com.rzyc.controller.BaseController { //清单id 多个逗号隔开 String listfactorid = addPerformRecordDto.getListfactorid(); + //处理清单和任务信息 + handleFactorAndTask(listfactorid,addPerformRecordDto,listDetail,chinaName); + + + System.out.println("listDetail -> "+JSONArray.toJSONString(listDetail)); + return result; + } + + /** + * 新增或者修改履职记录之后处理清单和任务信息 + * @version v1.0 + * @author dong + * @date 2023/8/16 16:20 + */ + private void handleFactorAndTask(String listfactorid,AddPerformRecordDto addPerformRecordDto,ListDetailWithBLOBs listDetail,String chinaName)throws Exception{ + //新增履职修改记录 和 新增履职关联信息 addFacotrRelation(listfactorid,addPerformRecordDto.getWorkcnt(),listDetail.getListdetailid(),chinaName); @@ -1261,12 +1322,14 @@ public class PcPersonalController extends com.rzyc.controller.BaseController { //修改任务状态 changeTaskState(oaTask,listfactorid); } + + //先删除清单关联信息 + listRelationMapper.delByTargetId(listDetail.getListdetailid(),ListTargerType.TASK.getType()); //新增履职记录关联 addListRelation(listDetail.getListdetailid(),str,ListTargerType.TASK.getType()); } } System.out.println("listDetail -> "+JSONArray.toJSONString(listDetail)); - return result; } /** @@ -1276,7 +1339,6 @@ public class PcPersonalController extends com.rzyc.controller.BaseController { * @date 2023/8/16 14:02 */ private void addFacotrRelation(String listfactorid,String workcnt,String listdetailid,String chinaName)throws Exception{ - //清单id //清单id if(StringUtils.isNotBlank(listfactorid)){ String[] listfactorids = listfactorid.split(","); @@ -1287,6 +1349,10 @@ public class PcPersonalController extends com.rzyc.controller.BaseController { String content = "新增履职记录:"+workcnt; addListChange(listFactor.getListperformid(),listFactor.getListfactorid(),content); } + + //先删除清单关联信息 + listRelationMapper.delByTargetId(listdetailid,ListTargerType.LIST.getType()); + //新增履职记录关联 for (String str : listfactorids){ addListRelation(listdetailid,str,ListTargerType.LIST.getType()); @@ -1365,9 +1431,12 @@ public class PcPersonalController extends com.rzyc.controller.BaseController { listDetailMapper.changeListDetail(listDetail); //清单id - String listfactorid = listDetail.getListfactorid(); + String listfactorid = addPerformRecordDto.getListfactorid(); - //修改履职档案完成情况 + //处理清单和任务信息 + handleFactorAndTask(listfactorid,addPerformRecordDto,listDetail,chinaName); + + /*//修改履职档案完成情况 factorProgres(listfactorid); //如果是通过任务添加的履职信息 @@ -1384,7 +1453,7 @@ public class PcPersonalController extends com.rzyc.controller.BaseController { } } - System.out.println("listDetail -> "+JSONArray.toJSONString(listDetail)); + System.out.println("listDetail -> "+JSONArray.toJSONString(listDetail));*/ return result; }