Browse Source

生成报告号

lizhenhao 2 years atrás
parent
commit
6bd1f7669b

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

@@ -6,7 +6,9 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.jeeplus.common.utils.ResponseUtil;
 import com.jeeplus.core.excel.utils.EasyPoiUtil;
 import com.jeeplus.core.query.QueryWrapperGenerator;
+import com.jeeplus.sys.utils.StringUtils;
 import com.jeeplus.test.program.configuration.projectList.domain.ProgramProjectListInfo;
+import com.jeeplus.test.program.configuration.projectList.mapper.ProgramReportNoMapper;
 import com.jeeplus.test.program.configuration.projectList.service.ProjectListService;
 import com.jeeplus.test.program.configuration.projectList.service.dto.ContractDto;
 import com.jeeplus.test.program.configuration.projectList.service.dto.ExportFileDto;
@@ -18,6 +20,7 @@ import com.jeeplus.test.projectRecords.service.mapstruct.ProjectWrapper;
 import com.jeeplus.test.workContract.domain.WorkContractInfo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.http.ResponseEntity;
 import org.springframework.web.bind.annotation.*;
 
@@ -130,4 +133,20 @@ public class ProjectListController {
         EasyPoiUtil.exportExcel(infos, "项目登记列表信息",  "项目登记列表信息", ExportFileDto.class, "", response );
     }
 
+
+    /**
+     * 根据项目id生成报告号
+     * @param id
+     * @return
+     */
+    @ApiOperation(value = "根据项目id生成报告号")
+    @GetMapping(value = "/saveReportNo")
+    public ResponseEntity<String> saveReportNo(@RequestParam("id") String id) throws Exception {
+        String s = projectListService.saveReportNo(id);
+        if (StringUtils.isNotBlank(s)) {
+            return ResponseEntity.ok("已生成报告号:"+s);
+        }else{
+            return ResponseEntity.badRequest().body("报告号生成失败");
+        }
+    }
 }

+ 6 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/program/configuration/projectList/domain/ProgramProjectListInfo.java

@@ -212,4 +212,10 @@ public class ProgramProjectListInfo {
      */
     @TableField(exist = false)
     private String isInvoice;
+
+    /**
+     * 项目报告号
+     */
+    @TableField(exist = false)
+    private String reportNo;
 }

+ 34 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/program/configuration/projectList/domain/ProgramReportNo.java

@@ -0,0 +1,34 @@
+package com.jeeplus.test.program.configuration.projectList.domain;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.jeeplus.core.domain.BaseEntity;
+import lombok.Data;
+
+/**
+ * 新项目管理-项目登记-项目报告号表
+ * @TableName program_report_no
+ */
+@Data
+@TableName(value = "program_report_no")
+public class ProgramReportNo extends BaseEntity {
+
+    /**
+     * 备注信息
+     */
+    private String remarks;
+
+    /**
+     * 项目id
+     */
+    private String programId;
+
+    /**
+     * 项目报告号
+     */
+    private String reportNo;
+
+    private static final long serialVersionUID = 1L;
+}

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

@@ -0,0 +1,17 @@
+package com.jeeplus.test.program.configuration.projectList.mapper;
+
+import com.jeeplus.test.program.configuration.projectList.domain.ProgramReportNo;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @Entity com.jeeplus.test.program.configuration.projectList.domain.ProgramReportNo
+ */
+@Mapper
+public interface ProgramReportNoMapper extends BaseMapper<ProgramReportNo> {
+
+}
+
+
+
+

+ 30 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/program/configuration/projectList/mapper/xml/ProgramReportNoMapper.xml

@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.jeeplus.test.program.configuration.projectList.mapper.ProgramReportNoMapper">
+
+    <resultMap id="BaseResultMap" type="com.jeeplus.test.program.configuration.projectList.service.dto.ProgramReportNoDto">
+            <id property="id" column="id" jdbcType="VARCHAR"/>
+            <result property="createBy.id" column="create_by" jdbcType="VARCHAR"/>
+            <result property="createDate" column="create_date" jdbcType="TIMESTAMP"/>
+            <result property="updateBy.id" column="update_by" jdbcType="VARCHAR"/>
+            <result property="updateDate" column="update_date" jdbcType="TIMESTAMP"/>
+            <result property="delFlag" column="del_flag" jdbcType="INTEGER"/>
+            <result property="remarks" column="remarks" jdbcType="VARCHAR"/>
+            <result property="programId" column="program_id" jdbcType="VARCHAR"/>
+            <result property="reportNo" column="report_no" jdbcType="VARCHAR"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        prn.id,
+        prn.create_by,
+        prn.create_date,
+        prn.update_by,
+        prn.update_date,
+        prn.del_flag,
+        prn.remarks,
+        prn.program_id,
+        prn.report_no
+    </sql>
+</mapper>

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

