配件类型管理

This commit is contained in:
mashuai 2024-10-16 15:25:05 +08:00
parent 39ee20b818
commit e2e7dbd72d
7 changed files with 171 additions and 56 deletions

View File

@ -1,8 +1,10 @@
package com.bonus.common.biz.domain; package com.bonus.common.biz.domain;
import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -30,11 +32,15 @@ public class TreeNode {
private String code; private String code;
private float num; /** 原值 */
@ApiModelProperty(value = "原值")
private BigDecimal buyPrice;
private String modelCode; /** 实时库存 */
@ApiModelProperty(value = "实时库存")
private Long storageNum;
private String manageType; private String remark;
@JsonInclude(JsonInclude.Include.NON_EMPTY) @JsonInclude(JsonInclude.Include.NON_EMPTY)
private List<TreeNode> children = new ArrayList<>(); private List<TreeNode> children = new ArrayList<>();

View File

@ -44,11 +44,16 @@ public class PartTypeController extends BaseController
@ApiOperation(value = "查询配件类型管理列表") @ApiOperation(value = "查询配件类型管理列表")
@RequiresPermissions("ma:type:list") @RequiresPermissions("ma:type:list")
@GetMapping("/list") @GetMapping("/list")
public TableDataInfo list(PartType partType) public AjaxResult list(PartType partType)
{ {
startPage(); return partTypeService.selectPartTypeList(partType);
List<PartType> list = partTypeService.selectPartTypeList(partType); }
return getDataTable(list);
@ApiOperation(value = "配件类型所属上级树")
@RequiresPermissions("ma:type:query")
@GetMapping("/getPartTree")
public AjaxResult getPartTree(PartType dto){
return partTypeService.getPartTree(dto);
} }
/** /**
@ -61,7 +66,7 @@ public class PartTypeController extends BaseController
@PostMapping("/export") @PostMapping("/export")
public void export(HttpServletResponse response, PartType partType) public void export(HttpServletResponse response, PartType partType)
{ {
List<PartType> list = partTypeService.selectPartTypeList(partType); List<PartType> list = partTypeService.getTypeList(partType);
ExcelUtil<PartType> util = new ExcelUtil<PartType>(PartType.class); ExcelUtil<PartType> util = new ExcelUtil<PartType>(PartType.class);
util.exportExcel(response, list, "配件类型管理数据"); util.exportExcel(response, list, "配件类型管理数据");
} }
@ -111,8 +116,8 @@ public class PartTypeController extends BaseController
@RequiresPermissions("ma:type:remove") @RequiresPermissions("ma:type:remove")
@SysLog(title = "配件类型管理", businessType = OperaType.DELETE, logType = 1,module = "仓储管理->删除配件类型管理") @SysLog(title = "配件类型管理", businessType = OperaType.DELETE, logType = 1,module = "仓储管理->删除配件类型管理")
@DeleteMapping("/{paIds}") @DeleteMapping("/{paIds}")
public AjaxResult remove(@PathVariable Long[] paIds) public AjaxResult remove(@PathVariable Long paId)
{ {
return toAjax(partTypeService.deletePartTypeByPaIds(paIds)); return partTypeService.deletePartTypeByPaId(paId);
} }
} }

View File

@ -13,24 +13,23 @@ import com.bonus.common.core.web.domain.BaseEntity;
* @author xsheng * @author xsheng
* @date 2024-09-27 * @date 2024-09-27
*/ */
@Data @Data
@ToString @ToString
public class PartType extends BaseEntity public class PartType extends BaseEntity
{ {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private Integer isExport;
/** 类型ID */ /** 类型ID */
private Long paId; private Long paId;
/** 类型名称 */ /** 类型名称 */
@Excel(name = "类型名称") @Excel(name = "名称")
@ApiModelProperty(value = "类型名称") @ApiModelProperty(value = "类型名称")
private String paName; private String paName;
/** 上级ID */ /** 上级ID */
@Excel(name = "上级ID")
@ApiModelProperty(value = "上级ID") @ApiModelProperty(value = "上级ID")
private Long parentId; private Long parentId;
@ -38,28 +37,30 @@ public class PartType extends BaseEntity
@Excel(name = "帐号状态", readConverterExp = "0=正常,1=停用") @Excel(name = "帐号状态", readConverterExp = "0=正常,1=停用")
private String status; private String status;
/** 实时库存 */
@Excel(name = "实时库存")
@ApiModelProperty(value = "实时库存")
private Long storageNum;
/** 计量单位ID */ /** 计量单位ID */
@Excel(name = "计量单位ID")
@ApiModelProperty(value = "计量单位ID") @ApiModelProperty(value = "计量单位ID")
private String unitId; private String unitId;
/** 计量单位名称 */
@Excel(name = "计量单位")
@ApiModelProperty(value = "计量单位名称")
private String unitName;
/** 原值 */ /** 原值 */
@Excel(name = "原值") @Excel(name = "购置价格(元)")
@ApiModelProperty(value = "原值") @ApiModelProperty(value = "原值")
private BigDecimal buyPrice; private BigDecimal buyPrice;
/** 实时库存 */
@Excel(name = "数量")
@ApiModelProperty(value = "实时库存")
private Long storageNum;
/** 层级 */ /** 层级 */
@Excel(name = "层级")
@ApiModelProperty(value = "层级") @ApiModelProperty(value = "层级")
private String level; private String level;
/** 库存预警数量 */ /** 库存预警数量 */
@Excel(name = "库存预警数量")
@ApiModelProperty(value = "库存预警数量") @ApiModelProperty(value = "库存预警数量")
private Long warnNum; private Long warnNum;
@ -67,14 +68,14 @@ public class PartType extends BaseEntity
private String delFlag; private String delFlag;
/** 数据所属组织 */ /** 数据所属组织 */
@Excel(name = "数据所属组织")
@ApiModelProperty(value = "数据所属组织") @ApiModelProperty(value = "数据所属组织")
private String companyId; private String companyId;
/** 框架年份 */ /** 框架年份 */
@Excel(name = "框架年份")
@ApiModelProperty(value = "框架年份") @ApiModelProperty(value = "框架年份")
private String year; private String year;
@Excel(name = "备注")
private String remark;
} }

View File

@ -1,6 +1,8 @@
package com.bonus.material.ma.mapper; package com.bonus.material.ma.mapper;
import java.util.List; import java.util.List;
import com.bonus.common.biz.domain.TreeNode;
import com.bonus.material.ma.domain.PartType; import com.bonus.material.ma.domain.PartType;
/** /**
@ -25,7 +27,7 @@ public interface PartTypeMapper
* @param partType 配件类型管理 * @param partType 配件类型管理
* @return 配件类型管理集合 * @return 配件类型管理集合
*/ */
public List<PartType> selectPartTypeList(PartType partType); public List<TreeNode> selectPartTypeList(PartType partType);
/** /**
* 新增配件类型管理 * 新增配件类型管理
@ -57,5 +59,19 @@ public interface PartTypeMapper
* @param paIds 需要删除的数据主键集合 * @param paIds 需要删除的数据主键集合
* @return 结果 * @return 结果
*/ */
public int deletePartTypeByPaIds(Long[] paIds); public int deletePartTypeByPaIds(Long paIds);
/**
* 获取配件类型树
* @param dto
* @return
*/
List<TreeNode> getPartTree(PartType dto);
/**
* 获取配件类型列表
* @param partType
* @return
*/
List<PartType> getTypeList(PartType partType);
} }

