From 9ad1c8159544ed36729cffa66cb13b7e60fa46ec Mon Sep 17 00:00:00 2001
From: czt <czt18638530771@163.com>
Date: 星期三, 04 二月 2026 17:22:45 +0800
Subject: [PATCH] 客户问题优3-云台控制及监控同步
---
fzzy-igdss-core/src/main/java/com/fzzy/work/service/WorkOrderService.java | 167 +++++++++++++++++++++++++++++++++++++++----------------
1 files changed, 119 insertions(+), 48 deletions(-)
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/work/service/WorkOrderService.java b/fzzy-igdss-core/src/main/java/com/fzzy/work/service/WorkOrderService.java
index 8dace54..31f4d2c 100644
--- a/fzzy-igdss-core/src/main/java/com/fzzy/work/service/WorkOrderService.java
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/work/service/WorkOrderService.java
@@ -5,6 +5,7 @@
import com.fzzy.igds.constant.Constant;
import com.fzzy.igds.mapper.InoutNoticeInMapper;
import com.fzzy.igds.mapper.InoutNoticeOutMapper;
+import com.fzzy.igds.service.InoutNoticeService;
import com.fzzy.igds.utils.ContextUtil;
import com.fzzy.igds.utils.DateUtil;
import com.fzzy.work.data.WorkNode;
@@ -17,11 +18,10 @@
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.utils.StringUtils;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
import javax.annotation.Resource;
@@ -30,10 +30,13 @@
* @Author: Andy.jia
* @Date: 2025/12/19
*/
+@Slf4j
@Service
public class WorkOrderService {
@Resource
private WorkOrderMapper workOrderMapper;
+ @Resource
+ private InoutNoticeService noticeService;
@Resource
private InoutNoticeInMapper noticeInMapper;
@Resource
@@ -59,43 +62,12 @@
//鑾峰彇褰撳墠鐧诲綍浜�
SysUser user = ContextUtil.getLoginUser();
QueryWrapper<WorkOrder> queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("company_id", user.getCompanyId());
String scope = param.getScope();
if (StringUtils.isEmpty(scope)) scope = WorkOrderParam.SCOPE_SELF;
- //鐩戠鐢ㄦ埛-鏌ョ湅鎵�鏈夊簱鍖哄拰寰呭姙
- if (Constant.USER_TYPE_10.equals(user.getUserType())) {
-
- if (WorkOrderParam.SCOPE_SELF.equals(scope)) {
- queryWrapper.eq("node", WorkNode.NODE2.getCode());
- }
- }
-
- //搴撳尯鐢ㄦ埛锛屽鏋滄槸鍏徃鐢ㄦ埛鍙互鏌ョ湅鍏徃涓嬪睘鎵�鏈夊簱鍖猴紝濡傛灉涓哄綋鍓嶅簱鍖哄彧鏌ヨ褰撳墠搴撳尯
- if (Constant.USER_TYPE_30.equals(user.getUserType())) {
- if (ContextUtil.isDepotUser(user.getDeptId() + "")) {
- queryWrapper.eq("dept_id", user.getDeptId() + "");
- } else {
- queryWrapper.likeRight("dept_id", user.getDeptId() + "");
- }
- if (WorkOrderParam.SCOPE_SELF.equals(scope)) {
- queryWrapper.eq("node", WorkNode.NODE1.getCode());
- }
-
- }
-
- //閾惰鐢ㄦ埛锛屾牴鎹悎鍚屾煡璇㈤摱琛屼笅鎵�鏈夊簱鍖�
- if (Constant.USER_TYPE_20.equals(user.getUserType())) {
- //濡傛灉娌℃湁閰嶇疆閾惰锛岃缃竴涓笉瀛樺湪鐨勯摱琛屽彿
- if (StringUtils.isBlank(user.getUserData())) user.setUserData("9");
-
- queryWrapper.eq("bank_id", user.getUserData());
-
- if (WorkOrderParam.SCOPE_SELF.equals(scope)) {
- queryWrapper.eq("node", WorkNode.NODE3.getCode());
- }
- }
+ //鏇存柊鏌ヨ鏉′欢
+ this.updateQueryWrapper(queryWrapper, user, scope);
queryWrapper.eq(null != param.getDeptId(), "dept_id", param.getDeptId());
queryWrapper.like(null != param.getName(), "title", param.getName());
@@ -156,22 +128,116 @@
}
/**
- * 鑾峰彇鐢ㄦ埛寰呭鐞嗗伐鍗曟暟
- * @param status
- * @param userId
+ * 鑾峰彇褰撳墠鐢ㄦ埛寰呭姙宸ュ崟锛屾牴鎹敤鎴风被鍨嬫垨鑰呮病鏈夋寚瀹氬鐞嗕汉鎴栬�呮寚瀹氫换鍔″鐞嗕汉鐨勫伐鍗曟暟閲�
+ * @param user
* @return
*/
- public Integer getNumByUser(String status, String userId) {
+ public Integer getTodoNumByUser(SysUser user) {
QueryWrapper<WorkOrder> queryWrapper = new QueryWrapper<>();
- if (StringUtils.isBlank(userId) || StringUtils.isBlank(status)) {
- return 0;
- }
- queryWrapper.eq("assignee_id", userId);
- queryWrapper.eq("status", status);
+ this.updateQueryWrapper(queryWrapper, user, WorkOrderParam.SCOPE_SELF);
return workOrderMapper.selectCount(queryWrapper);
+ }
+
+ /**
+ * 鑾峰彇椤甸潰姹囨�荤粺璁★紝鎴戠殑寰呭姙宸ュ崟锛涙垜鐨勬寚娲惧伐鍗曪紱浠婃棩寰呭姙宸ュ崟锛涙�诲緟鍔炲伐鍗�
+ *
+ * 鏌ヨ鎵�鏈夌殑寰呭姙宸ュ崟锛岀劧鍚庤繘琛屾眹鎬荤粺璁�
+ * @return
+ */
+ public Map<String, String> pageSummary() {
+ Map<String, String> result = new HashMap<>();
+
+ //鎴戠殑寰呭姙宸ュ崟
+ result.put("selfTodo", "0");
+ //鎴戠殑鎸囨淳宸ュ崟
+ result.put("assignTodo", "0");
+ //浠婃棩寰呭姙宸ュ崟
+ result.put("todayTodo", "0");
+ //鎬诲緟鍔炲伐鍗曟暟閲�
+ result.put("sumTodo", "0");
+
+ //鑾峰彇鎬诲緟鍔炲伐鍗�
+ SysUser user = ContextUtil.getLoginUser();
+ QueryWrapper<WorkOrder> queryWrapper = new QueryWrapper<>();
+
+ String scope = WorkOrderParam.SCOPE_SELF;
+ this.updateQueryWrapper(queryWrapper, user, scope);
+
+ //鑾峰彇鎵�鏈夌殑宸ュ崟
+ List<WorkOrder> list = workOrderMapper.selectList(queryWrapper);
+
+ if (null == list || list.isEmpty()) {
+ log.info("---------宸ュ崟姹囨�荤粨鏋�---------{}", result);
+ return result;
+ }
+
+ int selfTodo = 0, assignTodo = 0, todayTodo = 0, sumTodo = list.size();
+ for (WorkOrder work : list) {
+ if (null == work.getAssigneeId()) {
+ selfTodo++;
+ }
+ if (null != work.getAssigneeId() && work.getAssigneeId().equals(user.getLoginName())) {
+ selfTodo++;
+ assignTodo++;
+ }
+ if (DateUtil.isToday(work.getCreateTime())) {
+ todayTodo++;
+ }
+ }
+ //鎴戠殑寰呭姙宸ュ崟
+ result.put("selfTodo", selfTodo + "");
+ //鎴戠殑鎸囨淳宸ュ崟
+ result.put("assignTodo", assignTodo + "");
+ //浠婃棩寰呭姙宸ュ崟
+ result.put("todayTodo", todayTodo + "");
+ //鎬诲緟鍔炲伐鍗曟暟閲�
+ result.put("sumTodo", sumTodo + "");
+
+ log.info("---------宸ュ崟姹囨�荤粨鏋�---------{}", result);
+ return result;
+ }
+
+ private void updateQueryWrapper(QueryWrapper<WorkOrder> queryWrapper, SysUser user, String scope) {
+
+ queryWrapper.eq("company_id", user.getCompanyId());
+
+ //濡傛灉鏄釜浜哄伐鍗曪紝澶勭悊浜轰负绌烘垨鑰呬负褰撳墠浜�
+ if (WorkOrderParam.SCOPE_SELF.equals(scope)) {
+ queryWrapper.isNull("assignee_id").or().eq("assignee_id", user.getLoginName());
+ }
+
+ //鐩戠鐢ㄦ埛-鏌ョ湅鎵�鏈夊簱鍖哄拰寰呭姙
+ if (Constant.USER_TYPE_10.equals(user.getUserType())) {
+ if (WorkOrderParam.SCOPE_SELF.equals(scope)) {
+ queryWrapper.eq("node", WorkNode.NODE2.getCode());
+ }
+ }
+
+ //搴撳尯鐢ㄦ埛锛屽鏋滄槸鍏徃鐢ㄦ埛鍙互鏌ョ湅鍏徃涓嬪睘鎵�鏈夊簱鍖猴紝濡傛灉涓哄綋鍓嶅簱鍖哄彧鏌ヨ褰撳墠搴撳尯
+ if (Constant.USER_TYPE_30.equals(user.getUserType())) {
+ if (ContextUtil.isDepotUser(user.getDeptId() + "")) {
+ queryWrapper.eq("dept_id", user.getDeptId() + "");
+ } else {
+ queryWrapper.likeRight("dept_id", user.getDeptId() + "");
+ }
+ if (WorkOrderParam.SCOPE_SELF.equals(scope)) {
+ queryWrapper.eq("node", WorkNode.NODE1.getCode());
+ }
+
+ }
+
+ //閾惰鐢ㄦ埛锛屾牴鎹悎鍚屾煡璇㈤摱琛屼笅鎵�鏈夊簱鍖�
+ if (Constant.USER_TYPE_20.equals(user.getUserType())) {
+ //濡傛灉娌℃湁閰嶇疆閾惰锛岃缃竴涓笉瀛樺湪鐨勯摱琛屽彿
+ if (StringUtils.isBlank(user.getUserData())) user.setUserData("9");
+ queryWrapper.eq("bank_id", user.getUserData());
+ if (WorkOrderParam.SCOPE_SELF.equals(scope)) {
+ queryWrapper.eq("node", WorkNode.NODE3.getCode());
+ }
+ }
}
@@ -186,14 +252,19 @@
//鏇存柊鍏ュ簱閫氱煡鍗曠姸鎬�
if (work.getBizType().equals(WorkBizType.TYPE_10.getCode())) {
- noticeInMapper.auditComplete(work.getBusinessId(), work.getStatus());
+ noticeService.updateNoticeInStatus(work.getBusinessId(), work.getStatus());
}
- //鏇存柊鍏ュ簱閫氱煡鍗曠姸鎬�
+ //鏇存柊鍑哄簱閫氱煡鍗曠姸鎬�
if (work.getBizType().equals(WorkBizType.TYPE_20.getCode())) {
- noticeOutMapper.auditComplete(work.getBusinessId(), work.getStatus());
+ noticeService.updateNoticeOutStatus(work.getBusinessId(), work.getStatus());
}
}
+ public void updateData(WorkOrder work) {
+ workOrderMapper.updateById(work);
+ }
+
+
}
--
Gitblit v1.9.3