From dd93297e80ecad5b4fb7267f048d50ffb9f2c191 Mon Sep 17 00:00:00 2001
From: YYC <1833023622@qq.com>
Date: 星期五, 14 七月 2023 22:31:14 +0800
Subject: [PATCH] 补单上传照片
---
igds-inout/src/main/java/com/ld/igds/inout/manager/InoutManager.java | 20 ++++
igds-inout/src/main/java/com/ld/igds/inout/view/InoutHand.view.xml | 180 ++++++++++++++++++++++++++++-------
igds-web/src/main/resources/templates/admin/inout/in-handle.html | 1
igds-inout/src/main/java/com/ld/igds/inout/view/InoutDataPR.java | 48 +++++++++
4 files changed, 211 insertions(+), 38 deletions(-)
diff --git a/igds-inout/src/main/java/com/ld/igds/inout/manager/InoutManager.java b/igds-inout/src/main/java/com/ld/igds/inout/manager/InoutManager.java
index 2871e07..c62bd2b 100644
--- a/igds-inout/src/main/java/com/ld/igds/inout/manager/InoutManager.java
+++ b/igds-inout/src/main/java/com/ld/igds/inout/manager/InoutManager.java
@@ -7,6 +7,7 @@
import com.ld.igds.data.Page;
import com.ld.igds.data.PageResponse;
import com.ld.igds.file.CoreFileService;
+import com.ld.igds.file.dto.FileData;
import com.ld.igds.inout.InoutConstant;
import com.ld.igds.inout.dto.InoutCheckData;
import com.ld.igds.inout.dto.InoutCheckParam;
@@ -50,6 +51,8 @@
private CheckStandardManager checkStandardManager;
@Resource
private InoutEventControlManager inoutEventControl;
+ @Resource
+ private CoreFileService coreFileService;
/**
* 鐩存帴浠庢暟鎹簱鏌ヨ锛屼笉鑰冭檻淇℃伅鐘舵��
@@ -213,6 +216,22 @@
return data;
}
+ private InoutData updateFiles(InoutData data) throws Exception {
+ List<FileData> files = data.getFiles();
+ if (null == files) {
+ return data;
+ }
+
+ for (FileData fileData : files) {
+ fileData.setFileId(ContextUtil.getUUID());
+ fileData.setCompanyId(data.getCompanyId());
+ fileData.setBizId(data.getId());
+ fileData.setCreateTime(new Date());
+ coreFileService.addRecord(fileData);
+ }
+
+ return data;
+ }
/**
* 浠庣紦瀛樹腑鑾峰彇涓嬩竴娴佺▼
@@ -444,6 +463,7 @@
if (InoutConstant.TYPE_IN.equals(data.getType())) {
this.updateCheckItems(data, true);
}
+ this.updateFiles(data);
return null;
}
diff --git a/igds-inout/src/main/java/com/ld/igds/inout/view/InoutDataPR.java b/igds-inout/src/main/java/com/ld/igds/inout/view/InoutDataPR.java
index 010e7ac..4d1c07e 100644
--- a/igds-inout/src/main/java/com/ld/igds/inout/view/InoutDataPR.java
+++ b/igds-inout/src/main/java/com/ld/igds/inout/view/InoutDataPR.java
@@ -1,14 +1,24 @@
package com.ld.igds.inout.view;
+import java.io.File;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
+import java.util.Map;
import com.bstek.bdf2.core.business.IUser;
import com.bstek.dorado.annotation.DataProvider;
import com.bstek.dorado.annotation.DataResolver;
import com.bstek.dorado.annotation.Expose;
import com.bstek.dorado.data.provider.Page;
+import com.bstek.dorado.uploader.UploadFile;
+import com.bstek.dorado.uploader.annotation.FileProvider;
+import com.bstek.dorado.uploader.annotation.FileResolver;
+import com.ld.igds.constant.RedisConst;
+import com.ld.igds.data.PageResponse;
+
+import com.ld.igds.file.CoreFileService;
+import com.ld.igds.file.FileManager;
import com.ld.igds.inout.InoutConstant;
import com.ld.igds.inout.dto.InoutData;
import com.ld.igds.inout.dto.InoutParam;
@@ -16,12 +26,16 @@
import com.ld.igds.inout.manager.InoutReportManager;
import com.ld.igds.inout.service.InoutService;
import com.ld.igds.models.DicTrigger;
+import com.ld.igds.models.FileInfo;
import com.ld.igds.util.ContextUtil;
+import com.ld.igds.util.RedisUtil;
import org.apache.commons.lang.StringUtils;
-import org.springframework.beans.BeanUtils;
+import org.apache.commons.lang.time.DateFormatUtils;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
@@ -42,6 +56,10 @@
private InoutReportManager inoutReportManager;
@Resource
private InoutManager inoutManager;
+ @Autowired
+ private CoreFileService fileService;
+ @Autowired
+ private RedisUtil redisUtil;
// ${dorado.getDataProvider("inoutDataPR#triggerRecordStatus1").getResult()}
@@ -232,4 +250,32 @@
return data;
}
+ /**
+ * inoutDataPR#uploadImage
+ *
+ * @param file
+ * @param parameter
+ * @return
+ */
+ @FileResolver
+ public String uploadImage(UploadFile file, Map<String, Object> parameter) {
+ String plateNum = (String) parameter.get("plateNum");
+ String newFileName = null;
+ try {
+ String basePath = fileService.getInoutFilePath(new Date());
+ // 鑾峰彇鏂扮殑ID
+ newFileName = DateFormatUtils.format(new Date(), "yyyyMMddHHmmss");
+ // 鏂囦欢鍚庣紑鍚�
+ String suffixName = file.getFileName().substring(file.getFileName().lastIndexOf("."));
+ // 鍚堟垚鏂扮殑鏂囦欢鍚�
+
+ newFileName = newFileName + suffixName;
+ file.transferTo(new File(basePath + newFileName));
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return newFileName;
+ }
+
}
diff --git a/igds-inout/src/main/java/com/ld/igds/inout/view/InoutHand.view.xml b/igds-inout/src/main/java/com/ld/igds/inout/view/InoutHand.view.xml
index fe07c39..92bad24 100644
--- a/igds-inout/src/main/java/com/ld/igds/inout/view/InoutHand.view.xml
+++ b/igds-inout/src/main/java/com/ld/igds/inout/view/InoutHand.view.xml
@@ -34,6 +34,11 @@
<Property name="dataProvider">checkStandardPR#listCheckItemsByParam</Property>
<Property name="dataType">[dtCheckItems]</Property>
</Reference>
+ <Reference name="files">
+ <Property name="dataProvider">sys.fileManager#listFile</Property>
+ <Property name="dataType">[dtFileData]</Property>
+ <Property name="parameter">$${this.id}</Property>
+ </Reference>
</DataType>
<DataType name="dtCheckItems">
<Property name="creationType">com.ld.igds.check.dto.CheckItemData</Property>
@@ -141,6 +146,8 @@
<View layout="padding:5;regionPadding:5">
<ClientEvent name="onReady">var TYPE = "${request.getParameter('type')}";

