From 74e19b584b3537bd9beedbad813df8edb8ecfca4 Mon Sep 17 00:00:00 2001 From: mythxb Date: Wed, 16 Aug 2023 15:29:22 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B1=A5=E8=81=8C=E8=AE=B0=E5=BD=95=E4=B8=8A?= =?UTF-8?q?=E4=BC=A0=E5=B1=A5=E8=81=8C=E6=B8=85=E5=8D=95=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E5=A4=9A=E9=80=89=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bean/user/dto/AddPerformRecordDto.java | 2 +- .../java/com/rzyc/config/CodeGenerator.java | 6 +- .../java/com/rzyc/enums/ListTargerType.java | 28 ++++ .../java/com/rzyc/mapper/OATaskMapper.java | 3 + .../rzyc/mapper/user/ListDetailMapper.java | 3 + .../rzyc/mapper/user/ListRelationMapper.java | 20 +++ .../com/rzyc/model/user/ListRelation.java | 127 ++++++++++++++++++ .../main/resources/mapper/OATaskMapper.xml | 15 +++ .../mapper/user/ListDetailMapper.xml | 11 ++ .../mapper/user/ListRelationMapper.xml | 22 +++ .../com/rzyc/controller/BaseController.java | 10 +- .../com/rzyc/controller/DataController.java | 29 ++++ .../rzyc/controller/PcPersonalController.java | 90 ++++++++++--- 13 files changed, 340 insertions(+), 26 deletions(-) create mode 100644 inventory-dao/src/main/java/com/rzyc/enums/ListTargerType.java create mode 100644 inventory-dao/src/main/java/com/rzyc/mapper/user/ListRelationMapper.java create mode 100644 inventory-dao/src/main/java/com/rzyc/model/user/ListRelation.java create mode 100644 inventory-dao/src/main/resources/mapper/user/ListRelationMapper.xml diff --git a/inventory-dao/src/main/java/com/rzyc/bean/user/dto/AddPerformRecordDto.java b/inventory-dao/src/main/java/com/rzyc/bean/user/dto/AddPerformRecordDto.java index eac2d8d..a3862c5 100644 --- a/inventory-dao/src/main/java/com/rzyc/bean/user/dto/AddPerformRecordDto.java +++ b/inventory-dao/src/main/java/com/rzyc/bean/user/dto/AddPerformRecordDto.java @@ -13,7 +13,7 @@ public class AddPerformRecordDto { private String listdetailid; @NotNull(message = "清单不能为空") - @ApiModelProperty(value = "清单id",required = true) + @ApiModelProperty(value = "清单id 多个逗号隔开",required = true) private String listfactorid; @NotNull(message = "用户不能为空") diff --git a/inventory-dao/src/main/java/com/rzyc/config/CodeGenerator.java b/inventory-dao/src/main/java/com/rzyc/config/CodeGenerator.java index 4ffb2a7..44e110b 100644 --- a/inventory-dao/src/main/java/com/rzyc/config/CodeGenerator.java +++ b/inventory-dao/src/main/java/com/rzyc/config/CodeGenerator.java @@ -35,10 +35,10 @@ public class CodeGenerator { public static String packgerParent = "com.rzyc"; //mysql相关信息 - public static String url = "jdbc:mysql://121.40.106.103:3306/inventory_db?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8&useSSL=false"; + public static String url = "jdbc:mysql://42.193.40.239:33063/inventory_23?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8&useSSL=false"; public static String DriverName = "com.mysql.cj.jdbc.Driver"; - public static String Username = "rzyc"; - public static String Password = "admin@rzyc2022.com##"; + public static String Username = "zyjy"; + public static String Password = "eaNCBySJdHLb23GW"; diff --git a/inventory-dao/src/main/java/com/rzyc/enums/ListTargerType.java b/inventory-dao/src/main/java/com/rzyc/enums/ListTargerType.java new file mode 100644 index 0000000..99a7fae --- /dev/null +++ b/inventory-dao/src/main/java/com/rzyc/enums/ListTargerType.java @@ -0,0 +1,28 @@ +package com.rzyc.enums; + +/** + * 履职记录目标类型 1、履职清单 2、履职任务 + * @version v1.0 + * @author dong + * @date 2023/8/16 13:41 + */ +public enum ListTargerType { + + + LIST(1), + TASK(2); + + private Integer type; + + ListTargerType(Integer type) { + this.type = type; + } + + public Integer getType() { + return type; + } + + public void setType(Integer type) { + this.type = type; + } +} 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 ae94e83..99f20df 100644 --- a/inventory-dao/src/main/java/com/rzyc/mapper/OATaskMapper.java +++ b/inventory-dao/src/main/java/com/rzyc/mapper/OATaskMapper.java @@ -86,6 +86,9 @@ public interface OATaskMapper extends BaseMapper { /*任务详情*/ OATask findById(@Param("taskId") String taskId); + /*未完成的履职任务*/ + List notFinishTasks(@Param("otcIds") List otcIds); + /*未完成的履职任务*/ List notFinishTask(@Param("otcId") String otcId); 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 2fa3ffa..2935478 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 @@ -63,4 +63,7 @@ public interface ListDetailMapper { String selectIdByTaskId(@Param("oaTaskId")String oaTaskId); + /*查询所有*/ + List findAll(); + } 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 new file mode 100644 index 0000000..a76adba --- /dev/null +++ b/inventory-dao/src/main/java/com/rzyc/mapper/user/ListRelationMapper.java @@ -0,0 +1,20 @@ +package com.rzyc.mapper.user; + +import com.rzyc.model.user.ListRelation; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.springframework.stereotype.Repository; + +import javax.annotation.Resource; + +/** + *

+ * 履职关联 Mapper 接口 + *

+ * + * @author + * @since 2023-08-16 + */ +@Repository +public interface ListRelationMapper extends BaseMapper { + +} diff --git a/inventory-dao/src/main/java/com/rzyc/model/user/ListRelation.java b/inventory-dao/src/main/java/com/rzyc/model/user/ListRelation.java new file mode 100644 index 0000000..8b715b8 --- /dev/null +++ b/inventory-dao/src/main/java/com/rzyc/model/user/ListRelation.java @@ -0,0 +1,127 @@ +package com.rzyc.model.user; + +import com.baomidou.mybatisplus.annotation.TableName; +import java.util.Date; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableField; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + *

+ * 履职关联 + *

+ * + * @author + * @since 2023-08-16 + */ +@TableName("list_relation") +@ApiModel(value="ListRelation对象", description="履职关联") +public class ListRelation implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "关联id") + @TableId("relation_id") + private String relationId; + + @ApiModelProperty(value = "履职记录id") + @TableField("detail_id") + private String detailId; + + @ApiModelProperty(value = "目标id") + @TableField("target_id") + private String targetId; + + @ApiModelProperty(value = "目标类型 1、履职清单 2、履职任务") + @TableField("target_type") + private Integer targetType; + + @ApiModelProperty(value = "创建人") + @TableField("create_by") + private String createBy; + + @ApiModelProperty(value = "创建时间") + @TableField("create_time") + private Date createTime; + + @ApiModelProperty(value = "修改人") + @TableField("modify_by") + private String modifyBy; + + @ApiModelProperty(value = "修改时间") + @TableField("modify_time") + private Date modifyTime; + + public String getRelationId() { + return relationId; + } + + public void setRelationId(String relationId) { + this.relationId = relationId; + } + public String getDetailId() { + return detailId; + } + + public void setDetailId(String detailId) { + this.detailId = detailId; + } + public String getTargetId() { + return targetId; + } + + public void setTargetId(String targetId) { + this.targetId = targetId; + } + public Integer getTargetType() { + return targetType; + } + + public void setTargetType(Integer targetType) { + this.targetType = targetType; + } + public String getCreateBy() { + return createBy; + } + + public void setCreateBy(String createBy) { + this.createBy = createBy; + } + public Date getCreateTime() { + return createTime; + } + + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } + public String getModifyBy() { + return modifyBy; + } + + public void setModifyBy(String modifyBy) { + this.modifyBy = modifyBy; + } + public Date getModifyTime() { + return modifyTime; + } + + public void setModifyTime(Date modifyTime) { + this.modifyTime = modifyTime; + } + + @Override + public String toString() { + return "ListRelation{" + + "relationId=" + relationId + + ", detailId=" + detailId + + ", targetId=" + targetId + + ", targetType=" + targetType + + ", createBy=" + createBy + + ", createTime=" + createTime + + ", modifyBy=" + modifyBy + + ", modifyTime=" + modifyTime + + "}"; + } +} diff --git a/inventory-dao/src/main/resources/mapper/OATaskMapper.xml b/inventory-dao/src/main/resources/mapper/OATaskMapper.xml index 13ee64a..33da4d2 100644 --- a/inventory-dao/src/main/resources/mapper/OATaskMapper.xml +++ b/inventory-dao/src/main/resources/mapper/OATaskMapper.xml @@ -342,6 +342,21 @@ + + + + + SELECT COUNT(*) FROM list_relation lr + WHERE lr.`target_id` = #{listFactorId} + + + + + SELECT * FROM `listdetail` ld + diff --git a/inventory-dao/src/main/resources/mapper/user/ListRelationMapper.xml b/inventory-dao/src/main/resources/mapper/user/ListRelationMapper.xml new file mode 100644 index 0000000..3fb851b --- /dev/null +++ b/inventory-dao/src/main/resources/mapper/user/ListRelationMapper.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + relation_id, detail_id, target_id, target_type, create_by, create_time, modify_by, modify_time + + + 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 14ac1c1..5718e5b 100644 --- a/inventory-gov/src/main/java/com/rzyc/controller/BaseController.java +++ b/inventory-gov/src/main/java/com/rzyc/controller/BaseController.java @@ -568,9 +568,14 @@ public class BaseController { @Autowired protected EntUserCredentialMapper entUserCredentialMapper; + //app使用帮助 @Autowired protected AppHelpVersionMapper appHelpVersionMapper; + //履职记录关联信息 + @Autowired + protected ListRelationMapper listRelationMapper; + /** * 岗位不需要的字符串 @@ -2307,6 +2312,8 @@ public class BaseController { for (UserDepart userDepart : userDeparts){ + userDepart.setPostName(userDepart.getUnitName()+userDepart.getPostName()+"("+userDepart.getUserName()+")"); + Integer completion = 0; /** @@ -2373,7 +2380,8 @@ public class BaseController { if(StringUtils.isNotBlank(userId)){ SysUser sysUser = sysUserMapper.findById(userId); if(null != sysUser){ - chinaName = sysUser.getChinaname(); +// chinaName = sysUser.getChinaname(); + chinaName = sysUser.getSysuserid(); } } return chinaName; diff --git a/inventory-gov/src/main/java/com/rzyc/controller/DataController.java b/inventory-gov/src/main/java/com/rzyc/controller/DataController.java index 4c22315..7506ee9 100644 --- a/inventory-gov/src/main/java/com/rzyc/controller/DataController.java +++ b/inventory-gov/src/main/java/com/rzyc/controller/DataController.java @@ -8,6 +8,7 @@ import com.common.utils.TypeConversion; import com.common.utils.encryption.PasswdFactory; import com.common.utils.model.SingleResult; import com.rzyc.enums.DelState; +import com.rzyc.enums.ListTargerType; import com.rzyc.model.*; import com.rzyc.model.check.ChkBillDetailWithBLOBs; import com.rzyc.model.ent.SysEnterprise; @@ -1152,4 +1153,32 @@ public class DataController extends com.rzyc.controller.BaseController { return result; } + /** + * 处理履职记录 + * @version v1.0 + * @author dong + * @date 2023/8/16 15:11 + */ + @ApiOperation(value = "处理履职记录", notes = "处理履职记录") + @RequestMapping(value = "/listRelation", method = RequestMethod.POST) + @ResponseBody + public SingleResult listRelation()throws Exception{ + SingleResult result = new SingleResult<>(); + List details = listDetailMapper.findAll(); + for (ListDetail listDetail : details){ + ListRelation relation = new ListRelation(); + relation.setRelationId(RandomNumber.getUUid()); + relation.setDetailId(listDetail.getListdetailid()); + relation.setTargetId(listDetail.getListfactorid()); + relation.setTargetType(ListTargerType.LIST.getType()); + relation.setCreateTime(new Date()); + relation.setCreateBy("导入"); + relation.setModifyTime(new Date()); + relation.setModifyTime(new Date()); + relation.setModifyBy("导入"); + listRelationMapper.insert(relation); + } + return result; + } + } 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 f443581..d787097 100644 --- a/inventory-gov/src/main/java/com/rzyc/controller/PcPersonalController.java +++ b/inventory-gov/src/main/java/com/rzyc/controller/PcPersonalController.java @@ -1215,6 +1215,7 @@ public class PcPersonalController extends com.rzyc.controller.BaseController { @ApiOperation(value = "新增履职记录", notes = "新增履职记录") @PostMapping(value = "addPerformRecord") @ResponseBody + @Transactional public SingleResult addPerformRecord(@Valid @RequestBody AddPerformRecordDto addPerformRecordDto)throws Exception{ SingleResult result = new SingleResult<>(); ListDetailWithBLOBs listDetail = new ListDetailWithBLOBs(); @@ -1232,23 +1233,23 @@ public class PcPersonalController extends com.rzyc.controller.BaseController { listDetail.setTaskId(addPerformRecordDto.getTaskId()); listDetail.setIsfinish(IsFinish.YES.getFinish()); listDetail.setDelState(DelState.NOT_DEL.getState()); - listDetailMapper.insert(listDetail); + //清单id 多个逗号隔开 + String listfactorid = addPerformRecordDto.getListfactorid(); - //清单id - String listfactorid = listDetail.getListfactorid(); + //新增履职修改记录 和 新增履职关联信息 + addFacotrRelation(listfactorid,addPerformRecordDto.getWorkcnt(),listDetail.getListdetailid(),chinaName); - //记录履职记录 - ListFactor listFactor = listFactorMapper.selectByPrimaryKey(listfactorid); - if(null != listFactor){ - String content = "新增履职记录:"+addPerformRecordDto.getWorkcnt(); - addListChange(listFactor.getListperformid(),listFactor.getListfactorid(),content); + //多个清单id 修改履职清单完成进度 + if(StringUtils.isNotBlank(listfactorid)){ + String[] listfactorids = listfactorid.split(","); + for(String str : listfactorids){ + //修改履职档案完成情况 + factorProgres(str); + } } - //修改履职档案完成情况 - factorProgres(listfactorid); - //如果是通过任务添加的履职信息 修改任务状态 String taskId = addPerformRecordDto.getTaskId(); if(StringUtils.isNotBlank(taskId)){ @@ -1260,15 +1261,58 @@ public class PcPersonalController extends com.rzyc.controller.BaseController { //修改任务状态 changeTaskState(oaTask,listfactorid); } + //新增履职记录关联 + addListRelation(listDetail.getListdetailid(),str,ListTargerType.TASK.getType()); } } - System.out.println("listDetail -> "+JSONArray.toJSONString(listDetail)); - - return result; } + /** + * 新增履职修改记录 和 新增履职关联信息 + * @version v1.0 + * @author dong + * @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(","); + + //记录履职记录 + ListFactor listFactor = listFactorMapper.selectByPrimaryKey(listfactorids[0]); + if(null != listFactor){ + String content = "新增履职记录:"+workcnt; + addListChange(listFactor.getListperformid(),listFactor.getListfactorid(),content); + } + //新增履职记录关联 + for (String str : listfactorids){ + addListRelation(listdetailid,str,ListTargerType.LIST.getType()); + } + } + } + + /** + * 新增履职记录关联 + * @version v1.0 + * @author dong + * @date 2023/8/16 14:11 + */ + private void addListRelation(String listdetailid,String targetId,Integer targetType)throws Exception{ + ListRelation relation = new ListRelation(); + relation.setRelationId(RandomNumber.getUUid()); + relation.setDetailId(listdetailid); + relation.setTargetId(targetId); + relation.setTargetType(targetType); + relation.setCreateBy(getUserId()); + relation.setCreateTime(new Date()); + relation.setModifyBy(getUserId()); + relation.setModifyTime(new Date()); + listRelationMapper.insert(relation); + } + /** * 角色列表 * @return @@ -1379,17 +1423,21 @@ public class PcPersonalController extends com.rzyc.controller.BaseController { */ @LoginAuth @ApiOperation(value = "未完成的履职任务", notes = "未完成的履职任务") - @ApiImplicitParam(name = "factorId",value = "清单id") + @ApiImplicitParam(name = "factorId",value = "清单id 多个逗号隔开") @PostMapping(value = "factorTask/{factorId}") @ResponseBody public MultiResult factorTask(@PathVariable String factorId)throws Exception{ MultiResult result = new MultiResult<>(); - List tasks = oaTaskMapper.notFinishTask(factorId); - if(tasks.size() > 0 ){ - result.setData(tasks); - }else{ - result.setCode(Code.NO_DATA.getCode()); - result.setMessage(Message.NO_DATA); + String[] strs = factorId.split(","); + List factorIds = Arrays.asList(strs); + if(null != factorIds && factorIds.size() > 0){ + List tasks = oaTaskMapper.notFinishTasks(factorIds); + if(tasks.size() > 0 ){ + result.setData(tasks); + }else{ + result.setCode(Code.NO_DATA.getCode()); + result.setMessage(Message.NO_DATA); + } } return result; }