dyh-service/dyh-base/src/main/java/cn/huge/module/sys/constant/GridBaseConsts.java
New file @@ -0,0 +1,11 @@ package cn.huge.module.sys.constant; public class GridBaseConsts { /** * 网格通知类型,1:待分派,2:待签收,3:待受理,4:待审核 */ public static final String GRID_TYPE_1 = "【待分派】"; public static final String GRID_TYPE_2 = "【待签收】"; public static final String GRID_TYPE_3 = "【待受理】"; public static final String GRID_TYPE_4 = "【待审核】"; } dyh-service/dyh-base/src/main/java/cn/huge/module/sys/constant/GridEnum.java
New file @@ -0,0 +1,54 @@ package cn.huge.module.sys.constant; public enum GridEnum { GRID_OBJECT_TYPE_1("11", "待分派矛调工单"), GRID_OBJECT_TYPE_2("12", "待签收矛调工单"), GRID_OBJECT_TYPE_3("13", "待受理矛调工单"), GRID_OBJECT_TYPE_4("14", "待审核矛调工单"), GRID_TODO_TYPE_5("5", "矛盾纠纷"); /** * 代码编号 */ private String index; /** * 名称 */ private String des; public String getIndex() { return index; } public void setIndex(String index) { this.index = index; } public String getDes() { return des; } public void setDes(String des) { this.des = des; } GridEnum(String index, String des) { this.index = index; this.des = des; } /** * 静态方法 * @param index * @return */ public static String getDes(String index) { for (GridEnum gridEnum : GridEnum.values()) { if (gridEnum.getIndex().equals(index)) { return gridEnum.des; } } return null; } } dyh-service/dyh-base/src/main/java/cn/huge/module/sys/vo/GridGetToDoVo.java
File was renamed from dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/domain/vo/GridGetToDoVo.java @@ -1,4 +1,4 @@ package cn.huge.module.grid.domain.vo; package cn.huge.module.sys.vo; import lombok.Data; dyh-service/dyh-base/src/main/java/cn/huge/module/sys/vo/GridIdsVo.java
File was renamed from dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/domain/vo/GridIdsVo.java @@ -1,4 +1,4 @@ package cn.huge.module.grid.domain.vo; package cn.huge.module.sys.vo; import lombok.Data; dyh-service/dyh-base/src/main/java/cn/huge/module/sys/vo/GridTaskVo.java
New file @@ -0,0 +1,16 @@ package cn.huge.module.sys.vo; import lombok.Data; @Data public class GridTaskVo { /** * 事件编号 */ private String caseId; /** * 任务编号 */ private String caseTaskId; } dyh-service/dyh-base/src/main/java/cn/huge/module/sys/vo/GridToDoBacthVo.java
File was renamed from dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/domain/vo/GridToDoBacthVo.java @@ -1,4 +1,4 @@ package cn.huge.module.grid.domain.vo; package cn.huge.module.sys.vo; import lombok.Data; dyh-service/dyh-base/src/main/java/cn/huge/module/sys/vo/GridToDoVo.java
File was renamed from dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/domain/vo/GridToDoVo.java @@ -1,4 +1,4 @@ package cn.huge.module.grid.domain.vo; package cn.huge.module.sys.vo; import lombok.Data; @@ -52,4 +52,8 @@ */ private String mobile; /** * 事件编号 */ private String caseId; } dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseTaskService.java
@@ -34,13 +34,19 @@ import cn.huge.module.flow.domain.po.FlowNode; import cn.huge.module.flow.service.FlowInfoService; import cn.huge.module.mediate.constant.*; import cn.huge.module.sys.constant.GridBaseConsts; import cn.huge.module.sys.constant.GridEnum; import cn.huge.module.sys.constant.SyTimeEnum; import cn.huge.module.sys.dto.FileIdTypeInfoBaseDTO; import cn.huge.module.sys.vo.GridTaskVo; import cn.huge.module.sys.vo.GridToDoBacthVo; import cn.huge.module.sys.vo.GridToDoVo; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.google.common.collect.Maps; import lombok.extern.java.Log; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; @@ -1205,6 +1211,13 @@ caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex()); caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes()); caseInfoService.updateCaseInfo(caseInfoPO); try { //添加网格待办 this.createGridToDo(caseInfo, dfpCaseTask, GridEnum.GRID_OBJECT_TYPE_1.getIndex(), GridBaseConsts.GRID_TYPE_1); }catch (Exception e){ log.error("添加网格待办失败"); } }else { // 调度给调解组织,默认通过第1个任务节点-镇街综治中心待分派 CaseTask dfpCaseTask = new CaseTask(); @@ -1283,6 +1296,13 @@ caseInfoPO.setInfoProcess(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getIndex()); caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes()); caseInfoService.updateCaseInfo(caseInfoPO); try { //添加网格待办 this.createGridToDo(caseInfo, dslCaseTask, GridEnum.GRID_OBJECT_TYPE_3.getIndex(), GridBaseConsts.GRID_TYPE_3); }catch (Exception e){ log.error("添加网格待办失败"); } } } } @@ -1390,6 +1410,14 @@ caseInfoUnfoldPO.setMediateUnitId(blfkCaseTask.getCandeUnitId()); caseInfoUnfoldPO.setMediateUnitName(blfkCaseTask.getCandeUnitName()); caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO); try { //添加网格待办 this.createGridToDo(caseInfo, blfkCaseTask, GridEnum.GRID_OBJECT_TYPE_3.getIndex(), GridBaseConsts.GRID_TYPE_3); }catch (Exception e){ log.error("添加网格待办失败"); } return blfkCaseTask.getId(); }catch (Exception e){ log.error("[CaseTaskService.webStartFlowZXSL]调用失败,异常信息:"+e, e); @@ -1475,6 +1503,8 @@ caseDismiss.setCreateTime(nowDate); caseDismiss.setUpdateTime(nowDate); caseDismissService.save(caseDismiss); //删除网格待办 this.deleteGridTodo(caseTask); }catch (Exception e){ log.error("[CaseTaskService.webAssign]调用失败,异常信息:"+e, e); throw new ServiceException("CaseTaskService.webAssign", e); @@ -1572,6 +1602,7 @@ dslCaseTask.setUpdateTime(nowDate); mapper.insert(dslCaseTask); // 更新纠纷信息 CaseInfo caseInfo = caseInfoService.getCaseInfo(dslCaseTask.getCaseId()); CaseInfo caseInfoPO = new CaseInfo(); caseInfoPO.setId(dslCaseTask.getCaseId()); caseInfoPO.setStatus(CaseStatusBaseConstsEnum.CASE_STATUS_3.getIndex()); @@ -1582,6 +1613,12 @@ caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes()); caseInfoPO.setUpdateTime(nowDate); caseInfoService.updateCaseInfo(caseInfoPO); try { this.taskFlowGridToDo(caseInfo, dslCaseTask, assignTaskDTO.getCaseTaskId(), GridEnum.GRID_OBJECT_TYPE_2.getIndex(), GridBaseConsts.GRID_TYPE_2); }catch (Exception e){ log.error("添加网格待办失败"); } // 交办配合组织 if (CollectionUtils.isNotEmpty(assignTaskDTO.getAssistUnitList())){ @@ -1672,6 +1709,12 @@ caseAssistInfoPO.setCreateTime(nowDate); caseAssistInfoPO.setUpdateTime(nowDate); caseAssistInfoService.save(caseAssistInfoPO); try { this.createGridToDo(caseInfo, lhczdslCaseTask, GridEnum.GRID_OBJECT_TYPE_2.getIndex(), GridBaseConsts.GRID_TYPE_2); }catch (Exception e){ log.error("添加网格待办失败"); } } // 更新纠纷扩展信息 CaseInfoUnfold caseInfoUnfoldPO = new CaseInfoUnfold(); @@ -1721,6 +1764,10 @@ caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes()); caseInfoPO.setUpdateTime(nowDate); caseInfoService.updateCaseInfo(caseInfoPO); } CaseInfo caseInfo = caseInfoService.getCaseInfo(qsCaseTask.getCaseId()); if(ObjectUtils.isNotEmpty(caseInfo)){ this.taskFlowGridToDo(caseInfo, caseTaskPO, caseTaskPO.getId(), GridEnum.GRID_OBJECT_TYPE_3.getIndex(), GridBaseConsts.GRID_TYPE_3); } } }catch (Exception e){ @@ -1797,6 +1844,10 @@ blfkCaseTask.setCreateTime(nowDate); blfkCaseTask.setUpdateTime(nowDate); mapper.insert(blfkCaseTask); //删除网格待办状态 this.deleteGridTodo(dslCaseTaskPO); // 承办组织受理才更新纠纷信息 if (CaseTaskConsts.CASE_TASK_TYPE_1 == dslCaseTask.getCaseTaskType()) { // 更新纠纷信息 @@ -2324,6 +2375,8 @@ caseInfoUnfoldPO.setWindupContent(caseWindupApply.getWindupContent()); caseInfoUnfoldPO.setUpdateTime(nowDate); caseInfoUnfoldService.updateCaseInfoUnfold(caseInfoUnfoldPO); this.createGridToDo(caseInfo, jashCaseTask, GridEnum.GRID_OBJECT_TYPE_4.getIndex(), GridBaseConsts.GRID_TYPE_4); } } // 查询联合处置申请单,全部结束申请单 @@ -2707,6 +2760,8 @@ caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes()); caseInfoPO.setUpdateTime(nowDate); caseInfoService.updateCaseInfo(caseInfoPO); this.deleteGridTodo(jashCaseTaskPO); } }catch (Exception e){ log.error("[CaseTaskService.webWindupApply]调用失败,异常信息:"+e, e); @@ -2794,6 +2849,9 @@ caseReturn.setCaseTaskId(htshCaseTask.getId()); caseReturn.setCaseTaskType(htshCaseTask.getCaseTaskType()); caseReturnService.save(caseReturn); //添加网格审核任务 CaseInfo caseInfo = caseInfoService.getCaseInfo(thisCaseTask.getCaseId()); this.createGridToDo(caseInfo, htshCaseTask, GridEnum.GRID_OBJECT_TYPE_4.getIndex(), GridBaseConsts.GRID_TYPE_4); }catch (Exception e){ log.error("[CaseTaskService.webReturnApply]调用失败,异常信息:"+e, e); throw new ServiceException("CaseTaskService.webReturnApply", e); @@ -2910,6 +2968,10 @@ .eq("process_instance_id", assistCaseTask.getProcessInstanceId()) .eq("assist_status", CaseTaskConsts.ASSIST_STATUS_0).set("assist_status", CaseTaskConsts.ASSIST_STATUS_2); caseAssistInfoService.update(caseAssistInfoUpdateWrapper); //修改网格待办 CaseInfo caseInfo = caseInfoService.getCaseInfo(htshCaseTask.getCaseId()); this.taskFlowGridToDo(caseInfo, assistCaseTask, htshCaseTaskPO.getId(), GridEnum.GRID_OBJECT_TYPE_1.getIndex(), GridBaseConsts.GRID_TYPE_1); } }else { // 更新联合处置信息 @@ -2922,6 +2984,7 @@ caseAssistInfo.setAssistStatus(CaseTaskConsts.ASSIST_STATUS_1); caseAssistInfoService.updateCaseAssistInfo(caseAssistInfo); } this.deleteGridTodo(htshCaseTaskPO); } }else { // 审核不通过 @@ -2990,6 +3053,9 @@ nextCaseTask.setCreateTime(nowDate); nextCaseTask.setUpdateTime(nowDate); mapper.insert(nextCaseTask); //修改网格待办 CaseInfo caseInfo = caseInfoService.getCaseInfo(htshCaseTask.getCaseId()); this.taskFlowGridToDo(caseInfo, nextCaseTask, htshCaseTaskPO.getId(), GridEnum.GRID_OBJECT_TYPE_3.getIndex(), GridBaseConsts.GRID_TYPE_3); } }catch (Exception e){ log.error("[CaseTaskService.webReturnAudit]调用失败,异常信息:"+e, e); @@ -3073,6 +3139,9 @@ // 新增上报申请信息 caseAppear.setCaseTaskId(sbshCaseTask.getId()); caseAppearService.save(caseAppear); //添加网格审核任务 CaseInfo caseInfo = caseInfoService.getCaseInfo(thisCaseTask.getCaseId()); this.createGridToDo(caseInfo, sbshCaseTask, GridEnum.GRID_OBJECT_TYPE_4.getIndex(), GridBaseConsts.GRID_TYPE_4); }catch (Exception e){ log.error("[CaseTaskService.webAppearApply]调用失败,异常信息:"+e, e); throw new ServiceException("CaseTaskService.webAppearApply", e); @@ -3161,6 +3230,10 @@ caseInfoPO.setInfoProcessName(CaseInfoProcessBaseConstsEnum.getByProcess(caseInfoPO.getProcess()).getDes()); caseInfoPO.setUpdateTime(nowDate); caseInfoService.updateCaseInfo(caseInfoPO); //网格待办任务处理 CaseInfo caseInfo = caseInfoService.getCaseInfo(sbshCaseTask.getCaseId()); this.taskFlowGridToDo(caseInfo, dfphCaseTask, sbshCaseTaskPO.getId(), GridEnum.GRID_OBJECT_TYPE_1.getIndex(), GridBaseConsts.GRID_TYPE_1); }else { // 审核不通过 // 完成当前上报审核任务 @@ -3214,6 +3287,10 @@ dfphCaseTask.setCreateTime(nowDate); dfphCaseTask.setUpdateTime(nowDate); mapper.insert(dfphCaseTask); //网格待办任务处理 CaseInfo caseInfo = caseInfoService.getCaseInfo(sbshCaseTask.getCaseId()); this.taskFlowGridToDo(caseInfo, dfphCaseTask, sbshCaseTaskPO.getId(), GridEnum.GRID_OBJECT_TYPE_1.getIndex(), GridBaseConsts.GRID_TYPE_1); } }catch (Exception e){ log.error("[CaseTaskService.webAppearAudit]调用失败,异常信息:"+e, e); @@ -3247,4 +3324,70 @@ } } public void deleteGridTodo(CaseTask caseTask) { try { //删除网格待办任务 GridTaskVo gridTaskVo = new GridTaskVo(); gridTaskVo.setCaseId(caseTask.getCaseId()); gridTaskVo.setCaseTaskId(caseTask.getId()); sysClient.deleteTaskTodo(gridTaskVo); } catch (Exception e) { log.error("添加网格待办失败"); } } public void createGridToDo(CaseInfo caseInfo, CaseTask caseTask, String gridObjType, String noticeTypeName){ try { //添加网格待办 GridToDoBacthVo gridToDoBacthVo = new GridToDoBacthVo(); gridToDoBacthVo.setObjId(caseTask.getId()); gridToDoBacthVo.setObjType(gridObjType); gridToDoBacthVo.setTodoType(GridEnum.GRID_TODO_TYPE_5.getIndex()); gridToDoBacthVo.setTitle(noticeTypeName + caseInfo.getPlaintiffs() + "和" + caseInfo.getDefendants()+"的"+caseInfo.getCaseTypeName()+"事件"); gridToDoBacthVo.setLimitTime(String.valueOf(caseTask.getExpireTime())); sysClient.createTaskToDo(gridToDoBacthVo, caseTask.getCandeUnitId()); } catch (Exception e) { log.error("添加网格待办失败"); log.error(e.getMessage(), e); } } public void updateGridToDo(CaseInfo caseInfo, CaseTask caseTask, String previousTaskId, String gridObjType, String noticeTypeName) { try { //添加网格待办 GridToDoVo gridToDoVo = new GridToDoVo(); gridToDoVo.setObjId(caseTask.getId()); gridToDoVo.setObjType(gridObjType); gridToDoVo.setTodoType(GridEnum.GRID_TODO_TYPE_5.getIndex()); gridToDoVo.setTitle(noticeTypeName + caseInfo.getPlaintiffs() + "和" + caseInfo.getDefendants() + "的" + caseInfo.getCaseTypeName() + "事件"); gridToDoVo.setLimitTime(String.valueOf(caseTask.getExpireTime())); gridToDoVo.setCaseId(caseInfo.getId()); sysClient.updateTaskTodo(gridToDoVo, previousTaskId); } catch (Exception e) { log.error("添加网格待办失败"); log.error(e.getMessage(), e); } } public void taskFlowGridToDo(CaseInfo caseInfo, CaseTask caseTask, String previousTaskId, String gridObjType, String noticeTypeName) { try { //删除网格待办任务 GridTaskVo gridTaskVo = new GridTaskVo(); gridTaskVo.setCaseId(caseInfo.getId()); gridTaskVo.setCaseTaskId(previousTaskId); sysClient.deleteTaskTodo(gridTaskVo); //添加网格待办 GridToDoVo gridToDoVo = new GridToDoVo(); gridToDoVo.setObjId(caseTask.getId()); gridToDoVo.setObjType(gridObjType); gridToDoVo.setTodoType(GridEnum.GRID_TODO_TYPE_5.getIndex()); gridToDoVo.setTitle(noticeTypeName + caseInfo.getPlaintiffs() + "和" + caseInfo.getDefendants() + "的" + caseInfo.getCaseTypeName() + "事件"); gridToDoVo.setLimitTime(String.valueOf(caseTask.getExpireTime())); gridToDoVo.setCaseId(caseInfo.getId()); sysClient.updateTaskTodo(gridToDoVo, previousTaskId); } catch (Exception e) { log.error("添加网格待办失败"); log.error(e.getMessage(), e); } } } dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/SysClient.java
@@ -1,12 +1,16 @@ package cn.huge.module.client.api; import cn.huge.base.common.bo.R; import cn.huge.base.common.bo.ReturnBO; import cn.huge.module.sys.vo.GridIdsVo; import cn.huge.module.sys.vo.GridTaskVo; import cn.huge.module.sys.vo.GridToDoBacthVo; import cn.huge.module.sys.vo.GridToDoVo; import cn.huge.module.cases.domain.dto.FileRelateDTO; import cn.huge.module.sys.dto.FileTypeTermsDTO; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.*; import java.util.Date; import java.util.List; import java.util.Map; @@ -92,4 +96,32 @@ */ @GetMapping("/api/web/syRegion/listByParentId") ReturnBO listByParentId(@RequestParam(value = "parentId") String parentId); /** * 创建待办 * @url {ctx}/api/thrid/grid/todo/create-task-todo * @param gridToDoBacthVo * @param unitId * @return GridToDoVo */ @PostMapping("/api/thrid/grid/todo/create-task-todo") R<List<GridToDoVo>> createTaskToDo(@RequestBody GridToDoBacthVo gridToDoBacthVo, @RequestParam(value = "unitId")String unitId); /** * 更新待办 * @url {ctx}/api/thrid/grid/todo/update-task-todo * @param gridToDoVo * @return GridToDoVo */ @PostMapping("/api/thrid/grid/todo/update-task-todo") R<List<GridToDoVo>> updateTaskTodo(@RequestBody GridToDoVo gridToDoVo, @RequestParam(value = "previousTaskId") String previousTaskId); /** * 删除待办 * @url {ctx}/api/thrid/grid/todo/delete-task-todo * @param gridTaskVo * @return gridIdsVo */ @PostMapping("/api/thrid/grid/todo/delete-task-todo") R<String> deleteTaskTodo(@RequestBody GridTaskVo gridTaskVo); } dyh-service/dyh-mediate/src/main/java/cn/huge/module/client/api/impl/SysClientImpl.java
@@ -1,9 +1,14 @@ package cn.huge.module.client.api.impl; import cn.huge.base.common.bo.R; import cn.huge.base.common.bo.ReturnBO; import cn.huge.base.common.constant.ReturnConsts; import cn.huge.base.common.utils.DateUtils; import cn.huge.base.common.utils.ObjectUtils; import cn.huge.module.sys.vo.GridIdsVo; import cn.huge.module.sys.vo.GridTaskVo; import cn.huge.module.sys.vo.GridToDoBacthVo; import cn.huge.module.sys.vo.GridToDoVo; import cn.huge.module.cases.domain.dto.FileRelateDTO; import cn.huge.module.client.api.SysClient; import cn.huge.module.sys.constant.TimeUnitConsts; @@ -265,4 +270,61 @@ return queAreaDTOList; } /** * 创建待办 * @url {ctx}/api/thrid/grid/todo/create-task-todo * @param gridToDoBacthVo * @param unitId * @return */ public void createTaskToDo(GridToDoBacthVo gridToDoBacthVo, String unitId){ try{ R<List<GridToDoVo>> gridToDoBo = sysClient.createTaskToDo(gridToDoBacthVo, unitId); if (ReturnConsts.OK != gridToDoBo.getCode()){ log.error("Client外服务接口[SysClientImpl.createToDo]请求异常:" + gridToDoBo.getMsg()); }else { log.info("创建工单成功"); } }catch (Exception e){ log.error("service方法[SysClientImpl.createToDo]调用异常:"+e, e); } } /** * 更新待办 * @url {ctx}/api/thrid/grid/todo/update-task-todo * @param gridToDoVo * @return */ public void updateTaskTodo(GridToDoVo gridToDoVo, String previousTaskId){ try{ R<List<GridToDoVo>> gridToDoBo = sysClient.updateTaskTodo(gridToDoVo, previousTaskId); if (ReturnConsts.OK != gridToDoBo.getCode()){ log.error("Client外服务接口[SysClientImpl.updateTodo]请求异常:" + gridToDoBo.getMsg()); }else{ log.info("修改工单成功"); } }catch (Exception e){ log.error("service方法[SysClientImpl.updateTodo]调用异常:"+e, e); } } /** * 批量删除待办 * @url {ctx}/api/thrid/grid/todo/delete-task-todo * @param gridTaskVo * @return */ public void deleteTaskTodo(GridTaskVo gridTaskVo){ try{ R<String> gridToDoBo = sysClient.deleteTaskTodo(gridTaskVo); if (ReturnConsts.OK != gridToDoBo.getCode()){ log.error("Client外服务接口[SysClientImpl.deleteTaskTodo]请求异常:" + gridToDoBo.getMsg()); }else{ log.info("批量删除待办成功"); } }catch (Exception e){ log.error("service方法[SysClientImpl.deleteTaskTodo]调用异常:"+e, e); } } } dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/controller/GridToDoController.java
@@ -1,16 +1,14 @@ package cn.huge.module.grid.controller; import cn.huge.base.common.bo.R; import cn.huge.module.grid.domain.vo.GridGetToDoVo; import cn.huge.module.grid.domain.vo.GridIdsVo; import cn.huge.module.grid.domain.vo.GridToDoBacthVo; import cn.huge.module.grid.domain.vo.GridToDoVo; import cn.huge.module.sys.vo.GridToDoBacthVo; import cn.huge.module.sys.vo.GridGetToDoVo; import cn.huge.module.sys.vo.GridIdsVo; import cn.huge.module.sys.vo.GridTaskVo; import cn.huge.module.sys.vo.GridToDoVo; import cn.huge.module.grid.service.GridToDoService; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.List; @@ -75,4 +73,38 @@ public R<String> deleteTodo(@RequestBody GridIdsVo gridIdsVo) { return gridToDoService.deleteToDo(gridIdsVo); } /** * 批量创建待办 * * @param gridToDoBacthVo * @param unitId * @return */ @PostMapping("/create-task-todo") public R<List<GridToDoVo>> createTaskToDo(@RequestBody GridToDoBacthVo gridToDoBacthVo, String unitId) { return gridToDoService.createTaskToDo(gridToDoBacthVo, unitId); } /** * 批量更新待办 * * @param gridToDoVo * @return */ @PostMapping("/update-task-todo") public R<List<GridToDoVo>> updateTaskTodo(@RequestBody GridToDoVo gridToDoVo, @RequestParam(value = "previousTaskId") String previousTaskId) { return gridToDoService.updateTaskToDo(gridToDoVo, previousTaskId); } /** * 批量删除待办 * * @param * @return */ @PostMapping("/delete-task-todo") public R<String> deleteTaskTodo(@RequestBody GridTaskVo gridTaskVo) { return gridToDoService.deleteTaskToDo(gridTaskVo); } } dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/controller/web/GridCaseTaskWebController.java
New file @@ -0,0 +1,220 @@ package cn.huge.module.grid.controller.web; import cn.huge.base.common.utils.ReturnFailUtils; import cn.huge.base.common.utils.ReturnSucUtils; import cn.huge.module.grid.domain.po.GridCaseTask; import cn.huge.module.grid.service.GridCaseTaskService; import com.google.common.collect.Maps; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Sort; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import java.util.Map; import java.util.stream.Collectors; import java.util.stream.Stream; /** * @title: 网格化平台矛调任务信息表接口api-web端 * @description: 网格化平台矛调任务信息表接口api-web端 * @company: hugeinfo * @author: wangwh * @time: 2024-10-18 17:30:09 * @version: 1.0.0 */ @Slf4j @RestController @RequestMapping("/api/web/gridCaseTask") public class GridCaseTaskWebController { @Autowired(required = false) private HttpServletRequest request; @Autowired private GridCaseTaskService service; /** * 获取请求URL参数 * @return Map<String, Object> */ private Map<String, Object> getParameter(){ Map<String, Object> terms = Maps.newHashMap(); // 主键编号 String id = request.getParameter("id"); if (StringUtils.isNotBlank(id)){ terms.put("id", id); } // 对象id String objId = request.getParameter("objId"); if (StringUtils.isNotBlank(objId)){ terms.put("objId", objId); } // 对象类型,11:待分派矛调工单, 12:待签收矛调工单,13:待受理矛调工单,14:待审核矛调工单 String objType = request.getParameter("objType"); if (StringUtils.isNotBlank(objType)){ terms.put("objType", objType); } // 待办类型,1:事件工单,2:任务交办,3:预警线索,4:群众问题,5:矛盾纠纷 String todoYpe = request.getParameter("todoYpe"); if (StringUtils.isNotBlank(todoYpe)){ terms.put("todoYpe", todoYpe); } // 系统消息内容 String sysContent = request.getParameter("sysContent"); if (StringUtils.isNotBlank(sysContent)){ terms.put("sysContent", sysContent); } // 粤政易消息内容 String yzyContent = request.getParameter("yzyContent"); if (StringUtils.isNotBlank(yzyContent)){ terms.put("yzyContent", yzyContent); } // 待办标签,1:超期,2:预警,3:环节超期 String objTag = request.getParameter("objTag"); if (StringUtils.isNotBlank(objTag)){ terms.put("objTag", objTag); } // 标题 String title = request.getParameter("title"); if (StringUtils.isNotBlank(title)){ terms.put("title", title); } // 处置期限 String limitTime = request.getParameter("limitTime"); if (StringUtils.isNotBlank(limitTime)){ terms.put("limitTime", limitTime); } // 用户id String userId = request.getParameter("userId"); if (StringUtils.isNotBlank(userId)){ terms.put("userId", userId); } // 接收用户手机号 String mobile = request.getParameter("mobile"); if (StringUtils.isNotBlank(mobile)){ terms.put("mobile", mobile); } // 纠纷编号 String caseId = request.getParameter("caseId"); if (StringUtils.isNotBlank(caseId)){ terms.put("caseId", caseId); } // 纠纷任务编号 String caseTaskId = request.getParameter("caseTaskId"); if (StringUtils.isNotBlank(caseTaskId)){ terms.put("caseTaskId", caseTaskId); } // 删除状态,0:未删除,1:已删除 String deleteStatus = request.getParameter("deleteStatus"); if (StringUtils.isNotBlank(deleteStatus)){ terms.put("deleteStatus", deleteStatus); } // 顾客编号 String custId = request.getParameter("custId"); if (StringUtils.isNotBlank(custId)){ terms.put("custId", custId); } // 创建时间区间 String createStart = request.getParameter("createStart"); String createEnd = request.getParameter("createEnd"); if(StringUtils.isNotBlank(createStart) && StringUtils.isNotBlank(createEnd)) { terms.put("createStart", createStart); terms.put("createEnd", createEnd); } // 更新时间区间 String updateStart = request.getParameter("updateStart"); String updateEnd = request.getParameter("updateEnd"); if(StringUtils.isNotBlank(updateStart) && StringUtils.isNotBlank(updateEnd)) { terms.put("updateStart", updateStart); terms.put("updateEnd", updateEnd); } return terms; } /** * 条件查询多个 * @url {ctx}/api/web/gridCaseTask/listQuery * @return Object */ @GetMapping("/listQuery") public Object listQuery() { try { Map<String, Object> terms = getParameter(); return ReturnSucUtils.getRepInfo(service.listTerms(terms)); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } /** * 条件分页查询 * @url {ctx}/api/web/gridCaseTask/pageQuery * @param page 页码 * @param size 每页数量 * @return Object */ @GetMapping("/pageQuery") public Object pageQuery(@RequestParam(value = "page") int page, @RequestParam(value = "size") int size) { try { Map<String, Object> terms = getParameter(); Sort sort = Sort.by(Sort.Direction.DESC, "create_time"); PageRequest pageRequest = PageRequest.of(page-1, size, sort); Page<GridCaseTask> gridCaseTaskPage = service.pageQuery(pageRequest, terms); return ReturnSucUtils.getRepInfo( "处理成功", gridCaseTaskPage); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } /** * 根据编号查询单个 * @url {ctx}/api/web/gridCaseTask/getById * @param id 主键编号 * @return Object */ @GetMapping("/getById") public Object getById(@RequestParam(value = "id") String id) { try { return ReturnSucUtils.getRepInfo(service.getById(id)); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } /** * 根据主键单个 * @url {ctx}/api/web/gridCaseTask/deleteById * @param id 主键编号 * @return Object */ @GetMapping("/deleteById") public Object deleteById(@RequestParam(value = "id") String id) { try { service.removeById(id); return ReturnSucUtils.getRepInfo(); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } /** * 新增或更新对象 * @url {ctx}/api/web/gridCaseTask/saveGridCaseTask * @param gridCaseTask 实体对象 * @return Object */ @PostMapping("/saveGridCaseTask") public Object saveGridCaseTask(@RequestBody GridCaseTask gridCaseTask) { try { service.saveGridCaseTask(gridCaseTask); return ReturnSucUtils.getRepInfo(); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } } dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/dao/mapper/GridCaseTaskMapper.java
New file @@ -0,0 +1,64 @@ package cn.huge.module.grid.dao.mapper; import cn.huge.module.grid.domain.po.GridCaseTask; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; import org.springframework.data.domain.PageRequest; import org.springframework.stereotype.Repository; import java.util.List; import java.util.Map; /** * @title: 网格化平台矛调任务信息表持久层业务处理 * @Description 此处仅涉及复杂SQL操作,务必不要在此再次写单表的CRUD操作,因为mybatisPlus已经实现。 * @company: hugeinfo * @author: wangwh * @time: 2024-10-18 17:30:09 * @version 1.0.0 */ @Repository public interface GridCaseTaskMapper extends BaseMapper<GridCaseTask>{ /** * 更新对象 * @param entity 对象 */ void updateGridCaseTask(@Param("entity") GridCaseTask entity); /** * 条件更新对象 * @param entity 对象 * @param terms 条件 */ void updateGridCaseTaskTerms(@Param("entity") GridCaseTask entity, @Param("terms") Map<String, Object> terms); /** * 根据编号物理删除 * @param id 查询条件集合 */ void deleteGridCaseTask(@Param("id") String id); /** * 按条件查询结果集 * @param terms 查询条件集合 * @return List<GridCaseTask> */ List<GridCaseTask> listTerms(@Param("terms") Map<String, Object> terms); /** * 按条件查询实体总数 * @param terms 查询条件集合 * @return long */ long countTerms(@Param("terms") Map<String, Object> terms); /** * 按条件查询实体分页结果集 * @param page 分页对象 * @param terms 查询条件集合 * @return List<GridCaseTask> */ List<GridCaseTask> pageTerms(@Param("page") PageRequest page, @Param("terms") Map<String, Object> terms); } dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/dao/mapper/xml/GridCaseTaskMapper.xml
New file @@ -0,0 +1,202 @@ <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!-- * @title: 网格化平台矛调任务信息表 * @description: 自定义sql,请自行实现业务逻辑 * @company: hugeinfo * @author: wangwh * @time:2024-10-18 17:30:09 * @version 1.0.0 --> <mapper namespace="cn.huge.module.grid.dao.mapper.GridCaseTaskMapper"> <!-- 结果集 --> <resultMap id="dataResult" type="cn.huge.module.grid.domain.po.GridCaseTask"> <result property="id" column="id"/> <result property="objId" column="obj_id"/> <result property="objType" column="obj_type"/> <result property="todoYpe" column="todo_ype"/> <result property="sysContent" column="sys_content"/> <result property="yzyContent" column="yzy_content"/> <result property="objTag" column="obj_tag"/> <result property="title" column="title"/> <result property="limitTime" column="limit_time"/> <result property="userId" column="user_id"/> <result property="mobile" column="mobile"/> <result property="caseId" column="case_id"/> <result property="caseTaskId" column="case_task_id"/> <result property="deleteStatus" column="delete_status"/> <result property="custId" column="cust_id"/> <result property="createTime" column="create_time"/> <result property="updateTime" column="update_time"/> </resultMap> <!-- 表 --> <sql id='table-name'>dyh_th_grid_case_task</sql> <!-- 字段 --> <sql id="column-part"> id, obj_id, obj_type, todo_ype, sys_content, yzy_content, obj_tag, title, limit_time, user_id, mobile, case_id, case_task_id, delete_status, cust_id, create_time, update_time </sql> <!-- 更新实体字段 --> <sql id="set-part"> <if test="entity.objId != null">obj_id = #{entity.objId},</if> <if test="entity.objType != null">obj_type = #{entity.objType},</if> <if test="entity.todoYpe != null">todo_ype = #{entity.todoYpe},</if> <if test="entity.sysContent != null">sys_content = #{entity.sysContent},</if> <if test="entity.yzyContent != null">yzy_content = #{entity.yzyContent},</if> <if test="entity.objTag != null">obj_tag = #{entity.objTag},</if> <if test="entity.title != null">title = #{entity.title},</if> <if test="entity.limitTime != null">limit_time = #{entity.limitTime},</if> <if test="entity.userId != null">user_id = #{entity.userId},</if> <if test="entity.mobile != null">mobile = #{entity.mobile},</if> <if test="entity.caseId != null">case_id = #{entity.caseId},</if> <if test="entity.caseTaskId != null">case_task_id = #{entity.caseTaskId},</if> <if test="entity.deleteStatus != null">delete_status = #{entity.deleteStatus},</if> <if test="entity.custId != null">cust_id = #{entity.custId},</if> <if test="entity.createTime != null">create_time = #{entity.createTime},</if> <if test="entity.updateTime != null">update_time = #{entity.updateTime}</if> </sql> <!-- 条件 --> <sql id="where-part"> <if test="terms != null"> <where> <if test="terms.id != null and terms.id !=''"> and id = #{terms.id} </if> <if test="terms.objId != null and terms.objId !=''"> and obj_id = #{terms.objId} </if> <if test="terms.objType != null and terms.objType !=''"> and obj_type = #{terms.objType} </if> <if test="terms.todoYpe != null and terms.todoYpe !=''"> and todo_ype = #{terms.todoYpe} </if> <if test="terms.sysContent != null and terms.sysContent !=''"> and sys_content = #{terms.sysContent} </if> <if test="terms.yzyContent != null and terms.yzyContent !=''"> and yzy_content = #{terms.yzyContent} </if> <if test="terms.objTag != null and terms.objTag !=''"> and obj_tag = #{terms.objTag} </if> <if test="terms.title != null and terms.title !=''"> and title = #{terms.title} </if> <if test="terms.limitTime != null and terms.limitTime !=''"> and limit_time = #{terms.limitTime} </if> <if test="terms.userId != null and terms.userId !=''"> and user_id = #{terms.userId} </if> <if test="terms.mobile != null and terms.mobile !=''"> and mobile = #{terms.mobile} </if> <if test="terms.caseId != null and terms.caseId !=''"> and case_id = #{terms.caseId} </if> <if test="terms.caseTaskId != null and terms.caseTaskId !=''"> and case_task_id = #{terms.caseTaskId} </if> <if test="terms.deleteStatus = null and terms.deleteStatus =''"> and delete_status = 0 </if> <if test="terms.deleteStatus != null and terms.deleteStatus !=''"> and delete_status = #{terms.deleteStatus} </if> <if test="terms.custId != null and terms.custId !=''"> and cust_id = #{terms.custId} </if> <if test="terms.createTime != null and terms.createTime !=''"> and DATE_FORMAT(create_time,'%Y-%m-%d') = #{terms.createTime} </if> <if test="terms.createStart != null and terms.createStart !='' and terms.createEnd != null and terms.createEnd !=''"> and (DATE_FORMAT(create_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.createStart} and DATE_FORMAT(create_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.createEnd}) </if> <if test="terms.updateTime != null and terms.updateTime !=''"> and DATE_FORMAT(update_time,'%Y-%m-%d') = #{terms.updateTime} </if> <if test="terms.updateStart != null and terms.updateStart !='' and terms.updateEnd != null and terms.updateEnd !=''"> and (DATE_FORMAT(update_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.updateStart} and DATE_FORMAT(update_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.updateEnd}) </if> </where> </if> </sql> <!-- 更新对象 --> <update id="updateGridCaseTask"> update <include refid="table-name"/> <set> <include refid="set-part"/> </set> <where> id = #{entity.id} </where> </update> <!-- 条件更新对象 --> <update id="updateGridCaseTaskTerms"> update <include refid="table-name"/> <set> <include refid="set-part"/> </set> <include refid="where-part"/> </update> <!-- 根据编号物理删除 --> <delete id="deleteGridCaseTask"> delete from <include refid="table-name" /> where id = #{id} </delete> <!-- 根据条件查询 --> <select id="listTerms" resultMap="dataResult"> select <include refid="column-part"/> from <include refid="table-name" /> <include refid="where-part"/> </select> <!-- 根据条件统计 --> <select id="countTerms" resultType="java.lang.Long"> select COUNT(1) from <include refid="table-name" /> <include refid="where-part"/> </select> <!-- 根据条件分页查询 --> <select id="pageTerms" resultMap="dataResult"> SELECT <include refid="column-part"/> FROM <include refid="table-name" /> <include refid="where-part"/> <if test="page.sort != null"> <foreach collection="page.sort" item="s" index="index" separator="," open="order by "> isnull(${s.property}), ${s.property} ${s.direction} </foreach> </if> <if test="page.sort == null"> order by isnull(create_time), create_time desc </if> limit #{page.offset}, #{page.size} </select> </mapper> dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/domain/bo/GridCaseTaskBO.java
New file @@ -0,0 +1,17 @@ package cn.huge.module.grid.domain.bo; import cn.huge.module.grid.domain.po.GridCaseTask; /** * @title: 网格化平台矛调任务信息表业务扩展类 * @description: 网格化平台矛调任务信息表业务扩展类 * @company: hugeinfo * @author: wangwh * @time: 2024-10-18 17:30:09 * @version: 1.0.0 * @see cn.huge.module.grid.domain.po.GridCaseTask */ public class GridCaseTaskBO extends GridCaseTask { } dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/domain/po/GridCaseTask.java
New file @@ -0,0 +1,126 @@ package cn.huge.module.grid.domain.po; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import java.util.Date; /** * @title: 网格化平台矛调任务信息表数据库对应关系类 * @description: PO中的属性与数据表是一一对应关系,如需根据业务处理不同,请使用BO对象。 * @company:hugeinfo * @author: wangwh * @time: 2024-10-18 17:30:09 * @version 1.0.0 */ @TableName(value = "dyh_th_grid_case_task") @Data public class GridCaseTask { /** * 主键编号 */ @TableId(value = "id") private String id; /** * 对象id */ @TableField(value = "obj_id") private String objId; /** * 对象类型,11:待分派矛调工单, 12:待签收矛调工单,13:待受理矛调工单,14:待审核矛调工单 */ @TableField(value = "obj_type") private String objType; /** * 待办类型,1:事件工单,2:任务交办,3:预警线索,4:群众问题,5:矛盾纠纷 */ @TableField(value = "todo_ype") private String todoYpe; /** * 系统消息内容 */ @TableField(value = "sys_content") private String sysContent; /** * 粤政易消息内容 */ @TableField(value = "yzy_content") private String yzyContent; /** * 待办标签,1:超期,2:预警,3:环节超期 */ @TableField(value = "obj_tag") private String objTag; /** * 标题 */ @TableField(value = "title") private String title; /** * 处置期限 */ @TableField(value = "limit_time") private String limitTime; /** * 用户id */ @TableField(value = "user_id") private String userId; /** * 接收用户手机号 */ @TableField(value = "mobile") private String mobile; /** * 纠纷编号 */ @TableField(value = "case_id") private String caseId; /** * 纠纷任务编号 */ @TableField(value = "case_task_id") private String caseTaskId; /** * 删除状态,0:未删除,1:已删除 */ @TableLogic @TableField(value = "delete_status") private Integer deleteStatus; /** * 顾客编号 */ @TableField(value = "cust_id") private String custId; /** * 创建时间 */ @TableField(value = "create_time") private Date createTime; /** * 更新时间 */ @TableField(value = "update_time") private Date updateTime; } dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/domain/vo/GridToDoBatchRequestVo.java
@@ -1,5 +1,6 @@ package cn.huge.module.grid.domain.vo; import cn.huge.module.sys.vo.GridToDoBacthVo; import lombok.Data; @Data dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/domain/vo/GridToDoBatchUpdateRequestVo.java
@@ -1,5 +1,6 @@ package cn.huge.module.grid.domain.vo; import cn.huge.module.sys.vo.GridToDoVo; import lombok.Data; import java.util.List; dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/domain/vo/GridToDoDeleteRequestVo.java
@@ -1,5 +1,6 @@ package cn.huge.module.grid.domain.vo; import cn.huge.module.sys.vo.GridIdsVo; import lombok.Data; @Data dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/domain/vo/GridToDoGetRequestVo.java
@@ -1,5 +1,6 @@ package cn.huge.module.grid.domain.vo; import cn.huge.module.sys.vo.GridGetToDoVo; import lombok.Data; @Data dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/domain/vo/GridToDoRequestVo.java
@@ -1,5 +1,6 @@ package cn.huge.module.grid.domain.vo; import cn.huge.module.sys.vo.GridToDoVo; import lombok.Data; @Data dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/service/GridCaseTaskService.java
New file @@ -0,0 +1,148 @@ package cn.huge.module.grid.service; import cn.huge.base.common.exception.ServiceException; import cn.huge.base.common.utils.DateUtils; import cn.huge.base.common.utils.IdUtils; import cn.huge.module.client.api.impl.UtilsClientImpl; import cn.huge.module.grid.dao.mapper.GridCaseTaskMapper; import cn.huge.module.grid.domain.po.GridCaseTask; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageImpl; import org.springframework.data.domain.PageRequest; import org.springframework.transaction.annotation.Transactional; import javax.annotation.PostConstruct; import java.util.Date; import java.util.List; import java.util.Map; /** * @title: 网格化平台矛调任务信息表业务逻辑处理 * @Description 网格化平台矛调任务信息表业务逻辑处理 * @company hugeinfo * @author wangwh * @Time 2024-10-18 17:30:09 * @version 1.0.0 */ @Slf4j @Service @Transactional(rollbackFor = Exception.class) public class GridCaseTaskService extends ServiceImpl<GridCaseTaskMapper, GridCaseTask>{ @Autowired private GridCaseTaskMapper mapper; @Autowired private UtilsClientImpl utilsClient; /** * 更新对象 * @param entity 对象 */ public void updateGridCaseTask(GridCaseTask entity){ try{ mapper.updateGridCaseTask(entity); }catch (Exception e){ log.error("[GridCaseTaskService.updateGridCaseTask]调用失败,异常信息:"+e, e); throw new ServiceException("GridCaseTaskService.updateGridCaseTask", e); } } /** * 条件更新对象 * @param entity 对象 * @param terms 条件 */ public void updateGridCaseTaskTerms(GridCaseTask entity, Map<String, Object> terms){ try{ mapper.updateGridCaseTaskTerms(entity, terms); }catch (Exception e){ log.error("[GridCaseTaskService.updateGridCaseTaskTerms]调用失败,异常信息:"+e, e); throw new ServiceException("GridCaseTaskService.updateGridCaseTaskTerms", e); } } /** * 根据编号物理删除 * @param id 查询条件集合 */ public void deleteGridCaseTask(String id){ try{ mapper.deleteGridCaseTask(id); }catch (Exception e){ log.error("[GridCaseTaskService.deleteGridCaseTask]调用失败,异常信息:"+e, e); throw new ServiceException("GridCaseTaskService.deleteGridCaseTask", e); } } /** * 按条件查询 * @param terms 条件 * @return List */ public List<GridCaseTask> listTerms(Map<String, Object> terms){ return mapper.listTerms(terms); } /** * 按条件统计 * @param terms 条件 * @return long */ public long countTerms(Map<String, Object> terms){ return mapper.countTerms(terms); } /** * 按条件分页查询 * @param page 分页对象 * @param terms 条件 * @return Page */ public Page<GridCaseTask> pageQuery(PageRequest page, Map<String, Object> terms){ long total = mapper.countTerms(terms); List<GridCaseTask> content = mapper.pageTerms(page, terms); return new PageImpl<GridCaseTask>(content, page, total); } /** * 查询网格待办任务 * @param caseId 事件编号 * @param caseTaskId 任务编号 * @return Page */ public List<GridCaseTask> listGridCaseTask(String caseId, String caseTaskId){ QueryWrapper<GridCaseTask> gridCaseTaskQueryWrapper = new QueryWrapper<>(); gridCaseTaskQueryWrapper.eq("case_id", caseId); gridCaseTaskQueryWrapper.eq("case_task_id", caseTaskId); List<GridCaseTask> gridCaseTaskList = mapper.selectList(gridCaseTaskQueryWrapper); return gridCaseTaskList; } /** * 新增或更新对象 * @param gridCaseTask 实体对象 */ public void saveGridCaseTask(GridCaseTask gridCaseTask){ try{ Date nowDate = DateUtils.getNowDate(); // 判断是否新增 if (IdUtils.checkNewId(gridCaseTask.getId())){ gridCaseTask.setId(utilsClient.getNewTimeId()); gridCaseTask.setCreateTime(nowDate); } gridCaseTask.setUpdateTime(nowDate); this.saveOrUpdate(gridCaseTask); }catch (Exception e){ log.error("[GridCaseTaskService.saveGridCaseTask]调用失败,异常信息:"+e, e); throw new ServiceException("GridCaseTaskService.saveGridCaseTask", e); } } } dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/service/GridToDoService.java
@@ -2,17 +2,24 @@ import cn.huge.base.common.bo.R; import cn.huge.base.common.utils.HttpClientUtils; import cn.huge.base.common.utils.ObjectUtils; import cn.huge.module.grid.domain.po.GridCaseTask; import cn.huge.module.sys.vo.*; import cn.huge.module.grid.domain.vo.*; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.UUID; import java.util.stream.Collectors; @Slf4j @Service @@ -23,6 +30,11 @@ private String userName; @Value("${grid.password}") private String passWord; @Autowired private GridCaseTaskService gridCaseTaskService; @Autowired private GridUserService gridUserService; public R<GridToDoVo> createToDo(GridToDoVo gridToDoVo) { HeadVo headVo = initHeadVo(); @@ -40,6 +52,11 @@ } log.info("xsd:{}", s); GridToDoVo gridToDoDto = JSONObject.parseObject(s).getObject("data", GridToDoVo.class); if(ObjectUtils.isNotEmpty(gridToDoDto)){ GridCaseTask gridCaseTask = new GridCaseTask(); BeanUtils.copyProperties(gridToDoDto, gridCaseTask); gridCaseTaskService.save(gridCaseTask); } return R.ok(gridToDoDto); } @@ -180,4 +197,56 @@ } } public R<List<GridToDoVo>> updateTaskToDo(GridToDoVo gridToDoVo, String previousTaskId) { //修改网格系统工单 List<GridToDoVo> gridToDoVoList = new ArrayList<>(); List<GridCaseTask> gridCaseTaskList = gridCaseTaskService.listGridCaseTask(gridToDoVo.getCaseId(), previousTaskId); for(GridCaseTask gridCaseTask: gridCaseTaskList){ gridToDoVo.setId(gridCaseTask.getId()); gridToDoVo.setMobile(gridCaseTask.getMobile()); gridToDoVoList.add(gridToDoVo); } R<List<GridToDoVo>> resultData = this.batchUpdateToDo(gridToDoVoList); //修改保存的待办工单 List<GridToDoVo> GridToDoVoResult = resultData.getData(); List<GridCaseTask> gridCaseTaskListNew = new ArrayList<>(); for(GridToDoVo gridToDoVoResult: GridToDoVoResult){ GridCaseTask gridCaseTask = new GridCaseTask(); BeanUtils.copyProperties(gridToDoVoResult, gridCaseTask); gridCaseTaskListNew.add(gridCaseTask); } gridCaseTaskService.updateBatchById(gridCaseTaskListNew); return resultData; } public R<List<GridToDoVo>> createTaskToDo(GridToDoBacthVo gridToDoBacthVo, String unitId) { GridOrgUsersVo gridOrgUsersVo = new GridOrgUsersVo(); gridOrgUsersVo.setCurrOrgId(unitId); List<GridUserVo> gridUserVoList = gridUserService.getUserListByOrg(gridOrgUsersVo).getData(); List<String> userIdList = gridUserVoList.stream().map(GridUserVo:: getId).collect(Collectors.toList()); gridToDoBacthVo.setUserIdList(userIdList); R<List<GridToDoVo>> resultData = this.batchCreateToDo(gridToDoBacthVo); //保存待办工单 List<GridToDoVo> GridToDoVoResult = resultData.getData(); List<GridCaseTask> gridCaseTaskListNew = new ArrayList<>(); for(GridToDoVo gridToDoVoResult: GridToDoVoResult){ GridCaseTask gridCaseTask = new GridCaseTask(); BeanUtils.copyProperties(gridToDoVoResult, gridCaseTask); gridCaseTaskListNew.add(gridCaseTask); } BeanUtils.copyProperties(GridToDoVoResult, gridCaseTaskListNew); gridCaseTaskService.saveBatch(gridCaseTaskListNew); return resultData; } public R<String> deleteTaskToDo(GridTaskVo gridTaskVo) { List<GridCaseTask> gridCaseTaskList = gridCaseTaskService.listGridCaseTask(gridTaskVo.getCaseId(), gridTaskVo.getCaseTaskId()); List<String> idList = gridCaseTaskList.stream().map(GridCaseTask::getId).collect(Collectors.toList()); GridIdsVo gridIdsVo = new GridIdsVo(); gridIdsVo.setIds(idList); R<String> result = this.deleteToDo(gridIdsVo); gridCaseTaskService.removeByIds(idList); return result; } }