From c7e9e47f7b75dd0a88c929d7fb0713e5f638fdf1 Mon Sep 17 00:00:00 2001
From: jiazx0107 <jiazx0107@163.com>
Date: 星期日, 08 二月 2026 19:08:11 +0800
Subject: [PATCH] 调整工单审核功能,调整出入库工单排序

---
 fzzy-igdss-core/src/main/java/com/fzzy/work/service/WorkOrderProcessService.java |    3 
 fzzy-igdss-view/src/main/java/com/fzzy/work/WorkOrder.view.xml                   |   69 +++++++++++++---------
 fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutNoticeOut.view.xml              |   32 ----------
 fzzy-igdss-core/src/main/java/com/fzzy/igds/service/InoutNoticeService.java      |    3 
 fzzy-igdss-core/src/main/java/com/fzzy/work/service/WorkOrderService.java        |   32 +++++-----
 fzzy-igdss-core/src/main/java/com/fzzy/work/service/BizWorkService.java          |   33 +++++++++-
 fzzy-igdss-view/src/main/java/com/fzzy/igds/CommonPR.java                        |    1 
 7 files changed, 88 insertions(+), 85 deletions(-)

diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/InoutNoticeService.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/InoutNoticeService.java
index 0d4ecbe..358b891 100644
--- a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/InoutNoticeService.java
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/InoutNoticeService.java
@@ -76,6 +76,7 @@
             queryWrapper.like("complete_status", param.getCompleteStatus());
         }
 
+        queryWrapper.orderByDesc("id");
         noticeInMapper.selectPage(page, queryWrapper);
     }
 
@@ -270,7 +271,7 @@
         if (StringUtils.isNotBlank(param.getCompleteStatus())) {
             queryWrapper.like("complete_status", param.getCompleteStatus());
         }
-
+        queryWrapper.orderByDesc("id");
         noticeOutMapper.selectPage(page, queryWrapper);
     }
 
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/work/service/BizWorkService.java b/fzzy-igdss-core/src/main/java/com/fzzy/work/service/BizWorkService.java
index c008bd0..59d0e85 100644
--- a/fzzy-igdss-core/src/main/java/com/fzzy/work/service/BizWorkService.java
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/work/service/BizWorkService.java
@@ -69,7 +69,7 @@
         work.setDeptId(data.getDeptId());
         work.setCompanyId(data.getCompanyId());
         work.setUpdateTime(new Date());
-        work.setTitle("鍏ュ簱閫氱煡鍗曞鎵�");
+        work.setTitle(data.getName()+"-瀹℃壒");
         work.setConfId(conf.getId());
         work.setStatus(WorkStatus.STATUS_30.getCode());
         work.setReceiveTime(new Date());
@@ -114,7 +114,7 @@
         work.setDeptId(data.getDeptId());
         work.setCompanyId(data.getCompanyId());
         work.setUpdateTime(new Date());
-        work.setTitle("鍑哄簱閫氱煡鍗曞鎵�");
+        work.setTitle(data.getName()+"-瀹℃壒");
         work.setConfId(conf.getId());
         work.setStatus(WorkStatus.STATUS_30.getCode());
         work.setReceiveTime(new Date());
@@ -193,7 +193,7 @@
         work.setStatus(WorkStatus.STATUS_30.getCode());
         work.setReceiveTime(new Date());
 
-        work.setDescription("褰撳墠鍚堝悓<"+ data.getName() + ">涓嬭川鎶间粨搴�<"+data.getDepotNames()+">搴撳瓨閲忛噾棰濅綆浜庡緟杩樻閲戦锛岄渶瑕佽繘琛岃繕娆撅紒");
+        work.setDescription("褰撳墠鍚堝悓<" + data.getName() + ">涓嬭川鎶间粨搴�<" + data.getDepotNames() + ">搴撳瓨閲忛噾棰濅綆浜庡緟杩樻閲戦锛岄渶瑕佽繘琛岃繕娆撅紒");
 
         work.setCreateBy("绯荤粺鐢熸垚");
         work.setCreateById("sys");
@@ -267,7 +267,7 @@
 
         WorkNode nextNode = this.getNextNode(work.getNode(), conf);
 
-        log.info("宸ュ崟瀹℃壒锛歿}锛屽綋鍓嶈妭鐐癸細{}锛屼笅涓�鑺傜偣锛歿}", work.getTitle(), work.getNode(), nextNode);
+        log.info("宸ュ崟瀹℃壒锛歿}锛屾墽琛屽姩浣滐細{}锛屽綋鍓嶈妭鐐癸細{}锛屼笅涓�鑺傜偣锛歿}", work.getTitle(), action, work.getNode(), nextNode);
 
         //閫氳繃鎿嶄綔
         if ("pass".equals(action)) {
@@ -280,6 +280,10 @@
                 work.setAssigneeId(process.getAssigneeId());
                 work.setNode(nextNode.getCode());
                 orderService.complete(work);
+            }else{
+                work.setNode(nextNode.getCode());
+                work.setStatus(WorkStatus.STATUS_30.getCode());
+                orderService.updateData(work);
             }
 
             //澧炲姞瀹℃壒璁板綍
