Merge remote-tracking branch 'origin/master'

This commit is contained in:
mashuai 2025-01-08 13:33:50 +08:00
commit eb8fefed2e
6 changed files with 635 additions and 0 deletions

View File

@ -0,0 +1,147 @@
package com.bonus.material.warehouse.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.bonus.common.core.utils.StringUtils;
import com.bonus.common.log.enums.OperaType;
import com.bonus.material.common.annotation.PreventRepeatSubmit;
import com.bonus.material.scrap.domain.ScrapReason;
import com.bonus.material.scrap.service.IScrapReasonService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.bonus.common.log.annotation.SysLog;
import com.bonus.common.security.annotation.RequiresPermissions;
import com.bonus.material.warehouse.domain.WhHouseInfo;
import com.bonus.material.warehouse.service.IWhHouseInfoService;
import com.bonus.common.core.web.controller.BaseController;
import com.bonus.common.core.web.domain.AjaxResult;
import com.bonus.common.core.utils.poi.ExcelUtil;
import com.bonus.common.core.web.page.TableDataInfo;
/**
* 报废原因管理Controller
*
* @author hongchao
* @date 2025-01-07
*/
@Api(tags = "报废原因管理接口")
@RestController
@RequestMapping("/scrap_reason")
public class ScrapReasonController extends BaseController {
@Autowired
private IScrapReasonService scrapReasonService;
/**
* 查询二级类型下拉框列表
*/
@ApiOperation(value = "查询二级类型列表")
@RequiresPermissions("scrap:reason:list")
@GetMapping("/levelTwolist")
public AjaxResult levelTwolist(ScrapReason scrapReason) {
List<ScrapReason> list = scrapReasonService.levelTwolist(scrapReason);
return success(list);
}
/**
* 查询三级类型下拉框列表
*/
@ApiOperation(value = "查询三级类型列表")
@RequiresPermissions("scrap:reason:list")
@GetMapping("/levelThreelist")
public AjaxResult levelThreelist(ScrapReason scrapReason) {
List<ScrapReason> list = scrapReasonService.levelThreelist(scrapReason);
return success(list);
}
/**
* 查询报废原因列表
*/
@ApiOperation(value = "查询报废原因列表")
@RequiresPermissions("scrap:reason:list")
@GetMapping("/list")
public TableDataInfo list(ScrapReason scrapReason) {
startPage();
List<ScrapReason> list = scrapReasonService.selectScrapReasonList(scrapReason);
return getDataTable(list);
}
/**
* 导出报废原因管理列表
*/
@ApiOperation(value = "导出报废原因管理列表")
@PreventRepeatSubmit
@RequiresPermissions("scrap:reason:export")
@SysLog(title = "报废原因管理", businessType = OperaType.EXPORT, module = "报废原因管理->导出报废原因管理列表")
@PostMapping("/export")
public void export(HttpServletResponse response, ScrapReason scrapReason) {
List<ScrapReason> list = scrapReasonService.selectScrapReasonList(scrapReason);
ExcelUtil<ScrapReason> util = new ExcelUtil<ScrapReason>(ScrapReason.class);
util.exportExcel(response, list, "报废原因数据");
}
/**
* 获取报废原因管理详细信息
*/
@ApiOperation(value = "获取报废原因管理详细信息")
@RequiresPermissions("scrap:reason:query")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id) {
return success(scrapReasonService.selectScrapReasonById(id));
}
/**
* 新增报废原因
*/
@ApiOperation(value = "新增报废原因")
@PreventRepeatSubmit
@RequiresPermissions("scrap:reason:add")
@SysLog(title = "报废原因管理", businessType = OperaType.INSERT, logType = 1,module = "报废原因管理->新增报废原因")
@PostMapping
public AjaxResult add(@RequestBody ScrapReason scrapReason) {
try {
return toAjax(scrapReasonService.insertScrapReasonInfo(scrapReason));
} catch (Exception e) {
return error("系统错误, " + e.getMessage());
}
}
/**
* 修改报废原因
*/
@ApiOperation(value = "修改报废原因")
@PreventRepeatSubmit
@RequiresPermissions("scrap:reason:edit")
@SysLog(title = "报废原因管理", businessType = OperaType.UPDATE,module = "报废原因管理->修改报废原因")
@PostMapping("/edit")
public AjaxResult edit(@RequestBody ScrapReason scrapReason) {
try {
return toAjax(scrapReasonService.updateScrapReasonInfo(scrapReason));
} catch (Exception e) {
return error("系统错误, " + e.getMessage());
}
}
/**
* 删除报废原因
*/
@ApiOperation(value = "删除报废原因")
@PreventRepeatSubmit
@RequiresPermissions("scrap:reason:remove")
@SysLog(title = "报废原因管理", businessType = OperaType.DELETE, module = "报废原因管理->删除报废原因")
@PostMapping("/delete")
public AjaxResult remove(@RequestBody ScrapReason scrapReason) {
return toAjax(scrapReasonService.deleteScrapReasonInfo(scrapReason));
}
}

