From e4aa0ecd0783a6faf18b77d2b9fb5594080bf66a Mon Sep 17 00:00:00 2001 From: caihaohan Date: Sat, 29 Jun 2024 18:06:11 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=B8=82=E5=9C=BA=E6=B3=95=E8=A7=84?= =?UTF-8?q?=E6=B8=85=E5=8D=95=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../constans/MarketStandardConstants.java | 20 ++ .../controller/MarketStandardController.java | 158 +++++++++++++ .../entity/LawsMarketStandard.java | 146 ++++++++++++ .../entity/LawsMarketStandardDetail.java | 211 ++++++++++++++++++ .../entity/MarketStandardDetailVO.java | 25 +++ .../LawsMarketStandardDetailMapper.java | 18 ++ .../mapper/LawsMarketStandardMapper.java | 24 ++ .../xml/LawsMarketStandardDetailMapper.xml | 8 + .../mapper/xml/LawsMarketStandardMapper.xml | 41 ++++ .../ILawsMarketStandardDetailService.java | 13 ++ .../service/ILawsMarketStandardService.java | 73 ++++++ .../LawsMarketStandardDetailServiceImpl.java | 22 ++ .../impl/LawsMarketStandardServiceImpl.java | 148 ++++++++++++ 13 files changed, 907 insertions(+) create mode 100644 laws-modules/src/main/java/com/jero/modules/laws/marketStandard/constans/MarketStandardConstants.java create mode 100644 laws-modules/src/main/java/com/jero/modules/laws/marketStandard/controller/MarketStandardController.java create mode 100644 laws-modules/src/main/java/com/jero/modules/laws/marketStandard/entity/LawsMarketStandard.java create mode 100644 laws-modules/src/main/java/com/jero/modules/laws/marketStandard/entity/LawsMarketStandardDetail.java create mode 100644 laws-modules/src/main/java/com/jero/modules/laws/marketStandard/entity/MarketStandardDetailVO.java create mode 100644 laws-modules/src/main/java/com/jero/modules/laws/marketStandard/mapper/LawsMarketStandardDetailMapper.java create mode 100644 laws-modules/src/main/java/com/jero/modules/laws/marketStandard/mapper/LawsMarketStandardMapper.java create mode 100644 laws-modules/src/main/java/com/jero/modules/laws/marketStandard/mapper/xml/LawsMarketStandardDetailMapper.xml create mode 100644 laws-modules/src/main/java/com/jero/modules/laws/marketStandard/mapper/xml/LawsMarketStandardMapper.xml create mode 100644 laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/ILawsMarketStandardDetailService.java create mode 100644 laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/ILawsMarketStandardService.java create mode 100644 laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/impl/LawsMarketStandardDetailServiceImpl.java create mode 100644 laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/impl/LawsMarketStandardServiceImpl.java diff --git a/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/constans/MarketStandardConstants.java b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/constans/MarketStandardConstants.java new file mode 100644 index 00000000..cc069156 --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/constans/MarketStandardConstants.java @@ -0,0 +1,20 @@ +package com.jero.modules.laws.marketStandard.constans; + +public class MarketStandardConstants { + + /** + * 已发布 + */ + public static final String MANIFEST_STATUS_PUBLISH = "1"; + + /** + * 修改中 + */ + public static final String MANIFEST_STATUS_EDIT = "2"; + + /** + * 未发布 + */ + public static final String MANIFEST_STATUS_NOT_PUBLISH = "3"; + +} diff --git a/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/controller/MarketStandardController.java b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/controller/MarketStandardController.java new file mode 100644 index 00000000..774eb3a1 --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/controller/MarketStandardController.java @@ -0,0 +1,158 @@ +package com.jero.modules.laws.marketStandard.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.api.vo.ResultCommon; +import com.jero.common.aspect.annotation.AutoLog; +import com.jero.common.util.MessageUtils; +import com.jero.modules.laws.marketStandard.entity.LawsMarketStandard; +import com.jero.modules.laws.marketStandard.entity.LawsMarketStandardDetail; +import com.jero.modules.laws.marketStandard.entity.MarketStandardDetailVO; +import com.jero.modules.laws.marketStandard.service.ILawsMarketStandardService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.ss.formula.functions.T; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.Arrays; +import java.util.List; +import java.util.Map; + + +@Api(tags = "外部标准库-市场法规清单") +@RestController +@RequestMapping("/laws/marketStandard") +@Slf4j +public class MarketStandardController { + + @Resource + private ILawsMarketStandardService marketStandardService; + + /** + * 分页列表查询 + * + * @param marketStandard + * @param pageNo + * @param pageSize + * @return + */ + @AutoLog(value = "外部标准库-市场法规清单-分页列表查询") + @ApiOperation(value = "外部标准库-市场法规清单-分页列表查询", notes = "外部标准库-市场法规清单-分页列表查询") + @GetMapping(value = "/page") + @ApiOperationSupport(order = 1) + @RequiresPermissions("marketStandard:search") + public Result> queryPageList(LawsMarketStandard marketStandard, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) { + IPage pageList = marketStandardService.queryPage(marketStandard, pageNo, pageSize); + return Result.OK(pageList); + } + + /** + * 查看 + * + * @param marketStandardDetail + * @param pageNo + * @param pageSize + * @return + */ + @AutoLog(value = "外部标准库-市场法规清单-查看") + @ApiOperation(value = "外部标准库-市场法规清单-查看", notes = "外部标准库-市场法规清单-查看") + @GetMapping(value = "/detail") + @ApiOperationSupport(order = 2) + @RequiresPermissions("lawsConformityAssessment:detail") + public Result detail(LawsMarketStandardDetail marketStandardDetail, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) { + MarketStandardDetailVO result = marketStandardService.detail(marketStandardDetail, pageNo, pageSize); + return Result.OK(result); + } + + /** + * 导出excel + */ + @AutoLog(value = "外部标准库-市场法规清单-导出") + @ApiOperation(value = "外部标准库-市场法规清单-导出", notes = "外部标准库-市场法规清单-导出") + @ApiOperationSupport(order = 3) + @RequiresPermissions("lawsConformityAssessment:export") + @GetMapping(value = "/exportXls", produces = "application/zip") + public void exportXls(HttpServletResponse response, LawsMarketStandard LawsMarketStandard, HttpServletRequest req) { + marketStandardService.export(response, LawsMarketStandard, "市场法规清单", "市场法规清单", req); + } + + /** + * 批量删除 + * + * @param map + * @return + */ + @AutoLog(value = "外部标准库-市场法规清单-批量删除") + @ApiOperation(value = "外部标准库-市场法规清单-批量删除", notes = "外部标准库-市场法规清单-批量删除") + @ApiOperationSupport(order = 4) + @PostMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestBody Map map) { + if (!map.containsKey("ids") || StringUtils.isEmpty(map.get("ids"))) { + return Result.error("请选择数据!"); + } + this.marketStandardService.deleteByIds(Arrays.asList(map.get("ids").split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 新增 + * + * @param marketStandardDetailVO + * @return + */ + @AutoLog(value = "外部标准库-市场法规清单-新增") + @ApiOperation(value = "外部标准库-市场法规清单-新增", notes = "外部标准库-市场法规清单-新增") + @ApiOperationSupport(order = 5) + @PostMapping(value = "/add") + public Result add(@RequestBody MarketStandardDetailVO marketStandardDetailVO) { + this.marketStandardService.add(marketStandardDetailVO); + return Result.OK("新增成功!"); + } + + /** + * 编辑 + * + * @param marketStandardDetailVO + * @return + */ + @AutoLog(value = "外部标准库-市场法规清单-编辑") + @ApiOperation(value = "外部标准库-市场法规清单-编辑", notes = "外部标准库-市场法规清单-编辑") + @ApiOperationSupport(order = 6) + @PostMapping(value = "/edit") + public Result edit(@RequestBody MarketStandardDetailVO marketStandardDetailVO) { + this.marketStandardService.edit(marketStandardDetailVO); + return Result.OK("修改成功!"); + } + + /** + * 导入 + * + * @param file + * @return + */ + @AutoLog(value = "外部标准库-市场法规清单-导入") + @ApiOperation(value = "外部标准库-市场法规清单-导入", notes = "外部标准库-市场法规清单-导入") + @ApiOperationSupport(order = 7) + @PostMapping(value = "/deleteBatch") + public Result importExcel(@RequestParam("file") @ApiParam("文件") MultipartFile file) { + List errorMessages = marketStandardService.importExcel(file); + if (!errorMessages.isEmpty()) { + return Result.error(MessageUtils.getMessage(ResultCommon.IMPORT_ERROR)); + } + return Result.OK(); + } + +} \ No newline at end of file diff --git a/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/entity/LawsMarketStandard.java b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/entity/LawsMarketStandard.java new file mode 100644 index 00000000..8b5f4aed --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/entity/LawsMarketStandard.java @@ -0,0 +1,146 @@ +package com.jero.modules.laws.marketStandard.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.util.Date; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.jero.common.aspect.annotation.Dict; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +/** + * 市场法规 + * @TableName laws_market_standard + */ +@TableName(value ="laws_market_standard") +@Data +public class LawsMarketStandard implements Serializable { + /** + * 主键ID + */ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "主键ID") + private String id; + + /** + * 创建人 + */ + @ApiModelProperty(value = "创建人") + private String createBy; + + /** + * 创建时间 + */ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "创建时间") + private Date createTime; + + /** + * 更新人 + */ + @ApiModelProperty(value = "更新人") + private String updateBy; + + /** + * 更新时间 + */ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "更新时间") + private Date updateTime; + + /** + * 所属部门 + */ + @ApiModelProperty(value = "所属部门") + private String orgCode; + + /** + * 0表示未删除,1表示删除 + */ + @ApiModelProperty(value = "0表示未删除,1表示删除") + private Integer delFlag; + + /** + * 国家 + */ + @Dict(dicCode = "market_state") + @ApiModelProperty(value = "国家") + private String country; + + /** + * 清单编号 + */ + @ApiModelProperty(value = "清单编号") + private String manifestNo; + + /** + * 清单名称 + */ + @ApiModelProperty(value = "清单名称") + private String manifestName; + + /** + * 驾驶位置 + */ + @Dict(dicCode = "drive_position") + @ApiModelProperty(value = "驾驶位置") + private String drivePosition; + + /** + * 清单版本 + */ + @Dict(dicCode = "manifest_version") + @ApiModelProperty(value = "清单版本") + private String manifestVersion; + + /** + * 发布时间 + */ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "发布时间") + private Date releaseDate; + + /** + * 作者 + */ + @Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username") + @ApiModelProperty(value = "作者") + private String author; + + /** + * 密级 + */ + @Dict(dicCode = "security_level") + @ApiModelProperty(value = "密级") + private String securityLevel; + + /** + * 清单状态 + */ + @Dict(dicCode = "manifest_status") + @ApiModelProperty(value = "清单状态") + private String manifestStatus; + + /** + * 自定义字段名称 + */ + @ApiModelProperty(value = "自定义字段名称") + private String customColumnName; + + /** + * 自定义字段值 + */ + @ApiModelProperty(value = "自定义字段值") + private String customColumnValue; + + @TableField(exist = false) + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/entity/LawsMarketStandardDetail.java b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/entity/LawsMarketStandardDetail.java new file mode 100644 index 00000000..078712f8 --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/entity/LawsMarketStandardDetail.java @@ -0,0 +1,211 @@ +package com.jero.modules.laws.marketStandard.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.util.Date; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.jero.common.aspect.annotation.Dict; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +/** + * + * @TableName laws_market_standard_detail + */ +@TableName(value ="laws_market_standard_detail") +@Data +public class LawsMarketStandardDetail implements Serializable { + /** + * 主键ID + */ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "主键ID") + private String id; + + /** + * 创建人 + */ + @ApiModelProperty(value = "创建人") + private String createBy; + + /** + * 创建时间 + */ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "创建时间") + private Date createTime; + + /** + * 更新人 + */ + @ApiModelProperty(value = "更新人") + private String updateBy; + + /** + * 更新时间 + */ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "更新时间") + private Date updateTime; + + /** + * 所属部门 + */ + @ApiModelProperty(value = "所属部门") + private String orgCode; + + /** + * 0表示未删除,1表示删除 + */ + @ApiModelProperty(value = "0表示未删除,1表示删除") + private Integer delFlag; + + /** + * 标准id + */ + @ApiModelProperty(value = "标准id") + private String standardId; + + /** + * 标准编号 + */ + @ApiModelProperty(value = "标准编号") + private String standardNumber; + + /** + * 标准名称 + */ + @ApiModelProperty(value = "标准名称") + private String standardName; + + /** + * 标准英文名称 + */ + @ApiModelProperty(value = "标准英文名称") + private String standardEnglishName; + + /** + * 注册日期 + */ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "注册日期") + private String registrationDate; + + /** + * 备注 + */ + @ApiModelProperty(value = "备注") + private String remark; + + /** + * 认证对象 + */ + @ApiModelProperty(value = "认证对象") + private String authenticationObject; + + /** + * 认证交付物 + */ + @ApiModelProperty(value = "认证交付物") + private String certifyTheDeliverables; + + /** + * 类型 + */ + @Dict(dicCode = "type") + @ApiModelProperty(value = "类型") + private String type; + + /** + * 适用车型 + */ + @Dict(dicCode = "applicable_vehicle_type") + @ApiModelProperty(value = "适用车型") + private String applicableVehicle; + + /** + * 动力类型 + */ + @Dict(dicCode = "dynamic_type") + @ApiModelProperty(value = "动力类型") + private String dynamicType; + + /** + * 主控部门 + */ + @Dict(dictTable = "sys_depart", dicCode = "id", dicText = "depart_name") + @ApiModelProperty(value = "主控部门") + private String mainDept; + + /** + * 主控部门专业模块 + */ + @ApiModelProperty(value = "主控部门专业模块") + private String mainDeptProfMode; + + /** + * 关联部门 + */ + @Dict(dictTable = "sys_depart", dicCode = "id", dicText = "depart_name") + @ApiModelProperty(value = "关联部门") + private String associateDept; + + /** + * 关联部门专业模块 + */ + @ApiModelProperty(value = "关联部门专业模块") + private String associateDeptProfMode; + + /** + * 批量限制 + */ + @ApiModelProperty(value = "批量限制") + private String batchLimit; + + /** + * 自动驾驶等级 + */ + @Dict(dicCode = "automatic_driving_level") + @ApiModelProperty(value = "自动驾驶等级") + private String autopilotLevel; + + /** + * 要求类型 + */ + @Dict(dicCode = "requirement_type") + @ApiModelProperty(value = "要求类型") + private String requireType; + + /** + * 新生产车实施日期 + */ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "新生产车实施日期") + private Date newProductImplDate; + + /** + * 新认证车实施日期 + */ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "新认证车实施日期") + private Date newAuthImplDate; + + /** + * 清单Id + */ + @ApiModelProperty(value = "清单Id") + private String manifestId; + + @TableField(exist = false) + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/entity/MarketStandardDetailVO.java b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/entity/MarketStandardDetailVO.java new file mode 100644 index 00000000..d678e857 --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/entity/MarketStandardDetailVO.java @@ -0,0 +1,25 @@ +package com.jero.modules.laws.marketStandard.entity; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import io.swagger.annotations.ApiModelProperty; +import io.swagger.annotations.ApiOperation; +import lombok.Data; + +import java.util.List; + +@Data +public class MarketStandardDetailVO { + + @ApiModelProperty(value = "清单信息") + private LawsMarketStandard manifest; + + @ApiModelProperty(value = "新增编辑数据") + private List lists; + + @ApiModelProperty(value = "查看分页数据") + private IPage pageData; + + @ApiModelProperty(value = "历史版本") + private List historyVersions; + +} diff --git a/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/mapper/LawsMarketStandardDetailMapper.java b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/mapper/LawsMarketStandardDetailMapper.java new file mode 100644 index 00000000..de7d3357 --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/mapper/LawsMarketStandardDetailMapper.java @@ -0,0 +1,18 @@ +package com.jero.modules.laws.marketStandard.mapper; + +import com.jero.modules.laws.marketStandard.entity.LawsMarketStandardDetail; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** +* @author ThinkBook +* @description 针对表【laws_market_standard_detail】的数据库操作Mapper +* @createDate 2024-06-29 11:34:34 +* @Entity com.jero.modules.laws.marketStandard.entity.LawsMarketStandardDetail +*/ +public interface LawsMarketStandardDetailMapper extends BaseMapper { + +} + + + + diff --git a/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/mapper/LawsMarketStandardMapper.java b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/mapper/LawsMarketStandardMapper.java new file mode 100644 index 00000000..f14d3a27 --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/mapper/LawsMarketStandardMapper.java @@ -0,0 +1,24 @@ +package com.jero.modules.laws.marketStandard.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +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.laws.marketStandard.entity.LawsMarketStandard; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +/** +* @author ThinkBook +* @description 针对表【laws_market_standard(市场法规)】的数据库操作Mapper +* @createDate 2024-06-29 11:34:04 +* @Entity com.jero.modules.laws.markStandard.entity.LawsMarketStandard +*/ +public interface LawsMarketStandardMapper extends BaseMapper { + + IPage queryByPage(Page page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper); +} + + + + diff --git a/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/mapper/xml/LawsMarketStandardDetailMapper.xml b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/mapper/xml/LawsMarketStandardDetailMapper.xml new file mode 100644 index 00000000..2c5a66dd --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/mapper/xml/LawsMarketStandardDetailMapper.xml @@ -0,0 +1,8 @@ + + + + + + diff --git a/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/mapper/xml/LawsMarketStandardMapper.xml b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/mapper/xml/LawsMarketStandardMapper.xml new file mode 100644 index 00000000..7088f81d --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/mapper/xml/LawsMarketStandardMapper.xml @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + id,create_by,create_time, + update_by,update_time,org_code, + del_flag,country,manifest_no, + mainfest_name,drive_position,manifest_version, + release_date,author,security_level, + manifest_status + + + + diff --git a/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/ILawsMarketStandardDetailService.java b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/ILawsMarketStandardDetailService.java new file mode 100644 index 00000000..69485060 --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/ILawsMarketStandardDetailService.java @@ -0,0 +1,13 @@ +package com.jero.modules.laws.marketStandard.service; + +import com.jero.modules.laws.marketStandard.entity.LawsMarketStandardDetail; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author ThinkBook +* @description 针对表【laws_market_standard_detail】的数据库操作Service +* @createDate 2024-06-29 11:34:34 +*/ +public interface ILawsMarketStandardDetailService extends IService { + +} diff --git a/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/ILawsMarketStandardService.java b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/ILawsMarketStandardService.java new file mode 100644 index 00000000..b5fc78d7 --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/ILawsMarketStandardService.java @@ -0,0 +1,73 @@ +package com.jero.modules.laws.marketStandard.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.jero.modules.laws.marketStandard.entity.LawsMarketStandard; +import com.baomidou.mybatisplus.extension.service.IService; +import com.jero.modules.laws.marketStandard.entity.LawsMarketStandardDetail; +import com.jero.modules.laws.marketStandard.entity.MarketStandardDetailVO; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** +* @author ThinkBook +* @description 针对表【laws_market_standard(市场法规)】的数据库操作Service +* @createDate 2024-06-29 11:34:04 +*/ +public interface ILawsMarketStandardService extends IService { + + /** + * 批量删除 + * @param ids + */ + void deleteByIds(List ids); + + /** + * 导出 + * @param response + * @param lawsMarketStandard + * @param fileName + * @param sheetName + * @param req + */ + void export(HttpServletResponse response, LawsMarketStandard lawsMarketStandard, String fileName, String sheetName, HttpServletRequest req); + + /** + * 查看 + * @param marketStandardDetail + * @param pageNo + * @param pageSize + * @return + */ + MarketStandardDetailVO detail(LawsMarketStandardDetail marketStandardDetail, Integer pageNo, Integer pageSize); + + /** + * 分页查询 + * @param marketStandard + * @param pageNo + * @param pageSize + * @return + */ + IPage queryPage(LawsMarketStandard marketStandard, Integer pageNo, Integer pageSize); + + /** + * 新增 + * @param marketStandardDetailVO + */ + void add(MarketStandardDetailVO marketStandardDetailVO); + + /** + * 编辑 + * @param marketStandardDetailVO + */ + void edit(MarketStandardDetailVO marketStandardDetailVO); + + /** + * 导入Excel + * @param file + * @return + */ + List importExcel(MultipartFile file); +} diff --git a/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/impl/LawsMarketStandardDetailServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/impl/LawsMarketStandardDetailServiceImpl.java new file mode 100644 index 00000000..fd36979b --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/impl/LawsMarketStandardDetailServiceImpl.java @@ -0,0 +1,22 @@ +package com.jero.modules.laws.marketStandard.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.jero.modules.laws.marketStandard.entity.LawsMarketStandardDetail; +import com.jero.modules.laws.marketStandard.service.ILawsMarketStandardDetailService; +import com.jero.modules.laws.marketStandard.mapper.LawsMarketStandardDetailMapper; +import org.springframework.stereotype.Service; + +/** +* @author ThinkBook +* @description 针对表【laws_market_standard_detail】的数据库操作Service实现 +* @createDate 2024-06-29 11:34:34 +*/ +@Service +public class LawsMarketStandardDetailServiceImpl extends ServiceImpl + implements ILawsMarketStandardDetailService { + +} + + + + diff --git a/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/impl/LawsMarketStandardServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/impl/LawsMarketStandardServiceImpl.java new file mode 100644 index 00000000..7d3e514a --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/impl/LawsMarketStandardServiceImpl.java @@ -0,0 +1,148 @@ +package com.jero.modules.laws.marketStandard.service.impl; + +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.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.jero.modules.laws.marketStandard.constans.MarketStandardConstants; +import com.jero.modules.laws.marketStandard.entity.LawsMarketStandard; +import com.jero.modules.laws.marketStandard.entity.LawsMarketStandardDetail; +import com.jero.modules.laws.marketStandard.entity.MarketStandardDetailVO; +import com.jero.modules.laws.marketStandard.service.ILawsMarketStandardDetailService; +import com.jero.modules.laws.marketStandard.service.ILawsMarketStandardService; +import com.jero.modules.laws.marketStandard.mapper.LawsMarketStandardMapper; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +/** +* @author ThinkBook +* @description 针对表【laws_market_standard(市场法规)】的数据库操作Service实现 +* @createDate 2024-06-29 11:34:04 +*/ +@Service +public class LawsMarketStandardServiceImpl extends ServiceImpl + implements ILawsMarketStandardService { + + @Resource + private LawsMarketStandardMapper marketStandardMapper; + + @Resource + private ILawsMarketStandardDetailService lawsMarketStandardDetailService; + + @Override + public IPage queryPage(LawsMarketStandard marketStandard, Integer pageNo, Integer pageSize) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + Page page = new Page<>(pageNo, pageSize); + queryWrapper.like(StringUtils.isNotBlank(marketStandard.getManifestNo()), + "ms.manifestNo", marketStandard.getManifestNo()); + queryWrapper.like(StringUtils.isNotBlank(marketStandard.getManifestName()), + "ms.manifestName", marketStandard.getManifestName()); + if (StringUtils.isNotBlank(marketStandard.getCountry())) { + queryWrapper.in("ms.country", Arrays.asList(marketStandard.getCountry().split(","))); + } + queryWrapper.eq(StringUtils.isNotBlank(marketStandard.getDrivePosition()), + "ms.drive_position", marketStandard.getDrivePosition()); + queryWrapper.like(StringUtils.isNotBlank(marketStandard.getAuthor()), + "CONCAT(u.realname, '(', u.username, ')')", marketStandard.getAuthor()); + queryWrapper.orderByDesc("cs.create_time"); + return marketStandardMapper.queryByPage(page, queryWrapper); + } + + @Override + public void add(MarketStandardDetailVO marketStandardDetailVO) { + LawsMarketStandard manifest = marketStandardDetailVO.getManifest(); + manifest.setManifestStatus(MarketStandardConstants.MANIFEST_STATUS_NOT_PUBLISH); + // 设置清单编号 + manifest.setManifestNo(this.generateManifestNo(manifest.getCountry())); + save(manifest); + List lists = marketStandardDetailVO.getLists(); + lists.forEach(e -> e.setManifestId(manifest.getId())); + lawsMarketStandardDetailService.saveBatch(lists); + } + + /** + * 生成清单编号 + * @param country + * @return + */ + private String generateManifestNo(String country) { + // TODO 生成清单编号 + return "BZFG" + "01"; + } + + @Override + public void edit(MarketStandardDetailVO marketStandardDetailVO) { + // 修改清单信息 + LawsMarketStandard manifest = marketStandardDetailVO.getManifest(); + updateById(manifest); + // 删除旧数据 + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.in(LawsMarketStandardDetail::getManifestId, manifest.getId()); + lawsMarketStandardDetailService.remove(wrapper); + // 添加新数据 + List lists = marketStandardDetailVO.getLists(); + lists.forEach(e -> e.setManifestId(manifest.getId())); + lawsMarketStandardDetailService.saveBatch(lists); + } + + @Override + public List importExcel(MultipartFile file) { + return null; + } + + @Override + public void export(HttpServletResponse response, LawsMarketStandard lawsMarketStandard, String fileName, String sheetName, HttpServletRequest req) { + + } + + @Override + public void deleteByIds(List ids) { + removeByIds(ids); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.in(LawsMarketStandardDetail::getManifestId, ids); + lawsMarketStandardDetailService.remove(wrapper); + } + + @Override + public MarketStandardDetailVO detail(LawsMarketStandardDetail marketStandardDetail, Integer pageNo, Integer pageSize) { + MarketStandardDetailVO result = new MarketStandardDetailVO(); + String ids = marketStandardDetail.getManifestId(); + List idList = Arrays.asList(ids.split(",")); + + // 列表数据 + Page page = new Page<>(pageNo, pageSize); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.like(StringUtils.isNotBlank(marketStandardDetail.getStandardNumber()), + LawsMarketStandardDetail::getStandardNumber, marketStandardDetail.getStandardNumber()); + wrapper.like(StringUtils.isNotBlank(marketStandardDetail.getStandardName()), + LawsMarketStandardDetail::getStandardName, marketStandardDetail.getStandardName()); + wrapper.in(LawsMarketStandardDetail::getManifestId, idList); + Page pageData = lawsMarketStandardDetailService.page(page, wrapper); + result.setPageData(pageData); + + // 如果不是合并查看列表页面 + if (idList.size() > 1) { + return result; + } + LawsMarketStandard manifest = getById(idList.get(0)); + result.setManifest(manifest); + // TODO 历史版本信息 + result.setHistoryVersions(new ArrayList<>()); + return result; + } + + +} + + + +