From 4d48a48c799969f171910daf2f94cd7812b06732 Mon Sep 17 00:00:00 2001 From: wanggeng888 <450292408@qq.com> Date: Thu, 15 Jul 2021 18:49:22 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E6=A1=88=E4=BB=B6=E6=B5=81?= =?UTF-8?q?=E7=A8=8B=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/apis/check/CheckApp2Controller.java | 22 +++++++-- .../dao/gridpersonnel/IGridPersonnelDao.java | 11 ++++- .../pos/gridpersonnel/GridPersonnelPO.java | 36 ++++++++++++++ .../cm/inspection/service/BaseService.java | 5 ++ .../service/check/ICheck2Service.java | 11 +++++ .../service/check/impl/Check2ServiceImpl.java | 27 ++++++++--- .../impl/GridPersonnelServiceImpl.java | 19 +++++--- .../impl/IndustryCheckItemServiceImpl.java | 19 +++++++- .../service/process/IProcessService.java | 10 ++++ .../process/impl/ProcessServiceImpl.java | 6 +++ .../checkitemoption-mapper.xml | 7 +++ .../gridpersonnel/gridpersonnel-mapper.xml | 48 +++++++++++++++++++ .../static/route/check/list-check2.html | 5 -- 13 files changed, 201 insertions(+), 25 deletions(-) create mode 100644 src/main/java/com/cm/inspection/pojo/pos/gridpersonnel/GridPersonnelPO.java diff --git a/src/main/java/com/cm/inspection/controller/app/apis/check/CheckApp2Controller.java b/src/main/java/com/cm/inspection/controller/app/apis/check/CheckApp2Controller.java index af60a15..0df7b49 100644 --- a/src/main/java/com/cm/inspection/controller/app/apis/check/CheckApp2Controller.java +++ b/src/main/java/com/cm/inspection/controller/app/apis/check/CheckApp2Controller.java @@ -4,15 +4,21 @@ import com.cm.common.annotation.CheckRequestBodyAnnotation; import com.cm.common.base.AbstractController; import com.cm.common.constants.ISystemConstant; import com.cm.common.exception.ParamsException; +import com.cm.common.pojo.ListPage; import com.cm.common.result.ErrorResult; import com.cm.common.result.SuccessResult; +import com.cm.common.result.SuccessResultList; import com.cm.inspection.enums.CheckTypeEnum; +import com.cm.inspection.pojo.dtos.check.Check2DTO; import com.cm.inspection.pojo.vos.check.Check2VO; import com.cm.inspection.service.check.ICheck2Service; import io.swagger.annotations.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.util.List; +import java.util.Map; + /** * @ClassName: CheckAppController * @Description: 检查表 @@ -50,7 +56,7 @@ public class CheckApp2Controller extends AbstractController { @ApiImplicitParam(name = "checkId", value = "原检查ID", paramType = "path") }) @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) - @PostMapping("save-re") + @PostMapping("save-re/{checkId}") @CheckRequestBodyAnnotation public SuccessResult saveRe(@RequestHeader("token") String token, @PathVariable("checkId") String checkId, @@ -59,7 +65,17 @@ public class CheckApp2Controller extends AbstractController { checkService.saveRe(token, checkId, check2VO); return new SuccessResult(); } - - + + @ApiOperation(value = "我的复查项列表", notes = "我的复查项列表接口") + @ApiImplicitParams({ + @ApiImplicitParam(name = "token", value = "token", paramType = "header"), + }) + @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) + @GetMapping("listpage-recheck-of-mine") + public SuccessResultList> listPageReCheckOfMine(@RequestHeader("token") String token, ListPage page) { + Map params = requestParams(); + page.setParams(params); + return checkService.listPageReCheckOfMine(token, page); + } } \ No newline at end of file diff --git a/src/main/java/com/cm/inspection/dao/gridpersonnel/IGridPersonnelDao.java b/src/main/java/com/cm/inspection/dao/gridpersonnel/IGridPersonnelDao.java index cd347db..ad2fa3f 100644 --- a/src/main/java/com/cm/inspection/dao/gridpersonnel/IGridPersonnelDao.java +++ b/src/main/java/com/cm/inspection/dao/gridpersonnel/IGridPersonnelDao.java @@ -4,9 +4,8 @@ import com.cm.common.exception.RemoveException; import com.cm.common.exception.SaveException; import com.cm.common.exception.SearchException; import com.cm.common.exception.UpdateException; -import com.cm.common.result.SuccessResultData; -import com.cm.common.result.SuccessResultList; import com.cm.inspection.pojo.dtos.gridpersonnel.GridPersonnelDTO; +import com.cm.inspection.pojo.pos.gridpersonnel.GridPersonnelPO; import org.springframework.stereotype.Repository; import java.util.List; @@ -89,4 +88,12 @@ public interface IGridPersonnelDao { * @throws UpdateException */ void updateGridPersonnelLeaderUserId(Map params) throws UpdateException; + + /** + * 上级网格员 + * + * @param params + * @return + */ + GridPersonnelPO getLeaderPO(Map params); } diff --git a/src/main/java/com/cm/inspection/pojo/pos/gridpersonnel/GridPersonnelPO.java b/src/main/java/com/cm/inspection/pojo/pos/gridpersonnel/GridPersonnelPO.java new file mode 100644 index 0000000..0d5838e --- /dev/null +++ b/src/main/java/com/cm/inspection/pojo/pos/gridpersonnel/GridPersonnelPO.java @@ -0,0 +1,36 @@ +package com.cm.inspection.pojo.pos.gridpersonnel; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.ToString; + +import java.io.Serializable; + +/** + * @ClassName: GridPersonnelDTO + * @Description: 网格人员 + * @Author: WenG + * @Date: 2020-03-26 18:39 + * @Version: 1.0 + **/ +@Data +@ToString +@ApiModel +public class GridPersonnelPO implements Serializable { + + private static final long serialVersionUID = 1690871409983368941L; + private String gridPersonnelId; + private String userId; + private String area1; + private String area2; + private String area3; + private String area4; + private String area5; + private String leaderUserId; + private String personType; + private String gridType; + private Integer level; + private String industryId; + +} diff --git a/src/main/java/com/cm/inspection/service/BaseService.java b/src/main/java/com/cm/inspection/service/BaseService.java index 20c83b4..fdce8c2 100644 --- a/src/main/java/com/cm/inspection/service/BaseService.java +++ b/src/main/java/com/cm/inspection/service/BaseService.java @@ -1,6 +1,7 @@ package com.cm.inspection.service; import com.cm.common.base.AbstractService; +import com.cm.common.token.app.AppTokenManager; /** * When you feel like quitting. Think about why you started @@ -22,4 +23,8 @@ public class BaseService extends AbstractService { public static final String MENU_EIA_REPORT = "list_eia_report"; public static final String MENU_DISCHARGE_PERMIT = "list_discharge_permit"; + protected String getUserIdByToken(String token) { + return AppTokenManager.getInstance().getToken(token).getUserId(); + } + } diff --git a/src/main/java/com/cm/inspection/service/check/ICheck2Service.java b/src/main/java/com/cm/inspection/service/check/ICheck2Service.java index 8cbc98f..15effef 100644 --- a/src/main/java/com/cm/inspection/service/check/ICheck2Service.java +++ b/src/main/java/com/cm/inspection/service/check/ICheck2Service.java @@ -97,6 +97,15 @@ public interface ICheck2Service { */ SuccessResultList> listPageReCheckOfMine(ListPage page); + /** + * 我的复查列表 + * + * @param token + * @param page + * @return + */ + SuccessResultList> listPageReCheckOfMine(String token, ListPage page); + /** * 未通过的检查项列表 * @@ -144,4 +153,6 @@ public interface ICheck2Service { * @return */ SuccessResultList> listPageCityOfMine(ListPage page); + + } diff --git a/src/main/java/com/cm/inspection/service/check/impl/Check2ServiceImpl.java b/src/main/java/com/cm/inspection/service/check/impl/Check2ServiceImpl.java index be48b49..ed852d8 100644 --- a/src/main/java/com/cm/inspection/service/check/impl/Check2ServiceImpl.java +++ b/src/main/java/com/cm/inspection/service/check/impl/Check2ServiceImpl.java @@ -76,6 +76,7 @@ public class Check2ServiceImpl extends BaseService implements ICheck2Service { String checkId = UUIDUtil.getUUID(); Map params = HashMapUtil.beanToMap(check2VO); params.put("checkId", checkId); + params.put("isComplete", 0); setSaveInfo(token, params); LOG.debug("保存检查记录"); check2Dao.save(params); @@ -89,6 +90,7 @@ public class Check2ServiceImpl extends BaseService implements ICheck2Service { String reCheckId = UUIDUtil.getUUID(); check2VO.setCheckType(CheckTypeEnum.RE_CHECK.getValue()); Map params = HashMapUtil.beanToMap(check2VO); + params.put("checkId", reCheckId); setSaveInfo(token, params); String grid = params.get("creator").toString(); String leaderId = gridPersonnelService.getLeaderId(grid, GridPersonnelTypeEnum.STREET); @@ -147,7 +149,22 @@ public class Check2ServiceImpl extends BaseService implements ICheck2Service { @Override public SuccessResultList> listPageReCheckOfMine(ListPage page) { - return null; + return listPageReCheckByUserId(securityComponent.getCurrentUser().getUserId(), page); + } + + @Override + public SuccessResultList> listPageReCheckOfMine(String token, ListPage page) { + return listPageReCheckByUserId(getUserIdByToken(token), page); + } + + private SuccessResultList> listPageReCheckByUserId(String userId, ListPage page) { + List tasks = processService.listTaskByAssigneeAndVariableKeyValue(userId, CheckProcessParamsEnum.IS_RE_REPORT.getValue(), 0); + List checkIds = listLastCheckId(tasks); + if (checkIds.isEmpty()) { + return new SuccessResultList(new ArrayList<>(), 1, 0L); + } + page.getParams().put("checkIds", checkIds); + return listPage(page); } @Override @@ -163,7 +180,7 @@ public class Check2ServiceImpl extends BaseService implements ICheck2Service { @Override public SuccessResultList> listPageStreetOfMine(ListPage page) { String userId = securityComponent.getCurrentUser().getUserId(); - List tasks = processService.listTaskByAssigneeAndVariableKey(GridPersonnelTypeEnum.STREET.getValue(), userId); + List tasks = processService.listTaskByAssigneeAndVariableKey(userId, GridPersonnelTypeEnum.STREET.getValue()); List checkIds = listLastCheckId(tasks); if (checkIds.isEmpty()) { return new SuccessResultList<>(new ArrayList<>(), 1, 0L); @@ -374,11 +391,7 @@ public class Check2ServiceImpl extends BaseService implements ICheck2Service { } List lastCheckIds = new ArrayList<>(); for (Task task : tasks) { - Map taskVariableMap = task.getTaskLocalVariables(); - if (taskVariableMap == null) { - continue; - } - Object lastCheckIdObj = taskVariableMap.get(CheckProcessParamsEnum.LAST_CHECK_ID.getValue()); + Object lastCheckIdObj = processService.getTaskVariableByTaskId(task.getId(), CheckProcessParamsEnum.LAST_CHECK_ID.getValue()); if (lastCheckIdObj == null) { continue; } diff --git a/src/main/java/com/cm/inspection/service/gridpersonnel/impl/GridPersonnelServiceImpl.java b/src/main/java/com/cm/inspection/service/gridpersonnel/impl/GridPersonnelServiceImpl.java index a53f4a7..c8693aa 100644 --- a/src/main/java/com/cm/inspection/service/gridpersonnel/impl/GridPersonnelServiceImpl.java +++ b/src/main/java/com/cm/inspection/service/gridpersonnel/impl/GridPersonnelServiceImpl.java @@ -1,7 +1,5 @@ package com.cm.inspection.service.gridpersonnel.impl; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; import com.cm.common.constants.ISystemConstant; import com.cm.common.exception.RemoveException; import com.cm.common.exception.SaveException; @@ -19,6 +17,7 @@ import com.cm.common.utils.UUIDUtil; import com.cm.inspection.dao.gridpersonnel.IGridPersonnelDao; import com.cm.inspection.enums.GridPersonnelTypeEnum; import com.cm.inspection.pojo.dtos.gridpersonnel.GridPersonnelDTO; +import com.cm.inspection.pojo.pos.gridpersonnel.GridPersonnelPO; import com.cm.inspection.pojo.vos.gridpersonnel.GridPersonnelVO; import com.cm.inspection.service.BaseService; import com.cm.inspection.service.gridpersonnel.IGridPersonnelService; @@ -258,17 +257,23 @@ public class GridPersonnelServiceImpl extends BaseService implements IGridPerson @Override public String getLeaderId(String userId, GridPersonnelTypeEnum leaderGridPersonnelType) { - GridPersonnelDTO gridPersonnelDTO = get(userId); - if (gridPersonnelDTO == null) { + GridPersonnelPO gridPersonnelPO = getLeaderPOByUserId(userId); + if (gridPersonnelPO == null) { return null; } - if (!StringUtils.equals(gridPersonnelDTO.getGridType(), leaderGridPersonnelType.getValue())) { + if (!StringUtils.equals(gridPersonnelPO.getPersonType(), leaderGridPersonnelType.getValue())) { return null; } - if (StringUtils.isBlank(gridPersonnelDTO.getLeaderUserId())) { + if (StringUtils.isBlank(gridPersonnelPO.getLeaderUserId())) { return null; } - return gridPersonnelDTO.getLeaderUserId(); + return gridPersonnelPO.getUserId(); + } + + private GridPersonnelPO getLeaderPOByUserId(String userId) { + Map params = getHashMap(2); + params.put("userId", userId); + return gridPersonnelDao.getLeaderPO(params); } @Override diff --git a/src/main/java/com/cm/inspection/service/industrycheckitem/impl/IndustryCheckItemServiceImpl.java b/src/main/java/com/cm/inspection/service/industrycheckitem/impl/IndustryCheckItemServiceImpl.java index 7c40ef7..c1400e9 100644 --- a/src/main/java/com/cm/inspection/service/industrycheckitem/impl/IndustryCheckItemServiceImpl.java +++ b/src/main/java/com/cm/inspection/service/industrycheckitem/impl/IndustryCheckItemServiceImpl.java @@ -8,6 +8,7 @@ import com.cm.common.result.SuccessResultList; import com.cm.common.utils.HashMapUtil; import com.cm.common.utils.UUIDUtil; import com.cm.inspection.dao.industrycheckitem.IIndustryCheckItemDao; +import com.cm.inspection.pojo.dtos.checkitemoption.CheckItemOptionDTO; import com.cm.inspection.pojo.dtos.industrycheckitem.IndustryCheckItemDTO; import com.cm.inspection.pojo.vos.industrycheckitem.IndustryCheckItemBindVO; import com.cm.inspection.pojo.vos.industrycheckitem.IndustryCheckItemVO; @@ -16,6 +17,7 @@ import com.cm.inspection.service.checkitemoption.ICheckItemOptionService; import com.cm.inspection.service.industrycheckitem.IIndustryCheckItemService; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -176,8 +178,23 @@ public class IndustryCheckItemServiceImpl extends BaseService implements IIndust * @param params */ private void setCheckItemOptions(List industryCheckItemDTOs, Map params) { + Set checkItemIdSet = new HashSet<>(); for (IndustryCheckItemDTO industryCheckItemDTO : industryCheckItemDTOs) { - setCheckItemOptions(industryCheckItemDTO, params); + checkItemIdSet.add(industryCheckItemDTO.getCheckItemId()); + } + params.put("checkItemIds", new ArrayList<>(checkItemIdSet)); + List checkItemOptionDTOs = checkItemOptionService.listCheckItemOption(params); + for (IndustryCheckItemDTO industryCheckItemDTO : industryCheckItemDTOs) { + List checkItemOptions = industryCheckItemDTO.getCheckItemOptions(); + for (int i = 0; i < checkItemOptionDTOs.size(); i++) { + CheckItemOptionDTO checkItemOptionDTO = checkItemOptionDTOs.get(i); + if (StringUtils.equals(industryCheckItemDTO.getCheckItemId(), checkItemOptionDTO.getCheckItemId())) { + checkItemOptions.add(checkItemOptionDTO); + checkItemOptionDTOs.remove(i); + i--; + } + } + industryCheckItemDTO.setCheckItemOptions(checkItemOptions); } } diff --git a/src/main/java/com/cm/inspection/service/process/IProcessService.java b/src/main/java/com/cm/inspection/service/process/IProcessService.java index fcd77df..bc5f100 100644 --- a/src/main/java/com/cm/inspection/service/process/IProcessService.java +++ b/src/main/java/com/cm/inspection/service/process/IProcessService.java @@ -93,6 +93,16 @@ public interface IProcessService { */ List listTaskByAssigneeAndVariableKey(String assignee, String key); + /** + * 任务列表(通过执行人和变量Key、value) + * + * @param assignee 执行人 + * @param key 变量名 + * @param value 变量值 + * @return + */ + List listTaskByAssigneeAndVariableKeyValue(String assignee, String key, Object value); + /** * 任务列表(通过执行人和流程变量Key) * diff --git a/src/main/java/com/cm/inspection/service/process/impl/ProcessServiceImpl.java b/src/main/java/com/cm/inspection/service/process/impl/ProcessServiceImpl.java index 11276b0..639bf87 100644 --- a/src/main/java/com/cm/inspection/service/process/impl/ProcessServiceImpl.java +++ b/src/main/java/com/cm/inspection/service/process/impl/ProcessServiceImpl.java @@ -107,6 +107,12 @@ public class ProcessServiceImpl implements IProcessService { return taskList; } + @Override + public List listTaskByAssigneeAndVariableKeyValue(String assignee, String key, Object value) { + TaskQuery taskQuery = taskService.createTaskQuery(); + return taskQuery.taskAssignee(assignee).taskVariableValueEquals(key, value).list(); + } + @Override public List listTaskByAssigneeAndRuntimeVariableKey(String assignee, String key) { List taskList = listTaskByAssignee(assignee); diff --git a/src/main/resources/mybatis/mapper/checkitemoption/checkitemoption-mapper.xml b/src/main/resources/mybatis/mapper/checkitemoption/checkitemoption-mapper.xml index 5e71bb7..7377934 100644 --- a/src/main/resources/mybatis/mapper/checkitemoption/checkitemoption-mapper.xml +++ b/src/main/resources/mybatis/mapper/checkitemoption/checkitemoption-mapper.xml @@ -141,6 +141,13 @@ AND t1.check_item_id = #{checkItemId} + + AND + t1.check_item_id IN + + #{checkItemIds[${index}]} + + AND t1.check_item_option_id IN diff --git a/src/main/resources/mybatis/mapper/gridpersonnel/gridpersonnel-mapper.xml b/src/main/resources/mybatis/mapper/gridpersonnel/gridpersonnel-mapper.xml index ce39e3c..6651a3c 100644 --- a/src/main/resources/mybatis/mapper/gridpersonnel/gridpersonnel-mapper.xml +++ b/src/main/resources/mybatis/mapper/gridpersonnel/gridpersonnel-mapper.xml @@ -25,6 +25,21 @@ + + + + + + + + + + + + + + + INSERT INTO gen_grid_personnel( @@ -378,4 +393,37 @@ grid_personnel_id = #{gridPersonnelId} + + + \ No newline at end of file diff --git a/src/main/resources/static/route/check/list-check2.html b/src/main/resources/static/route/check/list-check2.html index a39ef6a..da0f30f 100644 --- a/src/main/resources/static/route/check/list-check2.html +++ b/src/main/resources/static/route/check/list-check2.html @@ -337,17 +337,12 @@ } else if(rowData == 2) { checkType = '【复查】'; } - var isCoordination = '【不配合】'; - if(row.isCoordination == 1) { - isCoordination = '【配合】'; - } var isComplete = '【未完成】'; if(row.isComplete == 1) { isComplete = '【完成】' } var infoDiv = ''; infoDiv += ''; - infoDiv += ''; infoDiv += ''; infoDiv += '
'+ checkType +'
'+ isCoordination +'
'+ isComplete +'
'; return infoDiv;