View File

@ -0,0 +1,80 @@
package com.bonus.material.scrap.domain;
import com.bonus.common.core.annotation.Excel;
import com.bonus.common.core.web.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
/**
* 报废原因配置对象 scrap_reason
*
* @author hongchao
* @date 2025-01-07
*/
@Data
@ToString
public class ScrapReason extends BaseEntity {
private static final long serialVersionUID = 1L;
/** ID */
private Long id;
private String keyWord;
/** 二级规格型号id */
@ApiModelProperty(value = "规格型号id")
private Long parentId;
/** 二级类型 */
@Excel(name = "类型")
@ApiModelProperty(value = "二级类型")
private String parentName;
/** 三级规格型号id */
@ApiModelProperty(value = "规格型号id")
private Long typeId;
/** 三级类型 */
@Excel(name = "设备名称")
@ApiModelProperty(value = "三级类型")
private String typeName;
/** 报废原因 */
@Excel(name = "报废原因", width = 40)
@ApiModelProperty(value = "报废原因")
private String reason;
/** 创建人 */
@ApiModelProperty(value = "创建人")
private String createBy;
/** 修改人 */
@Excel(name = "修改人")
@ApiModelProperty(value = "修改人")
private String updateBy;
/** 创建时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
/** 修改时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "修改时间", width = 40, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
/** 备注 */
@Excel(name = "备注", width = 40)
@ApiModelProperty(value = "备注")
private String remark;
}

View File

@ -0,0 +1,74 @@
package com.bonus.material.scrap.mapper;
import com.bonus.material.basic.domain.BmUnitType;
import com.bonus.material.scrap.domain.ScrapApplyDetails;
import com.bonus.material.scrap.domain.ScrapReason;
import com.bonus.material.scrap.domain.vo.ScrapTaskListVo;
import java.util.List;
/**
* 报废原因管理Mapper接口
*
* @author hongchao
* @date 2024-01-07
*/
public interface ScrapReasonMapper
{
/**
* 查询二级类型下拉框列表
*
* @param scrapReason 查询二级类型下拉框列表
* @return 查询二级类型下拉框列表
*/
List<ScrapReason> levelTwolist(ScrapReason scrapReason);
/**
* 查询三级类型下拉框列表
*
* @param scrapReason 查询三级类型下拉框列表
* @return 查询三级类型下拉框列表
*/
List<ScrapReason> levelThreelist(ScrapReason scrapReason);
/**
* 查询报废原因列表
*
* @param scrapReason 报废原因
* @return 报废原因
*/
List<ScrapReason> selectScrapReasonList(ScrapReason scrapReason);
/**
* 新增报废原因
*
* @param scrapReason 新增报废原因
* @return 结果
*/
int insertScrapReasonInfo(ScrapReason scrapReason);
/**
* 查询报废原因
* @param id
* @return
*/
ScrapReason selectScrapReasonById(Long id);
/**
* 修改报废原因
*
* @param scrapReason 修改报废原因
* @return 结果
*/
int updateScrapReasonInfo(ScrapReason scrapReason);
/**
* 删除报废原因
*
* @param scrapReason 删除报废原因
* @return 结果
*/
int deleteScrapReasonInfo(ScrapReason scrapReason);
}

View File