@@ -290,11 +294,30 @@
         //鎷掔粷鎿嶄綔
         if ("refuse".equals(action)) {
             process.setAction("鎷掔粷");
-            process.setNode(WorkNode.NODE_END.getCode());
+            process.setNode(work.getNode());
 
             work.setStatus(WorkStatus.STATUS_60.getCode());
 
             orderService.complete(work);
+            
+            //澧炲姞瀹℃壒璁板綍
+            orderProcessService.addData(process, true);
+
+            return BaseResp.success();
+        }
+
+        //寮傚父澶勭悊
+        if ("error".equals(action)) {
+            process.setAction("寮傚父澶勭悊");
+            process.setNode(work.getNode());
+            work.setStatus(WorkStatus.STATUS_50.getCode());
+
+//            work.setAssigneeName(process.getAssigneeName());
+//            work.setAssigneeId(process.getAssigneeId());
+
+
+            orderService.complete(work);
+
             //澧炲姞瀹℃壒璁板綍
             orderProcessService.addData(process, true);
 
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/work/service/WorkOrderProcessService.java b/fzzy-igdss-core/src/main/java/com/fzzy/work/service/WorkOrderProcessService.java
index 97a4423..5e445cf 100644
--- a/fzzy-igdss-core/src/main/java/com/fzzy/work/service/WorkOrderProcessService.java
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/work/service/WorkOrderProcessService.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.fzzy.igds.utils.ContextUtil;
+import com.fzzy.igds.utils.DateUtil;
 import com.fzzy.work.data.WorkNode;
 import com.fzzy.work.domain.WorkOrderProcess;
 import com.fzzy.work.mapper.WorkOrderProcessMapper;
@@ -41,7 +42,7 @@
             process.setId(ContextUtil.UUID());
             process.setNode(WorkNode.NODE_END.getCode());
             process.setRemark("娴佺▼缁撴潫");
-            process.setCreateTime(new Date());
+            process.setCreateTime(DateUtil.getNewByMinute(new Date(),1));
             mapper.insert(process);
         }
     }
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 31f4d2c..b75fd4d 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
@@ -37,10 +37,6 @@
     private WorkOrderMapper workOrderMapper;
     @Resource
     private InoutNoticeService noticeService;
-    @Resource
-    private InoutNoticeInMapper noticeInMapper;
-    @Resource
-    private InoutNoticeOutMapper noticeOutMapper;
 
 
     public void addData(WorkOrder data) {
@@ -80,6 +76,7 @@
             queryWrapper.lt("create_time", DateUtil.getCurZero(param.getEnd()));
         }
 
+        queryWrapper.orderByDesc("id");
         workOrderMapper.selectPage(page, queryWrapper);
     }
 
@@ -180,8 +177,10 @@
                 selfTodo++;
             }
             if (null != work.getAssigneeId() && work.getAssigneeId().equals(user.getLoginName())) {
-                selfTodo++;
-                assignTodo++;
+                if(!WorkNode.NODE_END.getCode().equals(work.getNode())){
+                    selfTodo++;
+                    assignTodo++;
+                }
             }
             if (DateUtil.isToday(work.getCreateTime())) {
                 todayTodo++;
@@ -204,11 +203,6 @@
 
         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)) {
@@ -218,26 +212,32 @@
 
         //搴撳尯鐢ㄦ埛锛屽鏋滄槸鍏徃鐢ㄦ埛鍙互鏌ョ湅鍏徃涓嬪睘鎵�鏈夊簱鍖猴紝濡傛灉涓哄綋鍓嶅簱鍖哄彧鏌ヨ褰撳墠搴撳尯
         if (Constant.USER_TYPE_30.equals(user.getUserType())) {
+            if (WorkOrderParam.SCOPE_SELF.equals(scope)) {
+                queryWrapper.eq("node", WorkNode.NODE1.getCode());
+            }
+
             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());
+
+                queryWrapper.eq("bank_id", user.getUserData());
             if (WorkOrderParam.SCOPE_SELF.equals(scope)) {
                 queryWrapper.eq("node", WorkNode.NODE3.getCode());
             }
         }