+var PROGRESS = "WEIGHT_TAG";
+
/**
* 鍒锋柊椤甸潰
*/
@@ -221,7 +228,7 @@
<Property name="iconClass">fa fa-minus</Property>
</Button>
</Container>
- <TabControl id="tabControlMain">
+ <TabControl id="tabControlMain" layoutConstraint="left ">
<Property name="width">1300</Property>
<ControlTab>
<Property name="caption">鍩虹淇℃伅</Property>
@@ -602,43 +609,14 @@
</AutoFormElement>
</AutoForm>
<DataGrid id="dataGridCheckItem" layoutConstraint="padding:10">
- <ClientEvent name="onCellValueEdit">var data = arg.entity;
-//鏍规嵁濉啓鍖栭獙鏁版嵁,缁欏嚭鎻愰啋鏄惁鍚堟牸
+ <ClientEvent name="onCellValueEdit">var data = view.get("#dsMain.data:#")
if(data){
- //濉啓鐨勬暟鎹��
- var newValue = data.get("value");
-
- //鏍囧噯鍊�
- var limit = data.get("upperLimit");
-
- //杩愮畻绗�
- var symbol = data.get("operaSymbol");
-
- if (symbol && limit) {
- if (">=" == symbol) {
- if (newValue < limit) {
- data.set("result", "0");
- 
- } else {
- data.set("result", "1");
- }
- }
- if ("<=" == symbol) {
- if (newValue > limit) {
- data.set("result", "0");
- } else {
- data.set("result", "1");
- }
- }
- if ("==" == symbol) {
- if (newValue != limit) {
- data.set("result", "0");
- } else {
- data.set("result", "1");
- }
- }
- }
-}</ClientEvent>
+ var plateNum = data.get("plateNum");
+ self.set("parameter",{
+ plateNum:plateNum
+ })
+}
+</ClientEvent>
<Property name="dataSet">dsMain</Property>
<Property name="dataPath">#.checkItems</Property>
<Property name="highlightCurrentRow">false</Property>
@@ -695,6 +673,56 @@
</DataColumn>
</DataGrid>
</Container>
+ </ControlTab>
+ </TabControl>
+ <TabControl id="tabControlImage" layoutConstraint="left">
+ <Property name="width">370</Property>
+ <ControlTab id="tabImage">
+ <Property name="name">tabImage</Property>
+ <Property name="caption">鍑哄叆搴撹繃绋嬭褰�</Property>
+ <FieldSet layout="regionPadding:5" layoutConstraint="top padding:10">
+ <Buttons>
+ <Button layoutConstraint="left">
+ <ClientEvent name="onClick">view.PROGRESS = "EMPTY_WEIGHT";
+</ClientEvent>
+ <Property name="exClassName">btn-default</Property>
+ <Property name="iconClass">fa fa-cloud-upload</Property>
+ <Property name="action">uploadImg</Property>
+ <Property name="caption">绌鸿溅绉�</Property>
+ </Button>
+ <Button layoutConstraint="left">
+ <ClientEvent name="onClick">view.PROGRESS = "FULL_WEIGHT";
+</ClientEvent>
+ <Property name="exClassName">btn-default</Property>
+ <Property name="iconClass">fa fa-cloud-upload</Property>
+ <Property name="action">uploadImg1</Property>
+ <Property name="caption">婊¤溅绉�</Property>
+ </Button>
+ <Button layoutConstraint="left">
+ <ClientEvent name="onClick">view.PROGRESS = "HAND";</ClientEvent>
+ <Property name="caption">鍊间粨</Property>
+ <Property name="exClassName">btn-default</Property>
+ <Property name="iconClass">fa fa-cloud-upload</Property>
+ <Property name="action">uploadImg2</Property>
+ </Button>
+ </Buttons>
+ <Children>
+ <DataGrid id="dgFiles">
+ <Property name="dataSet">dsMain</Property>
+ <Property name="readOnly">true</Property>
+ <Property name="selectionMode">singleRow</Property>
+ <Property name="dataPath">#.files</Property>
+ <RowNumColumn/>
+ <DataColumn name="bizTag">
+ <Property name="property">bizTag</Property>
+ <Property name="visible">false</Property>
+ </DataColumn>
+ <DataColumn name="fileName">
+ <Property name="property">fileName</Property>
+ </DataColumn>
+ </DataGrid>
+ </Children>
+ </FieldSet>
</ControlTab>
</TabControl>
<YearDropDown id="yearDropDown"/>
@@ -832,5 +860,83 @@
</DataGrid>
</Container>
</CustomDropDown>
+ <UploadAction id="uploadImg">
+ <ClientEvent name="beforeFileUploaded">var data = view.get("#dsMain.data:#")
+
+var plateNum = data.get("plateNum");
+self.set("parameter",{
+ plateNum:plateNum,
+ bizTag:"EMPTY_WEIGHT"
+})</ClientEvent>
+ <ClientEvent name="onFileUploaded">//闄勪欢涓婁紶瀹屾垚鍚庢坊鍔犱笟鍔℃暟鎹�
+var mainData = view.get("#dsMain.data");
+var fileName = arg.returnValue;
+var files = mainData.get("files");
+files.insert({bizTag:view.PROGRESS,fileName:fileName,createTime:new Date()});</ClientEvent>
+ <ClientEvent name="beforeFileUploaded">var data = view.get("#dsMain.data:#")
+if(data){
+ var plateNum = data.get("plateNum");
+ self.set("parameter",{
+ plateNum:plateNum
+ })
+}</ClientEvent>
+ <Property name="maxFileSize">20MB</Property>
+ <Property name="successMessage">涓婁紶鎴愬姛</Property>
+ <Property name="parameter"></Property>
+ <Property name="fileResolver">inoutDataPR#uploadImage</Property>
+ <Filters/>
+ </UploadAction>
+ <UploadAction id="uploadImg1">
+ <ClientEvent name="beforeFileUploaded">var data = view.get("#dsMain.data:#")
+
+var plateNum = data.get("plateNum");
+self.set("parameter",{
+ plateNum:plateNum,
+ bizTag:"FULL_WEIGHT"
+})</ClientEvent>
+ <ClientEvent name="onFileUploaded">//闄勪欢涓婁紶瀹屾垚鍚庢坊鍔犱笟鍔℃暟鎹�
+var mainData = view.get("#dsMain.data");
+var fileName = arg.returnValue;
+var files = mainData.get("files");
+files.insert({bizTag:view.PROGRESS,fileName:fileName});</ClientEvent>
+ <ClientEvent name="beforeFileUploaded">var data = view.get("#dsMain.data:#")
+if(data){
+ var plateNum = data.get("plateNum");
+ self.set("parameter",{
+ plateNum:plateNum
+ })
+}</ClientEvent>
+ <Property name="maxFileSize">20MB</Property>
+ <Property name="successMessage">涓婁紶鎴愬姛</Property>
+ <Property name="parameter"></Property>
+ <Property name="fileResolver">inoutDataPR#uploadImage</Property>
+ <Filters/>
+ </UploadAction>
+ <UploadAction id="uploadImg2">
+ <ClientEvent name="beforeFileUploaded">var data = view.get("#dsMain.data:#")
+
+var plateNum = data.get("plateNum");
+self.set("parameter",{
+ plateNum:plateNum,
+ bizTag:"HAND"
+})</ClientEvent>
+ <ClientEvent name="onFileUploaded">//闄勪欢涓婁紶瀹屾垚鍚庢坊鍔犱笟鍔℃暟鎹�
+var mainData = view.get("#dsMain.data");
+var fileName = arg.returnValue;
+var files = mainData.get("files");
+files.insert({bizTag:view.PROGRESS,fileName:fileName});</ClientEvent>
+ <ClientEvent name="beforeFileUploaded">var data = view.get("#dsMain.data:#")
+if(data){
+ var plateNum = data.get("plateNum");
+ self.set("parameter",{
+ plateNum:plateNum
+ })
+}</ClientEvent>
+ <Property name="maxFileSize">20MB</Property>
+ <Property name="successMessage">涓婁紶鎴愬姛</Property>
+ <Property name="parameter"></Property>
+ <Property name="fileResolver">inoutDataPR#uploadImage</Property>
+ <Filters/>
+ </UploadAction>
</View>
</ViewConfig>
diff --git a/igds-web/src/main/resources/templates/admin/inout/in-handle.html b/igds-web/src/main/resources/templates/admin/inout/in-handle.html
index f123de1..d0091c5 100644
--- a/igds-web/src/main/resources/templates/admin/inout/in-handle.html
+++ b/igds-web/src/main/resources/templates/admin/inout/in-handle.html
@@ -500,6 +500,7 @@
</div>
<!--kccz-r-item end-->
</div>
+
</div>
<!--kccz-con end-->
--
Gitblit v1.9.3