lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/BusinessCodeConst.java
@@ -46,6 +46,12 @@ String receive_status_5 = "5"; //已归还 /** * 备件报废单状态 1:待报废 2:已报废 */ String scrap_status_1 = "1"; //1:待报废 String scrap_status_2 = "2"; //2:已报废 /** * 岗位编码 */ //操作工 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSparePartScrapController.java
@@ -1,14 +1,25 @@ package org.jeecg.modules.eam.controller; import java.util.Arrays; import java.util.Date; import java.util.List; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; import org.jeecg.common.api.vo.Result; import org.jeecg.common.exception.JeecgBootException; import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.system.vo.LoginUser; import org.jeecg.modules.eam.constant.BusinessCodeConst; import org.jeecg.modules.eam.entity.EamSparePartInventory; import org.jeecg.modules.eam.entity.EamSparePartReceive; import org.jeecg.modules.eam.entity.EamSparePartReceiveDetail; import org.jeecg.modules.eam.entity.EamSparePartScrap; import org.jeecg.modules.eam.service.IEamSparePartInventoryService; import org.jeecg.modules.eam.service.IEamSparePartScrapService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -17,6 +28,7 @@ import org.jeecg.common.system.base.controller.JeecgController; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; import io.swagger.annotations.Api; @@ -37,6 +49,9 @@ @Resource private IEamSparePartScrapService eamSparePartScrapService; @Resource private IEamSparePartInventoryService eamSparePartInventoryService; /** * 分页列表查询 * @@ -52,9 +67,18 @@ @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest req) { QueryWrapper<EamSparePartScrap> queryWrapper = QueryGenerator.initQueryWrapper(eamSparePartScrap, req.getParameterMap()); // QueryWrapper<EamSparePartScrap> queryWrapper = QueryGenerator.initQueryWrapper(eamSparePartScrap, req.getParameterMap()); QueryWrapper<EamSparePartScrap> queryWrapper = new QueryWrapper<>(); if(StringUtils.isNotBlank(eamSparePartScrap.getScrapCode())){ queryWrapper.like("t1.scrap_code",eamSparePartScrap.getScrapCode()); } if(StringUtils.isNotBlank(eamSparePartScrap.getPartName())){ queryWrapper.like("t2.part_name",eamSparePartScrap.getPartName()); } queryWrapper.eq("t1.del_flag","0"); queryWrapper.orderByDesc("t1.create_time"); Page<EamSparePartScrap> page = new Page<EamSparePartScrap>(pageNo, pageSize); IPage<EamSparePartScrap> pageList = eamSparePartScrapService.page(page, queryWrapper); IPage<EamSparePartScrap> pageList = eamSparePartScrapService.queryPageList(page, queryWrapper); return Result.OK(pageList); } @@ -67,6 +91,9 @@ @ApiOperation(value = "备品备件报废-添加", notes = "备品备件报废-添加") @PostMapping(value = "/add") public Result<?> add(@RequestBody EamSparePartScrap eamSparePartScrap) { LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); eamSparePartScrap.setScrapStatus(BusinessCodeConst.scrap_status_1); eamSparePartScrap.setReportUser(user.getRealname()); eamSparePartScrapService.save(eamSparePartScrap); return Result.OK("添加成功!"); } @@ -85,6 +112,39 @@ } /** * 备件报废-确认 * * @return */ @AutoLog(value = "备件报废-确认") @ApiOperation(value = "备件报废-确认", notes = "备件报废-确认") @PostMapping(value = "/confirm") @Transactional(rollbackFor = Exception.class) public Result<?> confirmSparePartScrap(@RequestBody EamSparePartScrap eamSparePartScrap) { LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); if (sysUser == null) { throw new JeecgBootException("当前用户无法确认备件报废!"); } eamSparePartScrap.setApprovalUser(sysUser.getRealname()); eamSparePartScrap.setApprovalTime(new Date()); eamSparePartScrap.setScrapStatus(BusinessCodeConst.scrap_status_2); boolean b = eamSparePartScrapService.updateById(eamSparePartScrap); if (!b) { return Result.error("确认报废失败!"); }else{ EamSparePartInventory eamSparePartInventory = new EamSparePartInventory(); eamSparePartInventory.setSparePartId(eamSparePartScrap.getSparePartsId()); eamSparePartInventory.setInventory(eamSparePartScrap.getScrapNum().negate()); eamSparePartInventory.setSparePartIntoType("4");//库存来源类型 1.入库 2.领料出库 3.归还入库 4.报废出库 eamSparePartInventoryService.save(eamSparePartInventory); return Result.OK("确认报废成功!"); } } /** * 通过id删除 * * @param id lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamSparePartScrap.java
@@ -1,11 +1,15 @@ package org.jeecg.modules.eam.entity; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonIgnore; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.system.base.entity.JeecgEntity; import org.jeecgframework.poi.excel.annotation.Excel; @@ -32,8 +36,10 @@ * 删除标记 */ @Excel(name = "删除标记", width = 15) @ApiModelProperty(value = "删除标记") private Integer delFlag; @JsonIgnore @ApiModelProperty(value = "删除状态(0-正常,1-已删除)", hidden = true) @TableLogic private Integer delFlag = CommonConstant.DEL_FLAG_0; /** * 单据号 */ @@ -41,11 +47,11 @@ @ApiModelProperty(value = "单据号") private String scrapCode; /** * 库存ID * 备件ID */ @Excel(name = "库存ID", width = 15) @ApiModelProperty(value = "库存ID") private String inventoryId; @Excel(name = "备件ID", width = 15) @ApiModelProperty(value = "备件ID") private String sparePartsId; /** * 报废原因 */ @@ -58,6 +64,13 @@ @Excel(name = "报废数量", width = 15) @ApiModelProperty(value = "报废数量") private BigDecimal scrapNum; /** * 报废单状态 1:待报废,2:已报废 */ @Excel(name = "报废单状态 1:待报废,2:已报废", width = 15) @ApiModelProperty(value = "报废单状态 1:待报废,2:已报废") private String scrapStatus; /** * 申请人 */ @@ -75,4 +88,13 @@ */ @ApiModelProperty(value = "审核时间") private Date approvalTime; @TableField(exist = false) private String partCode; @TableField(exist = false) private String partName; @TableField(exist = false) private String partModel; @TableField(exist = false) private String partSpecification; } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamSparePartScrapMapper.java
@@ -1,7 +1,17 @@ package org.jeecg.modules.eam.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 org.apache.ibatis.annotations.Param; import org.jeecg.modules.eam.entity.EamReportRepair; import org.jeecg.modules.eam.entity.EamSparePartScrap; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.jeecg.modules.eam.entity.EamThirdMaintenanceOrder; import org.jeecg.modules.eam.request.EamReportRepairQuery; import java.util.List; /** * @Description: 备品备件报废 @@ -11,4 +21,5 @@ */ public interface EamSparePartScrapMapper extends BaseMapper<EamSparePartScrap> { IPage<EamSparePartScrap> queryPageList(Page<EamSparePartScrap> page, @Param(Constants.WRAPPER) QueryWrapper<EamSparePartScrap> queryWrapper); } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamSparePartScrapMapper.xml
@@ -2,4 +2,24 @@ <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="org.jeecg.modules.eam.mapper.EamSparePartScrapMapper"> <select id="queryPageList" resultType="org.jeecg.modules.eam.entity.EamSparePartScrap"> SELECT t1.id, t1.scrap_code as scrapCode, t1.scrap_num as scrapNum, t2.id as sparePartsId, t2.part_code as partCode, t2.part_name as partName, t2.part_model as partModel, t2.part_specification as partSpecification, t1.report_user as reportUser, t1.approval_user as approvalUser, t1.approval_time as approvalTime, t1.scrap_reason as scrapReason, t1.scrap_status as scrapStatus FROM eam_spare_part_scrap t1 LEFT JOIN eam_spare_parts t2 ON t1.spare_parts_id = t2.id ${ew.customSqlSegment} </select> </mapper> lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamSparePartScrapService.java
@@ -1,7 +1,15 @@ package org.jeecg.modules.eam.service; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.jeecg.modules.eam.entity.EamReportRepair; import org.jeecg.modules.eam.entity.EamSparePartScrap; import com.baomidou.mybatisplus.extension.service.IService; import org.jeecg.modules.eam.request.EamReportRepairQuery; import java.util.List; import java.util.Map; /** * @Description: 备品备件报废 @@ -11,4 +19,6 @@ */ public interface IEamSparePartScrapService extends IService<EamSparePartScrap> { IPage<EamSparePartScrap> queryPageList(Page<EamSparePartScrap> page, QueryWrapper<EamSparePartScrap> wrapper); } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSparePartScrapServiceImpl.java
@@ -1,5 +1,8 @@ package org.jeecg.modules.eam.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 org.jeecg.modules.eam.entity.EamSparePartScrap; import org.jeecg.modules.eam.mapper.EamSparePartScrapMapper; import org.jeecg.modules.eam.service.IEamSparePartScrapService; @@ -16,4 +19,8 @@ @Service public class EamSparePartScrapServiceImpl extends ServiceImpl<EamSparePartScrapMapper, EamSparePartScrap> implements IEamSparePartScrapService { @Override public IPage<EamSparePartScrap> queryPageList(Page<EamSparePartScrap> page, QueryWrapper<EamSparePartScrap> wrapper) { return this.baseMapper.queryPageList(page, wrapper); } }