feat: 绑定零部件列表接口

This commit is contained in:
2024-04-18 09:08:54 +08:00
parent c5b9d7129c
commit 76c86bb191
11 changed files with 647 additions and 0 deletions
@@ -0,0 +1,126 @@
package com.jero.modules.laws.bindPart.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
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.aspect.annotation.DictPoint;
import com.jero.common.exception.JeroBootException;
import com.jero.common.util.MessageUtils;
import com.jero.modules.laws.bindPart.entity.LawsBindPart;
import com.jero.modules.laws.bindPart.service.ILawsBindPartService;
import com.jero.modules.laws.common.service.ILawsCommonService;
import com.jero.modules.laws.common.vo.LawsDictModel;
import com.jero.modules.laws.common.vo.ManyStandardSelectionBox;
import com.jero.modules.laws.common.vo.ManyStandardSelectionBoxVO;
import com.jero.modules.laws.enterprise.entity.EnterpriseStandardInspectContent;
import com.jero.modules.laws.enterprise.entity.dto.ESQueryCommonDTO;
import com.jero.modules.laws.enterprise.entity.vo.EnterpriseStandardDeclareVo;
import com.jero.modules.split.entity.SarFileSplitInfoEO;
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.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Map;
@Slf4j
@Api(tags="绑定零部件")
@RestController
@RequestMapping("/laws/bindPart")
public class LawsBindPartController {
@Autowired
private ILawsBindPartService lawsBindPartService;
/**
* 分页列表查询
*
* @return
*/
@RequiresPermissions("enterpriseStandardLibrary:publicize:search")
@AutoLog(value = "绑定零部件-分页列表查询")
@ApiOperation(value="绑定零部件-分页列表查询", notes="绑定零部件-分页列表查询")
@GetMapping(value = "/page")
public Result<IPage<LawsBindPart>> queryPageList(LawsBindPart lawsBindPart,
@RequestParam(name="pageNo", defaultValue="1") @ApiParam("页码") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") @ApiParam("页面显示数量") Integer pageSize,
HttpServletRequest req) {
IPage<LawsBindPart> pageList= lawsBindPartService.queryPage(lawsBindPart, pageNo, pageSize, req);
return Result.OK(pageList);
}
/**
* 添加
*
* @param lawsBindPart
* @return
*/
@AutoLog(value = "绑定零部件-添加")
@ApiOperation(value="绑定零部件-添加", notes="绑定零部件-添加")
@PostMapping(value = "/add")
public Result<T> add(@Validated @RequestBody LawsBindPart lawsBindPart) {
lawsBindPartService.add(lawsBindPart);
return Result.OK("操作成功!");
}
/**
* 编辑
*
* @param lawsBindPart
* @return
*/
@AutoLog(value = "绑定零部件-编辑")
@ApiOperation(value="绑定零部件-编辑", notes="绑定零部件-编辑")
@PostMapping(value = "/edit")
public Result<T> edit(@Validated @RequestBody LawsBindPart lawsBindPart) {
lawsBindPartService.editById(lawsBindPart);
return Result.OK("操作成功!");
}
/**
* 通过id删除
*
* @param map
* @return
*/
@AutoLog(value = "绑定零部件-通过id删除")
@ApiOperation(value="绑定零部件-通过id删除", notes="绑定零部件-通过id删除")
@PostMapping(value = "/delete")
public Result<T> delete(@RequestBody Map<String, String> map) {
if(!map.containsKey("id") || StringUtils.isEmpty(map.get("id"))){
return Result.error("请选择数据!");
}
lawsBindPartService.deleteById(map.get("id"));
return Result.OK("删除成功!");
}
/**
* 批量删除
*
* @param map
* @return
*/
@AutoLog(value = "绑定零部件-批量删除")
@ApiOperation(value="绑定零部件-批量删除", notes="绑定零部件-批量删除")
@PostMapping(value = "/deleteBatch")
public Result<T> deleteBatch(@RequestBody Map<String, String> map) {
if(!map.containsKey("ids") || StringUtils.isEmpty(map.get("ids"))){
return Result.error("请选择数据!");
}
this.lawsBindPartService.deleteByIds(Arrays.asList(map.get("ids").split(",")));
return Result.OK("批量删除成功!");
}
}
@@ -0,0 +1,130 @@
package com.jero.modules.laws.bindPart.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_bind_part
*/
@TableName(value ="laws_bind_part")
@Data
public class LawsBindPart implements Serializable {
/**
* 主键ID
*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "主键ID")
private String id;
/**
* 创建人
*/
@ApiModelProperty(value = "创建人")
private String createBy;
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间")
private Date createTime;
/**
* 更新人
*/
@ApiModelProperty(value = "更新人")
private String updateBy;
/**
* 更新时间
*/
@ApiModelProperty(value = "更新时间")
private Date updateTime;
/**
* 所属部门
*/
@ApiModelProperty(value = "所属部门")
private String orgCode;
/**
* 零部件号
*/
@ApiModelProperty(value = "零部件号")
private String partNo;
/**
* 零部件名称
*/
@ApiModelProperty(value = "零部件名称")
private String partName;
/**
* 零部件标准绑定关系表id
*/
@ApiModelProperty(value = "零部件标准绑定关系表id")
private String sarFileSplitInfoId;
/**
* 绑定人员
*/
@ApiModelProperty(value = "绑定人员")
@Dict(dicCode = "id", dictTable = "sys_user", dicText = "realname")
private String bindUser;
/**
* 绑定时间
*/
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm")
@ApiModelProperty(value = "绑定时间")
private Date bindTime;
/**
* 文档拆分Id
*/
@ApiModelProperty(value = "文档拆分Id")
@TableField(exist = false)
private String docSplitId;
/**
* 条款Id
*/
@ApiModelProperty(value = "条款Id(多个逗号拼接)")
@TableField(exist = false)
private String clauseIds;
/**
* 条款号
*/
@ApiModelProperty(value = "条款号(多个逗号拼接)")
@TableField(exist = false)
private String clauseNos;
/**
* 标准编号
*/
@ApiModelProperty(value = "标准编号")
@TableField(exist = false)
private String standardNo;
/**
* 标准名称
*/
@ApiModelProperty(value = "标准名称")
@TableField(exist = false)
private String standardName;
@TableField(exist = false)
private static final long serialVersionUID = 1L;
}
@@ -0,0 +1,70 @@
package com.jero.modules.laws.bindPart.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 io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
*
* @TableName laws_bind_part_doc
*/
@TableName(value ="laws_bind_part_doc")
@Data
public class LawsBindPartDoc implements Serializable {
/**
* 主键ID
*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "主键ID")
private String id;
/**创建人*/
@ApiModelProperty(value = "创建人")
private String createBy;
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间")
private Date createTime;
/**
* 更新人
*/
@ApiModelProperty(value = "更新人")
private String updateBy;
/**
* 更新时间
*/
@ApiModelProperty(value = "更新时间")
private Date updateTime;
/**
* 所属部门
*/
@ApiModelProperty(value = "所属部门")
private String orgCode;
/**
* 绑定id
*/
@ApiModelProperty(value = "绑定id")
private String bindId;
/**
* 条款id
*/
@ApiModelProperty(value = "条款id")
private String docId;
@TableField(exist = false)
private static final long serialVersionUID = 1L;
}
@@ -0,0 +1,18 @@
package com.jero.modules.laws.bindPart.mapper;
import com.jero.modules.laws.bindPart.entity.LawsBindPartDoc;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @author ThinkBook
* @description 针对表【laws_bind_part_doc】的数据库操作Mapper
* @createDate 2024-04-15 11:27:29
* @Entity com.jero.modules.laws.bindPart.entity.LawsBindPartDoc
*/
public interface LawsBindPartDocMapper extends BaseMapper<LawsBindPartDoc> {
}
@@ -0,0 +1,22 @@
package com.jero.modules.laws.bindPart.mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jero.modules.laws.bindPart.entity.LawsBindPart;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jero.modules.laws.enterprise.entity.vo.EnterpriseStandardPlanVo;
import org.apache.ibatis.annotations.Param;
/**
* @author ThinkBook
* @description 针对表【laws_bind_part】的数据库操作Mapper
* @createDate 2024-04-15 11:27:06
* @Entity com.jero.modules.laws.bindPart.entity.LawsBindPart
*/
public interface LawsBindPartMapper extends BaseMapper<LawsBindPart> {
IPage<LawsBindPart> page(IPage<LawsBindPart> page, @Param("param") LawsBindPart lawsBindPart);
}
@@ -0,0 +1,23 @@
<?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.jero.modules.laws.bindPart.mapper.LawsBindPartDocMapper">
<resultMap id="BaseResultMap" type="com.jero.modules.laws.bindPart.entity.LawsBindPartDoc">
<id property="id" column="id" jdbcType="VARCHAR"/>
<result property="createBy" column="create_by" jdbcType="VARCHAR"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="updateBy" column="update_by" jdbcType="VARCHAR"/>
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
<result property="orgCode" column="org_code" jdbcType="VARCHAR"/>
<result property="bindId" column="bind_id" jdbcType="VARCHAR"/>
<result property="docId" column="doc_id" jdbcType="VARCHAR"/>
</resultMap>
<sql id="Base_Column_List">
id,create_by,create_time,
update_by,update_time,org_code,
bind_id,doc_id
</sql>
</mapper>
@@ -0,0 +1,74 @@
<?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.jero.modules.laws.bindPart.mapper.LawsBindPartMapper">
<resultMap id="BaseResultMap" type="com.jero.modules.laws.bindPart.entity.LawsBindPart">
<id property="id" column="id" jdbcType="VARCHAR"/>
<result property="createBy" column="create_by" jdbcType="VARCHAR"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="updateBy" column="update_by" jdbcType="VARCHAR"/>
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
<result property="orgCode" column="org_code" jdbcType="VARCHAR"/>
<result property="partNo" column="part_no" jdbcType="VARCHAR"/>
<result property="partName" column="part_name" jdbcType="VARCHAR"/>
<result property="sarFileSplitInfoId" column="sar_file_split_info_id" jdbcType="VARCHAR"/>
<result property="bindUser" column="bind_user" jdbcType="VARCHAR"/>
<result property="bindTime" column="bind_time" jdbcType="TIMESTAMP"/>
</resultMap>
<sql id="Base_Column_List">
id,create_by,create_time,
update_by,update_time,org_code,
part_no,part_name,standard_id,
bind_user,bind_time
</sql>
<select id="page" resultType="com.jero.modules.laws.bindPart.entity.LawsBindPart">
SELECT
bp.id,
bp.part_no,
bp.part_name,
bp.sar_file_split_info_id,
standard.standard_number,
standard.standard_name,
GROUP_CONCAT(lbpd.clause_id ORDER BY split.item_num SEPARATOR ', ') AS clauseIds,
GROUP_CONCAT(split.item_num ORDER BY split.item_num SEPARATOR ', ') AS clauseNos,
bp.bind_user,
bp.bind_time
FROM
`laws_bind_part` AS bp
LEFT JOIN sar_file_split_info AS sfsi ON bp.sar_file_split_info_id = sfsi.id
LEFT JOIN (
select id, standard_number, standard_name from laws_enterprise_standard where del_flag = 0
UNION ALL
select id, standard_number, standard_name from laws_domestic_standard where del_flag = 0
) AS standard ON sfsi.standard_id = standard.id
LEFT JOIN
laws_bind_part_doc AS lbpd ON lbpd.bind_id = bp.id
LEFT JOIN laws_document_split AS split ON split.id = lbpd.clause_id
<where>
<!--零部件号-->
<if test="param.partNo != null and param.partNo != ''">
AND bp.part_no LIKE CONCAT('%',#{param.partNo},'%')
</if>
<!--零部件名称-->
<if test="param.partName != null and param.partName != ''">
AND bp.part_name LIKE CONCAT('%',#{param.partName},'%')
</if>
<!--标准编号-->
<if test="param.standardNo != null and param.standardNo != ''">
AND standard.standard_number LIKE CONCAT('%',#{param.standardNo},'%')
</if>
<!--标准名称-->
<if test="param.standardName != null and param.standardName != ''">
AND standard.standard_name LIKE CONCAT('%',#{param.standardName},'%')
</if>
<!--绑定人员-->
<if test="param.bindUser != null and param.bindUser != ''">
AND bp.bind_user = #{param.bindUser}
</if>
</where>
</select>
</mapper>
@@ -0,0 +1,13 @@
package com.jero.modules.laws.bindPart.service;
import com.jero.modules.laws.bindPart.entity.LawsBindPartDoc;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* @author ThinkBook
* @description 针对表【laws_bind_part_doc】的数据库操作Service
* @createDate 2024-04-15 11:27:29
*/
public interface ILawsBindPartDocService extends IService<LawsBindPartDoc> {
}
@@ -0,0 +1,78 @@
package com.jero.modules.laws.bindPart.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jero.modules.laws.bindPart.entity.LawsBindPart;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.modules.laws.system.entity.LawsContactManage;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
/**
* @author ThinkBook
* @description 针对表【laws_bind_part】的数据库操作Service
* @createDate 2024-04-15 11:27:06
*/
public interface ILawsBindPartService extends IService<LawsBindPart> {
/**
* 分页查询
*
* @param lawsBindPart
* @param pageNo
* @param pageSize
* @param req
* @return
*/
IPage<LawsBindPart> queryPage(LawsBindPart lawsBindPart, Integer pageNo, Integer pageSize, HttpServletRequest req);
/**
* 列表查询
*
* @param lawsBindPart
* @param req
* @return
*/
List<LawsBindPart> queryList(LawsBindPart lawsBindPart, HttpServletRequest req);
/**
* 保存
*
* @param lawsBindPart
* @return
*/
void add(LawsBindPart lawsBindPart);
/**
* 更新
*
* @param lawsBindPart
* @return
*/
void editById(LawsBindPart lawsBindPart);
/**
* 通过id删除
*
* @param id
* @return
*/
void deleteById(String id);
/**
* 批量删除
*
* @param ids
* @return
*/
void deleteByIds(List<String> ids);
/**
* 通过id查询
*
* @param id
* @return
*/
LawsBindPart queryById(String id);
}
@@ -0,0 +1,22 @@
package com.jero.modules.laws.bindPart.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.modules.laws.bindPart.entity.LawsBindPartDoc;
import com.jero.modules.laws.bindPart.service.ILawsBindPartDocService;
import com.jero.modules.laws.bindPart.mapper.LawsBindPartDocMapper;
import org.springframework.stereotype.Service;
/**
* @author ThinkBook
* @description 针对表【laws_bind_part_doc】的数据库操作Service实现
* @createDate 2024-04-15 11:27:29
*/
@Service
public class LawsBindPartDocServiceImpl extends ServiceImpl<LawsBindPartDocMapper, LawsBindPartDoc>
implements ILawsBindPartDocService {
}
@@ -0,0 +1,71 @@
package com.jero.modules.laws.bindPart.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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.system.query.QueryGenerator;
import com.jero.modules.laws.bindPart.entity.LawsBindPart;
import com.jero.modules.laws.bindPart.service.ILawsBindPartService;
import com.jero.modules.laws.bindPart.mapper.LawsBindPartMapper;
import com.jero.modules.laws.enterprise.entity.vo.EnterpriseStandardPlanVo;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
/**
* @author ThinkBook
* @description 针对表【laws_bind_part】的数据库操作Service实现
* @createDate 2024-04-15 11:27:06
*/
@Service
public class LawsBindPartServiceImpl extends ServiceImpl<LawsBindPartMapper, LawsBindPart>
implements ILawsBindPartService {
@Resource
private LawsBindPartMapper lawsBindPartMapper;
@Override
public IPage<LawsBindPart> queryPage(LawsBindPart lawsBindPart, Integer pageNo, Integer pageSize, HttpServletRequest req) {
IPage<LawsBindPart> page = new Page<>(pageNo, pageSize);
lawsBindPartMapper.page(page, lawsBindPart);
return page;
}
@Override
public List<LawsBindPart> queryList(LawsBindPart lawsBindPart, HttpServletRequest req) {
return null;
}
@Override
public void add(LawsBindPart lawsBindPart) {
save(lawsBindPart);
}
@Override
public void editById(LawsBindPart lawsBindPart) {
updateById(lawsBindPart);
}
@Override
public void deleteById(String id) {
removeById(id);
}
@Override
public void deleteByIds(List<String> ids) {
removeByIds(ids);
}
@Override
public LawsBindPart queryById(String id) {
return getById(id);
}
}