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-view/src/main/java/com/fzzy/igds/InoutStockChangePR.java              |    4 
 fzzy-igdss-view/src/main/java/com/fzzy/work/WorkOrderPR.java                     |   13 +
 fzzy-igdss-view/src/main/java/com/fzzy/work/WorkOrder.view.xml                   |   18 ++
 fzzy-igdss-web/src/main/java/com/fzzy/work/WorkOrderController.java              |   51 +++++
 fzzy-igdss-core/src/main/java/com/fzzy/work/service/WorkOrderService.java        |   21 ++
 fzzy-igdss-core/src/main/java/com/fzzy/work/service/BizWorkService.java          |   17 +-
 fzzy-igdss-core/src/main/java/com/fzzy/igds/domain/InoutNoticeOut.java           |   16 +-
 fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutNoticeIn.view.xml               |   82 +++++----
 /dev/null                                                                        |   45 -----
 fzzy-igdss-web/src/main/resources/templates/work/flow-his.html                   |   26 ---
 fzzy-igdss-core/src/main/java/com/fzzy/igds/service/DicService.java              |    4 
 fzzy-igdss-view/src/main/java/com/fzzy/igds/FileUploadManage.java                |    2 
 fzzy-igdss-core/src/main/java/com/fzzy/work/service/WorkOrderProcessService.java |   14 +
 fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutNoticeOut.view.xml              |  138 ++++++++--------
 fzzy-igdss-core/src/main/java/com/fzzy/igds/service/InoutNoticeService.java      |   14 -
 15 files changed, 243 insertions(+), 222 deletions(-)

diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/constant/AuditStatus.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/constant/AuditStatus.java
deleted file mode 100644
index 6593aff..0000000
--- a/fzzy-igdss-core/src/main/java/com/fzzy/igds/constant/AuditStatus.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package com.fzzy.igds.constant;
-
-/**
- *
- */
-public enum AuditStatus {
-	STATUS_10("10", "寰呭鎵�"),
-    STATUS_20("20", "閫氳繃"),
-
-    STATUS_21("21", "搴撳尯瀹℃壒"),
-    STATUS_22("22", "鐩戠瀹℃壒"),
-    STATUS_23("22", "閾惰瀹℃壒"),
-
-    STATUS_30("30", "鎷掔粷"),
-    STATUS_40("40", "閫�鍥�");
-
-    private String code;
-    private String msg;
-
-    AuditStatus(String code, String msg) {
-        this.code = code;
-        this.msg = msg;
-    }
-
-    public String getCode() {
-        return code;
-    }
-
-    public String getMsg() {
-        return msg;
-    }
-
-	public static String getMsg(String code) {
-		if(null == code) return null;
-		if(AuditStatus.STATUS_10.getCode().equals(code)) return AuditStatus.STATUS_10.getMsg();
-		if(AuditStatus.STATUS_20.getCode().equals(code)) return AuditStatus.STATUS_20.getMsg();
-		if(AuditStatus.STATUS_21.getCode().equals(code)) return AuditStatus.STATUS_21.getMsg();
-		if(AuditStatus.STATUS_22.getCode().equals(code)) return AuditStatus.STATUS_22.getMsg();
-        if(AuditStatus.STATUS_23.getCode().equals(code)) return AuditStatus.STATUS_23.getMsg();
-        if(AuditStatus.STATUS_30.getCode().equals(code)) return AuditStatus.STATUS_30.getMsg();
-        if(AuditStatus.STATUS_40.getCode().equals(code)) return AuditStatus.STATUS_40.getMsg();
-		return code;
-	}
-
-}
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/domain/InoutNoticeOut.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/domain/InoutNoticeOut.java
index b1b1ee1..fb3e522 100644
--- a/fzzy-igdss-core/src/main/java/com/fzzy/igds/domain/InoutNoticeOut.java
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/domain/InoutNoticeOut.java
@@ -81,14 +81,14 @@
     @TableField("audit_status")
     private String auditStatus = "10";
 
-    @Column(name = "audit_user", columnDefinition = "varchar(20) COMMENT '瀹℃牳浜�'")
-    @TableField("audit_user")
-    private String auditUser;
-
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
-    @Column(name = "audit_date", columnDefinition = "datetime COMMENT '瀹℃壒鏃堕棿'")
-    @TableField("audit_date")
-    private Date auditDate;
+//    @Column(name = "audit_user", columnDefinition = "varchar(20) COMMENT '瀹℃牳浜�'")
+//    @TableField("audit_user")
+//    private String auditUser;
+//
+//    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+//    @Column(name = "audit_date", columnDefinition = "datetime COMMENT '瀹℃壒鏃堕棿'")
+//    @TableField("audit_date")
+//    private Date auditDate;
 
     @Column(name = "complete_status", columnDefinition = "varchar(20) COMMENT '瀹屾垚鐘舵��(NONE=鏈畬鎴愶紝COMPLETE=宸插畬鎴�)'")
     @TableField("complete_status")
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/DicService.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/DicService.java
index c259205..d55fb16 100644
--- a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/DicService.java
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/DicService.java
@@ -2,6 +2,7 @@
 
 import com.fzzy.igds.constant.*;
 import com.fzzy.igds.utils.ContextUtil;
+import com.fzzy.work.data.WorkStatus;
 import com.ruoyi.common.core.domain.entity.SysDictData;
 import com.ruoyi.common.utils.DictUtils;
 import com.ruoyi.common.utils.StringUtils;
