Jelajahi Sumber

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	assistMg/src/main/java/com/hotent/project/manager/impl/CostProjectDocumentManagerImpl.java
zzw 1 bulan lalu
induk
melakukan
2f92837daf

+ 2 - 0
assistMg/src/main/java/com/hotent/baseInfo/manager/CostDocumentTemplateManager.java

@@ -44,4 +44,6 @@ public interface CostDocumentTemplateManager extends BaseManager<CostDocumentTem
 	void updateTemplate(CostDocumentTemplateReq req);
 
 	void deleteByIds(List<String> ids);
+
+	CostDocumentTemplate getByAlias(String sdhz);
 }

+ 1 - 0
assistMg/src/main/java/com/hotent/baseInfo/manager/impl/CostDocumentTemplateFileManagerImpl.java

@@ -67,6 +67,7 @@ public class CostDocumentTemplateFileManagerImpl extends BaseManagerImpl<CostDoc
                     System.err.println("查询到的字段值"+costProjectDocumentFile.getOriginalText()+":"+colValue);
                     //获取whereValue字段值
                     costProjectDocumentFile.setDataValue(colValue);
+                    System.out.println("查询到的字段值"+costProjectDocumentFile.getOriginalText()+":"+costProjectDocumentFile.getDataValue());
                 }
             } catch (Exception e) {
                 throw new BaseException("获取字段失败:" + costProjectDocumentFile.getColName());

+ 7 - 0
assistMg/src/main/java/com/hotent/baseInfo/manager/impl/CostDocumentTemplateManagerImpl.java

@@ -183,6 +183,13 @@ public class CostDocumentTemplateManagerImpl extends BaseManagerImpl<CostDocumen
 
 	}
 
+	@Override
+	public CostDocumentTemplate getByAlias(String sdhz) {
+		QueryWrapper<CostDocumentTemplate> wrapper = new QueryWrapper<>();
+		wrapper.eq("alias",sdhz);
+		return this.getOne(wrapper);
+	}
+
 
 	@Override
 	public void update(CostDocumentTemplate entity) {

+ 4 - 1
assistMg/src/main/java/com/hotent/project/controller/CostProjectDocumentController.java

@@ -71,6 +71,9 @@ public class CostProjectDocumentController extends BaseController<CostProjectDoc
 		return CommonResult.<CostProjectDocument>ok().value(baseService.getDetail(id));
 	}
 
+
+
+
 	//分页查询
 	@PostMapping(value="/pageList")
 	@ApiOperation(value="分页查询pageList",httpMethod = "POST",notes = "分页查询pageList")
@@ -82,7 +85,7 @@ public class CostProjectDocumentController extends BaseController<CostProjectDoc
 	//新增
 	@PostMapping(value="/save")
 	@ApiOperation(value="新增save",httpMethod = "POST",notes = "新增save")