@@ -115,11 +115,13 @@
            a.mode,
            a.status,
            a.proc_ins_id,
-           a.process_definition_id
+           a.process_definition_id,
+           prn.report_no
         FROM
             program_project_list_info a
             LEFT JOIN sys_user b ON a.create_by = b.id
             LEFT JOIN sys_user c ON a.project_manager = c.id
+            LEFT JOIN program_report_no prn ON prn.program_id = a.id
             ${ew.customSqlSegment}
             ORDER BY a.update_date DESC
     </select>

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

@@ -1,5 +1,6 @@
 package com.jeeplus.test.program.configuration.projectList.service;
 
+import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -16,11 +17,14 @@ import com.jeeplus.test.oss.mapper.OssServiceMapper;
 import com.jeeplus.test.program.configuration.projectList.domain.ProgramProjectListInfo;
 import com.jeeplus.test.program.configuration.projectList.domain.ProgramProjectListLink;
 import com.jeeplus.test.program.configuration.projectList.domain.ProgramProjectListMember;
+import com.jeeplus.test.program.configuration.projectList.domain.ProgramReportNo;
+import com.jeeplus.test.program.configuration.projectList.mapper.ProgramReportNoMapper;
 import com.jeeplus.test.program.configuration.projectList.mapper.ProjectLinkMapper;
 import com.jeeplus.test.program.configuration.projectList.mapper.ProjectListMapper;
 import com.jeeplus.test.program.configuration.projectList.mapper.ProjectMemberMapper;
 import com.jeeplus.test.program.configuration.projectList.service.dto.ContractDto;
 import com.jeeplus.test.program.configuration.projectList.service.dto.ExportFileDto;
+import com.jeeplus.test.program.configuration.projectList.service.dto.ProgramReportNoDto;
 import com.jeeplus.test.program.configuration.projectList.service.dto.ProjectListDto;
 import com.jeeplus.test.workContract.domain.WorkContractInfo;
 import com.jeeplus.test.workContract.mapper.WorkContractInfoMapper;
@@ -53,6 +57,9 @@ public class ProjectListService {
     @Resource
     private WorkContractService workContractService;
 
+    @Resource
+    private ProgramReportNoMapper programReportNoMapper;
+
     public String save(ProjectListDto dto) throws Exception{
         if (StringUtils.isNotEmpty(dto.getId())) {
             return update(dto);
@@ -256,4 +263,24 @@ public class ProjectListService {
         }
         return list;
     }
+
+    public String saveReportNo(String id) throws Exception{
+        UserDTO userDTO = UserUtils.getCurrentUserDTO();
+        ProgramProjectListInfo programProjectListInfo = projectListMapper.selectById(id);
+        String reportNo = "";
+        if(ObjectUtil.isNotEmpty(programProjectListInfo)){
+            if(StringUtils.isNotBlank(programProjectListInfo.getReportType())){
+                if (programProjectListInfo.getReportType().equals("1")){
+                    reportNo = serialnumTplService.genSerialNum(userDTO.getCompanyDTO().getId(), ProgramReportNoDto.BIZ_CODE);
+                } else if (programProjectListInfo.getReportType().equals("2")) {
+                    reportNo = serialnumTplService.genSerialNum(userDTO.getCompanyDTO().getId(), ProgramReportNoDto.BIZ_CODE_);
+                }
+                ProgramReportNo programReportNo = new ProgramReportNo();
+                programReportNo.setProgramId(id);
+                programReportNo.setReportNo(reportNo);
+                programReportNoMapper.insert(programReportNo);
+            }
+        }
+        return reportNo;
+    }
 }

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

@@ -0,0 +1,34 @@
+package com.jeeplus.test.program.configuration.projectList.service.dto;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.jeeplus.core.domain.BaseEntity;
+import com.jeeplus.core.service.dto.BaseDTO;
+import lombok.Data;
+
+/**
+ * 新项目管理-项目登记-项目报告号表
+ * @TableName program_report_no
+ */
+@Data
+public class ProgramReportNoDto extends BaseDTO {
+
+    public static final String BIZ_CODE = "7";
+    public static final String BIZ_CODE_ = "8";
+
+    /**
+     * 备注信息
+     */
+    private String remarks;
+
+    /**
+     * 项目id
+     */
+    private String programId;
+
+    /**
+     * 项目报告号
+     */
+    private String reportNo;
+
+    private static final long serialVersionUID = 1L;
+}