From 4ef3b7b71b2b444f09e20bd440215e1677a602a4 Mon Sep 17 00:00:00 2001 From: zhanghua <314079846@qq.com> Date: 星期二, 09 一月 2024 09:57:20 +0800 Subject: [PATCH] 2024年第一次bug修改 --- ycl-platform/src/main/resources/mapper/caseHandler/BaseCaseMapper.xml | 16 +++++ ycl-platform/src/main/java/com/ycl/controller/caseHandler/BaseCaseController.java | 16 +++++ ycl-platform/src/main/java/com/ycl/entity/equipment/HandheldTerminal.java | 2 ycl-common/src/main/resources/mapper/user/UmsMenuMapper.xml | 2 ycl-platform/src/main/java/com/ycl/vo/casePool/WorkOrderVO.java | 58 +++++++++++++++++++ ycl-platform/src/main/resources/mapper/resources/ImageResourcesMapper.xml | 7 - ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/ViolationsServiceImpl.java | 4 ycl-platform/src/main/java/com/ycl/dto/caseHandler/QueryForViolationParam.java | 3 + ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java | 21 ++++++ ycl-platform/src/main/java/com/ycl/mapper/caseHandler/BaseCaseMapper.java | 7 +- ycl-platform/src/main/java/com/ycl/service/caseHandler/IBaseCaseService.java | 6 ++ ycl-platform/src/main/java/com/ycl/service/message/impl/MessageServiceImpl.java | 18 +++-- 12 files changed, 138 insertions(+), 22 deletions(-) diff --git a/ycl-common/src/main/resources/mapper/user/UmsMenuMapper.xml b/ycl-common/src/main/resources/mapper/user/UmsMenuMapper.xml index b2332a6..b368ed3 100644 --- a/ycl-common/src/main/resources/mapper/user/UmsMenuMapper.xml +++ b/ycl-common/src/main/resources/mapper/user/UmsMenuMapper.xml @@ -65,7 +65,7 @@ FROM ums_admin_role_relation arr INNER JOIN `ums_role_menu_relation` AS rmr on rmr.role_id = arr.role_id JOIN ums_menu AS m ON rmr.menu_id = m.id - WHERE arr.admin_id = #{id} + WHERE arr.admin_id = #{id} and m.hidden = false order by m.sort </select> diff --git a/ycl-platform/src/main/java/com/ycl/controller/caseHandler/BaseCaseController.java b/ycl-platform/src/main/java/com/ycl/controller/caseHandler/BaseCaseController.java index 5adf61a..9720a00 100644 --- a/ycl-platform/src/main/java/com/ycl/controller/caseHandler/BaseCaseController.java +++ b/ycl-platform/src/main/java/com/ycl/controller/caseHandler/BaseCaseController.java @@ -30,6 +30,7 @@ import com.ycl.service.resources.IVideoResourcesService; import com.ycl.utils.EasyExcelUtils; import com.ycl.vo.casePool.QueryForViolationVO; +import com.ycl.vo.casePool.WorkOrderVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -537,4 +538,19 @@ public CommonResult searchCount(@RequestBody VideoInspectParam violationParam) { return CommonResult.success(baseCaseService.updateCase(violationParam)); } + + @GetMapping("/work_order") + @ApiOperation("宸ュ崟缁熻") + public CommonResult getWorkOrder(@RequestParam Integer currentPage, + @RequestParam Integer pageSize, + @RequestParam(required = false) String keyword) { + return CommonResult.success(baseCaseService.getWorkOrder(currentPage, pageSize, keyword)); + } + + @PostMapping("/work_order/export") + @ApiOperation("宸ュ崟缁熻-瀵煎嚭") + public void getWorkOrderExport(HttpServletResponse response, QueryForViolationParam param) { + String sheetName = "宸ュ崟鏁版嵁"; + EasyExcelUtils.export(response, sheetName, WorkOrderVO.class, baseCaseService.getWorkOrderList(param.getKeyword())); + } } \ No newline at end of file diff --git a/ycl-platform/src/main/java/com/ycl/dto/caseHandler/QueryForViolationParam.java b/ycl-platform/src/main/java/com/ycl/dto/caseHandler/QueryForViolationParam.java index 972d796..4f66603 100644 --- a/ycl-platform/src/main/java/com/ycl/dto/caseHandler/QueryForViolationParam.java +++ b/ycl-platform/src/main/java/com/ycl/dto/caseHandler/QueryForViolationParam.java @@ -98,4 +98,7 @@ @ApiModelProperty(value = "妗堜欢缂栫爜") private String code; + + @ApiModelProperty(value = "鍏抽敭瀛�") + private String keyword; } \ No newline at end of file diff --git a/ycl-platform/src/main/java/com/ycl/entity/equipment/HandheldTerminal.java b/ycl-platform/src/main/java/com/ycl/entity/equipment/HandheldTerminal.java index 4332ba6..bc33ea3 100644 --- a/ycl-platform/src/main/java/com/ycl/entity/equipment/HandheldTerminal.java +++ b/ycl-platform/src/main/java/com/ycl/entity/equipment/HandheldTerminal.java @@ -56,7 +56,7 @@ * 閮ㄩ棬id */ @TableField("depart_id") - private Integer departId; + private Long departId; /** * 鐘舵��1鍦ㄧ嚎0绂荤嚎 diff --git a/ycl-platform/src/main/java/com/ycl/mapper/caseHandler/BaseCaseMapper.java b/ycl-platform/src/main/java/com/ycl/mapper/caseHandler/BaseCaseMapper.java index b9faedc..6086cf7 100644 --- a/ycl-platform/src/main/java/com/ycl/mapper/caseHandler/BaseCaseMapper.java +++ b/ycl-platform/src/main/java/com/ycl/mapper/caseHandler/BaseCaseMapper.java @@ -6,10 +6,7 @@ import com.ycl.dto.caseHandler.QueryForViolationParam; import com.ycl.dto.cockpitManage.DelayDO; import com.ycl.entity.caseHandler.BaseCase; -import com.ycl.vo.casePool.BaseCaseVO; -import com.ycl.vo.casePool.CasePoolIllegalBuildingVO; -import com.ycl.vo.casePool.CasePoolViolationVO; -import com.ycl.vo.casePool.QueryForViolationVO; +import com.ycl.vo.casePool.*; import com.ycl.vo.cockpit.enforcementEvents.EventVO; import com.ycl.vo.cockpit.enforcementEvents.VideoAndAreaVO; import org.apache.ibatis.annotations.Param; @@ -70,4 +67,6 @@ Long selectOnTimeCaseLastMonthCount(); Long selectOnTimeCaseRecentlyMonthCount(); + + IPage<WorkOrderVO> getWorkOrder(IPage<WorkOrderVO> page, String keyword); } diff --git a/ycl-platform/src/main/java/com/ycl/service/caseHandler/IBaseCaseService.java b/ycl-platform/src/main/java/com/ycl/service/caseHandler/IBaseCaseService.java index cbb2530..071f739 100644 --- a/ycl-platform/src/main/java/com/ycl/service/caseHandler/IBaseCaseService.java +++ b/ycl-platform/src/main/java/com/ycl/service/caseHandler/IBaseCaseService.java @@ -11,12 +11,14 @@ import com.ycl.entity.caseHandler.BaseCaseDetail; import com.ycl.vo.casePool.BaseCaseVO; import com.ycl.vo.casePool.QueryForViolationVO; +import com.ycl.vo.casePool.WorkOrderVO; import com.ycl.vo.cockpit.enforcementEvents.DelayVO; import com.ycl.vo.cockpit.enforcementEvents.EventVO; import com.ycl.vo.cockpit.enforcementEvents.VideoAndAreaVO; import org.springframework.web.bind.annotation.RequestParam; import java.util.ArrayList; +import java.util.Collection; import java.util.List; import java.util.Map; @@ -91,4 +93,8 @@ List<DelayVO> selectDelayList(); Map<String, Object> statistics(); + + IPage<WorkOrderVO> getWorkOrder(Integer current, Integer pageSize, String keyword); + + List<WorkOrderVO> getWorkOrderList(String keyword); } diff --git a/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java index 05b8a2e..2be50d9 100644 --- a/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java +++ b/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java @@ -173,7 +173,7 @@ } @Override - public Page listViolationsPage(Integer current, Integer size, List<Integer> state, Integer resource, String code, String categoryBig, String categorySmall, Integer street, String site, String startTime, String endTime, Integer violationsTypeId, Integer videoId) { + public Page listViolationsPage(Integer current, Integer size, List<Integer> state, Integer resource, String code, String categoryBig, String categorySmall, Integer street, String site, String startTime, String endTime, Integer violationsTypeId, Integer videoId) { Integer type = 01; Integer hours = 60; Integer day = 24; @@ -666,4 +666,23 @@ map.put("register", register); return map; } + + @Override + public IPage<WorkOrderVO> getWorkOrder(Integer pageIndex, Integer pageSize, String keyword) { + if (pageIndex == null) { + pageIndex = 1; + } + if (pageSize == null) { + pageSize = 20; + } + IPage<WorkOrderVO> page = new Page<>(pageIndex, pageSize); + return baseCaseMapper.getWorkOrder(page, keyword); + } + + @Override + public List<WorkOrderVO> getWorkOrderList(String keyword) { + IPage<WorkOrderVO> page = new Page<>(1, 5000); + IPage<WorkOrderVO> page1 = baseCaseMapper.getWorkOrder(page, keyword); + return page1.getRecords(); + } } \ No newline at end of file diff --git a/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/ViolationsServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/ViolationsServiceImpl.java index 9a13aa8..5a16078 100644 --- a/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/ViolationsServiceImpl.java +++ b/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/ViolationsServiceImpl.java @@ -120,7 +120,7 @@ try { ImageResources imageResources = new ImageResources(); - imageResources.setType("01"); + imageResources.setType("05"); imageResources.setBelongToId(baseCase.getId()); imageResources.setUrl(videoAlarmReport.getPicData()); imageResources.setCreateTime(LocalDateTime.now()); @@ -187,7 +187,7 @@ try { for (int i = 0; i < imgs.length; i++) { ImageResources imageResources = new ImageResources(); - imageResources.setType("01"); + imageResources.setType("04"); imageResources.setBelongToId(baseCase.getId()); imageResources.setUrl(imgs[i]); imageResources.setCreateTime(LocalDateTime.now()); diff --git a/ycl-platform/src/main/java/com/ycl/service/message/impl/MessageServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/message/impl/MessageServiceImpl.java index cbf68e8..b6a1a7e 100644 --- a/ycl-platform/src/main/java/com/ycl/service/message/impl/MessageServiceImpl.java +++ b/ycl-platform/src/main/java/com/ycl/service/message/impl/MessageServiceImpl.java @@ -95,7 +95,7 @@ messageMapper.deleteById(savedMessage); } - ArrayList<Long> ids = new ArrayList<>(); + ArrayList<Message> ids = new ArrayList<>(); message.setTargetFrom(umsAdminMapper.selectById(message.getCreateUser()).getUsername()); if (message.getId() == null) { for (String receive : message.getTargetTo().split(",")) { @@ -105,12 +105,13 @@ sendMessage.setSendTime(new Date()); sendMessage.setTargetTo(receive); sendMessage.setSendTime(new Date()); - sendMessage.setPhoneNumber(umsAdminMapper.selectById(receive).getMobile()); + sendMessage.setPhoneNumber(message.getTargetTo()); + if (ChannelCode.INNER.equals(message.getChannelCode())) { sendMessage.setIsView(0); } this.save(sendMessage); - ids.add(sendMessage.getId()); + ids.add(sendMessage); } } switch (message.getChannelCode()) { @@ -131,11 +132,12 @@ @SneakyThrows @Transactional(rollbackFor = Exception.class) - void sendSMS(Message message, List<Long> mesIds) { - String[] ids = message.getTargetTo().split(","); - String[] mobiles = new String[ids.length]; - for (int i = 0; i < ids.length; i++) { - mobiles[i] = umsAdminMapper.selectById(ids[i]).getMobile(); + public void sendSMS(Message message, List<Message> messageList) { + List<String> mobiles = new ArrayList<>(); + List<Long> mesIds = new ArrayList<>(); + for (Message m : messageList) { + mobiles.add(m.getPhoneNumber()); + mesIds.add(m.getId()); } message.setPhoneNumber(StringUtils.join(mobiles, ",")); Integer messageStatus = sendMessages(message); diff --git a/ycl-platform/src/main/java/com/ycl/vo/casePool/WorkOrderVO.java b/ycl-platform/src/main/java/com/ycl/vo/casePool/WorkOrderVO.java new file mode 100644 index 0000000..04fdb9e --- /dev/null +++ b/ycl-platform/src/main/java/com/ycl/vo/casePool/WorkOrderVO.java @@ -0,0 +1,58 @@ +package com.ycl.vo.casePool; + +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; + + +public class WorkOrderVO { + @ExcelProperty(value = "濮撳悕", index = 1) + private String name; + @ExcelProperty(value = "浠诲姟鎬绘暟", index = 2) + private Integer taskCount; + @ExcelProperty(value = "宸插畬鎴愭暟閲�", index = 3) + private Integer finishCount; + @ExcelProperty(value = "鏈畬鎴愭暟閲�", index = 4) + private Integer notFinishCount; + @ExcelProperty(value = "瀹屾垚鐜�", index = 5) + private Double finishRadio; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public Integer getTaskCount() { + return taskCount; + } + + public void setTaskCount(Integer taskCount) { + this.taskCount = taskCount; + } + + public Integer getFinishCount() { + return finishCount; + } + + public void setFinishCount(Integer finishCount) { + this.finishCount = finishCount; + } + + public Integer getNotFinishCount() { + return this.taskCount - this.finishCount; + } + + public void setNotFinishCount(Integer notFinishCount) { + this.notFinishCount = notFinishCount; + } + + public Double getFinishRadio() { + return ((double) this.finishCount) / ((double) this.taskCount); + } + + public void setFinishRadio(Double finishRadio) { + this.finishRadio = finishRadio; + } +} diff --git a/ycl-platform/src/main/resources/mapper/caseHandler/BaseCaseMapper.xml b/ycl-platform/src/main/resources/mapper/caseHandler/BaseCaseMapper.xml index aebe2af..2467e2f 100644 --- a/ycl-platform/src/main/resources/mapper/caseHandler/BaseCaseMapper.xml +++ b/ycl-platform/src/main/resources/mapper/caseHandler/BaseCaseMapper.xml @@ -473,4 +473,20 @@ WHERE end_time < limit_time AND PERIOD_DIFF(date_format(now(), '%Y%m'), date_format(create_time, '%Y%m')) = 0 </select> + <select id="getWorkOrder" resultType="com.ycl.vo.casePool.WorkOrderVO"> + SELECT username as name,count(DISTINCT id) taskCount,SUM(CASE WHEN state>7 THEN 1 ELSE 0 END) finishCount + from ( + SELECT a.username , bc.id,max(bc.state) state + from ums_base_case bc + INNER JOIN ums_dispose_record dr on bc.id = dr.base_case_id + INNER JOIN ums_admin a on dr.handler_id = a.id + where ( bc.state = 6 or bc.state = 7 + or bc.state = 8 or bc.state = 9) + <if test="keyword !=''and keyword!=null"> + and a.username like concat('%', #{keyword},'%') + </if> + GROUP BY a.username ,bc.id + ) tmp + GROUP BY username + </select> </mapper> \ No newline at end of file diff --git a/ycl-platform/src/main/resources/mapper/resources/ImageResourcesMapper.xml b/ycl-platform/src/main/resources/mapper/resources/ImageResourcesMapper.xml index a585c28..cffff5f 100644 --- a/ycl-platform/src/main/resources/mapper/resources/ImageResourcesMapper.xml +++ b/ycl-platform/src/main/resources/mapper/resources/ImageResourcesMapper.xml @@ -31,11 +31,8 @@ LEFT JOIN ums_base_case t2 ON t1.belong_to_id = t2.id LEFT JOIN ums_sccg_region t3 on t3.id=t2.community_id <where> - <if test="type == '03' and type != null and type !='' "> - t1.type='03' - </if> - <if test="type == '01' and type != null and type !='' "> - t1.type='02' or t1.type='01' + <if test="type != null and type !='' "> + t1.type = #{type} </if> <if test="startTime != '' and endTime != '' and startTime != null and endTime != null"> and t1.create_time between #{startTime} and #{endTime} -- Gitblit v1.8.0