From ebb1a448339bafc4c4849fdbc2291bd3a28261df Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期二, 09 一月 2024 10:47:29 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
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