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