소스 검색

报告签发单数据功能开发

user5 2 년 전
부모
커밋
4f70f280e7

+ 43 - 6
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/program/configuration/projectList/controller/ProjectListController.java

@@ -359,16 +359,16 @@ public class ProjectListController {
             //选择对应的ftl文件
             template = cfg.getTemplate("proofreadAudit.ftl","UTF-8");
 
-            File docFile = new File("资产评估项目(校对)审核记录表.xlsx");
+            File docFile = new File("资产评估项目(校对)审核记录表.xls");
             FreemarkerUtil.generateFile(data,template,docFile);
-            com.jeeplus.test.utils.ResponseUtil.docResponse("资产评估项目(校对)审核记录表.xlsx",docFile,response);
+            com.jeeplus.test.utils.ResponseUtil.docResponse("资产评估项目(校对)审核记录表.xls",docFile,response);
         } catch (IOException e) {
             e.printStackTrace();
         }finally {
             //获取tomcat的路径
             String tomcatFilePath=System.getProperty("catalina.home");
             //删除tomcat目录下的处理后的文件信息
-            File tomcatFile = new File(tomcatFilePath+"/bin/"+"资产评估项目(校对)审核记录表.xlsx");
+            File tomcatFile = new File(tomcatFilePath+"/bin/"+"资产评估项目(校对)审核记录表.xls");
             if (tomcatFile.isFile()) {
                 tomcatFile.delete();
             }
@@ -397,16 +397,53 @@ public class ProjectListController {
             //选择对应的ftl文件
             template = cfg.getTemplate("auditRecordFormAfterBinding.ftl","UTF-8");
 
-            File docFile = new File("评估报告装订后浏览审核记录表.xlsx");
+            File docFile = new File("评估报告装订后浏览审核记录表.xls");
             FreemarkerUtil.generateFile(data,template,docFile);
-            com.jeeplus.test.utils.ResponseUtil.docResponse("评估报告装订后浏览审核记录表.xlsx",docFile,response);
+            com.jeeplus.test.utils.ResponseUtil.docResponse("评估报告装订后浏览审核记录表.xls",docFile,response);
         } catch (IOException e) {
             e.printStackTrace();
         }finally {
             //获取tomcat的路径
             String tomcatFilePath=System.getProperty("catalina.home");
             //删除tomcat目录下的处理后的文件信息
-            File tomcatFile = new File(tomcatFilePath+"/bin/"+"评估报告装订后浏览审核记录表.xlsx");
+            File tomcatFile = new File(tomcatFilePath+"/bin/"+"评估报告装订后浏览审核记录表.xls");
+            if (tomcatFile.isFile()) {
+                tomcatFile.delete();
+            }
+        }
+    }
+
+    /**
+     * 下载报告签发表
+     * @param response
+     * @param info
+     */
+    @RequestMapping(value="downloadReportAusstellungTpl")
+    @ResponseBody
+    public void downloadReportAusstellungTpl(HttpServletResponse response, ProgramProjectListInfo info)  {
+        Map data = projectListService.downloadReportAusstellungTpl(info);
+
+
+        //模板对象
+        Template template=null;
+        //freemaker模板路径
+        File path = new File(this.getClass().getResource("/").getPath()+"/freemarker");
+        Configuration cfg = new Configuration();
+        try {
+            cfg.setDirectoryForTemplateLoading(path);
+            //选择对应的ftl文件
+            template = cfg.getTemplate("reportAusstellung.ftl","UTF-8");
+
+            File docFile = new File("报告签发单.doc");
+            FreemarkerUtil.generateFile(data,template,docFile);
+            com.jeeplus.test.utils.ResponseUtil.docResponse("报告签发单.doc",docFile,response);
+        } catch (IOException e) {
+            e.printStackTrace();
+        }finally {
+            //获取tomcat的路径
+            String tomcatFilePath=System.getProperty("catalina.home");
+            //删除tomcat目录下的处理后的文件信息
+            File tomcatFile = new File(tomcatFilePath+"/bin/"+"报告签发单.doc");
             if (tomcatFile.isFile()) {
                 tomcatFile.delete();
             }

+ 7 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/program/configuration/projectList/mapper/ProgramArchiveMapper.java

@@ -12,6 +12,13 @@ import org.apache.ibatis.annotations.Mapper;
 @Mapper
 public interface ProgramArchiveMapper extends BaseMapper<ProgramArchive> {
     ProgramArchiveDto findByIdArchive(String id);
+
+    /**
+     * 根据项目id查询信息
+     * @param id
+     * @return
+     */
+    ProgramArchiveDto findByProgramIdArchive(String id);
 }
 
 

+ 10 - 1
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/program/configuration/projectList/mapper/xml/ProgramArchiveMapper.xml

@@ -79,7 +79,8 @@
         pa.proc_ins_id,
         pa.process_definition_id,
         pa.status,
-        pa.audit_date
+        pa.audit_date,
+        pa.audit_date as "auditDateDate"
     </sql>
     <sql id="Program_Column_List">
         id,create_by,create_date,
@@ -116,4 +117,12 @@
         left join program_report_no prn on prn.program_id = pa.program_id and prn.del_flag = '0'
         where pa.del_flag = '0' and pa.id = #{id}
     </select>
+    <select id="findByProgramIdArchive" resultMap="BaseResultMap">
+        select
+        <include refid="Base_Column_List"></include>,
+        prn.report_no as report_no
+        from program_archive pa
+        left join program_report_no prn on prn.program_id = pa.program_id and prn.del_flag = '0'
+        where pa.del_flag = '0' and pa.program_id = #{id}
+    </select>
 </mapper>

+ 314 - 21
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/program/configuration/projectList/service/ProjectListService.java

@@ -23,7 +23,9 @@ import com.jeeplus.test.program.configuration.projectList.service.mapstruct.Prog
 import com.jeeplus.test.program.configuration.projectList.service.mapstruct.ProgramAuditAssessPeopleWrapper;
 import com.jeeplus.test.program.configuration.projectList.service.mapstruct.ProgramAuditWrapper;
 import com.jeeplus.test.proofread.domain.ProofreadDetail;
+import com.jeeplus.test.proofread.domain.ProofreadIssued;
 import com.jeeplus.test.proofread.service.ProofreadInfoService;
+import com.jeeplus.test.proofread.service.ProofreadIssuedService;
 import com.jeeplus.test.proofread.service.dto.ProofreadInfoDto;
 import com.jeeplus.test.workContract.domain.WorkContractInfo;
 import com.jeeplus.test.workContract.mapper.WorkContractInfoMapper;
@@ -67,6 +69,8 @@ public class ProjectListService {
     private ProofreadInfoService proofreadInfoService;
     @Resource
     private ProgramArchiveMapper programArchiveMapper;
+    @Resource
+    private ProofreadIssuedService proofreadIssuedService;
 
     public String save(ProjectListDto dto) throws Exception{
         if (StringUtils.isNotEmpty(dto.getId())) {
@@ -466,7 +470,11 @@ public class ProjectListService {
             auditDto = findByIdAudit(info.getAuditId3());
         }
         //项目名称
-        data.put("projectName",projectDto.getName());
+        if(StringUtils.isNotBlank(projectDto.getName())){
+            data.put("projectName",projectDto.getName());
+        }else{
+            data.put("projectName","");
+        }
         //评估基准日
         Date assessmentDate=projectDto.getAssessmentDate();
         if(null == assessmentDate){
@@ -525,6 +533,30 @@ public class ProjectListService {
             //审核人
             data.put("auditor",UserUtils.get(auditDto.getAuditPeople()).getName());
 
+        }else{
+            data.put("appraisers","");
+            //执行人时间
+            data.put("executorDate","");
+            //审核人时间
+            data.put("auditorDate","");
+            //项目审核人
+            data.put("projectauditor","");
+            //明细表
+            data.put("detailedStatement","");
+            //评估报告
+            data.put("assessmentReport","");
+            //技术说明
+            data.put("technicalDescription","");
+            //工作底稿
+            data.put("workingPaper","");
+            //保留意见
+            data.put("qualifiedOpinion","");
+            //执行人
+            data.put("executor","");
+            //未修改意见
+            data.put("notModifiedOpinion","");
+            //审核人
+            data.put("auditor","");
         }
         return data;
     }
@@ -539,6 +571,7 @@ public class ProjectListService {
             auditDetails = auditDetails.replaceAll("<p>","");
             auditDetails = auditDetails.replaceAll("</p>","<w:br/>");
             auditDetails = auditDetails.replaceAll("<br>","");
+            auditDetails = auditDetails.replaceAll("&nbsp;","");
         }
         return auditDetails;
     }
@@ -624,7 +657,11 @@ public class ProjectListService {
 
 
         //项目名称
-        data.put("projectName",projectDto.getName());
+        if(StringUtils.isNotBlank(projectDto.getName())){
+            data.put("projectName",projectDto.getName());
+        }else{
+            data.put("projectName","");
+        }
         //评估基准日
         Date assessmentDate=projectDto.getAssessmentDate();
         if(null == assessmentDate){
@@ -639,11 +676,13 @@ public class ProjectListService {
         }else{
             data.put("projectMaster",UserUtils.get(projectDto.getProjectManager()).getName());
         }
-        //查询项目详情
-        ProgramProjectListInfo programProjectListInfo = projectListMapper.getById(projectDto.getId());
 
         //项目审核人
-        data.put("projectauditor",UserUtils.get(projectDto.getAgreeUserId()).getName());
+        if(StringUtils.isBlank(projectDto.getAgreeUserId())){
+            data.put("projectauditor","");
+        }else{
+            data.put("projectauditor",UserUtils.get(projectDto.getProjectManager()).getName());
+        }
         //项目审核时间
         Date agreeTime=projectDto.getAgreeTime();
         if(null == agreeTime){
@@ -655,15 +694,29 @@ public class ProjectListService {
             data.put("auditDate",str);
         }
         //审核人员签字
-        data.put("auditPersonnel",UserUtils.get(projectDto.getAgreeUserId()).getName());
-        //改正人员签字
-        data.put("correctPersonnel",UserUtils.get(proofreadInfoDto.getUpdateBy()).getName());
+        if(StringUtils.isBlank(proofreadInfoDto.getUpdateBy())){
+            data.put("auditPersonnel","");
+            data.put("correctPersonnel","");
+            data.put("executor","");
+        }else{
+            data.put("auditPersonnel",UserUtils.get(proofreadInfoDto.getUpdateBy()).getName());
+            //改正人员签字
+            data.put("correctPersonnel",UserUtils.get(proofreadInfoDto.getUpdateBy()).getName());
+            //执行人
+            data.put("executor",UserUtils.get(proofreadInfoDto.getUpdateBy()).getName());
+        }
         //保留意见
-        data.put("qualifiedOpinion",proofreadInfoDto.getReservations());
+        if(StringUtils.isBlank(proofreadInfoDto.getReservations())){
+            data.put("qualifiedOpinion","");
+        }else{
+            data.put("qualifiedOpinion",proofreadInfoDto.getReservations());
+        }
         //未修改意见
-        data.put("notModifiedOpinion",proofreadInfoDto.getUnmodifiedComments());
-        //执行人
-        data.put("executor",UserUtils.get(proofreadInfoDto.getUpdateBy()).getName());
+        if(StringUtils.isBlank(proofreadInfoDto.getUnmodifiedComments())){
+            data.put("notModifiedOpinion","");
+        }else{
+            data.put("notModifiedOpinion",proofreadInfoDto.getUnmodifiedComments());
+        }
         //执行时间
         //改正人员签字时间
         Date executorDate=proofreadInfoDto.getUpdateDate();
@@ -739,7 +792,11 @@ public class ProjectListService {
 
 
         //项目名称
-        data.put("projectName",projectDto.getName());
+        if(StringUtils.isNotBlank(projectDto.getName())){
+            data.put("projectName",projectDto.getName());
+        }else{
+            data.put("projectName","");
+        }
         //评估基准日
         Date assessmentDate=projectDto.getAssessmentDate();
         if(null == assessmentDate){
@@ -756,7 +813,11 @@ public class ProjectListService {
         }
 
         //项目审核人
-        data.put("projectauditor",UserUtils.get(projectDto.getAgreeUserId()).getName());
+        if(StringUtils.isBlank(projectDto.getAgreeUserId())){
+            data.put("projectauditor","");
+        }else{
+            data.put("projectauditor",UserUtils.get(projectDto.getAgreeUserId()).getName());
+        }
         //项目审核时间
         Date agreeTime=projectDto.getAgreeTime();
         if(null == agreeTime){
@@ -769,15 +830,30 @@ public class ProjectListService {
         }
 
         //审核人员签字
-        data.put("auditPersonnel",UserUtils.get(projectDto.getAgreeUserId()).getName());
-        //改正人员签字
-        data.put("correctPersonnel",UserUtils.get(proofreadInfoDto.getUpdateBy()).getName());
+        if(StringUtils.isBlank(projectDto.getUpdateBy())){
+            data.put("auditPersonnel","");
+            data.put("correctPersonnel","");
+            data.put("executor","");
+        }else{
+            data.put("auditPersonnel",UserUtils.get(projectDto.getUpdateBy()).getName());
+            //改正人员签字
+            data.put("correctPersonnel",UserUtils.get(proofreadInfoDto.getUpdateBy()).getName());
+            //执行人
+            data.put("executor",UserUtils.get(proofreadInfoDto.getUpdateBy()).getName());
+        }
         //保留意见
-        data.put("qualifiedOpinion",proofreadInfoDto.getReservations());
+        if(StringUtils.isBlank(proofreadInfoDto.getReservations())){
+            data.put("qualifiedOpinion","");
+        }else{
+            data.put("qualifiedOpinion",proofreadInfoDto.getReservations());
+        }
         //未修改意见
-        data.put("notModifiedOpinion",proofreadInfoDto.getUnmodifiedComments());
-        //执行人
-        data.put("executor",UserUtils.get(proofreadInfoDto.getUpdateBy()).getName());
+        if(StringUtils.isBlank(proofreadInfoDto.getUnmodifiedComments())){
+            data.put("notModifiedOpinion","");
+        }else{
+            data.put("notModifiedOpinion",proofreadInfoDto.getUnmodifiedComments());
+        }
+
         //执行时间
         //改正人员签字时间
         Date executorDate=proofreadInfoDto.getUpdateDate();
@@ -792,4 +868,221 @@ public class ProjectListService {
 
         return data;
     }
+
+
+
+    /**
+     * 查询评报告签发表并导出文档
+     * @param info
+     * @return
+     */
+    public Map<String,Object> downloadReportAusstellungTpl(ProgramProjectListInfo info){
+        Map data = new HashMap();
+
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年 MM月 dd日");
+
+        //查询项目信息
+        ProjectListDto projectDto = findById(info.getId());
+
+        //查询项目详情
+        ProgramProjectListInfo programProjectListInfo = projectListMapper.getById(projectDto.getId());
+        //查询报告签发表信息
+        ProofreadIssued issuedById = proofreadIssuedService.findById(info.getId());
+
+        //报告号
+        data.put("projectName",projectDto.getName());
+        //报告号
+        data.put("projectReportNumber",programProjectListInfo.getReportNo());
+
+        if(null != issuedById){
+            //台账
+            if(StringUtils.isNotBlank(issuedById.getIsTxtz())){
+                data.put("standingBook",issuedById.getIsTxtz());
+            }else{
+                data.put("standingBook","");
+            }
+            //电子归档
+            if(StringUtils.isNotBlank(issuedById.getIsBgdzdgd())){
+                data.put("electronicsArchive",issuedById.getIsBgdzdgd());
+            }else{
+                data.put("electronicsArchive","");
+            }
+            //备案
+            if(StringUtils.isNotBlank(issuedById.getIsXyba())){
+                data.put("putOnRecords",issuedById.getIsXyba());
+            }else{
+                data.put("putOnRecords","");
+            }
+            //完成备案
+            if(StringUtils.isNotBlank(issuedById.getIsWcba())){
+                data.put("accomplishPutOnRecords",issuedById.getIsWcba());
+            }else{
+                data.put("accomplishPutOnRecords","");
+            }
+            //用印类型
+            if(StringUtils.isNotBlank(issuedById.getSealType())){
+                data.put("sealType",issuedById.getSealType());
+            }else{
+                data.put("sealType","");
+            }
+            //评估报告
+            if(StringUtils.isNotBlank(issuedById.getAssessmentReport())){
+                data.put("assessmentReport",issuedById.getAssessmentReport());
+            }else{
+                data.put("assessmentReport","");
+            }
+            //评估说明
+            if(StringUtils.isNotBlank(issuedById.getAssessmentExplain())){
+                data.put("assessmentExplain",issuedById.getAssessmentExplain());
+            }else{
+                data.put("assessmentExplain","");
+            }
+            //评估明细表
+            if(StringUtils.isNotBlank(issuedById.getAssessmentDetail())){
+                data.put("assessmentDetail",issuedById.getAssessmentDetail());
+            }else{
+                data.put("assessmentDetail","");
+            }
+            //咨询报告
+            if(StringUtils.isNotBlank(issuedById.getConsultingReport())){
+                data.put("consultingReport",issuedById.getConsultingReport());
+            }else{
+                data.put("consultingReport","");
+            }
+        }else{
+            data.put("standingBook","");
+            data.put("electronicsArchive","");
+            data.put("putOnRecords","");
+            data.put("accomplishPutOnRecords","");
+            data.put("sealType","");
+            data.put("assessmentReport","");
+            data.put("assessmentExplain","");
+            data.put("assessmentDetail","");
+            data.put("consultingReport","");
+        }
+
+        //项目负责人
+        if(StringUtils.isBlank(projectDto.getProjectManager())){
+            data.put("projectMaster","");
+        }else{
+            data.put("projectMaster",UserUtils.get(projectDto.getProjectManager()).getName());
+        }
+        //项目负责人时间
+        Date agreeTime=projectDto.getAgreeTime();
+        if(null == agreeTime){
+            data.put("projectMasterDate","");
+        }else{
+            String str = sdf.format(agreeTime);
+            data.put("projectMasterDate",str);
+        }
+
+        //一级审核人
+        //查询校审信息
+        ProgramAuditDto audit1Dto = findByIdAudit(programProjectListInfo.getAuditId1());
+        if(null != audit1Dto){
+            //一级审核人
+            data.put("firstAuditMaster",UserUtils.get(audit1Dto.getAuditPeople()).getName());
+            //审核时间
+            Date auditDate=audit1Dto.getAuditDate();
+            if(null == auditDate){
+                data.put("firstAuditMasterDate","");
+            }else{
+                String str = sdf.format(auditDate);
+                data.put("firstAuditMasterDate",str);
+            }
+        }else{
+            data.put("firstAuditMaster","");
+            data.put("firstAuditMasterDate","");
+        }
+        //二级审核人
+        ProgramAuditDto audit2Dto = findByIdAudit(programProjectListInfo.getAuditId2());
+        if(null != audit2Dto){
+            //二级审核人
+            data.put("secondAuditMaster",UserUtils.get(audit2Dto.getAuditPeople()).getName());
+            //审核时间
+            Date auditDate=audit2Dto.getAuditDate();
+            if(null == auditDate){
+                data.put("secondAuditMasterDate","");
+            }else{
+                String str = sdf.format(auditDate);
+                data.put("secondAuditMasterDate",str);
+            }
+        }else{
+            data.put("secondAuditMaster","");
+            data.put("secondAuditMasterDate","");
+        }
+        //三级审核人
+        ProgramAuditDto audit3Dto = findByIdAudit(programProjectListInfo.getAuditId3());
+        if(null != audit1Dto){
+            //一级审核人
+            data.put("thirdAuditMaster",UserUtils.get(audit3Dto.getAuditPeople()).getName());
+            //审核时间
+            Date auditDate=audit3Dto.getAuditDate();
+            if(null == auditDate){
+                data.put("thirdAuditMasterDate","");
+            }else{
+                String str = sdf.format(auditDate);
+                data.put("thirdAuditMasterDate",str);
+            }
+        }else{
+            data.put("thirdAuditMaster","");
+            data.put("thirdAuditMasterDate","");
+        }
+
+        //校对负责人
+        ProofreadInfoDto proofreadInfoDto = proofreadInfoService.findById(info.getId(),"1");
+
+        if(null != proofreadInfoDto){
+            //校对负责人
+            data.put("proofreadMaster",UserUtils.get(proofreadInfoDto.getUpdateBy()).getName());
+            //审核时间
+            Date processDate=proofreadInfoDto.getProcessDate();
+            if(null == processDate){
+                data.put("proofreadMasterDate","");
+            }else{
+                String str = sdf.format(processDate);
+                data.put("proofreadMasterDate",str);
+            }
+        }else{
+            data.put("proofreadMaster","");
+            data.put("proofreadMasterDate","");
+        }
+        //签发人
+        if(null != issuedById){
+            //校对负责人
+            data.put("signer","");
+            //校对时间
+            Date issuedAgreeTime=issuedById.getAgreeTime();
+            if(null == issuedAgreeTime){
+                data.put("signerDate","");
+            }else{
+                String str = sdf.format(issuedAgreeTime);
+                data.put("signerDate",str);
+            }
+        }else{
+            data.put("signer","");
+            data.put("signerDate","");
+        }
+
+
+        //归档负责人
+        ProgramArchiveDto programArchiveDto = programArchiveMapper.findByProgramIdArchive(info.getId());
+        if(null != programArchiveDto){
+            //校对负责人
+            data.put("archiveMaster","");
+            //校对时间
+            Date auditDate=programArchiveDto.getAuditDateDate();
+            if(null == auditDate){
+                data.put("archiveMasterDate","");
+            }else{
+                String str = sdf.format(auditDate);
+                data.put("archiveMasterDate",str);
+            }
+        }else{
+            data.put("archiveMaster","");
+            data.put("archiveMasterDate","");
+        }
+
+        return data;
+    }
 }

+ 4 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/program/configuration/projectList/service/dto/ProgramArchiveDto.java

@@ -205,6 +205,10 @@ public class ProgramArchiveDto extends BaseDTO {
      * 项目报告号
      */
     private String reportNo;
+    /**
+     * 审核通过时间
+     */
+    private Date auditDateDate;
 
     private static final long serialVersionUID = 1L;
 }

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 3909 - 0
jeeplus-web/src/main/resources/freemarker/reportAusstellung.ftl