From 7411561962ca6e45e32844d7a626a6e89b8292e5 Mon Sep 17 00:00:00 2001
From: jiazx0107 <jiazx0107@163.com>
Date: 星期六, 17 一月 2026 16:59:56 +0800
Subject: [PATCH] 调整出入库通知单功能

---
 fzzy-igdss-core/src/main/java/com/fzzy/work/service/WorkOrderService.java |   70 ++++++++++++++++++++++++++++++----
 1 files changed, 61 insertions(+), 9 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 c8978c5..8dace54 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,11 +2,12 @@
 
 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.constant.Constant;
 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.WorkNode;
 import com.fzzy.work.data.WorkStatus;
 import com.fzzy.work.data.WorkBizType;
 import com.fzzy.work.data.WorkOrderParam;
@@ -54,18 +55,47 @@
         workOrderMapper.insert(data);
     }
 
-    public void pageQuery(Page<WorkOrder> page, WorkOrderParam param) {
-
+    public void pageQueryByUserType(Page<WorkOrder> page, WorkOrderParam param) {
+        //鑾峰彇褰撳墠鐧诲綍浜�
+        SysUser user = ContextUtil.getLoginUser();
         QueryWrapper<WorkOrder> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("company_id", user.getCompanyId());
 
-        if (null == param) {
-            param = new WorkOrderParam();
+        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 (null == param.getCompanyId()) param.setCompanyId(ContextUtil.getCompanyId());
 
-        queryWrapper.eq("company_id", param.getCompanyId());
+        //閾惰鐢ㄦ埛锛屾牴鎹悎鍚屾煡璇㈤摱琛屼笅鎵�鏈夊簱鍖�
+        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());
+            }
+        }
 
         queryWrapper.eq(null != param.getDeptId(), "dept_id", param.getDeptId());
         queryWrapper.like(null != param.getName(), "title", param.getName());
@@ -105,6 +135,26 @@
         return list;
     }
 
+    public List<SysDictData> triggerNode() {
+        List<SysDictData> list = new ArrayList<SysDictData>();
+        for (WorkNode w : WorkNode.values()) {
+            list.add(new SysDictData(w.getMsg(), w.getCode()));
+        }
+        return list;
+    }
+
+    public WorkOrder selectByBusinessId(String businessId) {
+
+        QueryWrapper<WorkOrder> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("business_id", businessId);
+
+        List<WorkOrder> list = workOrderMapper.selectList(queryWrapper);
+
+        if (null == list || list.isEmpty()) return null;
+
+        return list.get(0);
+    }
+
     /**
      * 鑾峰彇鐢ㄦ埛寰呭鐞嗗伐鍗曟暟
      * @param status
@@ -131,8 +181,8 @@
     }
 
     public void complete(WorkOrder work) {
-        //鏇存柊宸ュ崟鐘舵��
-        workOrderMapper.updateStatus(work.getId(), work.getStatus());
+        //鏇存柊宸ュ崟
+        workOrderMapper.updateById(work);
 
         //鏇存柊鍏ュ簱閫氱煡鍗曠姸鎬�
         if (work.getBizType().equals(WorkBizType.TYPE_10.getCode())) {
@@ -144,4 +194,6 @@
             noticeOutMapper.auditComplete(work.getBusinessId(), work.getStatus());
         }
     }
+
+
 }

--
Gitblit v1.9.3