@ -0,0 +1,70 @@
package com.bonus.material.scrap.service;
import com.bonus.material.scrap.domain.ScrapReason;
import com.bonus.material.warehouse.domain.WhHouseInfo;
import java.util.List;
/**
* 报废原因管理Service接口
*
* @author hongchao
* @date 2025-01-07
*/
public interface IScrapReasonService {
/**
* 查询二级类型下拉框列表
*
* @param scrapReason 查询二级类型下拉框列表
* @return 查询二级类型下拉框列表
*/
List<ScrapReason> levelTwolist(ScrapReason scrapReason);
/**
* 查询三级类型下拉框列表
*
* @param scrapReason 查询三级类型下拉框列表
* @return 查询三级类型下拉框列表
*/
List<ScrapReason> levelThreelist(ScrapReason scrapReason);
/**
* 查询报废原因
*
* @param scrapReason 报废原因管理
* @return 报废原因管理
*/
List<ScrapReason> selectScrapReasonList(ScrapReason scrapReason);
/**
* 获取报废原因管理详细信息
* @param id
* @return
*/
ScrapReason selectScrapReasonById(Long id);
/**
* 新增报废原因
*
* @param scrapReason 新增报废原因
* @return 结果
*/
int insertScrapReasonInfo(ScrapReason scrapReason);
/**
* 修改报废原因
*
* @param scrapReason 修改报废原因
* @return 结果
*/
int updateScrapReasonInfo(ScrapReason scrapReason);
/**
* 删除报废原因
*
* @param scrapReason 删除报废原因
* @return 结果
*/
int deleteScrapReasonInfo(ScrapReason scrapReason);
}

View File

@ -0,0 +1,133 @@
package com.bonus.material.scrap.service.impl;
import com.bonus.common.core.exception.ServiceException;
import com.bonus.common.core.utils.DateUtils;
import com.bonus.common.security.utils.SecurityUtils;
import com.bonus.material.scrap.domain.ScrapReason;
import com.bonus.material.scrap.mapper.ScrapReasonMapper;
import com.bonus.material.scrap.service.IScrapReasonService;
import com.bonus.material.warehouse.domain.WhHouseInfo;
import com.bonus.material.warehouse.mapper.WhHouseInfoMapper;
import com.bonus.material.warehouse.service.IWhHouseInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 仓库管理Service业务层处理
*
* @author xsheng
* @date 2024-09-27
*/
@Service
public class ScrapReasonServiceImpl implements IScrapReasonService
{
@Autowired
private ScrapReasonMapper scrapReasonMapper;
/**
* 查询二级类型下拉框列表
*
* @param scrapReason 查询二级类型下拉框列表
* @return 查询二级类型下拉框列表
*/
@Override
public List<ScrapReason> levelTwolist(ScrapReason scrapReason) {
return scrapReasonMapper.levelTwolist(scrapReason);
}
/**
* 查询三级类型下拉框列表
*
* @param scrapReason 查询三级类型下拉框列表
* @return 查询三级类型下拉框列表
*/
@Override
public List<ScrapReason> levelThreelist(ScrapReason scrapReason) {
return scrapReasonMapper.levelThreelist(scrapReason);
}
/**
* 查询报废原因列表
*
* @param scrapReason 报废原因管理
* @return 报废原因管理
*/
@Override
public List<ScrapReason> selectScrapReasonList(ScrapReason scrapReason) {
return scrapReasonMapper.selectScrapReasonList(scrapReason);
}
/**
* 新增报废原因
*
* @param scrapReason 新增报废原因
* @return 结果
*/
@Override
public int insertScrapReasonInfo(ScrapReason scrapReason)
{
scrapReason.setCreateTime(DateUtils.getNowDate());
scrapReason.setUpdateTime(DateUtils.getNowDate());
scrapReason.setCreateBy(SecurityUtils.getUsername());
scrapReason.setUpdateBy(SecurityUtils.getUsername());
try {
return scrapReasonMapper.insertScrapReasonInfo(scrapReason);
} catch (Exception e) {
throw new ServiceException("新增失败");
}
}
/**
* 获取报废原因管理详细信息
*
* @param id 获取报废原因管理详细信息
* @return 获取报废原因管理详细信息
*/
@Override
public ScrapReason selectScrapReasonById(Long id) {
try {
return scrapReasonMapper.selectScrapReasonById(id);
} catch (Exception e) {
throw new ServiceException("查询失败");
}
}
/**
* 修改报废原因
*
* @param scrapReason 仓库管理
* @return 结果
*/
@Override
public int updateScrapReasonInfo(ScrapReason scrapReason)
{
scrapReason.setUpdateTime(DateUtils.getNowDate());
scrapReason.setUpdateBy(SecurityUtils.getUsername());
try {
return scrapReasonMapper.updateScrapReasonInfo(scrapReason);
} catch (Exception e) {
throw new ServiceException("修改失败");
}
}
/**
* 删除报废原因
*
* @param scrapReason 删除报废原因
* @return 结果
*/
@Override
public int deleteScrapReasonInfo(ScrapReason scrapReason)
{
try {
return scrapReasonMapper.deleteScrapReasonInfo(scrapReason);
} catch (Exception e) {
throw new ServiceException("删除失败");
}
}
}

