添加导入通知功能

This commit is contained in:
梁琦涛
2024-10-09 18:41:49 +08:00
parent bd49556fcb
commit e01672d80d
8 changed files with 435 additions and 49 deletions
@@ -8,6 +8,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
@@ -34,17 +35,105 @@ public class ProcessNewStandardImport implements Serializable {
*/
@ApiModelProperty(value = "标准ID")
private String standardId;
/**标准编号*/
@ApiModelProperty(value = "标准编号")
@TableField(exist = false)
@Excel(name = "标准编号", width = 15)
private String standardNumber;
/**标准名称*/
@ApiModelProperty(value = "标准名称")
@TableField(exist = false)
@Excel(name = "标准名称", width = 15)
private String standardName;
/**代替标准编号*/
@ApiModelProperty(value = "代替标准编号")
@TableField(exist = false)
@Excel(name = "代替标准编号", width = 15)
private String substituteStandardNumber;
/**标准类型*/
@ApiModelProperty(value = "标准类型")
@Dict(dicCode = "standard_type")
@Excel(name = "标准类型", width = 15,dicCode = "standard_type")
private String standardCategory;
/**主管部门*/
@ApiModelProperty(value = "主管部门")
@Excel(name = "主管部门", width = 15,dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
@Dict(dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
private String competentDepartment;
/**主控部门*/
@ApiModelProperty(value = "主控部门")
@Excel(name = "主控部门", width = 15, dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
@Dict(dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
private String mainControlDepartment;
/**主控部门专业模块*/
@ApiModelProperty(value = "主控部门专业模块")
@Excel(name = "主控部门专业模块", width = 15, dicCode = "professional_module")
@Dict(dicCode = "professional_module")
private String mainDeptProfMode;
/**所处阶段*/
@ApiModelProperty(value = "所处阶段")
@Excel(name = "所处阶段", width = 15,dicCode = "stage_we_are_in")
@Dict(dicCode = "stage_we_are_in")
private String eventPhase;
/**新认证车实施日期*/
@ApiModelProperty(value = "新认证车实施日期")
@TableField(exist = false)
@Excel(name = "新认证车实施日期", width = 15)
private String newAuthImplDate;
/**新生产车实施日期*/
@ApiModelProperty(value = "新生产车实施日期")
@TableField(exist = false)
@Excel(name = "新生产车实施日期", width = 15)
private String newProductImplDate;
/**注册日期*/
@ApiModelProperty(value = "注册日期")
@TableField(exist = false)
@Excel(name = "注册日期", width = 15)
private String registrationDate;
/**适用市场*/
@ApiModelProperty(value = "适用市场")
@Excel(name = "适用市场", width = 15,dicCode = "market_state")
@Dict(dicCode = "market_state")
private String applicableMarket;
/**法规要求简要描述*/
@ApiModelProperty(value = "法规要求简要描述")
@Excel(name = "法规要求简要描述", width = 15)
private String requireBriefDesc;
/**主送部门*/
@ApiModelProperty(value = "主送部门")
@Excel(name = "主送部门", width = 15,dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
@Dict(dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
private String masterSendDepartment;
/**抄送部门*/
@ApiModelProperty(value = "抄送部门")
@Excel(name = "抄送部门", width = 15,dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
@Dict(dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
private String copySendDepartment;
/**发送人员*/
@ApiModelProperty(value = "发送人员")
@Dict(dictTable = "sys_user", dicText = "realname", dicCode = "id")
@Excel(name = "法规要求简要描述", width = 15,dictTable = "sys_user", dicText = "realname", dicCode = "id")
private String copyUser;
/**通知发起人*/
@ApiModelProperty(value = "通知发起人")
@Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username")
@Excel(name = "法规要求简要描述", width = 15,dictTable = "sys_user", dicText = "realname", dicCode = "username")
private String createBy;
/**实施日期*/
@ApiModelProperty(value = "实施日期")
@TableField(exist = false)
private String implementationDate;
/**通知发布日期*/
@ApiModelProperty(value = "通知发布日期")
@TableField(exist = false)
@Excel(name = "通知发布日期", width = 15,format = "yyyy-MM-dd")
private String publishDate;
/**
* 流程实例id
*/
@ApiModelProperty(value = "流程实例id")
private String processInstanceId;
/**创建人*/
@ApiModelProperty(value = "创建人")
private String createBy;
/**创建日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@@ -61,54 +150,10 @@ public class ProcessNewStandardImport implements Serializable {
@ApiModelProperty(value = "更新日期")
private Date updateTime;
/**
* 0表示未删除,1表示删除
*/
@ApiModelProperty(value = "0表示未删除,1表示删除")
@TableLogic
private Integer delFlag;
/**所处阶段*/
@ApiModelProperty(value = "所处阶段")
private String eventPhase;
/**适用市场*/
@ApiModelProperty(value = "适用市场")
private String applicableMarket;
/**法规要求简要描述*/
@ApiModelProperty(value = "法规要求简要描述")
private String requireBriefDesc;
/**抄送人员*/
@ApiModelProperty(value = "抄送人员")
@Dict(dictTable = "sys_user", dicText = "realname", dicCode = "id")
private String copyUser;
/**适用市场*/
@ApiModelProperty(value = "标准类型")
@Dict(dicCode = "standard_type")
private String standardCategory;
/**实施日期*/
@ApiModelProperty(value = "实施日期")
@TableField(exist = false)
private String implementationDate;
/**标准名称*/
@ApiModelProperty(value = "标准名称")
@TableField(exist = false)
private String standardName;
/**标准编号*/
@ApiModelProperty(value = "标准编号")
@TableField(exist = false)
private String standardNumber;
/**代替标准编号*/
@ApiModelProperty(value = "代替标准编号")
@TableField(exist = false)
private String substituteStandardNumber;
/**主管部门*/
@ApiModelProperty(value = "主管部门")
private String competentDepartment;
/**主控部门*/
@ApiModelProperty(value = "主控部门")
private String mainControlDepartment;
}
@@ -1,8 +1,16 @@
package com.jero.modules.activiti.process.ni.mapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.modules.activiti.process.ni.entity.ProcessNewStandardImport;
import com.jero.modules.laws.marketStandard.entity.LawsMarketStandard;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @author
@@ -18,6 +26,21 @@ public interface ProcessNewStandardImportMapper extends BaseMapper<ProcessNewSta
* @return
*/
ProcessNewStandardImport getStandardNameById(String id);
/**
* 分页
* @param page
* @param queryWrapper
* @return
*/
IPage<ProcessNewStandardImport> queryByPage(Page<ProcessNewStandardImport> page, @Param(Constants.WRAPPER) QueryWrapper<ProcessNewStandardImport> queryWrapper);
/**
* 列表
* @param queryWrapper
* @return
*/
List<ProcessNewStandardImport> queryByPage(@Param(Constants.WRAPPER) QueryWrapper<ProcessNewStandardImport> queryWrapper);
}
@@ -16,4 +16,13 @@
from laws_enterprise_standard
where del_flag = 0) a where id = #{id}
</select>
<select id="queryByPage" resultType="com.jero.modules.activiti.process.ni.entity.ProcessNewStandardImport">
select p.*,p1.standard_number,p1.standard_name,
(select GROUP_CONCAT(replaced SEPARATOR ', ') from laws_replaced_standard where type=1 and replaced_by = p1.standard_number) as substitute_standard_number,
p1.implementation_date,p1.new_product_impl_date,p1.new_auth_impl_date,p1.registration_date
from process_standard_import p
left join laws_domestic_standard p1 on p.standard_id = p1.id and p1.del_flag = 0
${ew.customSqlSegment}
</select>
</mapper>
@@ -1,5 +1,7 @@
package com.jero.modules.activiti.process.ni.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
import com.jero.modules.activiti.process.ni.entity.ProcessNewStandardImport;
@@ -0,0 +1,66 @@
package com.jero.modules.laws.lead.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.jero.common.api.vo.Result;
import com.jero.common.aspect.annotation.AutoLog;
import com.jero.modules.activiti.process.ni.entity.ProcessNewStandardImport;
import com.jero.modules.laws.lead.service.ILawsImportInfoService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.servlet.ModelAndView;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
@Api(tags = "外部标注-导入通知")
@RestController
@RequestMapping("/laws/importInfo")
@Slf4j
public class LawsImportInfoController {
@Resource
private ILawsImportInfoService lawsImportInfoService;
/**
* 分页列表
*
* @param processNewStandardImport
* @return
*/
@AutoLog(value = "外部标注-导入通知-分页列表")
@ApiOperation(value = "外部标注-导入通知-分页列表", notes = "外部标注-导入通知-分页列表")
@GetMapping(value = "/page")
@ApiOperationSupport(order = 1)
// @RequiresPermissions("marketStandard:detail")
public Result<IPage<ProcessNewStandardImport>> page(ProcessNewStandardImport processNewStandardImport,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
IPage<ProcessNewStandardImport> page = lawsImportInfoService.page(processNewStandardImport,pageNo,pageSize,req);
return Result.OK(page);
}
/**
* 导出
*
* @param processNewStandardImport
* @return
*/
@AutoLog(value = "外部标注-导入通知-导出")
@ApiOperation(value = "外部标注-导入通知-导出", notes = "外部标注-导入通知-导出")
@GetMapping(value = "/export")
@ApiOperationSupport(order = 2)
// @RequiresPermissions("marketStandard:detail")
public ModelAndView export(ProcessNewStandardImport processNewStandardImport, HttpServletRequest request) {
return lawsImportInfoService.export(processNewStandardImport,request);
}
}
@@ -0,0 +1,20 @@
package com.jero.modules.laws.lead.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jero.modules.activiti.process.ni.entity.ProcessNewStandardImport;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
/**
* @author lqt
* @version 1.0
* @date 2024/10/9 14:43
*/
public interface ILawsImportInfoService {
IPage<ProcessNewStandardImport> page(ProcessNewStandardImport processNewStandardImport,Integer pageNo,
Integer pageSize,HttpServletRequest req);
ModelAndView export(ProcessNewStandardImport processNewStandardImport, HttpServletRequest request);
}
@@ -0,0 +1,62 @@
package com.jero.modules.laws.lead.service.impl;
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.jero.common.system.base.controller.JeroController;
import com.jero.common.system.query.QueryGenerator;
import com.jero.modules.activiti.process.ni.entity.ProcessNewStandardImport;
import com.jero.modules.activiti.process.ni.mapper.ProcessNewStandardImportMapper;
import com.jero.modules.activiti.process.ni.service.IProcessNewStandardImportService;
import com.jero.modules.laws.lead.service.ILawsImportInfoService;
import com.jero.modules.laws.lead.vo.ProcessNewStandardImportExcel;
import lombok.extern.slf4j.Slf4j;
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
import org.jeecgframework.poi.excel.entity.ExportParams;
import org.jeecgframework.poi.excel.entity.enmus.ExcelType;
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
import org.springframework.stereotype.Service;
import org.springframework.web.servlet.ModelAndView;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
/**
* @author lqt
* @version 1.0
* @date 2024/10/9 14:42
*/
@Slf4j
@Service
public class LawsImportInfoServiceImpl implements ILawsImportInfoService {
@Resource
private ProcessNewStandardImportMapper processNewStandardImportMapper;
@Override
public IPage<ProcessNewStandardImport> page(ProcessNewStandardImport processNewStandardImport, Integer pageNo, Integer pageSize, HttpServletRequest req) {
QueryWrapper<ProcessNewStandardImport> queryWrapper =
QueryGenerator.initQueryWrapper(processNewStandardImport, req.getParameterMap());
Page<ProcessNewStandardImport> page = new Page<>(pageNo, pageSize);
IPage<ProcessNewStandardImport> re = processNewStandardImportMapper.queryByPage(page, queryWrapper);
return re;
}
@Override
public ModelAndView export(ProcessNewStandardImport processNewStandardImport, HttpServletRequest request) {
QueryWrapper<ProcessNewStandardImport> queryWrapper =
QueryGenerator.initQueryWrapper(processNewStandardImport, request.getParameterMap());
List<ProcessNewStandardImport> re = processNewStandardImportMapper.queryByPage(queryWrapper);
// Step.2 AutoPoi 导出Excel
ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
// 导出文件名称
mv.addObject(JeroController.FILE_NAME, "导入通知");
mv.addObject(JeroController.CLASS, ProcessNewStandardImport.class);
ExportParams exportParams = new ExportParams("密级:核心商密□普通商密□内部资料■外部公开□", "导入通知");
exportParams.setType(ExcelType.HSSF);
// 导出xls
mv.addObject(JeroController.PARAMS, exportParams);
mv.addObject(NormalExcelConstants.DATA_LIST, re);
return mv;
}
}
@@ -0,0 +1,159 @@
package com.jero.modules.laws.lead.vo;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jero.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
/**
*
* @TableName process_standard_compliance_check
*/
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="process_standard_import对象", description="新法规导入流程-主表")
public class ProcessNewStandardImportExcel implements Serializable {
/**主键*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "主键")
private String id;
/**
* 标准ID
*/
@ApiModelProperty(value = "标准ID")
private String standardId;
/**标准编号*/
@ApiModelProperty(value = "标准编号")
@TableField(exist = false)
@Excel(name = "标准编号", width = 15)
private String standardNumber;
/**标准名称*/
@ApiModelProperty(value = "标准名称")
@TableField(exist = false)
@Excel(name = "标准名称", width = 15)
private String standardName;
/**代替标准编号*/
@ApiModelProperty(value = "代替标准编号")
@TableField(exist = false)
@Excel(name = "代替标准编号", width = 15)
private String substituteStandardNumber;
/**适用市场*/
@ApiModelProperty(value = "标准类型")
@Dict(dicCode = "standard_type")
@Excel(name = "标准类型", width = 15,dicCode = "standard_type")
private String standardCategory;
/**主管部门*/
@ApiModelProperty(value = "主管部门")
@Excel(name = "主管部门", width = 15,dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
@Dict(dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
private String competentDepartment;
/**主控部门*/
@ApiModelProperty(value = "主控部门")
@Excel(name = "主控部门", width = 15, dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
@Dict(dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
private String mainControlDepartment;
/**主控部门专业模块*/
@ApiModelProperty(value = "主控部门专业模块")
@Excel(name = "主控部门专业模块", width = 15, dicCode = "professional_module")
@Dict(dicCode = "professional_module")
private String mainDeptProfMode;
/**所处阶段*/
@ApiModelProperty(value = "所处阶段")
@Excel(name = "所处阶段", width = 15,dicCode = "stage_we_are_in")
@Dict(dicCode = "stage_we_are_in")
private String eventPhase;
/**新认证车实施日期*/
@ApiModelProperty(value = "新认证车实施日期")
@TableField(exist = false)
@Excel(name = "新认证车实施日期", width = 15,format = "yyyy-MM-dd")
private String newAuthImplDate;
/**新生产车实施日期*/
@ApiModelProperty(value = "新生产车实施日期")
@TableField(exist = false)
@Excel(name = "新生产车实施日期", width = 15,format = "yyyy-MM-dd")
private String newProductImplDate;
/**注册日期*/
@ApiModelProperty(value = "注册日期")
@TableField(exist = false)
@Excel(name = "注册日期", width = 15,format = "yyyy-MM-dd")
private String registrationDate;
/**适用市场*/
@ApiModelProperty(value = "适用市场")
@Excel(name = "适用市场", width = 15,dicCode = "market_state")
@Dict(dicCode = "market_state")
private String applicableMarket;
/**法规要求简要描述*/
@ApiModelProperty(value = "法规要求简要描述")
@Excel(name = "法规要求简要描述", width = 15)
private String requireBriefDesc;
/**主送部门*/
@ApiModelProperty(value = "主送部门")
@Excel(name = "主送部门", width = 15,dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
@Dict(dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
private String masterSendDepartment;
/**抄送部门*/
@ApiModelProperty(value = "抄送部门")
@Excel(name = "抄送部门", width = 15,dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
@Dict(dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
private String copySendDepartment;
/**发送人员*/
@ApiModelProperty(value = "发送人员")
@Dict(dictTable = "sys_user", dicText = "realname", dicCode = "id")
@Excel(name = "法规要求简要描述", width = 15,dictTable = "sys_user", dicText = "realname", dicCode = "id")
private String copyUser;
/**通知发起人*/
@ApiModelProperty(value = "通知发起人")
@Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username")
@Excel(name = "法规要求简要描述", width = 15,dictTable = "sys_user", dicText = "realname", dicCode = "username")
private String createBy;
/**实施日期*/
@ApiModelProperty(value = "实施日期")
@TableField(exist = false)
private String implementationDate;
/**通知发布日期*/
@ApiModelProperty(value = "通知发布日期")
@TableField(exist = false)
@Excel(name = "通知发布日期", width = 15,format = "yyyy-MM-dd")
private String publishDate;
/**
* 流程实例id
*/
@ApiModelProperty(value = "流程实例id")
private String processInstanceId;
/**创建日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "创建日期")
private Date createTime;
/**更新人*/
@ApiModelProperty(value = "更新人")
private String updateBy;
/**更新日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "更新日期")
private Date updateTime;
/**
* 0表示未删除,1表示删除
*/
@ApiModelProperty(value = "0表示未删除,1表示删除")
@TableLogic
private Integer delFlag;
}