@@ -252,10 +253,9 @@
      */
     public List<SysDictData> triggerStatusType() {
         List<SysDictData> list = new ArrayList<SysDictData>();
-        for (AuditStatus w : AuditStatus.values()) {
+        for (WorkStatus w : WorkStatus.values()) {
             list.add(new SysDictData(w.getMsg(), w.getCode()));
         }
-
         return list;
     }
 
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 cfe719f..778a6a3 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
@@ -1,7 +1,6 @@
 package com.fzzy.igds.service;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.fzzy.igds.constant.AuditStatus;
 import com.fzzy.igds.constant.Constant;
 import com.fzzy.igds.constant.InoutConstant;
 import com.fzzy.igds.data.*;
@@ -10,6 +9,7 @@
 import com.fzzy.igds.mapper.InoutNoticeOutMapper;
 import com.fzzy.igds.utils.ContextUtil;
 import com.fzzy.work.data.WorkBizType;
+import com.fzzy.work.data.WorkStatus;
 import com.fzzy.work.domain.WorkOrderConf;
 import com.fzzy.work.service.BizWorkService;
 import com.ruoyi.common.utils.StringUtils;
@@ -177,15 +177,14 @@
         data.setUpdateTime(new Date());
         data.setCreateBy(ContextUtil.getLoginUserName());
         data.setCreateTime(new Date());
-        data.setAuditStatus(AuditStatus.STATUS_10.getCode());
+        data.setAuditStatus(WorkStatus.STATUS_10.getCode());
         data.setCompleteStatus(Constant.COMPLETE_STATUS_NONE);
 
         //鎵ц娴佺▼
         WorkOrderConf conf = workService.getConfByDeptId(data.getDeptId(), WorkBizType.TYPE_10);
         //娴佺▼涓嶅惎鐢�
         if (null == conf || Constant.YN_N.equals(conf.getValTag())) {
-            data.setAuditStatus(AuditStatus.STATUS_20.getCode());
-            //data.setAuditDate(data.getCreateTime());
+            data.setAuditStatus(WorkStatus.STATUS_50.getCode());
         } else {
             BaseResp resp = workService.startByNoticeIn(data, conf);
             log.info("---------鍚姩宸ュ崟娴佺▼------{}", resp);
@@ -367,15 +366,14 @@
         data.setUpdateTime(new Date());
         data.setCreateBy(ContextUtil.getLoginUserName());
         data.setCreateTime(new Date());
-        data.setAuditStatus(AuditStatus.STATUS_10.getCode());
+        data.setAuditStatus(WorkStatus.STATUS_10.getCode());
         data.setCompleteStatus(Constant.COMPLETE_STATUS_NONE);
 
         //鎵ц娴佺▼
-        WorkOrderConf conf = workService.getConfByDeptId(data.getDeptId(), WorkBizType.TYPE_10);
+        WorkOrderConf conf = workService.getConfByDeptId(data.getDeptId(), WorkBizType.TYPE_20);
         //娴佺▼涓嶅惎鐢�
         if (null == conf || Constant.YN_N.equals(conf.getValTag())) {
-            data.setAuditStatus(AuditStatus.STATUS_20.getCode());
-            data.setAuditDate(data.getCreateTime());
+            data.setAuditStatus(WorkStatus.STATUS_50.getCode());
         } else {
             BaseResp resp = workService.startByNoticeOut(data, conf);
             log.info("---------鍚姩宸ュ崟娴佺▼------{}", resp);
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 1cedead..9623e67 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
@@ -85,7 +85,7 @@
         process.setAssigneeName(work.getCreateBy());
         process.setAssigneeId(work.getCreateById());
         process.setNode(WorkNode.NODE_START.getCode());
-        orderProcessService.addData(process);
+        orderProcessService.addData(process,false);
 
         return BaseResp.success();
     }
@@ -130,7 +130,7 @@
         process.setAssigneeName(work.getCreateBy());
         process.setAssigneeId(work.getCreateById());
         process.setNode(WorkNode.NODE_START.getCode());
-        orderProcessService.addData(process);
+        orderProcessService.addData(process,false);
 
         return BaseResp.success();
     }
@@ -201,22 +201,21 @@
         process.setAssigneeName(ContextUtil.getLoginUserName());
         process.setAssigneeId(ContextUtil.getLoginName());
 
-        WorkNode node = this.getNextNode(work.getNode(), conf);
+        WorkNode nextNode = this.getNextNode(work.getNode(), conf);
 
-        log.info("宸ュ崟瀹℃壒锛歿}锛屽綋鍓嶈妭鐐癸細{}锛屼笅涓�鑺傜偣锛歿}", work.getTitle(), work.getNode(), node);
+        log.info("宸ュ崟瀹℃壒锛歿}锛屽綋鍓嶈妭鐐癸細{}锛屼笅涓�鑺傜偣锛歿}", work.getTitle(), work.getNode(), nextNode);
 
         //閫氳繃鎿嶄綔
         if ("pass".equals(action)) {
             process.setAction("閫氳繃");
-            process.setNode(node.getCode());
+            process.setNode(work.getNode());
 
             //缁撴潫鍒ゆ柇锛屽鏋滄槸缁撴潫鑺傜偣锛屽垯缁撴潫宸ュ崟
-            if (WorkNode.NODE_END.getCode().equals(process.getNode())) {
+            if (WorkNode.NODE_END.getCode().equals(nextNode.getCode())) {
                 work.setStatus(WorkStatus.STATUS_50.getCode());
-
                 work.setAssigneeName(process.getAssigneeName());
                 work.setAssigneeId(process.getAssigneeId());
-
+                work.setNode(nextNode.getCode());
                 orderService.complete(work);
             }
         }
@@ -231,7 +230,7 @@
         }
 
         //澧炲姞瀹℃壒璁板綍
-        orderProcessService.addData(process);
+        orderProcessService.addData(process,nextNode.equals(WorkNode.NODE_END));
 
         return BaseResp.success();
     }
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 f8ffd84..97a4423 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,12 +2,14 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.fzzy.igds.utils.ContextUtil;
+import com.fzzy.work.data.WorkNode;
 import com.fzzy.work.domain.WorkOrderProcess;
 import com.fzzy.work.mapper.WorkOrderProcessMapper;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -31,8 +33,16 @@
         return mapper.selectList(queryWrapper);
     }
 
