From 23c957c476b97decc43f92acd93a159cfad51a6c Mon Sep 17 00:00:00 2001 From: caihaohan Date: Thu, 14 Sep 2023 14:48:10 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BC=81=E6=A0=87=E8=AE=A1=E5=88=92-?= =?UTF-8?q?=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../EnterpriseStandardPlanController.java | 51 ++++++++ .../entity/EnterpriseStandardPlan.java | 9 +- .../enterprise/entity/dto/ESPlanQueryDTO.java | 70 +++++++++++ .../entity/vo/EnterpriseStandardPlanVo.java | 117 ++++++++++++++++++ .../mapper/EnterpriseStandardPlanMapper.java | 5 + .../xml/EnterpriseStandardPlanMapper.xml | 112 ++++++++++++++++- .../EnterpriseStandardPlanService.java | 4 + .../EnterpriseStandardPlanServiceImpl.java | 64 ++++++++++ 8 files changed, 424 insertions(+), 8 deletions(-) create mode 100644 laws-modules/src/main/java/com/jero/modules/laws/enterprise/controller/EnterpriseStandardPlanController.java create mode 100644 laws-modules/src/main/java/com/jero/modules/laws/enterprise/entity/dto/ESPlanQueryDTO.java create mode 100644 laws-modules/src/main/java/com/jero/modules/laws/enterprise/entity/vo/EnterpriseStandardPlanVo.java diff --git a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/controller/EnterpriseStandardPlanController.java b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/controller/EnterpriseStandardPlanController.java new file mode 100644 index 00000000..61bcd3ac --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/controller/EnterpriseStandardPlanController.java @@ -0,0 +1,51 @@ +package com.jero.modules.laws.enterprise.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.jero.common.api.vo.Result; +import com.jero.common.aspect.annotation.AutoLog; +import com.jero.common.system.base.controller.JeroController; +import com.jero.modules.laws.enterprise.entity.EnterpriseStandardPlan; +import com.jero.modules.laws.enterprise.entity.dto.ESPlanQueryDTO; +import com.jero.modules.laws.enterprise.entity.vo.EnterpriseStandardPlanVo; +import com.jero.modules.laws.enterprise.service.EnterpriseStandardPlanService; +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 javax.annotation.Resource; + + +/** + * @Description: 企标计划 + * @Author: jero-boot + * @Date: 2022-02-12 + * @Version: V1.0 + */ +@Api(tags="企标计划") +@RestController +@RequestMapping("/enterprise/plan") +@Slf4j +public class EnterpriseStandardPlanController extends JeroController { + + @Resource + private EnterpriseStandardPlanService esPlanService; + + /** + * 分页列表查询 + * + * @return + */ + @AutoLog(value = "企标计划-分页列表查询") + @ApiOperation(value="企标计划-分页列表查询", notes="企标计划-分页列表查询") + @GetMapping(value = "/page") + public Result queryPageList(ESPlanQueryDTO esPlanQueryDTO, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize) { + IPage pageList= esPlanService.queryPageList(esPlanQueryDTO, pageNo, pageSize); + return Result.OK(pageList); + } +} diff --git a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/entity/EnterpriseStandardPlan.java b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/entity/EnterpriseStandardPlan.java index b2318e16..062a900f 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/entity/EnterpriseStandardPlan.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/entity/EnterpriseStandardPlan.java @@ -100,6 +100,9 @@ public class EnterpriseStandardPlan implements Serializable { @ApiModelProperty(value = "年代号") private String decadeCode; + @ApiModelProperty(value = "标准类型") + private String standardType; + @ApiModelProperty(value = "企标等级分类") private String enStandardClassification; @@ -124,9 +127,6 @@ public class EnterpriseStandardPlan implements Serializable { @ApiModelProperty(value = "适用专业") private String applicableProfession; - @ApiModelProperty(value = "配合单位") - private String cooperatingUnits; - @ApiModelProperty(value = "主起草人") private String mainDraftingUser; @@ -182,9 +182,8 @@ public class EnterpriseStandardPlan implements Serializable { private String remarks; @ApiModelProperty(value = "附件") - private String attachement; + private String attachment; - /**是否为优质标准*/ @ApiModelProperty(value = "是否为优质标准") private String qualityFlag; } diff --git a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/entity/dto/ESPlanQueryDTO.java b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/entity/dto/ESPlanQueryDTO.java new file mode 100644 index 00000000..2ffaa1c7 --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/entity/dto/ESPlanQueryDTO.java @@ -0,0 +1,70 @@ +package com.jero.modules.laws.enterprise.entity.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.Accessors; + +import java.util.Date; + +/** + * @author: Mzaxd + * @Date: 2023/9/13 16:55 + */ + +@Data +@Accessors(chain = true) +@NoArgsConstructor +@AllArgsConstructor +public class ESPlanQueryDTO { + + @ApiModelProperty(value = "原企标编号") + private String originEnStandardNo; + + @ApiModelProperty(value = "新企标编号") + private String newEnStandardNo; + + @ApiModelProperty(value = "原企标名称") + private String originEnStandardName; + + @ApiModelProperty(value = "新企标名称") + private String newEnStandardName; + + @ApiModelProperty(value = "主起草人") + private String mainDraftingUser; + + @ApiModelProperty(value = "主起草单位") + private String mainDraftingUnit; + + @ApiModelProperty(value = "主起草单位责任人") + private String mainDraftingUnitResponsiblePerson; + + @ApiModelProperty(value = "项目状态") + private String projectStatus; + + @ApiModelProperty(value = "变更状态") + private String changeStatus; + + @ApiModelProperty(value = "推进人工号") + private String standardPromoterWorkNo; + + @ApiModelProperty(value = "标准类型") + private String standardType; + + @ApiModelProperty(value = "制修订类型") + private String applicationCategory; + + @ApiModelProperty(value = "计划报批日期") + private Date planApprovalStartDate; + + @ApiModelProperty(value = "计划报批日期") + private Date planApprovalEndDate; + + @ApiModelProperty(value = "创建日期") + private Date createStartDate; + + @ApiModelProperty(value = "创建日期") + private Date createEndDate; + +} diff --git a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/entity/vo/EnterpriseStandardPlanVo.java b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/entity/vo/EnterpriseStandardPlanVo.java new file mode 100644 index 00000000..e5e01095 --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/entity/vo/EnterpriseStandardPlanVo.java @@ -0,0 +1,117 @@ +package com.jero.modules.laws.enterprise.entity.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +/** + * @author: Mzaxd + * @Date: 2023/9/10 18:53 + */ + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class EnterpriseStandardPlanVo { + + @ApiModelProperty(value = "主键ID") + private String id; + + @ApiModelProperty(value = "申请类别(制订/修订,立项/变更)") + private String applicationCategory; + + @ApiModelProperty(value = "原企标编号") + private String originEnStandardNo; + + @ApiModelProperty(value = "新企标编号") + private String newEnStandardNo; + + @ApiModelProperty(value = "原企标名称") + private String originEnStandardName; + + @ApiModelProperty(value = "新企标名称") + private String newEnStandardName; + + @ApiModelProperty(value = "授权部门") + private String authDeparts; + + @ApiModelProperty(value = "企业标准代号") + private String enStandardCode; + + @ApiModelProperty(value = "配合单位") + private String cooperateDeparts; + + @ApiModelProperty(value = "主起草人") + private String mainDraftingUser; + + @ApiModelProperty(value = "主起草单位") + private String mainDraftingUnit; + + @ApiModelProperty(value = "主起草单位责任人") + private String mainDraftingUnitResponsiblePerson; + + @ApiModelProperty(value = "标准推进人") + private String standardPromoter; + + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "草稿计划完成日期") + private Date draftPlannedCompleteDate; + + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "征求意见稿计划完成日期") + private Date solicitationDraftPlanCompleteDate; + + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "计划报批日期") + private Date planApprovalDate; + + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "草稿完成日期") + private Date draftCompletionDate; + + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "提交草稿日期") + private Date draftSubmissionDate; + + @ApiModelProperty(value = "是否征求意见") + private String solicitationOpinionEnabled; + + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "征求意见稿完成日期") + private Date solicitationDraftCompletionDate; + + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "评审日期") + private Date reviewDate; + + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "报批日期") + private Date approvalDate; + + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "发布日期") + private Date releaseDate; + + @ApiModelProperty(value = "项目状态") + private String projectStatus; + + @ApiModelProperty(value = "变更状态") + private String changeStatus; + + @ApiModelProperty(value = "是否可以删除") + private boolean allowDel; +} diff --git a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/mapper/EnterpriseStandardPlanMapper.java b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/mapper/EnterpriseStandardPlanMapper.java index 54c82324..9a2e3540 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/mapper/EnterpriseStandardPlanMapper.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/mapper/EnterpriseStandardPlanMapper.java @@ -1,7 +1,11 @@ package com.jero.modules.laws.enterprise.mapper; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.jero.modules.laws.enterprise.entity.EnterpriseStandardPlan; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.jero.modules.laws.enterprise.entity.dto.ESPlanQueryDTO; +import com.jero.modules.laws.enterprise.entity.vo.EnterpriseStandardPlanVo; +import org.apache.ibatis.annotations.Param; /** * @author ThinkBook @@ -11,6 +15,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; */ public interface EnterpriseStandardPlanMapper extends BaseMapper { + IPage page(IPage page, @Param("param") ESPlanQueryDTO esPlanQueryDTO); } diff --git a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/mapper/xml/EnterpriseStandardPlanMapper.xml b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/mapper/xml/EnterpriseStandardPlanMapper.xml index fde2ae12..628e313b 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/mapper/xml/EnterpriseStandardPlanMapper.xml +++ b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/mapper/xml/EnterpriseStandardPlanMapper.xml @@ -27,6 +27,7 @@ + @@ -35,7 +36,6 @@ - @@ -54,7 +54,7 @@ - + @@ -75,6 +75,112 @@ review_date,approval_date,release_date, change_status,project_background,similar_na_standards_analysis, similar_en_standards_analysis,standard_leading_necessity,project_expected_effects, - remarks,attachement,qualityFlag + remarks,attachment,qualityFlag + + diff --git a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/service/EnterpriseStandardPlanService.java b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/service/EnterpriseStandardPlanService.java index 6b59e56a..092c1f0a 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/service/EnterpriseStandardPlanService.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/service/EnterpriseStandardPlanService.java @@ -1,5 +1,8 @@ package com.jero.modules.laws.enterprise.service; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.jero.modules.laws.enterprise.entity.dto.ESPlanQueryDTO; +import com.jero.modules.laws.enterprise.entity.vo.EnterpriseStandardPlanVo; import com.jero.modules.laws.enterprise.entity.EnterpriseStandardPlan; import com.baomidou.mybatisplus.extension.service.IService; @@ -10,4 +13,5 @@ import com.baomidou.mybatisplus.extension.service.IService; */ public interface EnterpriseStandardPlanService extends IService { + IPage queryPageList(ESPlanQueryDTO esPlan, Integer pageNo, Integer pageSize); } diff --git a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/service/impl/EnterpriseStandardPlanServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/service/impl/EnterpriseStandardPlanServiceImpl.java index 281ea988..27cb642b 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/service/impl/EnterpriseStandardPlanServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/service/impl/EnterpriseStandardPlanServiceImpl.java @@ -1,6 +1,12 @@ package com.jero.modules.laws.enterprise.service.impl; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.jero.common.system.api.ISysBaseAPI; +import com.jero.common.system.vo.DictModel; +import com.jero.modules.laws.enterprise.entity.dto.ESPlanQueryDTO; +import com.jero.modules.laws.enterprise.entity.vo.EnterpriseStandardPlanVo; import com.jero.common.exception.JeroBootException; import com.jero.modules.laws.enterprise.entity.EnterpriseStandardPlan; import com.jero.modules.laws.enterprise.service.EnterpriseStandardPlanService; @@ -9,6 +15,10 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import javax.annotation.Resource; +import java.util.List; +import java.util.stream.Collectors; + /** * @author ThinkBook * @description 针对表【laws_enterprise_standard_plan】的数据库操作Service实现 @@ -20,6 +30,60 @@ import org.springframework.transaction.annotation.Transactional; public class EnterpriseStandardPlanServiceImpl extends ServiceImpl implements EnterpriseStandardPlanService{ + @Resource + private ISysBaseAPI sysBaseAPI; + + @Resource + private EnterpriseStandardPlanMapper esPlanMapper; + + @Override + public IPage queryPageList(ESPlanQueryDTO esPlanQueryDTO, Integer pageNo, Integer pageSize) { + IPage page = new Page<>(pageNo, pageSize); + esPlanMapper.page(page, esPlanQueryDTO); + this.transESPlanVo(page.getRecords()); + // TODO 判断其能否删除 主起草人在待办中未进行操作,该计划允许删除(目前都设为允许删除) + page.getRecords().forEach(p -> p.setAllowDel(true)); + return page; + } + + // 转换列表中的状态值为中文 + private void transESPlanVo(List list) { + if (list.isEmpty()) { + return; + } + // 转换申请类别 + List acDictModelList = sysBaseAPI.getDictItems("esp_application_category"); + list.forEach(e -> { + List collect = acDictModelList.stream().filter(e1 -> e1.getValue().equals(e.getApplicationCategory())).collect(Collectors.toList()); + if (!collect.isEmpty()) { + e.setApplicationCategory(collect.get(0).getText()); + } + }); + // 转换项目状态 + List psDictModelList = sysBaseAPI.getDictItems("esp_project_status"); + list.forEach(e -> { + List collect = psDictModelList.stream().filter(e1 -> e1.getValue().equals(e.getProjectStatus())).collect(Collectors.toList()); + if (!collect.isEmpty()) { + e.setProjectStatus(collect.get(0).getText()); + } + }); + // 转换变更类型 + List csDictModelList = sysBaseAPI.getDictItems("esp_change_status"); + list.forEach(e -> { + List collect = csDictModelList.stream().filter(e1 -> e1.getValue().equals(e.getChangeStatus())).collect(Collectors.toList()); + if (!collect.isEmpty()) { + e.setChangeStatus(collect.get(0).getText()); + } + }); + // 转换是否征求意见 + List ynDictModelList = sysBaseAPI.getDictItems("yn"); + list.forEach(e -> { + List collect = ynDictModelList.stream().filter(e1 -> e1.getValue().equals(e.getSolicitationOpinionEnabled())).collect(Collectors.toList()); + if (!collect.isEmpty()) { + e.setSolicitationOpinionEnabled(collect.get(0).getText()); + } + }); + } }