+        //濡傛灉鏄釜浜哄伐鍗曪紝澶勭悊浜轰负绌烘垨鑰呬负褰撳墠浜�
+        if (WorkOrderParam.SCOPE_SELF.equals(scope)) {
+            queryWrapper.isNull("assignee_id").or().eq("assignee_id", user.getLoginName());
+        }
+
     }
 
 
diff --git a/fzzy-igdss-view/src/main/java/com/fzzy/igds/CommonPR.java b/fzzy-igdss-view/src/main/java/com/fzzy/igds/CommonPR.java
index b3c469f..3de6a1b 100644
--- a/fzzy-igdss-view/src/main/java/com/fzzy/igds/CommonPR.java
+++ b/fzzy-igdss-view/src/main/java/com/fzzy/igds/CommonPR.java
@@ -2,7 +2,6 @@
 
 import com.bstek.dorado.annotation.DataProvider;
 import com.fzzy.igds.service.SysUserService;
-import com.fzzy.igds.utils.ContextUtil;
 import com.ruoyi.common.core.domain.entity.SysUser;
 import org.springframework.stereotype.Component;
 
diff --git a/fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutNoticeOut.view.xml b/fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutNoticeOut.view.xml
index 50d9c56..0fc520a 100644
--- a/fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutNoticeOut.view.xml
+++ b/fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutNoticeOut.view.xml
@@ -108,14 +108,6 @@
           <Property name="valueProperty">dictLabel</Property>
         </Property>
       </PropertyDef>
-      <PropertyDef name="auditUser">
-        <Property></Property>
-        <Property name="label">瀹℃牳浜�</Property>
-      </PropertyDef>
-      <PropertyDef name="auditDate">
-        <Property name="dataType">DateTime</Property>
-        <Property name="label">瀹℃壒鏃堕棿</Property>
-      </PropertyDef>
       <PropertyDef name="completeStatus">
         <Property></Property>
         <Property name="label">瀹屾垚鐘舵��</Property>
@@ -169,30 +161,6 @@
           <Property name="valueProperty">name</Property>
         </Property>
         <Property name="visible">true</Property>
-      </PropertyDef>
-      <PropertyDef name="auditStatus">
-        <Property></Property>
-        <Property name="label">瀹℃牳鐘舵��</Property>
-        <Property name="mapping">
-          <Property name="mapValues">
-            <Collection>
-              <Entity>
-                <Property name="name">鐩戠瀹℃牳</Property>
-                <Property name="code">10</Property>
-              </Entity>
-              <Entity>
-                <Property name="name">閾惰瀹℃牳</Property>
-                <Property name="code">20</Property>
-              </Entity>
-              <Entity>
-                <Property name="name">宸插鏍�</Property>
-                <Property name="code">30</Property>
-              </Entity>
-            </Collection>
-          </Property>
-          <Property name="keyProperty">code</Property>
-          <Property name="valueProperty">name</Property>
-        </Property>
       </PropertyDef>
     </DataType>
   </Model>
