From dfc47094e8ec57dd9229d64be0702658c6065b9d Mon Sep 17 00:00:00 2001
From: qushaowei <qushaowei@163.com>
Date: 星期五, 06 六月 2025 15:29:42 +0800
Subject: [PATCH] 备件报废

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamSparePartScrapService.java         |   10 +++
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/BusinessCodeConst.java         |    6 ++
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSparePartScrapController.java    |   64 ++++++++++++++++++++
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSparePartScrapServiceImpl.java |    7 ++
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamSparePartScrap.java                  |   34 +++++++++--
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamSparePartScrapMapper.xml         |   20 ++++++
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamSparePartScrapMapper.java            |   11 +++
 7 files changed, 144 insertions(+), 8 deletions(-)

diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/BusinessCodeConst.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/BusinessCodeConst.java
index 7adbd71..0ab95d0 100644
--- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/BusinessCodeConst.java
+++ b/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:宸叉姤搴�
+
+    /**
      * 宀椾綅缂栫爜
      */
     //鎿嶄綔宸�
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSparePartScrapController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSparePartScrapController.java
index d236b81..828cdbc 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSparePartScrapController.java
+++ b/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
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamSparePartScrap.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamSparePartScrap.java
index a281cf2..23aeae2 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamSparePartScrap.java
+++ b/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-姝e父,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;
 }
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamSparePartScrapMapper.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamSparePartScrapMapper.java
index bce4fd3..37817a8 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamSparePartScrapMapper.java
+++ b/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);
 }
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamSparePartScrapMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamSparePartScrapMapper.xml
index 44c7be1..8139489 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamSparePartScrapMapper.xml
+++ b/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>
\ No newline at end of file
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamSparePartScrapService.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamSparePartScrapService.java
index ad1ecc7..27a58a8 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamSparePartScrapService.java
+++ b/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);
+
 }
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSparePartScrapServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSparePartScrapServiceImpl.java
index d452d39..a68556f 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSparePartScrapServiceImpl.java
+++ b/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);
+    }
 }

--
Gitblit v1.9.3