View File

@ -0,0 +1,131 @@
<?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.bonus.material.scrap.mapper.ScrapReasonMapper">
<select id="levelTwolist" resultType="com.bonus.material.scrap.domain.ScrapReason">
select type_id as parentId,type_name as parentName
from ma_type mt
where level = 2 and del_flag = 0
</select>
<select id="levelThreelist" resultType="com.bonus.material.scrap.domain.ScrapReason">
select type_id as typeId,type_name as typeName
from ma_type mt
where parent_id = #{parentId} and del_flag = 0
</select>
<select id="selectScrapReasonList" resultType="com.bonus.material.scrap.domain.ScrapReason">
select
sc.id as id,sc.type_id as typeId,mt.type_name as typeName,mt1.type_id as parentId,mt1.type_name as parentName,
sc.update_time as updateTime,sc.update_by as updateBy,sc.reason as reason
from scrap_reason sc
left join ma_type mt on sc.type_id = mt.type_id and mt.del_flag = 0
left join ma_type mt1 on mt.parent_id = mt1.type_id and mt1.del_flag = 0
where sc.del_flag = 0
<if test="keyWord != null and keyWord != ''">
AND (
mt1.type_name LIKE CONCAT('%',#{keyWord},'%')
OR mt.type_name LIKE CONCAT('%',#{keyWord},'%')
)
</if>
</select>
<insert id="insertScrapReasonInfo">
insert into scrap_reason
(
<if test="typeId != null">
type_id,
</if>
<if test="createTime != null">
create_time,
</if>
<if test="updateTime != null">
update_time,
</if>
<if test="createBy != null and createBy != ''">
create_by,
</if>
<if test="updateBy != null and updateBy != ''">
update_by,
</if>
<if test="remark != null and remark != ''">
remark,
</if>
<if test="reason != null and reason != ''">
reason,
</if>
del_flag
)
values (
<if test="typeId != null">
#{typeId},
</if>
<if test="createTime != null">
#{createTime},
</if>
<if test="updateTime != null">
#{updateTime},
</if>
<if test="createBy != null and createBy != ''">
#{createBy},
</if>
<if test="updateBy != null and updateBy != ''">
#{updateBy},
</if>
<if test="remark != null and remark != ''">
#{remark},
</if>
<if test="reason != null and reason != ''">
#{reason},
</if>
0
)
</insert>
<select id="selectScrapReasonById" resultType="com.bonus.material.scrap.domain.ScrapReason">
select
sc.id as id,sc.type_id as typeId,mt.type_name as typeName,mt1.type_id as parentId,mt1.type_name as parentName,
sc.update_time as updateTime,sc.update_by as updateBy,sc.reason as reason
from scrap_reason sc
left join ma_type mt on sc.type_id = mt.type_id and mt.del_flag = 0
left join ma_type mt1 on mt.parent_id = mt1.type_id and mt1.del_flag = 0
where sc.del_flag = 0
<if test="id != null ">
AND sc.id = #{id}
</if>
</select>
<update id="updateScrapReasonInfo">
update scrap_reason
set type_id = #{typeId},
update_by = #{updateBy},
update_time = #{updateTime},
reason = #{reason}
where id = #{id} and del_flag = 0
</update>
<update id="deleteScrapReasonInfo">
update scrap_reason
set del_flag = 1
where id = #{id} and del_flag = 0
</update>
<!-- <delete id="deleteScrapApplyDetailsById" parameterType="Long">-->
<!-- delete from scrap_apply_details where id = #{id}-->
<!-- </delete>-->
</mapper>