View File

@ -1,6 +1,8 @@
package com.bonus.material.ma.service; package com.bonus.material.ma.service;
import java.util.List; import java.util.List;
import com.bonus.common.core.web.domain.AjaxResult;
import com.bonus.material.ma.domain.PartType; import com.bonus.material.ma.domain.PartType;
/** /**
@ -25,7 +27,7 @@ public interface IPartTypeService
* @param partType 配件类型管理 * @param partType 配件类型管理
* @return 配件类型管理集合 * @return 配件类型管理集合
*/ */
public List<PartType> selectPartTypeList(PartType partType); public AjaxResult selectPartTypeList(PartType partType);
/** /**
* 新增配件类型管理 * 新增配件类型管理
@ -49,7 +51,7 @@ public interface IPartTypeService
* @param paIds 需要删除的配件类型管理主键集合 * @param paIds 需要删除的配件类型管理主键集合
* @return 结果 * @return 结果
*/ */
public int deletePartTypeByPaIds(Long[] paIds); public int deletePartTypeByPaIds(Long paIds);
/** /**
* 删除配件类型管理信息 * 删除配件类型管理信息
@ -57,5 +59,19 @@ public interface IPartTypeService
* @param paId 配件类型管理主键 * @param paId 配件类型管理主键
* @return 结果 * @return 结果
*/ */
public int deletePartTypeByPaId(Long paId); public AjaxResult deletePartTypeByPaId(Long paId);
/**
* 获取配件类型树
* @param dto
* @return
*/
AjaxResult getPartTree(PartType dto);
/**
* 导出结果集
* @param partType
* @return
*/
List<PartType> getTypeList(PartType partType);
} }