-    public void addData(WorkOrderProcess process) {
-        if(null == process.getId()) process.setId(ContextUtil.UUID());
+    public void addData(WorkOrderProcess process, boolean isEnd) {
+        if (null == process.getId()) process.setId(ContextUtil.UUID());
         mapper.insert(process);
+
+        if (isEnd) {
+            process.setId(ContextUtil.UUID());
+            process.setNode(WorkNode.NODE_END.getCode());
+            process.setRemark("娴佺▼缁撴潫");
+            process.setCreateTime(new Date());
+            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 ba1ea5f..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
@@ -3,7 +3,6 @@
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fzzy.igds.constant.Constant;
-import com.fzzy.igds.constant.InoutConstant;
 import com.fzzy.igds.mapper.InoutNoticeInMapper;
 import com.fzzy.igds.mapper.InoutNoticeOutMapper;
 import com.fzzy.igds.utils.ContextUtil;
@@ -136,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
diff --git a/fzzy-igdss-view/src/main/java/com/fzzy/igds/FileUploadManage.java b/fzzy-igdss-view/src/main/java/com/fzzy/igds/FileUploadManage.java
index 5fb84a8..a32b382 100644
--- a/fzzy-igdss-view/src/main/java/com/fzzy/igds/FileUploadManage.java
+++ b/fzzy-igdss-view/src/main/java/com/fzzy/igds/FileUploadManage.java
@@ -1,7 +1,5 @@
 package com.fzzy.igds;
 
-import com.bstek.dorado.uploader.DownloadFile;
-import com.bstek.dorado.uploader.annotation.FileProvider;
 import com.bstek.dorado.uploader.UploadFile;
 import com.bstek.dorado.uploader.annotation.FileResolver;
 import com.fzzy.igds.service.FileService;
diff --git a/fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutNoticeIn.view.xml b/fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutNoticeIn.view.xml
index 2ddc0e4..37ff1ec 100644
--- a/fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutNoticeIn.view.xml
+++ b/fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutNoticeIn.view.xml
@@ -4,10 +4,6 @@
   <Context/>
   <Model>
     <DataType name="dtMain">
-      <ClientEvent name="onDataChange">&#xD;
-&#xD;
-&#xD;
-</ClientEvent>
       <Property name="creationType">com.fzzy.igds.domain.InoutNoticeIn</Property>
       <PropertyDef name="id">
         <Property></Property>
@@ -110,14 +106,6 @@
           <Property name="keyProperty">dictValue</Property>
           <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>
@@ -278,15 +266,14 @@
           <Property name="iconClass">fa fa-pencil-square-o</Property>
         </ToolBarButton>
         <ToolBarButton layoutConstraint="left">
-          <ClientEvent name="onClick">&#xD;
-            var select = view.get(&quot;#dataGridMain&quot;).get(&quot;selection&quot;);&#xD;
-            if(select){&#xD;
-            view.get(&quot;#ajaxDel&quot;).set(&quot;parameter&quot;,select).execute(function(result){&#xD;
-            select.remove();&#xD;
-            });&#xD;
-            }else{&#xD;
-            $notify(&quot;璇烽�夋嫨闇�瑕佸垹闄ょ殑鏁版嵁鈥︹��&quot;);&#xD;
-            }</ClientEvent>
+          <ClientEvent name="onClick">var select = view.get(&quot;#dataGridMain&quot;).get(&quot;selection&quot;);&#xD;
+if(select){&#xD;
+view.get(&quot;#ajaxDel&quot;).set(&quot;parameter&quot;,select).execute(function(result){&#xD;
+select.remove();&#xD;
+});&#xD;
+}else{&#xD;
+$notify(&quot;璇烽�夋嫨闇�瑕佸垹闄ょ殑鏁版嵁鈥︹��&quot;);&#xD;
+}</ClientEvent>
           <Property name="caption">鍒犻櫎</Property>
           <Property name="exClassName">btn3</Property>
           <Property name="width">100</Property>
@@ -308,6 +295,7 @@
           <Property name="iconClass">fa fa-refresh</Property>
           <Property name="width">120</Property>
           <Property name="tip">瀹屾垚閲忛粯璁ょ粺璁″埌鏄ㄥぉ锛屾煡鐪嬪疄鏃跺畬鎴愰噺璇风偣鍑烩�滃疄鏃舵牳绠椻�濇寜閽�</Property>
+          <Property name="ignored">true</Property>
         </ToolBarButton>
         <ToolBarButton layoutConstraint="left">
           <ClientEvent name="onClick">&#xD;
@@ -323,6 +311,20 @@
           <Property name="exClassName">btn2</Property>
           <Property name="width">120</Property>
           <Property name="iconClass">fa fa-print</Property>
+        </ToolBarButton>
+        <Separator/>
+        <ToolBarButton layoutConstraint="left">
+          <ClientEvent name="onClick">var select = view.get(&quot;#dataGridMain&quot;).get(&quot;selection&quot;);&#xD;
+if(select){&#xD;
+	view.get(&quot;#iFrameFlowHis&quot;).set(&quot;path&quot;,&quot;/work/flow-his2?businessId=&quot;+select.get(&quot;id&quot;));&#xD;
+	view.get(&quot;#dialogHis&quot;).show();&#xD;
+}else{&#xD;
+	$notify(&quot;璇烽�夋嫨闇�瑕佹煡鐪嬬殑鏁版嵁鈥︹��&quot;);&#xD;
+}</ClientEvent>
+          <Property name="caption">瀹℃壒璁板綍</Property>
+          <Property name="exClassName">btn4</Property>
+          <Property name="iconClass">fa fa-th-list</Property>
+          <Property name="width">120</Property>
         </ToolBarButton>
         <Fill/>
       </ToolBar>
@@ -378,11 +380,10 @@
           <Property name="align">center</Property>
           <Property name="width">100</Property>
         </DataColumn>
-        <DataColumn>
-          <Property name="property">updateBy</Property>
+        <DataColumn name="auditStatus">
+          <Property name="property">auditStatus</Property>
+          <Property name="width">100</Property>
           <Property name="align">center</Property>
-          <Property name="name">updateBy</Property>
-          <Property name="width">120</Property>
         </DataColumn>
         <DataColumn>
           <Property name="property">createTime</Property>
@@ -406,7 +407,11 @@
       <Property name="iconClass">fa fa-tasks</Property>
       <Buttons>
         <Button id="btnOk">
-          <ClientEvent name="onClick">view.get(&quot;#updateSave&quot;).execute(function(result){&#xD;
+          <ClientEvent name="onClick">//璧嬪�兼敹璐у崟浣嶇瓑浜庡綋鍓嶅簱鍖�&#xD;
+var data = view.get(&quot;#dsMain.data:#&quot;);&#xD;
+data.set('unitName',data.getText('deptId'));&#xD;
+&#xD;
+view.get(&quot;#updateSave&quot;).execute(function(result){&#xD;
 	if(result.code != '200'){&#xD;
 		$alert(result.message);&#xD;
 		return;&#xD;
@@ -565,18 +570,6 @@
               <Property name="readOnly">true</Property>
               <Editor/>
             </AutoFormElement>
-            <AutoFormElement>
-              <Property name="name">auditUser</Property>
-              <Property name="property">auditUser</Property>
-              <Property name="readOnly">true</Property>
-              <Editor/>
-            </AutoFormElement>
-            <AutoFormElement>
-              <Property name="name">auditDate</Property>
-              <Property name="property">auditDate</Property>
-              <Property name="readOnly">true</Property>
-              <Editor/>
-            </AutoFormElement>
             <HtmlContainer layoutConstraint="colSpan:3">
               <Property name="content">1.鍏ュ簱閫氱煡鍗曚綔涓哄叆搴撲綔涓氱殑鍓嶇疆鏉′欢锛屽繀椤婚厤缃紝鍚﹀垯鏃犳硶杩涜鍏ュ簱浣滀笟銆�&lt;br>&#xD;
 2.鍗曟嵁绫诲瀷=搴撳尯閫氱煡鍗曪紝琛ㄧず搴撳尯鑷繁浣滀笟涓氬姟锛屼笉鍙楃洃绠$鐞嗐��&lt;br>&#xD;
@@ -631,5 +624,18 @@
     <AjaxAction id="recalculate">
       <Property name="service">inoutNoticePR#updateSumNoticeIn</Property>
     </AjaxAction>
+    <Dialog id="dialogHis">
+      <Property name="width">80%</Property>
+      <Property name="height">80%</Property>
+      <Property name="iconClass">fa fa-th-list</Property>
+      <Property name="caption">瀹℃壒璁板綍</Property>
+      <Buttons/>
+      <Children>
+        <IFrame id="iFrameFlowHis">
+          <Property name="path">/work/flow-his?businessId=1</Property>
+        </IFrame>
+      </Children>
+      <Tools/>
+    </Dialog>
   </View>
 </ViewConfig>
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 357dd74..dcc468f 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
@@ -103,33 +103,10 @@
         <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 name="mapValues">${dorado.getDataProvider(&quot;dicPR#triggerStatusType&quot;).getResult()}</Property>
+          <Property name="keyProperty">dictValue</Property>
+          <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>
@@ -322,6 +299,7 @@
           <Property name="iconClass">fa fa-refresh</Property>
           <Property name="width">100</Property>
           <Property name="tip">瀹屾垚閲忛粯璁ょ粺璁″埌鏄ㄥぉ锛屾煡鐪嬪疄鏃跺畬鎴愰噺璇风偣鍑烩�滃疄鏃舵牳绠椻�濇寜閽�</Property>
+          <Property name="ignored">true</Property>
         </ToolBarButton>
         <ToolBarButton layoutConstraint="left">
           <ClientEvent name="onClick">&#xD;
@@ -337,6 +315,20 @@
           <Property name="exClassName">btn2</Property>
           <Property name="width">120</Property>
           <Property name="iconClass">fa fa-print</Property>
+        </ToolBarButton>
+        <Separator/>
+        <ToolBarButton layoutConstraint="left">
+          <ClientEvent name="onClick">var select = view.get(&quot;#dataGridMain&quot;).get(&quot;selection&quot;);&#xD;
+if(select){&#xD;
+	view.get(&quot;#iFrameFlowHis&quot;).set(&quot;path&quot;,&quot;/work/flow-his2?businessId=&quot;+select.get(&quot;id&quot;));&#xD;
+	view.get(&quot;#dialogHis&quot;).show();&#xD;
+}else{&#xD;
+	$notify(&quot;璇烽�夋嫨闇�瑕佹煡鐪嬬殑鏁版嵁鈥︹��&quot;);&#xD;
+}</ClientEvent>
+          <Property name="caption">瀹℃壒璁板綍</Property>
+          <Property name="exClassName">btn4</Property>
+          <Property name="iconClass">fa fa-th-list</Property>
+          <Property name="width">120</Property>
         </ToolBarButton>
         <Fill/>
       </ToolBar>
@@ -392,11 +384,10 @@
           <Property name="align">center</Property>
           <Property name="width">100</Property>
         </DataColumn>
-        <DataColumn>
-          <Property name="property">updateBy</Property>
+        <DataColumn name="auditStatus">
+          <Property name="property">auditStatus</Property>
+          <Property name="width">100</Property>
           <Property name="align">center</Property>
-          <Property name="name">updateBy</Property>
-          <Property name="width">120</Property>
         </DataColumn>
         <DataColumn>
           <Property name="property">createTime</Property>
@@ -421,7 +412,10 @@
       <Property name="iconClass">fa fa-tasks</Property>
       <Buttons>
         <Button id="btnOk">
-          <ClientEvent name="onClick">view.get(&quot;#updateSave&quot;).execute(function(result){&#xD;
+          <ClientEvent name="onClick">var data = view.get(&quot;#dsMain.data:#&quot;);&#xD;
+data.set('unitName',data.getText('deptId'));&#xD;
+&#xD;
+view.get(&quot;#updateSave&quot;).execute(function(result){&#xD;
 	if(result.code != '200'){&#xD;
 		$alert(result.message);&#xD;
 		return;&#xD;
@@ -475,7 +469,7 @@
             <Property name="labelAlign">right</Property>
             <Property name="labelSeparator">锛�</Property>
             <Property name="labelWidth">120</Property>
-            <AutoFormElement layoutConstraint="colSpan:2">
+            <AutoFormElement>
               <Property name="name">name</Property>
               <Property name="property">name</Property>
               <Editor/>
@@ -484,6 +478,8 @@
               <Property name="name">type</Property>
               <Property name="property">type</Property>
               <Property name="trigger">autoMappingDropDown1</Property>
+              <Property name="editorType">RadioGroup</Property>
+              <Property name="showHint">false</Property>
               <Editor/>
             </AutoFormElement>
             <AutoFormElement id="formItemBank">
@@ -514,20 +510,38 @@
               <Property name="trigger">defaultYearDropDown</Property>
               <Editor/>
             </AutoFormElement>
-            <AutoFormElement layoutConstraint="colSpan:2">
-              <Property name="name">customerName</Property>
-              <Property name="property">customerName</Property>
+            <AutoFormElement>
+              <Property name="name">createTime</Property>
+              <Property name="property">createTime</Property>
+              <Property name="readOnly">true</Property>
               <Editor/>
             </AutoFormElement>
             <AutoFormElement>
-              <Property name="name">unitName</Property>
-              <Property name="property">unitName</Property>
+              <Property name="name">customerName</Property>
+              <Property name="property">customerName</Property>
               <Editor/>
             </AutoFormElement>
             <AutoFormElement>
               <Property name="name">targetNumber</Property>
               <Property name="property">targetNumber</Property>
               <Property name="readOnly">false</Property>
+              <Editor/>
+            </AutoFormElement>
+            <AutoFormElement>
+              <Property name="name">createBy</Property>
+              <Property name="property">createBy</Property>
+              <Editor/>
+            </AutoFormElement>
+            <AutoFormElement>
+              <Property name="name">createTime</Property>
+              <Property name="property">createTime</Property>
+              <Property name="readOnly">true</Property>
+              <Editor/>
+            </AutoFormElement>
+            <AutoFormElement layoutConstraint="colSpan:3">
+              <Property name="name">remark</Property>
+              <Property name="property">remark</Property>
+              <Property name="editorType">TextArea</Property>
               <Editor/>
             </AutoFormElement>
             <AutoFormElement>
@@ -547,17 +561,6 @@
               <Property name="readOnly">false</Property>
               <Editor/>
             </AutoFormElement>
-            <AutoFormElement>
-              <Property name="name">createBy</Property>
-              <Property name="property">createBy</Property>
-              <Editor/>
-            </AutoFormElement>
-            <AutoFormElement>
-              <Property name="name">auditStatus</Property>
-              <Property name="property">auditStatus</Property>
-              <Property name="readOnly">true</Property>
-              <Editor/>
-            </AutoFormElement>
             <AutoFormElement layoutConstraint="colSpan:2">
               <Property name="name">contract</Property>
               <Property name="property">contract</Property>
@@ -569,32 +572,16 @@
               </Property>
               <Property name="text">娉細鐩戠閫氱煡鍗曪紝鍙~鍐欒川鎶煎悎鍚屽悕绉�</Property>
             </Label>
-            <AutoFormElement layoutConstraint="colSpan:3">
-              <Property name="name">remark</Property>
-              <Property name="property">remark</Property>
-              <Property name="editorType">TextArea</Property>
-              <Editor/>
-            </AutoFormElement>
             <AutoFormElement>
-              <Property name="name">createTime</Property>
-              <Property name="property">createTime</Property>
-              <Editor/>
-            </AutoFormElement>
-            <AutoFormElement>
-              <Property name="name">auditUser</Property>
-              <Property name="property">auditUser</Property>
-              <Property name="readOnly">true</Property>
-              <Editor/>
-            </AutoFormElement>
-            <AutoFormElement>
-              <Property name="name">auditDate</Property>
-              <Property name="property">auditDate</Property>
+              <Property name="name">auditStatus</Property>
+              <Property name="property">auditStatus</Property>
               <Property name="readOnly">true</Property>
               <Editor/>
             </AutoFormElement>
             <HtmlContainer layoutConstraint="colSpan:3">
-              <Property name="content">1.鍑哄簱閫氱煡鍗曚綔涓哄嚭搴撲綔涓氱殑鍓嶇疆鏉′欢锛屽繀椤婚厤缃紝鍚﹀垯鏃犳硶杩涜鍏ュ簱浣滀笟銆�&lt;br>&#xD;
-                2.鍗曟嵁绫诲瀷=搴撳尯閫氱煡鍗曪紝琛ㄧず搴撳尯鑷繁浣滀笟涓氬姟锛屼笉鍙楃洃绠$鐞嗐��</Property>
+              <Property name="content">1.鍏ュ簱閫氱煡鍗曚綔涓哄叆搴撲綔涓氱殑鍓嶇疆鏉′欢锛屽繀椤婚厤缃紝鍚﹀垯鏃犳硶杩涜鍏ュ簱浣滀笟銆�&lt;br>&#xD;
+2.鍗曟嵁绫诲瀷=搴撳尯閫氱煡鍗曪紝琛ㄧず搴撳尯鑷繁浣滀笟涓氬姟锛屼笉鍙楃洃绠$鐞嗐��&lt;br>&#xD;
+3.鍗曟嵁绫诲瀷=璐ㄦ娂鐩戠閫氱煡鍗曪紝鍗曟嵁蹇呴』濉啓鐩戠潱閾惰銆�</Property>
               <Property name="exClassName">h-tip</Property>
               <Property name="contentOverflow">hidden</Property>
             </HtmlContainer>
@@ -645,5 +632,18 @@
     <AjaxAction id="recalculate">
       <Property name="service">inoutNoticePR#updateSumNoticeOut</Property>
     </AjaxAction>
+    <Dialog id="dialogHis">
+      <Property name="width">80%</Property>
+      <Property name="height">80%</Property>
+      <Property name="iconClass">fa fa-th-list</Property>
+      <Property name="caption">瀹℃壒璁板綍</Property>
+      <Buttons/>
+      <Children>
+        <IFrame id="iFrameFlowHis">
+          <Property name="path">/work/flow-his?businessId=1</Property>
+        </IFrame>
+      </Children>
+      <Tools/>
+    </Dialog>
   </View>
 </ViewConfig>
diff --git a/fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutStockChangePR.java b/fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutStockChangePR.java
index 3c8fcc3..a09146a 100644
--- a/fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutStockChangePR.java
+++ b/fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutStockChangePR.java
@@ -4,14 +4,10 @@
 import com.bstek.dorado.annotation.DataResolver;
 import com.bstek.dorado.annotation.Expose;
 import com.bstek.dorado.data.provider.Page;
-import com.fzzy.igds.domain.Camera;
 import com.fzzy.igds.domain.InoutStockChange;
 import com.fzzy.igds.service.InoutStockChangeService;
-import com.fzzy.igds.service.SecCameraService;
-import jdk.nashorn.internal.ir.annotations.Reference;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.BeanUtils;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 import javax.annotation.Resource;
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 08c7be5..f1db648 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
@@ -81,6 +81,12 @@
       </PropertyDef>
       <PropertyDef name="node">
         <Property></Property>
+        <Property name="mapping">
+          <Property name="mapValues">${dorado.getDataProvider(&quot;workOrderPR#triggerNode&quot;).getResult()}</Property>
+          <Property name="keyProperty">dictValue</Property>
+          <Property name="valueProperty">dictLabel</Property>
+        </Property>
+        <Property name="label">娴佺▼鐜妭</Property>
       </PropertyDef>
       <PropertyDef name="createById">
         <Property></Property>
@@ -132,7 +138,7 @@
         <Property name="label">鎴鏃堕棿</Property>
       </PropertyDef>
       <PropertyDef name="scope">
-        <Property/>
+        <Property></Property>
       </PropertyDef>
     </DataType>
     <DataType name="dtWordProcess">
@@ -501,6 +507,11 @@
                 <Property name="align">center</Property>
                 <Property name="name">status</Property>
               </DataColumn>
+              <DataColumn name="node">
+                <Property name="property">node</Property>
+                <Property name="width">120</Property>
+                <Property name="align">center</Property>
+              </DataColumn>
               <DataColumn name="bizType">
                 <Property name="property">bizType</Property>
                 <Property name="width">120</Property>
@@ -579,6 +590,11 @@
                 <Property name="align">center</Property>
                 <Property name="name">status</Property>
               </DataColumn>
+              <DataColumn name="node">
+                <Property name="property">node</Property>
+                <Property name="width">120</Property>
+                <Property name="align">center</Property>
+              </DataColumn>
               <DataColumn name="bizType">
                 <Property name="property">bizType</Property>
                 <Property name="width">120</Property>
diff --git a/fzzy-igdss-view/src/main/java/com/fzzy/work/WorkOrderPR.java b/fzzy-igdss-view/src/main/java/com/fzzy/work/WorkOrderPR.java
index dca987b..06dfe90 100644
--- a/fzzy-igdss-view/src/main/java/com/fzzy/work/WorkOrderPR.java
+++ b/fzzy-igdss-view/src/main/java/com/fzzy/work/WorkOrderPR.java
@@ -6,7 +6,6 @@
 import com.bstek.dorado.data.provider.Page;
 import com.fzzy.igds.data.BaseResp;
 import com.fzzy.igds.utils.ContextUtil;
-import com.fzzy.work.data.WorkStatus;
 import com.fzzy.work.domain.WorkOrder;
 import com.fzzy.work.data.WorkOrderParam;
 import com.fzzy.work.domain.WorkOrderConf;
@@ -17,7 +16,6 @@
 import com.fzzy.work.service.WorkOrderService;
 import com.ruoyi.common.core.domain.entity.SysDictData;
 
-import com.ruoyi.common.core.domain.entity.SysUser;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Component;
 
@@ -157,6 +155,17 @@
         return workOrderService.triggerType();
     }
     
+    /**
+     * 娴佺▼鑺傜偣
+     * ${dorado.getDataProvider("workOrderPR#triggerNode").getResult()}
+     *
+     * @return
+     */
+    @DataProvider
+    public List<SysDictData> triggerNode() {
+        return workOrderService.triggerNode();
+    }
+    
     //-----------------------娴佺▼澶勭悊---------------------------//
     /**
     *
diff --git a/fzzy-igdss-web/src/main/java/com/fzzy/work/WorkOrderController.java b/fzzy-igdss-web/src/main/java/com/fzzy/work/WorkOrderController.java
index a36f80c..5c857d1 100644
--- a/fzzy-igdss-web/src/main/java/com/fzzy/work/WorkOrderController.java
+++ b/fzzy-igdss-web/src/main/java/com/fzzy/work/WorkOrderController.java
@@ -1,10 +1,14 @@
 package com.fzzy.work;
 
 import com.fzzy.igds.utils.DateUtil;
+import com.fzzy.work.data.WorkNode;
+import com.fzzy.work.data.WorkStatus;
+import com.fzzy.work.domain.WorkOrder;
 import com.fzzy.work.domain.WorkOrderConf;
 import com.fzzy.work.domain.WorkOrderProcess;
 import com.fzzy.work.service.WorkOrderConfService;
 import com.fzzy.work.service.WorkOrderProcessService;
+import com.fzzy.work.service.WorkOrderService;
 import com.ruoyi.common.core.controller.BaseController;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Controller;
@@ -32,6 +36,8 @@
     private WorkOrderConfService workOrderConfService;
     @Resource
     private WorkOrderProcessService workOrderProcessService;
+    @Resource
+    private WorkOrderService workOrderService;
 
 
     /**
@@ -81,16 +87,47 @@
         log.info("宸ュ崟璁板綍-宸ュ崟ID锛歿}", orderId);
         List<WorkOrderProcess> list = workOrderProcessService.queryList(orderId);
         mmap.put("list", list);
-        mmap.put("tipTime", 1);
-        mmap.put("tipCount", 1);
+        mmap.put("tipTime", "0鍒嗛挓");
+        mmap.put("tipCount", "0娆�");
 
-        if (null != list && !list.isEmpty()) {
-            //娆℃暟榛樿鍑忓幓绗竴娆℃彁浜�
-            mmap.put("tipCount", list.size() - 1);
+        if (null == list || list.isEmpty()) return prefix + "/flow-his";
+
+
+
+        //娆℃暟榛樿鍑忓幓绗竴娆℃彁浜�
+        mmap.put("tipCount", list.size() - 1 + "娆�");
+        WorkOrderProcess last = list.get(0);
+        if(!last.getNode().equals(WorkNode.NODE_END.getCode())){
             long tipTime = DateUtil.difMin(list.get(0).getCreateTime(), new Date());
-            mmap.put("tipTime", tipTime);
+            mmap.put("tipTime", tipTime + "鍒嗛挓");
         }
 
         return prefix + "/flow-his";
     }
-}
+
+    @GetMapping("/flow-his2")
+    public String flowHis2(@RequestParam("businessId") String businessId, ModelMap mmap) {
+        log.info("宸ュ崟璁板綍-涓氬姟ID锛歿}", businessId);
+
+        //鑾峰彇宸ュ崟
+        WorkOrder order = workOrderService.selectByBusinessId(businessId);
+        mmap.put("list", null);
+        mmap.put("tipTime", "0鍒嗛挓");
+        mmap.put("tipCount", "0娆�");
+        if (null == order) return prefix + "/flow-his";
+
+        List<WorkOrderProcess> list = workOrderProcessService.queryList(order.getId());
+
+        if (null == list || list.isEmpty()) return prefix + "/flow-his";
+
+        //娆℃暟榛樿鍑忓幓绗竴娆℃彁浜�
+        mmap.put("tipCount", list.size() - 1 + "娆�");
+        WorkOrderProcess last = list.get(0);
+        if(!last.getNode().equals(WorkNode.NODE_END.getCode())){
+            long tipTime = DateUtil.difMin(list.get(0).getCreateTime(), new Date());
+            mmap.put("tipTime", tipTime + "鍒嗛挓");
+        }
+
+        return prefix + "/flow-his";
+    }
+}
\ No newline at end of file
diff --git a/fzzy-igdss-web/src/main/resources/templates/work/flow-his.html b/fzzy-igdss-web/src/main/resources/templates/work/flow-his.html
index d634785..0403f6b 100644
--- a/fzzy-igdss-web/src/main/resources/templates/work/flow-his.html
+++ b/fzzy-igdss-web/src/main/resources/templates/work/flow-his.html
@@ -12,21 +12,17 @@
             scrollbar-width: none; /* Firefox */
             -ms-overflow-style: none; /* IE 鍜� Edge */
         }
-
         /* Chrome, Safari 鍜� Opera */
         .hide-scrollbar::-webkit-scrollbar {
             display: none;
         }
-
         /* 骞虫粦婊氬姩鏁堟灉 */
         .smooth-scroll {
             scroll-behavior: smooth;
         }
-
         html {
             overflow: hidden;
         }
-
         /* 椤甸潰鍩虹鏍峰紡 */
         body {
             background-color: #FFF;
@@ -35,7 +31,6 @@
             font-size: 14px;
             overflow-x: hidden;
         }
-
         .container {
             margin: 0 auto;
             background-color: #fff;
@@ -43,13 +38,11 @@
             box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
             overflow: hidden;
         }
-
         .header {
             background-color: #e6e6e6;
             padding: 15px;
             font-weight: bold;
         }
-
         .summary-box {
             margin: 20px;
             padding: 15px;
@@ -58,22 +51,18 @@
             border-radius: 4px;
             font-size: 14px;
         }
-
         .summary-box .layui-icon {
             margin-right: 8px;
             color: #1E9FFF;
         }
-
         .timeline-container {
             padding: 0 20px 20px;
         }
-
         /* 鑷畾涔夋椂闂磋酱鏍峰紡 */
         .custom-timeline {
             position: relative;
             padding: 20px 0;
         }
-
         .custom-timeline:before {
             content: '';
             position: absolute;
@@ -83,17 +72,14 @@
             width: 2px;
             background-color: #e8e8e8;
         }
-
         .timeline-item {
             position: relative;
             padding-left: 50px;
             margin-bottom: 25px;
         }
-
         .timeline-item:last-child {
             margin-bottom: 0;
         }
-
         .timeline-icon {
             position: absolute;
             left: 0;
@@ -107,7 +93,6 @@
             color: white;
             z-index: 2;
         }
-
         .timeline-content {
             background-color: #f9f9f9;
             border-radius: 6px;
@@ -115,7 +100,6 @@
             border-left: 3px solid #1E9FFF;
             font-size: 14px;
         }
-
         .operator-info {
             font-weight: bold;
             color: #333;
@@ -129,31 +113,25 @@
             color: #888;
             font-size: 13px;
         }
-
         .time-info {
             text-align: right;
             color: #999;
             font-size: 13px;
             margin-top: 8px;
         }
-
         /* 涓嶅悓鐘舵�佺殑鍥炬爣棰滆壊 */
         .status-created {
             background-color: #FFB800;
         }
-
         .status-waiting {
             background-color: #FF5722;
         }
-
         .status-processing {
             background-color: #1E9FFF;
         }
-
         .status-completed {
             background-color: #009688;
         }
-
         /* 鍙粴鍔ㄥ尯鍩熸牱寮� */
         .scrollable-area {
             max-height: 400px; /* 璁剧疆鏈�澶ч珮搴� */
@@ -205,8 +183,8 @@
     <!--    </div>-->
     <div class="summary-box">
         <i class="layui-icon layui-icon-tips"></i>
-        澶勭悊璁板綍锛氳宸ュ崟绱澶勭悊鏃堕暱 <span style="color:#1E9FFF; font-weight:bold;">1鍒嗛挓</span>锛岀疮璁″鐞嗘鏁� <span
-            style="color:#1E9FFF; font-weight:bold;">3娆�</span>
+        澶勭悊璁板綍锛氳宸ュ崟绱澶勭悊鏃堕暱 <span style="color:#1E9FFF; font-weight:bold;" th:text="${tipTime}">0鍒嗛挓</span>锛岀疮璁″鐞嗘鏁� <span
+            style="color:#1E9FFF; font-weight:bold;" th:text="${tipCount}">0娆�</span>
     </div>
 
     <div class="timeline-container">

--
Gitblit v1.9.3