his-uncles-father пре 5 година
родитељ
комит
fbc8d20f0a

+ 12 - 1
java110-bean/src/main/java/com/java110/po/contract/ContractPo.java

@@ -1,6 +1,9 @@
 package com.java110.po.contract;
 
+import com.java110.po.contractFile.ContractFilePo;
+
 import java.io.Serializable;
+import java.util.List;
 
 public class ContractPo implements Serializable {
 
@@ -31,7 +34,7 @@ public class ContractPo implements Serializable {
     private String objPersonName;
     private String objPersonId;
     private String startUserId;
-
+    private List<ContractFilePo> contractFilePo;
 
     public String getaLink() {
         return aLink;
@@ -248,4 +251,12 @@ public class ContractPo implements Serializable {
     public void setStartUserId(String startUserId) {
         this.startUserId = startUserId;
     }
+    public List<ContractFilePo> getContractFilePo() {
+        return contractFilePo;
+    }
+
+    public void setContractFilePo(List<ContractFilePo> contractFilePo) {
+        this.contractFilePo = contractFilePo;
+    }
+
 }

+ 2 - 0
java110-core/src/main/java/com/java110/core/factory/GenerateCodeFactory.java

@@ -146,6 +146,8 @@ public class GenerateCodeFactory {
     public static final String CODE_PREFIX_appointmentId = "80";
     public static final String CODE_PREFIX_contractId = "81";
     public static final String CODE_PREFIX_contractTypeId = "81";
+    public static final String CODE_PREFIX_contractFileId = "89";
+
     public static final String CODE_PREFIX_specCd = "82";
     public static final String CODE_PREFIX_loginId = "82";
     public static final String CODE_PREFIX_templateId = "82";

+ 1 - 1
java110-generator/src/main/java/com/java110/code/newBack/BackCoderGeneratorStart.java

@@ -29,7 +29,7 @@ public class BackCoderGeneratorStart extends BaseGenerator {
     public static void main(String[] args) throws Exception {
 
         //加载配置
-        StringBuffer sb = readFile(GeneratorStart.class.getResource("/newBack/template_1.json").getFile());
+        StringBuffer sb = readFile(GeneratorStart.class.getResource("/newBack/template_contractFile.json").getFile());
 
         JSONObject dataJson = JSONObject.parseObject(sb.toString());
 

+ 11 - 1
service-front/src/main/java/com/java110/front/components/assetImport/ImportRoomFeeComponent.java

@@ -2,7 +2,6 @@ package com.java110.front.components.assetImport;
 
 import com.java110.core.context.IPageData;
 import com.java110.front.controller.CallComponentController;
-import com.java110.front.smo.assetExport.IAssetExportSMO;
 import com.java110.front.smo.assetExport.IExportRoomSMO;
 import com.java110.front.smo.assetImport.IImportRoomFeeSMO;
 import org.slf4j.Logger;
@@ -38,6 +37,17 @@ public class ImportRoomFeeComponent {
         return importRoomFeeSMOImpl.importExcelData(pd, uploadFile);
     }
 
+    /**
+     * 上传附件
+     *
+     * @param uploadFile 附件数据
+     * @return ResponseEntity 对象
+     */
+    public ResponseEntity<String> uploadContactFile(IPageData pd, MultipartFile uploadFile) throws Exception {
+        return importRoomFeeSMOImpl.importFile(uploadFile);
+    }
+
+
     /**
      * 添加应用数据
      *

+ 2 - 0
service-front/src/main/java/com/java110/front/smo/assetImport/IImportRoomFeeSMO.java

@@ -22,5 +22,7 @@ public interface IImportRoomFeeSMO {
      */
     public ResponseEntity<String> importExcelData(IPageData pd,  MultipartFile uploadFile) throws Exception;
 
+    public ResponseEntity<String> importFile(MultipartFile uploadFile) throws Exception;
+
     ResponseEntity<String> importTempData(IPageData pd);
 }

+ 48 - 2
service-front/src/main/java/com/java110/front/smo/assetImport/impl/ImportRoomFeeSMOImpl.java

@@ -2,6 +2,11 @@ package com.java110.front.smo.assetImport.impl;
 
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+
+import com.java110.config.properties.code.Java110Properties;
+import com.java110.core.client.FtpUploadTemplate;
+import com.java110.core.client.OssUploadTemplate;
+
 import com.java110.core.component.BaseComponentSMO;
 import com.java110.core.context.IPageData;
 import com.java110.core.factory.GenerateCodeFactory;
@@ -10,12 +15,18 @@ import com.java110.dto.fee.FeeDto;
 import com.java110.entity.assetImport.ImportRoomFee;
 import com.java110.entity.component.ComponentValidateResult;
 import com.java110.front.smo.assetImport.IImportRoomFeeSMO;
+
+import com.java110.utils.cache.MappingCache;
+import com.java110.utils.constant.ServiceConstant;
+import com.java110.utils.util.*;
+
 import com.java110.utils.constant.ServiceConstant;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
 import com.java110.utils.util.DateUtil;
 import com.java110.utils.util.ImportExcelUtils;
 import com.java110.utils.util.StringUtil;
+
 import com.java110.vo.ResultVo;
 import org.apache.poi.ss.usermodel.Sheet;
 import org.apache.poi.ss.usermodel.Workbook;
@@ -51,6 +62,16 @@ public class ImportRoomFeeSMOImpl extends BaseComponentSMO implements IImportRoo
     @Autowired
     private RestTemplate restTemplate;
 
+    @Autowired
+    private FtpUploadTemplate ftpUploadTemplate;
+
+    @Autowired
+    private Java110Properties java110Properties;
+
+    @Autowired
+    private OssUploadTemplate ossUploadTemplate;
+
+
     @Override
     public ResponseEntity<String> importExcelData(IPageData pd, MultipartFile uploadFile) throws Exception {
 
@@ -85,6 +106,31 @@ public class ImportRoomFeeSMOImpl extends BaseComponentSMO implements IImportRoo
     }
 
     @Override
+    public ResponseEntity<String> importFile(MultipartFile uploadFile) throws Exception {
+        try {
+            String fileName = "";
+            String ossSwitch = MappingCache.getValue(OSSUtil.DOMAIN, OSSUtil.OSS_SWITCH);
+            if (StringUtil.isEmpty(ossSwitch) || !OSSUtil.OSS_SWITCH_OSS.equals(ossSwitch)) {
+                fileName = ftpUploadTemplate.upload(uploadFile, java110Properties.getFtpServer(),
+                        java110Properties.getFtpPort(), java110Properties.getFtpUserName(),
+                        java110Properties.getFtpUserPassword(), java110Properties.getFtpPath());
+            } else {
+                fileName = ossUploadTemplate.upload(uploadFile, java110Properties.getFtpServer(),
+                        java110Properties.getFtpPort(), java110Properties.getFtpUserName(),
+                        java110Properties.getFtpUserPassword(), java110Properties.getFtpPath());
+            }
+            ResponseEntity<String> responseEntity = new ResponseEntity<String>(fileName, HttpStatus.OK);
+            return responseEntity;
+        } catch (Exception e) {
+            logger.error("上传合同附件失败 ", e);
+            return new ResponseEntity<String>("非常抱歉,上传合同附件失败:" + e.getMessage(), HttpStatus.BAD_REQUEST);
+        }
+    }
+
+
+
+    @Override
+
     public ResponseEntity<String> importTempData(IPageData pd) {
         ComponentValidateResult result = this.validateStoreStaffCommunityRelationship(pd, restTemplate);
         JSONObject paramIn = JSONObject.parseObject(pd.getReqData());
@@ -120,9 +166,9 @@ public class ImportRoomFeeSMOImpl extends BaseComponentSMO implements IImportRoo
      * @param roomFees 房屋费用
      */
     private ResponseEntity<String> dealExcelCarData(IPageData pd,
-                                                 List<ImportRoomFee> roomFees,
+                                                    List<ImportRoomFee> roomFees,
 
-                                                 ComponentValidateResult result) {
+                                                    ComponentValidateResult result) {
         ResponseEntity<String> responseEntity = null;
         //保存单元信息 和 楼栋信息
         responseEntity = savedCarFees(pd, roomFees, result);

+ 40 - 0
service-store/src/main/java/com/java110/store/api/ContractApi.java

@@ -1,6 +1,12 @@
 package com.java110.store.api;
 
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.java110.core.factory.GenerateCodeFactory;
+
 import com.alibaba.fastjson.JSONObject;
+
 import com.java110.dto.contract.ContractDto;
 import com.java110.dto.contractAttr.ContractAttrDto;
 import com.java110.dto.contractChangePlan.ContractChangePlanDto;
@@ -17,9 +23,17 @@ import com.java110.po.contractChangePlan.ContractChangePlanPo;
 import com.java110.po.contractChangePlanDetail.ContractChangePlanDetailPo;
 import com.java110.po.contractChangePlanDetailAttr.ContractChangePlanDetailAttrPo;
 import com.java110.po.contractCollectionPlan.ContractCollectionPlanPo;
+
+import com.java110.po.contractFile.ContractFilePo;
+import com.java110.po.contractType.ContractTypePo;
+import com.java110.po.contractTypeSpec.ContractTypeSpecPo;
+import com.java110.po.contractTypeTemplate.ContractTypeTemplatePo;
+import com.java110.po.purchase.PurchaseApplyDetailPo;
+
 import com.java110.po.contractType.ContractTypePo;
 import com.java110.po.contractTypeSpec.ContractTypeSpecPo;
 import com.java110.po.contractTypeTemplate.ContractTypeTemplatePo;
+
 import com.java110.store.bmo.contract.IDeleteContractBMO;
 import com.java110.store.bmo.contract.IGetContractBMO;
 import com.java110.store.bmo.contract.ISaveContractBMO;
@@ -60,6 +74,10 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.ResponseEntity;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.ArrayList;
+import java.util.List;
+
+
 
 @RestController
 @RequestMapping(value = "/contract")
@@ -196,6 +214,18 @@ public class ContractApi {
             contractPo.setContractParentId("-1");
         }
         reqJson.put("userId", userId);
+
+
+        JSONArray contractFiles = reqJson.getJSONArray("contractFilePo");
+        List<ContractFilePo> contractFilePos = new ArrayList<>();
+        for (int conFileIndex = 0; conFileIndex < contractFiles.size(); conFileIndex++) {
+            JSONObject resourceStore = contractFiles.getJSONObject(conFileIndex);
+            ContractFilePo contractFilePo = BeanConvertUtil.covertBean(resourceStore, ContractFilePo.class);
+            contractFilePo.setContractFileId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_contractFileId));
+            contractFilePos.add(contractFilePo);
+        }
+        contractPo.setContractFilePo(contractFilePos);
+
         return saveContractBMOImpl.save(contractPo, reqJson);
     }
 
@@ -228,6 +258,16 @@ public class ContractApi {
 
 
         ContractPo contractPo = BeanConvertUtil.covertBean(reqJson, ContractPo.class);
+
+        JSONArray contractFiles = reqJson.getJSONArray("contractFilePo");
+        List<ContractFilePo> contractFilePos = new ArrayList<>();
+        for (int conFileIndex = 0; conFileIndex < contractFiles.size(); conFileIndex++) {
+            JSONObject resourceStore = contractFiles.getJSONObject(conFileIndex);
+            ContractFilePo contractFilePo = BeanConvertUtil.covertBean(resourceStore, ContractFilePo.class);
+            contractFilePo.setContractFileId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_contractFileId));
+            contractFilePos.add(contractFilePo);
+        }
+        contractPo.setContractFilePo(contractFilePos);
         return updateContractBMOImpl.update(contractPo, reqJson);
     }