View File

@ -1,7 +1,15 @@
package com.bonus.material.ma.service.impl; package com.bonus.material.ma.service.impl;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import com.bonus.common.biz.domain.TreeBuild;
import com.bonus.common.biz.domain.TreeNode;
import com.bonus.common.biz.enums.HttpCodeEnum;
import com.bonus.common.core.utils.DateUtils; import com.bonus.common.core.utils.DateUtils;
import com.bonus.common.core.web.domain.AjaxResult;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.bonus.material.ma.mapper.PartTypeMapper; import com.bonus.material.ma.mapper.PartTypeMapper;
@ -15,6 +23,7 @@ import com.bonus.material.ma.service.IPartTypeService;
* @date 2024-09-27 * @date 2024-09-27
*/ */
@Service @Service
@Slf4j
public class PartTypeServiceImpl implements IPartTypeService public class PartTypeServiceImpl implements IPartTypeService
{ {
@Autowired @Autowired
@ -39,9 +48,22 @@ public class PartTypeServiceImpl implements IPartTypeService
* @return 配件类型管理 * @return 配件类型管理
*/ */
@Override @Override
public List<PartType> selectPartTypeList(PartType partType) public AjaxResult selectPartTypeList(PartType partType)
{ {
return partTypeMapper.selectPartTypeList(partType); List<TreeNode> groupList = new ArrayList<>();
List<TreeNode> list = new ArrayList<>();
try {
list = partTypeMapper.selectPartTypeList(partType);
if (CollectionUtils.isNotEmpty(list)) {
// 创建树形结构数据集合作为参数
TreeBuild treeBuild = new TreeBuild(list);
// 原查询结果转换树形结构
groupList = treeBuild.buildTree();
}
} catch (Exception e) {
log.error("配件类型树-查询失败", e);
}
return AjaxResult.success(groupList);
} }
/** /**
@ -73,13 +95,13 @@ public class PartTypeServiceImpl implements IPartTypeService
/** /**
* 批量删除配件类型管理 * 批量删除配件类型管理
* *
* @param paIds 需要删除的配件类型管理主键 * @param paId 需要删除的配件类型管理主键
* @return 结果 * @return 结果
*/ */
@Override @Override
public int deletePartTypeByPaIds(Long[] paIds) public int deletePartTypeByPaIds(Long paId)
{ {
return partTypeMapper.deletePartTypeByPaIds(paIds); return partTypeMapper.deletePartTypeByPaIds(paId);
} }
/** /**
@ -89,8 +111,47 @@ public class PartTypeServiceImpl implements IPartTypeService
* @return 结果 * @return 结果
*/ */
@Override @Override
public int deletePartTypeByPaId(Long paId) public AjaxResult deletePartTypeByPaId(Long paId)
{ {
return partTypeMapper.deletePartTypeByPaId(paId); int result = partTypeMapper.deletePartTypeByPaId(paId);
if (result > 0) {
return AjaxResult.success(HttpCodeEnum.SUCCESS.getMsg(), result);
} }
return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg());
}
/**
* 获取配件类型树
* @param dto
* @return
*/
@Override
public AjaxResult getPartTree(PartType dto) {
List<TreeNode> groupList = new ArrayList<>();
List<TreeNode> list = new ArrayList<>();
try {
list = partTypeMapper.getPartTree(dto);
if (CollectionUtils.isNotEmpty(list)) {
// 创建树形结构数据集合作为参数
TreeBuild treeBuild = new TreeBuild(list);
// 原查询结果转换树形结构
groupList = treeBuild.buildTree();
}
} catch (Exception e) {
log.error("配件所属上级树-查询失败", e);
}
return AjaxResult.success(groupList);
}
/**
* 获取配件类型列表
* @param partType
* @return
*/
@Override
public List<PartType> getTypeList(PartType partType) {
return partTypeMapper.getTypeList(partType);
}
} }

