fzzy-igdss-core/src/main/java/com/fzzy/igds/constant/AuditStatus.java
ÎļþÒÑɾ³ý 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") 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; } 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); 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(); } 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); } } } 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 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; fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutNoticeIn.view.xml
@@ -4,10 +4,6 @@ <Context/> <Model> <DataType name="dtMain"> <ClientEvent name="onDataChange">
 
 
 </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">
 var select = view.get("#dataGridMain").get("selection");
 if(select){
 view.get("#ajaxDel").set("parameter",select).execute(function(result){
 select.remove();
 });
 }else{
 $notify("è¯·éæ©éè¦å é¤çæ°æ®â¦â¦");
 }</ClientEvent> <ClientEvent name="onClick">var select = view.get("#dataGridMain").get("selection");
 if(select){
 view.get("#ajaxDel").set("parameter",select).execute(function(result){
 select.remove();
 });
 }else{
 $notify("è¯·éæ©éè¦å é¤çæ°æ®â¦â¦");
 }</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">
 @@ -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("#dataGridMain").get("selection");
 if(select){
 view.get("#iFrameFlowHis").set("path","/work/flow-his2?businessId="+select.get("id"));
 view.get("#dialogHis").show();
 }else{
 $notify("è¯·éæ©éè¦æ¥ççæ°æ®â¦â¦");
 }</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("#updateSave").execute(function(result){
 <ClientEvent name="onClick">//èµå¼æ¶è´§åä½çäºå½ååºåº
 var data = view.get("#dsMain.data:#");
 data.set('unitName',data.getText('deptId'));
 
 view.get("#updateSave").execute(function(result){
 if(result.code != '200'){
 $alert(result.message);
 return;
 @@ -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.å ¥åºéç¥åä½ä¸ºå ¥åºä½ä¸çåç½®æ¡ä»¶ï¼å¿ é¡»é ç½®ï¼å¦åæ æ³è¿è¡å ¥åºä½ä¸ã<br>
 2.åæ®ç±»å=åºåºéç¥åï¼è¡¨ç¤ºåºåºèªå·±ä½ä¸ä¸å¡ï¼ä¸åç管管çã<br>
 @@ -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> 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("dicPR#triggerStatusType").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">
 @@ -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("#dataGridMain").get("selection");
 if(select){
 view.get("#iFrameFlowHis").set("path","/work/flow-his2?businessId="+select.get("id"));
 view.get("#dialogHis").show();
 }else{
 $notify("è¯·éæ©éè¦æ¥ççæ°æ®â¦â¦");
 }</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("#updateSave").execute(function(result){
 <ClientEvent name="onClick">var data = view.get("#dsMain.data:#");
 data.set('unitName',data.getText('deptId'));
 
 view.get("#updateSave").execute(function(result){
 if(result.code != '200'){
 $alert(result.message);
 return;
 @@ -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.åºåºéç¥åä½ä¸ºåºåºä½ä¸çåç½®æ¡ä»¶ï¼å¿ é¡»é ç½®ï¼å¦åæ æ³è¿è¡å ¥åºä½ä¸ã<br>
 2.åæ®ç±»å=åºåºéç¥åï¼è¡¨ç¤ºåºåºèªå·±ä½ä¸ä¸å¡ï¼ä¸åç管管çã</Property> <Property name="content">1.å ¥åºéç¥åä½ä¸ºå ¥åºä½ä¸çåç½®æ¡ä»¶ï¼å¿ é¡»é ç½®ï¼å¦åæ æ³è¿è¡å ¥åºä½ä¸ã<br>
 2.åæ®ç±»å=åºåºéç¥åï¼è¡¨ç¤ºåºåºèªå·±ä½ä¸ä¸å¡ï¼ä¸åç管管çã<br>
 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> 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; 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("workOrderPR#triggerNode").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> 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(); } //-----------------------æµç¨å¤ç---------------------------// /** * 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"; } } 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">