-	public CommonResult<String> save(@RequestBody CostProjectDocumentReq req) {
+	public CommonResult<String> save(@RequestBody CostProjectDocumentReq req) throws Exception {
 		costProjectDocumentManager.create(req);
 		return CommonResult.<String>ok().message("保存成功");
 

+ 11 - 0
assistMg/src/main/java/com/hotent/project/controller/CostProjectDocumentFileController.java

@@ -3,6 +3,7 @@ package com.hotent.project.controller;
 
 import com.hotent.base.annotation.ApiGroup;
 import com.hotent.base.constants.ApiGroupConsts;
+import com.hotent.project.model.CostProjectDocument;
 import io.swagger.annotations.Api;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -18,6 +19,8 @@ import com.hotent.base.controller.BaseController;
 import com.hotent.project.model.CostProjectDocumentFile;
 import com.hotent.project.manager.CostProjectDocumentFileManager;
 
+import java.util.List;
+
 /**
  * 监审项目文书内容表 前端控制器
  *
@@ -43,6 +46,14 @@ public class CostProjectDocumentFileController extends BaseController<CostProjec
 	public CommonResult<CostProjectDocumentFile> getDetail(@ApiParam(name="id",value="业务对象主键", required = true)@RequestParam(required=true) String id) throws Exception{
 		return CommonResult.<CostProjectDocumentFile>ok().value(baseService.getDetail(id));
 	}
+
+
+	@GetMapping(value="/getInfo")
+	@ApiOperation(value="根据id获取监审项目文书表数据详情",httpMethod = "GET",notes = "根据id获取监审项目文书表数据详情")
+	public CommonResult getInfo(@ApiParam(name="id",value="监审项目文书ID", required = true)@RequestParam(required=true) String id) throws Exception{
+		List<CostProjectDocumentFile> documentFiles=baseService.getInfo(id);
+		return CommonResult.ok().value(documentFiles);
+	}
     /**
 	 * 新增,更新监审项目文书内容表
 	 * @param costProjectDocumentFile

+ 1 - 0
assistMg/src/main/java/com/hotent/project/manager/CostProjectDocumentFileManager.java

@@ -32,4 +32,5 @@ public interface CostProjectDocumentFileManager extends BaseManager<CostProjectD
 	List<CostProjectDocumentFile> getCostProjectDocumentFiles(String projectId, String documentId);
 
 
+	List<CostProjectDocumentFile> getInfo(String id);
 }

+ 1 - 1
assistMg/src/main/java/com/hotent/project/manager/CostProjectDocumentManager.java

@@ -45,7 +45,7 @@ public interface CostProjectDocumentManager extends BaseManager<CostProjectDocum
 
 	List<CostProjectDocument> getListByProjectId(String projectId);
 
-	void create(CostProjectDocumentReq req);
+	void create(CostProjectDocumentReq req) throws Exception;
 
 	List<CostProjectDocumentFile> getDocumentFileList(String id);
 

+ 15 - 0
assistMg/src/main/java/com/hotent/project/manager/impl/CostProjectDocumentFileManagerImpl.java

@@ -1,13 +1,19 @@
 package com.hotent.project.manager.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.hotent.project.manager.CostProjectDocumentManager;
+import com.hotent.project.model.CostProjectDocument;
 import com.hotent.project.model.CostProjectDocumentFile;
 import com.hotent.project.dao.CostProjectDocumentFileDao;
 import com.hotent.project.manager.CostProjectDocumentFileManager;
 import com.hotent.base.manager.impl.BaseManagerImpl;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import javax.annotation.Resource;
+import java.util.Collections;
 import java.util.List;
 
 
@@ -21,6 +27,9 @@ import java.util.List;
 @Service
 public class CostProjectDocumentFileManagerImpl extends BaseManagerImpl<CostProjectDocumentFileDao, CostProjectDocumentFile> implements CostProjectDocumentFileManager {
 
+	@Resource
+	private CostProjectDocumentManager costProjectDocumentManager;
+
 	@Override
 	public CostProjectDocumentFile getDetail(String id) {
     	CostProjectDocumentFile costProjectDocumentFile = this.get(id);
@@ -45,4 +54,10 @@ public class CostProjectDocumentFileManagerImpl extends BaseManagerImpl<CostProj
 		wrapper.eq(CostProjectDocumentFile::getDocumentId,documentId);
 		return  this.list(wrapper);
 	}
+
+	@Override
+	public List<CostProjectDocumentFile> getInfo(String id) {
+		CostProjectDocument costProjectDocument = costProjectDocumentManager.getDetail(id);
+		return this.getCostProjectDocumentFiles(costProjectDocument.getProjectId(),costProjectDocument.getDocumentId());
+	}
 }

+ 84 - 78
assistMg/src/main/java/com/hotent/project/manager/impl/CostProjectDocumentManagerImpl.java

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.hotent.base.util.UniqueIdUtil;
 import com.hotent.baseInfo.manager.AuditedUnitManager;
 import com.hotent.baseInfo.manager.CostDocumentTemplateFileManager;
 import com.hotent.baseInfo.manager.CostDocumentTemplateManager;
@@ -18,26 +19,28 @@ import com.hotent.config.EipConfig;
 import com.hotent.constant.BaseConstant;
 import com.hotent.project.manager.CostProjectApprovalManager;
 import com.hotent.project.manager.CostProjectDocumentFileManager;
-import com.hotent.project.manager.CostProjectProccessManager;
 import com.hotent.project.model.CostProjectApproval;
 import com.hotent.project.model.CostProjectDocument;
 import com.hotent.project.dao.CostProjectDocumentDao;
 import com.hotent.project.manager.CostProjectDocumentManager;
 import com.hotent.base.manager.impl.BaseManagerImpl;
 import com.hotent.project.model.CostProjectDocumentFile;
-import com.hotent.project.model.CostProjectProccess;
 import com.hotent.project.req.CostProjectDocumentPageReq;
 import com.hotent.project.req.CostProjectDocumentReq;
 import com.hotent.project.resp.CostProjectDocumentResp;
+import com.hotent.uc.api.model.IUser;
 import com.hotent.uc.exception.BaseException;
+import com.hotent.uc.manager.UserManager;
+import com.hotent.uc.model.User;
+import com.hotent.uc.util.ContextUtil;
 import com.hotent.util.wordexcelutils.DocumentProcessor;
 import org.apache.commons.lang.StringUtils;
 import org.apache.tools.ant.util.DateUtils;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.lang.reflect.Field;
 import java.time.LocalDateTime;
 import java.util.*;
 import java.util.stream.Collectors;
@@ -65,18 +68,16 @@ public class CostProjectDocumentManagerImpl extends BaseManagerImpl<CostProjectD
     private AuditedUnitManager auditedUnitManager;
 
     @Autowired
-    private CostDocumentWhManager costDocumentWhManager;
+    private CostDocumentTemplateFileManager costDocumentTemplateFileManager;
 
     @Autowired
-    private CostProjectApprovalManager costProjectApprovalManager;
+    private CostDocumentWhManager costDocumentWhManager;
 
     @Autowired
-    private CostProjectProccessManager costProjectProccessManager;
+    private CostProjectApprovalManager costProjectApprovalManager;
 
     @Autowired
-    private CostDocumentTemplateFileManager costDocumentTemplateFileManager;
-
-
+    private UserManager userService;
 
     @Override
     public CostProjectDocument getDetail(String id) {
@@ -166,7 +167,8 @@ public class CostProjectDocumentManagerImpl extends BaseManagerImpl<CostProjectD
 
 
     @Override
-    public void create(CostProjectDocumentReq req) {
+    @Transactional
+    public void create(CostProjectDocumentReq req) throws Exception {
         if (ObjectUtil.isEmpty(req.getDocumentId())) {
             throw new BaseException("请选择文书模板");
         }
@@ -206,15 +208,85 @@ public class CostProjectDocumentManagerImpl extends BaseManagerImpl<CostProjectD
         if (this.count(qw) > 0) {
             throw new BaseException("该项目监审单位已存在此文书");
         }
+        CostProjectApproval costProjectApproval = costProjectApprovalManager.get(req.getProjectId());
         //类型转换
         CostProjectDocument costProjectDocument = new CostProjectDocument();
         BeanUtil.copyProperties(req, costProjectDocument);
         costProjectDocument.setDocumentNumber(whNo);
         costProjectDocument.setDocumentName(costDocumentTemplate.getDocumentName());
         costProjectDocument.setDocumentType(costDocumentTemplate.getType());
+        costProjectDocument.setProjectId(costProjectApproval.getProjectId());
         super.create(costProjectDocument);
+        if (costProjectDocument.getDocumentAlias().equals("cbjstzs")) {
+
+            CostDocumentTemplate templateManagerById = costDocumentTemplateManager.getByAlias("sdhz");
+            if (templateManagerById==null) {
+                throw new BaseException("未查询到送达回证文书模板信息,请先添加");
+            }
+
+            IUser iUser = ContextUtil.getCurrentUser();
+            User user = userService.getByAccount(iUser.getAccount());
+            ArrayList<CostProjectDocumentFile> arrayList = new ArrayList<>();
+            CostProjectDocument projectDocument = new CostProjectDocument();
+            BeanUtil.copyProperties(costProjectDocument, projectDocument);
+            projectDocument.setId(UniqueIdUtil.getSuid());
+            projectDocument.setCreateBy(user.getAccount());
+            projectDocument.setCreateTime(LocalDateTime.now());
+            QueryWrapper<CostDocumentWh> wrapper = new QueryWrapper<>();
+            wrapper.eq("wh_type","187");
+            List<CostDocumentWh> list = costDocumentWhManager.list(wrapper);
+
+            if (list == null || list.isEmpty()) {
+                throw new BaseException("文书文号不存在");
+            }
+            CostDocumentWh costDocument = list.get(0);
+            projectDocument.setDocumentNumber(costDocument.getRulePattern().replace("{prefixText}", costDocument.getPrefixText())
+                    .replace("{year}", costDocument.getYear()).replace("{currentValue}", costDocument.getCurrentValue().toString()));
+            projectDocument.setElectronicDocumentUrl(templateManagerById.getFileUrl());
+            projectDocument.setDocumentWhId(costDocument.getId());
+            projectDocument.setDocumentId(String.valueOf(templateManagerById.getId()));
+            projectDocument.setDocumentName(templateManagerById.getDocumentName());
+            projectDocument.setDocumentType(templateManagerById.getType());
+            projectDocument.setDocumentAlias(templateManagerById.getAlias());
+            //super.create(projectDocument);
+            this.save(projectDocument);
+
+
+            List<CostDocumentTemplateFile> documentFileList = costDocumentTemplateFileManager.getDocumentFileList(String.valueOf(templateManagerById.getId()));
+            documentFileList.forEach(f->{
+                CostProjectDocumentFile costProjectDocumentFile = new CostProjectDocumentFile();
+                BeanUtils.copyProperties(f,costProjectDocumentFile);
+                costProjectDocumentFile.setId(UniqueIdUtil.getUId());
+                costProjectDocumentFile.setCreateBy(user.getAccount());
+                costProjectDocumentFile.setCreateTime(LocalDateTime.now());
+                costProjectDocumentFile.setProjectId(costProjectApproval.getProjectId());
+                costProjectDocumentFile.setProjectId(costProjectDocument.getProjectId());
+                switch (f.getPinyin()) {
+                    case "JiaGeZhuGuanBuMenHuoChengBenDiaoChaJiGou":
+                        costProjectDocumentFile.setDataValue(costProjectApproval.getOrgName());
+                        break;
+                    case "SongDaWenShuMingCheng":
+                        costProjectDocumentFile.setDataValue(costDocument.getWhName());
+                        break;
+                    case "SongDaWenShuWenHao":
+                        costProjectDocumentFile.setDataValue(projectDocument.getDocumentNumber());
+                        break;
+                    case "ShouSongDaRen":
+                        costProjectDocumentFile.setDataValue(auditedUnit.getContactName());
+                        break;
+                    case "BeiJianShenDanWeiBanGongDiDian":
+                        costProjectDocumentFile.setDataValue(auditedUnit.getAddress());
+                        break;
+                    default:
+                        costProjectDocumentFile.setDataValue("");
+                        break;
+                }
+                arrayList.add(costProjectDocumentFile);
+            });
+            costProjectDocumentFileManager.saveBatch(arrayList);
+        }
         //文件关联信息赋值
-        req.getCostProjectDocumentFiles().forEach(costProjectDocumentFile -> {
+        /*req.getCostProjectDocumentFiles().forEach(costProjectDocumentFile -> {
             costProjectDocumentFile.setDocumentId(costProjectDocument.getDocumentId());
             costProjectDocumentFile.setProjectId(costProjectDocument.getProjectId());
             //送达回证特殊处理字段 后期在说
@@ -239,7 +311,7 @@ public class CostProjectDocumentManagerImpl extends BaseManagerImpl<CostProjectD
                 }
             }
 
-        });
+        });*/
         //保存解析出的文件内容
         costProjectDocumentFileManager.saveBatch(req.getCostProjectDocumentFiles());
 
@@ -379,70 +451,4 @@ public class CostProjectDocumentManagerImpl extends BaseManagerImpl<CostProjectD
         DocumentProcessor.processWordDocument(templatePath,outputPath,map,new LinkedHashMap<>());
         return EipConfig.getImgUrl()+FileUploadUtil.getPathFileName(outputPath,fileName);
     }
-
-    @Override
-    public List<CostDocumentTemplateFile> getTemplateDataByIds(String templateId,
-                                                               String type,
-                                                               String projectId,
-                                                               String unitId
-                                                               ) {
-
-
-        // 模板字段
-        List<CostDocumentTemplateFile> list = costDocumentTemplateFileManager.list(
-                new QueryWrapper<CostDocumentTemplateFile>().eq("document_id", templateId)
-        );
-        for (CostDocumentTemplateFile file : list) {
-            // 表名
-            String tableName = file.getTableName();
-            // 字段
-            String colName = file.getColName();
-            // 取值
-            Object source = getSourceByTableName(tableName,projectId,unitId);
-            // 反射取值
-            Object value = getFieldValue(source, colName);
-            file.setDataValue(value == null ? "" : String.valueOf(value));
-        }
-
-        return list;
-    }
-
-
-    /**
-     * 根据表名返回对应的数据源对象
-     */
-    private Object getSourceByTableName(String tableName,String projectId,String unitId) {
-        // 立项数据
-        CostProjectApproval approval = costProjectApprovalManager.getById(projectId);
-        // 流程进度
-        CostProjectProccess proccess = costProjectProccessManager.getOne(
-                new QueryWrapper<CostProjectProccess>().eq("project_id", projectId)
-        );
-        // 监审单位
-        AuditedUnit unit = auditedUnitManager.getById(unitId);
-        Map<String, Object> map = new HashMap<>();
-        map.put("cost_project_approval", approval);
-        map.put("cost_project_proccess", proccess);
-        map.put("cost_audited_unit", unit);
-        if (map.containsKey(tableName)) {
-            return map.get(tableName);
-        }
-        return proccess;
-    }
-
-
-    /**
-     * 从对象中根据字段名读取值(反射)
-     */
-    private Object getFieldValue(Object source, String colName) {
-        if (source == null) return null;
-
-        try {
-            Field field = source.getClass().getDeclaredField(colName);
-            field.setAccessible(true);
-            return field.get(source);
-        } catch (Exception e) {
-            return null;
-        }
-    }
 }