View File

@ -27,27 +27,37 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
select pa_id, pa_name, parent_id, status, storage_num, unit_id, buy_price, level, warn_num, del_flag, create_by, update_by, create_time, update_time, remark, company_id, year from ma_part_type select pa_id, pa_name, parent_id, status, storage_num, unit_id, buy_price, level, warn_num, del_flag, create_by, update_by, create_time, update_time, remark, company_id, year from ma_part_type
</sql> </sql>
<select id="selectPartTypeList" parameterType="com.bonus.material.ma.domain.PartType" resultMap="PartTypeResult">
<include refid="selectPartTypeVo"/>
<where>
<if test="paName != null and paName != ''"> and pa_name like concat('%', #{paName}, '%')</if>
<if test="parentId != null "> and parent_id = #{parentId}</if>
<if test="status != null and status != ''"> and status = #{status}</if>
<if test="storageNum != null "> and storage_num = #{storageNum}</if>
<if test="unitId != null and unitId != ''"> and unit_id = #{unitId}</if>
<if test="buyPrice != null "> and buy_price = #{buyPrice}</if>
<if test="level != null and level != ''"> and level = #{level}</if>
<if test="warnNum != null "> and warn_num = #{warnNum}</if>
<if test="companyId != null and companyId != ''"> and company_id = #{companyId}</if>
<if test="year != null and year != ''"> and year = #{year}</if>
</where>
</select>
<select id="selectPartTypeByPaId" parameterType="Long" resultMap="PartTypeResult"> <select id="selectPartTypeByPaId" parameterType="Long" resultMap="PartTypeResult">
<include refid="selectPartTypeVo"/> <include refid="selectPartTypeVo"/>
where pa_id = #{paId} where pa_id = #{paId}
</select> </select>
<select id="getPartTree" resultType="com.bonus.common.biz.domain.TreeNode">
SELECT pa_id AS id,
pa_name AS label,
parent_id AS parentId,
level
FROM ma_part_type
WHERE del_flag = '0' and level != '3'
ORDER BY create_time
</select>
<select id="selectPartTypeList" resultType="com.bonus.common.biz.domain.TreeNode">
select pa_id as id, pa_name as label, parent_id as parentId, storage_num as storageNum, unit_name as unitName, buy_price as buyPrice, level as level, remark as remark from ma_part_type
where
<if test="paName != null and paName != ''">
AND pa_name like concat('%', #{paName}, '%')
</if>
</select>
<select id="getTypeList" resultType="com.bonus.material.ma.domain.PartType">
select pa_id as paId, pa_name as paName, parent_id as parentId, storage_num as storageNum, unit_name as unitName, buy_price as buyPrice, level as level, remark as remark from ma_part_type
where
<if test="paName != null and paName != ''">
AND pa_name like concat('%', #{paName}, '%')
</if>
</select>
<insert id="insertPartType" parameterType="com.bonus.material.ma.domain.PartType" useGeneratedKeys="true" keyProperty="paId"> <insert id="insertPartType" parameterType="com.bonus.material.ma.domain.PartType" useGeneratedKeys="true" keyProperty="paId">
insert into ma_part_type insert into ma_part_type
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
@ -112,11 +122,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</update> </update>
<delete id="deletePartTypeByPaId" parameterType="Long"> <delete id="deletePartTypeByPaId" parameterType="Long">
delete from ma_part_type where pa_id = #{paId} update ma_part_type set del_flag = '2' where pa_id = #{paId}
</delete> </delete>
<delete id="deletePartTypeByPaIds" parameterType="String"> <delete id="deletePartTypeByPaIds" parameterType="String">
delete from ma_part_type where pa_id in update ma_part_type set del_flag = '2' where pa_id in
<foreach item="paId" collection="array" open="(" separator="," close=")"> <foreach item="paId" collection="array" open="(" separator="," close=")">
#{paId} #{paId}
</foreach> </foreach>