diff --git a/fzzy-igdss-view/src/main/java/com/fzzy/work/WorkOrder.view.xml b/fzzy-igdss-view/src/main/java/com/fzzy/work/WorkOrder.view.xml
index a80f1eb..ba41e4b 100644
--- a/fzzy-igdss-view/src/main/java/com/fzzy/work/WorkOrder.view.xml
+++ b/fzzy-igdss-view/src/main/java/com/fzzy/work/WorkOrder.view.xml
@@ -186,7 +186,7 @@
 //姹囨�讳俊鎭�&#xD;
 summaryCount = function(){&#xD;
 	view.get(&quot;#ajaxSummary&quot;).execute(function(result){&#xD;
-		console.log(result);&#xD;
+		//console.log(result);&#xD;
 		jQuery('#child-num1').text(result.selfTodo);&#xD;
 		jQuery('#child-num2').text(result.assignTodo);&#xD;
 		jQuery('#child-num3').text(result.todayTodo);&#xD;
@@ -237,9 +237,9 @@
 	var tabIndex = view.get(&quot;#tabMain.currentIndex&quot;);&#xD;
 	var cur = view.get(&quot;#dsMain.data:#&quot;);&#xD;
 	var dialog = view.get(&quot;#dialogMain&quot;);&#xD;
-	view.get('^btnTag').set('disabled',false);&#xD;
+	view.get('#btnTodo').set('disabled',false);&#xD;
 	if(1 == tabIndex){&#xD;
-		view.get('^btnTag').set('disabled',true);&#xD;
+		view.get('#btnTodo').set('disabled',true);&#xD;
 	}&#xD;
 	dialog.show();&#xD;
 	&#xD;
@@ -267,10 +267,12 @@
 	}&#xD;
 	view.get(&quot;#ajaxTodo&quot;).set('parameter',process).execute(function(result){&#xD;
 		if('200' != result.code){&#xD;
+			view.get('#dialogTodo').hide();&#xD;
 			$alert(result.message);&#xD;
 		}else{&#xD;
 			$alert(&quot;鎵ц鎴愬姛锛�&quot;);&#xD;
 			view.get('#dialogTodo').hide();&#xD;
+			view.get(&quot;#dialogMain&quot;).hide();&#xD;
 			query();&#xD;
 		}&#xD;
 	});&#xD;
@@ -722,38 +724,17 @@
                 </AutoForm>
                 <ToolBar>
                   <Fill/>
-                  <ToolBarButton>
-                    <ClientEvent name="onClick">var process = view.get(&quot;#dsProcess.data&quot;);&#xD;
-process.set('action','pass')&#xD;
-view.get(&quot;#dialogTodo&quot;).show();</ClientEvent>
-                    <Property name="caption">閫氳繃</Property>
-                    <Property name="width">80</Property>
+                  <ToolBarButton id="btnTodo">
+                    <Property name="caption">宸ュ崟瀹℃壒</Property>
                     <Property name="exClassName">btn1</Property>
                     <Property name="iconClass">fa fa-check-circle</Property>
-                    <Property name="tags">btnTag</Property>
-                  </ToolBarButton>
-                  <ToolBarButton>
-                    <ClientEvent name="onClick">selectUser();</ClientEvent>
-                    <Property name="caption">杞氦</Property>
-                    <Property name="width">80</Property>
-                    <Property name="exClassName">btn2</Property>
-                    <Property name="iconClass">fa fa-check-circle</Property>
-                    <Property name="tags">btnTag</Property>
-                  </ToolBarButton>
-                  <ToolBarButton>
-                    <ClientEvent name="onClick">var process = view.get(&quot;#dsProcess.data&quot;);&#xD;
-process.set('action','refuse')&#xD;
-view.get(&quot;#dialogTodo&quot;).show();</ClientEvent>
-                    <Property name="caption">鎷掔粷</Property>
-                    <Property name="width">80</Property>
-                    <Property name="exClassName">btn5</Property>
-                    <Property name="iconClass">fa fa-check-circle</Property>
-                    <Property name="tags">btnTag</Property>
+                    <Property name="menu">menus</Property>
+                    <Property name="width">120</Property>
                   </ToolBarButton>
                   <ToolBarButton>
                     <ClientEvent name="onClick">view.get(&quot;#dialogMain&quot;).hide();</ClientEvent>
                     <Property name="caption">鍏抽棴</Property>
-                    <Property name="width">80</Property>
+                    <Property name="width">120</Property>
                     <Property name="exClassName">btn3</Property>
                     <Property name="iconClass">fa fa-times-circle</Property>
                   </ToolBarButton>
@@ -891,5 +872,35 @@
     <AjaxAction id="ajaxSummary">
       <Property name="service">workOrderPR#pageSummary</Property>
     </AjaxAction>
+    <Menu id="menus">
+      <MenuItem>
+        <ClientEvent name="onClick">var process = view.get(&quot;#dsProcess.data&quot;);&#xD;
+process.set('action','pass')&#xD;
+view.get(&quot;#dialogTodo&quot;).show();</ClientEvent>
+        <Property name="caption">瀹℃壒閫氳繃</Property>
+        <Property name="iconClass">fa fa-check</Property>
+      </MenuItem>
+      <MenuItem>
+        <ClientEvent name="onClick">selectUser();</ClientEvent>
+        <Property name="caption">杞氦澶勭悊</Property>
+        <Property name="iconClass">fa fa-repeat</Property>
+      </MenuItem>
+      <MenuItem>
+        <ClientEvent name="onClick">var process = view.get(&quot;#dsProcess.data&quot;);&#xD;
+process.set('action','refuse')&#xD;
+view.get(&quot;#dialogTodo&quot;).show();</ClientEvent>
+        <Property name="caption">瀹℃壒鎷掔粷</Property>
+        <Property name="iconClass">fa fa-times</Property>
+      </MenuItem>
+      <Separator/>
+      <MenuItem>
+        <ClientEvent name="onClick">var process = view.get(&quot;#dsProcess.data&quot;);&#xD;
+process.set('action','error')&#xD;
+view.get(&quot;#dialogTodo&quot;).show();</ClientEvent>
+        <Property name="caption">寮傚父澶勭悊</Property>
+        <Property name="iconClass">fa fa-tags</Property>
+        <Property name="tip">寮傚父宸ュ崟澶勭悊--鐩存帴娴佺▼缁撴潫</Property>
+      </MenuItem>
+    </Menu>
   </View>
 </ViewConfig>

--
Gitblit v1.9.3