Sfoglia il codice sorgente

气源增加危化品检测报告和危化品运输车辆许可附件上传及回显

Memory_LG 1 anno fa
parent
commit
cea92c1e1a

+ 1 - 0
data-ui/src/components/ImageUpload/dataUpload.vue

@@ -50,6 +50,7 @@ export default {
   props: {
     ImageUpload: Function,
     value: [String, Object, Array],
+    limit: 5,
     // 图片数量限制
     // limit: {
     //   type: Number,

+ 51 - 2
data-ui/src/views/data/housingconstruction/gassource/index.vue

@@ -203,6 +203,17 @@
             </el-form-item>
           </el-col>
         </el-row>
+        <el-row :gutter="24">
+          <el-form-item label="危化品检测报告" prop="fileUrl">
+            <fileUpload v-model="form.fileUrl" :setFileName="setFileName" :removeFileName="removeFileName"></fileUpload>
+          </el-form-item>
+        </el-row>
+        <el-row :gutter="24">
+          <el-form-item label="危化品运输车车辆许可" prop="attachPaths">
+            <DataImageUpload ref="ImageUpload" :fileType="['png', 'jpg', 'jpeg']" :value="form.attachPaths"
+                             @input="getUrl"></DataImageUpload>
+          </el-form-item>
+        </el-row>
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button type="primary" @click="submitForm">确 定</el-button>
@@ -226,10 +237,12 @@ import Treeselect from "@riophae/vue-treeselect";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
 import {treeselect} from "@/api/system/dept";
 import {getCarList} from "@/api/data/housingconstruction/car";
+import DataImageUpload from "@/components/ImageUpload/dataUpload.vue";
+import fileUpload from '@/views/components/FileUpload/index.vue'
 
 export default {
   name: "Gassource",
-  components: {deptselector, Treeselect},
+  components: {DataImageUpload, deptselector, Treeselect, fileUpload},
   dicts: ['housingconstruction_component'],
   data() {
     return {
@@ -243,6 +256,7 @@ export default {
       multiple: true,
       // 显示搜索条件
       showSearch: true,
+      fileNames: [],
       // 总条数
       total: 0,
       // 气源数据表格数据
@@ -269,7 +283,12 @@ export default {
         carNumber: null
       },
       // 表单参数
-      form: {},
+      form: {
+        fileUrl: '',
+        fileName: '',
+        fileUrlList: [],
+        fileNameList: []
+      },
       // 表单校验
       rules: {
         id: [
@@ -285,6 +304,25 @@ export default {
     this.getCarList();
   },
   methods: {
+    /** 附件:图片 **/
+    getUrl(url) {
+      //获取图片全路径  例:http://{{ ip }}:{{ port }}/group1/M00/00/07/wKgKEGVxMCiAZbvVAAJE9SGvagw915.jpg
+      this.form.attachPaths = url
+      //获取图片路径  例:group1/M00/00/07/wKgKEGVxL6eACFv2AAJE9SGvagw622.jpg
+      // this.form.attachPaths = this.$refs.ImageUpload.dialogName
+    },
+    /** 附件:文件 **/
+    setFileName(fileName) {
+      let that = this
+      that.fileNames.push(fileName)
+    },
+    removeFileName(index) {
+      let that = this
+      that.fileNames.splice(index, 1);
+      let fileurls = that.form.fileUrl.split(",")
+      fileurls.splice(index, 1)
+      that.form.fileUrl = fileurls.toString()
+    },
     /** 获取车辆列表 **/
     getCarList(){
       getCarList().then(res=>{
@@ -358,6 +396,7 @@ export default {
         weight: null,
         carNumber: null
       };
+      this.fileNames = [];
       this.resetForm("form");
     },
     /** 搜索按钮操作 */
@@ -387,6 +426,13 @@ export default {
       this.reset();
       const id = row.id || this.ids
       getGassource(id).then(response => {
+        const list = response.data.fileUrl.split(',');
+        if (response.data.fileUrl != "") {
+          for (var a = 0; a < list.length; a++) {
+            let listurl = list[a].split('+')
+            this.fileNames.push(listurl[1])
+          }
+        }
         this.form = response.data;
         this.open = true;
         this.title = "修改气源数据";
@@ -396,9 +442,11 @@ export default {
     submitForm() {
       this.$refs["form"].validate(valid => {
         if (valid) {
+          this.form.fileName = this.fileNames.toString()
           if (this.form.id != null) {
             updateGassource(this.form).then(response => {
               this.$modal.msgSuccess("修改成功");
+              this.fileNames = [];
               this.open = false;
               this.getList();
             });
@@ -406,6 +454,7 @@ export default {
             addGassource(this.form).then(response => {
               this.$modal.msgSuccess("新增成功");
               this.open = false;
+              this.fileNames = [];
               this.getList();
             });
           }

+ 5 - 3
src/main/java/com/sooka/sponest/data/generalbusiness/service/impl/CenterdataTFileServiceImpl.java

@@ -77,12 +77,14 @@ public class CenterdataTFileServiceImpl extends BaseServiceImpl implements ICent
         CenterdataTFile centerdataTFile = centerdataTFileMapper.selectCenterdataTFileByIdPc(id);
         if (StringUtils.isNotEmpty(centerdataTFile.getFileUrl())) {
             String fileurl = SpringUtils.getBean(RemoteConfigService.class).remotegetConfigKey(DOWNLOAD_URL).getData();
+            // group1/M00/00/84/wKgKEGawNfGAW7bwAAAxRySSUAM25.xlsx+新建 Microsoft Excel 工作表 (2).xlsx,
+            // group1/M00/00/84/wKgKEGawNfGAPGtdAAA01rkc0aE47.xlsx+新建 Microsoft Excel 工作表.xlsx
             String[] files = centerdataTFile.getFileUrl().split(",");
             StringBuilder newDiles = new StringBuilder();
             for (String s : files) {
-                String filename = s.substring(s.indexOf('+') + 1);
-                String url = s.substring(0, s.indexOf('+'));
-                String group = url.substring(0, url.indexOf('/'));
+                String filename = s.substring(s.indexOf('+') + 1); //新建 Microsoft Excel 工作表 (2).xlsx
+                String url = s.substring(0, s.indexOf('+')); //group1/M00/00/84/wKgKEGawNfGAW7bwAAAxRySSUAM25.xlsx
+                String group = url.substring(0, url.indexOf('/')); //group1
                 newDiles.append(fileurl + "Download?fileName=" + filename + "&&group=" + group + "&&path=" + url.substring(url.indexOf('/') + 1) + "+" + filename + ",");
             }
             newDiles = new StringBuilder(newDiles.substring(0, newDiles.length() - 1));

+ 7 - 0
src/main/java/com/sooka/sponest/data/housingconstruction/domain/CenterdataTHousingconstructionGassource.java

@@ -12,6 +12,7 @@ import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
 
 import java.util.Date;
+import java.util.List;
 
 /**
  * 气源数据对象 centerdata_t_housingconstruction_gassource
@@ -98,6 +99,12 @@ public class CenterdataTHousingconstructionGassource extends BaseBusinessEntity
     @Excel(name = "运输车辆车牌号")
     private String carNumber;
 
+
+    private String fileName;
+    private String fileUrl;
+
+    private String attachPaths;
+
     @Override
     public String toString() {
         return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)

+ 2 - 2
src/main/java/com/sooka/sponest/data/housingconstruction/service/ICenterdataTHousingconstructionAttachService.java

@@ -21,12 +21,12 @@ public interface ICenterdataTHousingconstructionAttachService {
     List<CenterdataTHousingconstructionAttach> getAttachPathToEntityArray(String busId);
 
     //新增附件;参数:List<String>
-    int addAttach(List<String> attachList, String busId, String dictType, String dictValue);
+    int addAttach(List<String> attachList, String busId, String dictType, String dictValue, String fileName);
     //查询附件;响应:List<String>
     List<String> getAttachPathToStrArray(String busId);
 
     //新增附件;参数:String
-    int addAttach(String attachStr, String busId, String dictType, String dictValue);
+    int addAttach(String attachStr, String busId, String dictType, String dictValue, String fileName);
     //查询附件;响应:String
     String getAttachPathToStr(String busId);
 

+ 16 - 7
src/main/java/com/sooka/sponest/data/housingconstruction/service/impl/CenterdataTHousingconstructionAttachServiceImpl.java

@@ -1,6 +1,7 @@
 package com.sooka.sponest.data.housingconstruction.service.impl;
 
 import com.ruoyi.common.core.utils.SpringUtils;
+import com.ruoyi.common.core.utils.StringUtils;
 import com.ruoyi.system.api.RemoteConfigService;
 import com.sooka.sponest.data.housingconstruction.domain.CenterdataTHousingconstructionAttach;
 import com.sooka.sponest.data.housingconstruction.domain.CenterdataTHousingconstructionSafetyinspectionrecords;
@@ -69,12 +70,20 @@ public class CenterdataTHousingconstructionAttachServiceImpl implements ICenterd
      * @return int 写入的数据条数
      */
     @Override
-    public int addAttach(List<String> attachList, String busId, String dictType, String dictValue) {
+    public int addAttach(List<String> attachList, String busId, String dictType, String dictValue, String fileName) {
         List<CenterdataTHousingconstructionAttach> dataList = new ArrayList<>();
-        attachList.forEach(s -> {
-            String[] split = s.split("/");
-            dataList.add(new CenterdataTHousingconstructionAttach(busId, dictType, dictValue, s, split[split.length - 1], 0L));
-        });
+        int index = 0;
+        String[] fileNameArray = fileName.split(",");
+        for (String s : attachList) {
+            if(fileNameArray.length < 0 || StringUtils.isEmpty(fileName)){
+                String[] split = s.split("/");
+                dataList.add(new CenterdataTHousingconstructionAttach(busId, dictType, dictValue, s, split[split.length - 1], 0L));
+            }else{
+                dataList.add(new CenterdataTHousingconstructionAttach(busId, dictType, dictValue, s, fileNameArray[index], 0L));
+                index++;
+            }
+
+        }
         return addAttach(dataList);
     }
 
@@ -105,8 +114,8 @@ public class CenterdataTHousingconstructionAttachServiceImpl implements ICenterd
      * @return int 写入的数据条数
      */
     @Override
-    public int addAttach(String attachStr, String busId, String dictType, String dictValue) {
-        return addAttach(Arrays.asList(attachStr.split(",")), busId, dictType, dictValue);
+    public int addAttach(String attachStr, String busId, String dictType, String dictValue, String fileName) {
+        return addAttach(Arrays.asList(attachStr.split(",")), busId, dictType, dictValue, fileName);
     }
 
     /**

+ 66 - 2
src/main/java/com/sooka/sponest/data/housingconstruction/service/impl/CenterdataTHousingconstructionGassourceServiceImpl.java

@@ -1,16 +1,22 @@
 package com.sooka.sponest.data.housingconstruction.service.impl;
 
 import com.ruoyi.common.core.utils.DateUtils;
+import com.ruoyi.common.core.utils.SpringUtils;
 import com.ruoyi.common.core.utils.uuid.IdUtils;
 import com.ruoyi.common.security.utils.SecurityUtils;
+import com.ruoyi.system.api.RemoteConfigService;
+import com.sooka.sponest.data.housingconstruction.domain.CenterdataTHousingconstructionAttach;
 import com.sooka.sponest.data.housingconstruction.domain.CenterdataTHousingconstructionGassource;
 import com.sooka.sponest.data.housingconstruction.mapper.CenterdataTHousingconstructionGassourceMapper;
+import com.sooka.sponest.data.housingconstruction.service.ICenterdataTHousingconstructionAttachService;
 import com.sooka.sponest.data.housingconstruction.service.ICenterdataTHousingconstructionGassourceService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
 
+import static com.sooka.sponest.data.utils.DataConstants.DOWNLOAD_URL;
+
 /**
  * 气源数据Service业务层处理
  *
@@ -22,6 +28,9 @@ public class CenterdataTHousingconstructionGassourceServiceImpl implements ICent
     @Autowired
     private CenterdataTHousingconstructionGassourceMapper centerdataTHousingconstructionGassourceMapper;
 
+    @Autowired
+    private ICenterdataTHousingconstructionAttachService attachService;
+
     /**
      * 查询气源数据
      *
@@ -30,7 +39,34 @@ public class CenterdataTHousingconstructionGassourceServiceImpl implements ICent
      */
     @Override
     public CenterdataTHousingconstructionGassource selectCenterdataTHousingconstructionGassourceById(String id) {
-        return centerdataTHousingconstructionGassourceMapper.selectCenterdataTHousingconstructionGassourceById(id);
+        CenterdataTHousingconstructionGassource gassource = centerdataTHousingconstructionGassourceMapper.selectCenterdataTHousingconstructionGassourceById(id);
+        List<CenterdataTHousingconstructionAttach> attachPathToEntityArray = attachService.getAttachPathToEntityArray(id);
+        StringBuilder newDiles = new StringBuilder();
+        StringBuilder pictureUrl = new StringBuilder();
+
+        String fileurl = SpringUtils.getBean(RemoteConfigService.class).remotegetConfigKey(DOWNLOAD_URL).getData();
+
+        attachPathToEntityArray.forEach(attach->{
+            if("file".equals(attach.getDictType())){
+                String filename = attach.getFileName(); //新建 Microsoft Excel 工作表 (2).xlsx
+                String url = attach.getAttachPath().substring(attach.getAttachPath().indexOf("group1"),attach.getAttachPath().length()); //group1/M00/00/84/wKgKEGawNfGAW7bwAAAxRySSUAM25.xlsx
+                String group = url.substring(0, url.indexOf('/')); //group1
+
+                newDiles.append(fileurl + "Download?fileName=" + filename + "&&group=" + group + "&&path=" + url.substring(url.indexOf('/') + 1) + "+" + filename + ",");
+            }
+            if("picture".equals(attach.getDictType())){
+                pictureUrl.append(attach.getAttachPath()).append(",");
+            }
+        });
+        if(newDiles.length() > 0){
+            newDiles.deleteCharAt(newDiles.length() - 1);
+        }
+        if(pictureUrl.length() >0){
+            pictureUrl.deleteCharAt(pictureUrl.length() - 1);
+        }
+        gassource.setFileUrl(newDiles.toString());
+        gassource.setAttachPaths(pictureUrl.toString());
+        return gassource;
     }
 
     /**
@@ -52,10 +88,20 @@ public class CenterdataTHousingconstructionGassourceServiceImpl implements ICent
      */
     @Override
     public int insertCenterdataTHousingconstructionGassource(CenterdataTHousingconstructionGassource centerdataTHousingconstructionGassource) {
-        centerdataTHousingconstructionGassource.setId(IdUtils.fastSimpleUUID());
+        String gassourceId = IdUtils.fastSimpleUUID();
+        centerdataTHousingconstructionGassource.setId(gassourceId);
         centerdataTHousingconstructionGassource.setCreateTime(DateUtils.getNowDate());
         centerdataTHousingconstructionGassource.setCreateBy(SecurityUtils.getUserId().toString());
         centerdataTHousingconstructionGassource.setCreateName(SecurityUtils.getLoginUser().getSysUser().getNickName());
+
+        //附件-文件集合
+        String fileUrls = centerdataTHousingconstructionGassource.getFileUrl();
+        attachService.addAttach(fileUrls, gassourceId, "file", null, centerdataTHousingconstructionGassource.getFileName());
+
+        //附件-图片结合
+        String attachPaths = centerdataTHousingconstructionGassource.getAttachPaths();
+        attachService.addAttach(attachPaths, gassourceId, "picture", null,"");
+
         return centerdataTHousingconstructionGassourceMapper.insertCenterdataTHousingconstructionGassource(centerdataTHousingconstructionGassource);
     }
 
@@ -70,6 +116,24 @@ public class CenterdataTHousingconstructionGassourceServiceImpl implements ICent
         centerdataTHousingconstructionGassource.setUpdateTime(DateUtils.getNowDate());
         centerdataTHousingconstructionGassource.setUpdateBy(SecurityUtils.getUserId());
         centerdataTHousingconstructionGassource.setUpdateName(SecurityUtils.getLoginUser().getSysUser().getNickName());
+        String gassourceId = centerdataTHousingconstructionGassource.getId();
+        attachService.delAttachByBusId(gassourceId);
+        //附件-文件集合
+        String fileUrls = centerdataTHousingconstructionGassource.getFileUrl();
+        StringBuilder fileUrl = new StringBuilder(fileUrls);
+        if(fileUrls.indexOf("+") > 0){
+            fileUrl = new StringBuilder();
+            String[] split = fileUrls.split(",");
+            for (String s : split) {
+                fileUrl.append(s.substring(0, s.indexOf("+"))).append(",");
+            }
+            fileUrl.deleteCharAt(fileUrl.length() -1);
+        }
+        attachService.addAttach(fileUrl.toString(), gassourceId, "file", null, centerdataTHousingconstructionGassource.getFileName());
+        //附件-图片结合
+        String attachPaths = centerdataTHousingconstructionGassource.getAttachPaths();
+        attachService.addAttach(attachPaths, gassourceId, "picture", null,"");
+
         return centerdataTHousingconstructionGassourceMapper.updateCenterdataTHousingconstructionGassource(centerdataTHousingconstructionGassource);
     }