From 36509d940d14361429516b9f66f62fa2d4b7a706 Mon Sep 17 00:00:00 2001
From: jiazx0107 <jiazx0107@163.com>
Date: 星期五, 16 一月 2026 14:24:01 +0800
Subject: [PATCH] 调整工单审批

---
 fzzy-igdss-core/src/main/java/com/fzzy/work/service/WorkOrderService.java |  105 +++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 94 insertions(+), 11 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 de5299e..c8978c5 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
@@ -2,17 +2,24 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fzzy.igds.constant.InoutConstant;
+import com.fzzy.igds.mapper.InoutNoticeInMapper;
+import com.fzzy.igds.mapper.InoutNoticeOutMapper;
 import com.fzzy.igds.utils.ContextUtil;
 import com.fzzy.igds.utils.DateUtil;
-import com.fzzy.work.data.OrderStatus;
+import com.fzzy.work.data.WorkStatus;
+import com.fzzy.work.data.WorkBizType;
 import com.fzzy.work.data.WorkOrderParam;
 import com.fzzy.work.domain.WorkOrder;
 import com.fzzy.work.mapper.WorkOrderMapper;
 import com.ruoyi.common.core.domain.entity.SysDictData;
 
+import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.utils.StringUtils;
 import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 
 import javax.annotation.Resource;
@@ -26,6 +33,26 @@
 public class WorkOrderService {
     @Resource
     private WorkOrderMapper workOrderMapper;
+    @Resource
+    private InoutNoticeInMapper noticeInMapper;
+    @Resource
+    private InoutNoticeOutMapper noticeOutMapper;
+
+
+    public void addData(WorkOrder data) {
+        if (null == data.getId()) data.setId(ContextUtil.generateOrderId("GD"));
+
+        if (null == data.getCompanyId()) data.setCompanyId(ContextUtil.getCompanyId());
+
+        if (null == data.getCreateBy()) {
+            SysUser user = ContextUtil.getLoginUser();
+            data.setCreateBy(user.getUserName());
+            data.setCreateById(user.getLoginName());
+        }
+        data.setUpdateTime(new Date());
+
+        workOrderMapper.insert(data);
+    }
 
     public void pageQuery(Page<WorkOrder> page, WorkOrderParam param) {
 
@@ -35,7 +62,7 @@
             param = new WorkOrderParam();
 
         }
-        if(null == param.getCompanyId())param.setCompanyId(ContextUtil.getCompanyId());
+        if (null == param.getCompanyId()) param.setCompanyId(ContextUtil.getCompanyId());
 
         queryWrapper.eq("company_id", param.getCompanyId());
 
@@ -44,21 +71,77 @@
         queryWrapper.like(null != param.getName(), "title", param.getName());
         queryWrapper.eq(null != param.getStatus(), "status", param.getStatus());
 
-        if(null != param.getStart()){
+        if (null != param.getStart()) {
             queryWrapper.gt("create_time", DateUtil.getNextZero(param.getStart()));
         }
-        if(null != param.getEnd()){
+        if (null != param.getEnd()) {
             queryWrapper.lt("create_time", DateUtil.getCurZero(param.getEnd()));
         }
 
         workOrderMapper.selectPage(page, queryWrapper);
     }
 
-	public List<SysDictData> triggerStatus() {
-		 List<SysDictData> list = new ArrayList<SysDictData>();
-	        for (OrderStatus w : OrderStatus.values()) {
-	            list.add(new SysDictData(w.getMsg(), w.getCode()));
-	        }
-	        return list;
-	}
+    public List<SysDictData> triggerStatus() {
+        List<SysDictData> list = new ArrayList<SysDictData>();
+        for (WorkStatus w : WorkStatus.values()) {
+            list.add(new SysDictData(w.getMsg(), w.getCode()));
+        }
+        return list;
+    }
+
+    public List<SysDictData> triggerType() {
+        List<SysDictData> list = new ArrayList<SysDictData>();
+        for (WorkBizType w : WorkBizType.values()) {
+            list.add(new SysDictData(w.getMsg(), w.getCode()));
+        }
+        return list;
+    }
+
+    public List<SysDictData> triggerBizType() {
+        List<SysDictData> list = new ArrayList<SysDictData>();
+        for (WorkBizType w : WorkBizType.values()) {
+            list.add(new SysDictData(w.getMsg(), w.getCode()));
+        }
+        return list;
+    }
+
+    /**
+     * 鑾峰彇鐢ㄦ埛寰呭鐞嗗伐鍗曟暟
+     * @param status
+     * @param userId
+     * @return
+     */
+    public Integer getNumByUser(String status, String userId) {
+
+        QueryWrapper<WorkOrder> queryWrapper = new QueryWrapper<>();
+        if (StringUtils.isBlank(userId) || StringUtils.isBlank(status)) {
+            return 0;
+        }
+
+        queryWrapper.eq("assignee_id", userId);
+        queryWrapper.eq("status", status);
+
+        return workOrderMapper.selectCount(queryWrapper);
+    }
+
+
+    public WorkOrder selectById(String orderId) {
+        if (null == orderId) return null;
+        return workOrderMapper.selectById(orderId);
+    }
+
+    public void complete(WorkOrder work) {
+        //鏇存柊宸ュ崟鐘舵��
+        workOrderMapper.updateStatus(work.getId(), work.getStatus());
+
+        //鏇存柊鍏ュ簱閫氱煡鍗曠姸鎬�
+        if (work.getBizType().equals(WorkBizType.TYPE_10.getCode())) {
+            noticeInMapper.auditComplete(work.getBusinessId(), work.getStatus());
+        }
+
+        //鏇存柊鍏ュ簱閫氱煡鍗曠姸鎬�
+        if (work.getBizType().equals(WorkBizType.TYPE_20.getCode())) {
+            noticeOutMapper.auditComplete(work.getBusinessId(), work.getStatus());
+        }
+    }
 }

--
Gitblit v1.9.3