Browse Source

修改 核心备件管理功能

java8
赵宏斌 4 months ago
parent
commit
83474f6e0c
  1. 35
      src/main/java/com/xujie/sys/modules/pms/controller/InventoryStockController.java
  2. 36
      src/main/java/com/xujie/sys/modules/pms/data/CoreSparePart.java
  3. 9
      src/main/java/com/xujie/sys/modules/pms/mapper/InventoryStockMapper.java
  4. 52
      src/main/java/com/xujie/sys/modules/pms/service/Impl/InventoryStockServiceImpl.java
  5. 7
      src/main/java/com/xujie/sys/modules/pms/service/InventoryStockService.java
  6. 63
      src/main/resources/mapper/pms/InventoryStockMapper.xml

35
src/main/java/com/xujie/sys/modules/pms/controller/InventoryStockController.java

@ -1,6 +1,7 @@
package com.xujie.sys.modules.pms.controller;
import com.xujie.sys.common.utils.R;
import com.xujie.sys.common.utils.PageUtils;
import com.xujie.sys.modules.pms.data.CoreSparePart;
import com.xujie.sys.modules.pms.entity.EamWorkOrderCoreComponentsData;
import com.xujie.sys.modules.pms.entity.InventoryStockEntity;
import com.xujie.sys.modules.pms.entity.InventoryStockVoData;
@ -39,6 +40,40 @@ public class InventoryStockController {
PageUtils page = inventoryStockService.queryPage(params);
return R.ok().put("page", page);
}
/**
* @author: ZHB
* @description: 保存核心备件管理表
* @return: com.xujie.common.utils.R
* @date: 2025/12/30 15:13
*/
@RequestMapping("/saveCoreSparePart")
public R saveCoreSparePart(@RequestBody CoreSparePart data){
inventoryStockService.saveCoreSparePart(data);
return R.ok();
}
/**
* @author: ZHB
* @description: 删除核心备件管理表
* @return: com.xujie.common.utils.R
* @date: 2025/12/30 15:58
*/
@RequestMapping("/deleteCoreSparePart")
public R deleteCoreSparePart(@RequestBody CoreSparePart data){
inventoryStockService.deleteCoreSparePart(data);
return R.ok();
}
/**
* @author: ZHB
* @description: 查询核心备件管理表
* @return: com.xujie.common.utils.R
* @date: 2025/12/30 14:49
*/
@RequestMapping("/getCoreSparePartList")
public R getCoreSparePartList(@RequestBody CoreSparePart data){
List<CoreSparePart> list = inventoryStockService.getCoreSparePartList(data);
return R.ok().put("list", list);
}
/**
* @author: ZHB
* @description: 查询核心备件列表分为当前核心备件记录 未上机备件记录

36
src/main/java/com/xujie/sys/modules/pms/data/CoreSparePart.java

@ -0,0 +1,36 @@
package com.xujie.sys.modules.pms.data;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
@Data
public class CoreSparePart {
private String bu;
private String site;
private String buNo;
private String partNo;
private String partDesc;
//序列号
private String serialNumber;
private String status;
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date arrivalTime;
private String remark;
@DateTimeFormat(pattern = "yyyy-MM-dd hh:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date createTime;
@DateTimeFormat(pattern = "yyyy-MM-dd hh:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date updateTime ;
private String createBy;
private String updateBy;
private String flag;
private String locationId;
}

9
src/main/java/com/xujie/sys/modules/pms/mapper/InventoryStockMapper.java

@ -3,6 +3,7 @@ package com.xujie.sys.modules.pms.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.xujie.sys.modules.pms.data.CoreSparePart;
import com.xujie.sys.modules.pms.entity.EamWorkOrderCoreComponentsData;
import com.xujie.sys.modules.pms.entity.InventoryStockEntity;
import com.xujie.sys.modules.pms.entity.InventoryStockVoData;
@ -41,4 +42,12 @@ public interface InventoryStockMapper extends BaseMapper<InventoryStockEntity> {
List<EamWorkOrderCoreComponentsData> getEamWorkOrderCoreComponentsList(@Param("query") EamWorkOrderCoreComponentsData data);
List<EamWorkOrderCoreComponentsData> getEamWorkOrderCoreComponentsList2(@Param("query") EamWorkOrderCoreComponentsData data);
List<EamWorkOrderCoreComponentsData> getEamWorkOrderCoreComponentsList3(@Param("query")EamWorkOrderCoreComponentsData data);
void saveCoreSparePart(CoreSparePart data);
List<CoreSparePart> getCoreSparePartList(CoreSparePart data);
void updateCoreSparePart(CoreSparePart data);
void deleteCoreSparePart(CoreSparePart data);
}

52
src/main/java/com/xujie/sys/modules/pms/service/Impl/InventoryStockServiceImpl.java

@ -4,6 +4,7 @@ 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.xujie.sys.common.utils.PageUtils;
import com.xujie.sys.modules.pms.data.CoreSparePart;
import com.xujie.sys.modules.pms.data.QcSamplingInspectionPlanData;
import com.xujie.sys.modules.pms.entity.EamWorkOrderCoreComponentsData;
import com.xujie.sys.modules.pms.entity.InventoryStockEntity;
@ -16,6 +17,7 @@ import org.apache.shiro.SecurityUtils;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
@ -37,21 +39,53 @@ public class InventoryStockServiceImpl extends ServiceImpl<InventoryStockMapper,
}
@Override
public List<EamWorkOrderCoreComponentsData> getEamWorkOrderCoreComponentsList(EamWorkOrderCoreComponentsData data) {
if (!Objects.isNull(data.getBuNo())){
if (!Objects.isNull(data.getBuNo()) && data.getBuNo().split("_").length >=2){
data.setSite(data.getBuNo().split("_")[0]);
data.setBuNo(data.getBuNo().split("_")[1]);
}
List<EamWorkOrderCoreComponentsData> list = null;
if (data.getGroupType().equals("0")){
list = baseMapper.getEamWorkOrderCoreComponentsList(data);
} else if (data.getGroupType().equals("1")){
list = baseMapper.getEamWorkOrderCoreComponentsList2(data);
}else if (data.getGroupType().equals("2")){
list = baseMapper.getEamWorkOrderCoreComponentsList3(data);
}
List<EamWorkOrderCoreComponentsData> list = baseMapper.getEamWorkOrderCoreComponentsList3(data);
// if (data.getGroupType().equals("0")){
// list = baseMapper.getEamWorkOrderCoreComponentsList(data);
// } else if (data.getGroupType().equals("1")){
// list = baseMapper.getEamWorkOrderCoreComponentsList2(data);
// }else if (data.getGroupType().equals("2")){
// list = baseMapper.getEamWorkOrderCoreComponentsList3(data);
// }
return list;
}
@Override
public void saveCoreSparePart(CoreSparePart data) {
// 获得 site bu
if (data.getBu().split("_").length >= 2 ) {
data.setSite(data.getBu().split("_")[0]);
data.setBuNo(data.getBu().split("_")[1]);
} else {
throw new RuntimeException("工厂和部门有误!");
}
if (data.getFlag().equals("1")){
baseMapper.saveCoreSparePart(data);
} else if (data.getFlag().equals("2")){
baseMapper.updateCoreSparePart(data);
}
}
@Override
public List<CoreSparePart> getCoreSparePartList(CoreSparePart data) {
if (!Objects.isNull(data.getBuNo()) && data.getBuNo().split("_").length >=2){
data.setSite(data.getBuNo().split("_")[0]);
data.setBuNo(data.getBuNo().split("_")[1]);
}
return baseMapper.getCoreSparePartList(data);
}
@Override
public void deleteCoreSparePart(CoreSparePart data) {
baseMapper.deleteCoreSparePart(data);
}
@Override
public int updateQtyOfPoByIdOfAdd(InventoryStockEntity inventoryStockEntity) {
return baseMapper.updateQtyOfPoByIdOfAdd(inventoryStockEntity);

7
src/main/java/com/xujie/sys/modules/pms/service/InventoryStockService.java

@ -2,6 +2,7 @@ package com.xujie.sys.modules.pms.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xujie.sys.common.utils.PageUtils;
import com.xujie.sys.modules.pms.data.CoreSparePart;
import com.xujie.sys.modules.pms.entity.EamWorkOrderCoreComponentsData;
import com.xujie.sys.modules.pms.entity.InventoryStockEntity;
import com.xujie.sys.modules.pms.entity.InventoryStockVoData;
@ -28,5 +29,11 @@ public interface InventoryStockService extends IService<InventoryStockEntity> {
int updateQtyOfPoByIdOfSub(InventoryStockEntity inventoryStockEntity);
List<EamWorkOrderCoreComponentsData> getEamWorkOrderCoreComponentsList(EamWorkOrderCoreComponentsData data);
void saveCoreSparePart(CoreSparePart data);
List<CoreSparePart> getCoreSparePartList(CoreSparePart data);
void deleteCoreSparePart(CoreSparePart data);
}

63
src/main/resources/mapper/pms/InventoryStockMapper.xml

@ -34,6 +34,14 @@
<result property="citemCode" column="citem_code"/>
<result property="qtyOfPo" column="qty_of_po"/>
</resultMap>
<insert id="saveCoreSparePart">
insert into core_spare_part(site,bu_no,part_no,part_desc,serial_number,status,arrival_time,remark,create_time,create_by)
values(#{site},#{buNo},#{partNo},#{partDesc},#{serialNumber},#{status},#{arrivalTime},#{remark},GETDATE(),#{createBy})
</insert>
<delete id="deleteCoreSparePart">
delete from core_spare_part
where site = #{site} and bu_no = #{buNo} and part_no = #{partNo} and serial_number = #{serialNumber}
</delete>
<select id="queryPage" resultType="com.xujie.sys.modules.pms.entity.InventoryStockVoData">
SELECT
@ -126,6 +134,16 @@
<update id="updateQtyOfPoByIdOfSub">
update inventory_stock set qty_of_po = isnull(qty_of_po,0) - #{qtyOfPo} where id = #{id}
</update>
<update id="updateCoreSparePart">
update core_spare_part
set status = #{status},
arrival_time = #{arrivalTime},
remark = #{remark},
update_time = getdate(),
update_by = #{updateBy}
where site = #{site} and bu_no = #{buNo} and part_no = #{partNo} and serial_number = #{serialNumber}
</update>
<select id="queryPageByPo" resultType="com.xujie.sys.modules.pms.entity.InventoryStockVoData">
SELECT
@ -296,7 +314,7 @@
created_by,
created_date
FROM eam_workOrder_coreComponents
WHERE oldSerialNo IS NOT NULL
WHERE oldSerialNo IS NOT NULL and site = #{query.site} AND bu_no = #{query.buNo} AND partNo = #{query.partNo}
UNION ALL
SELECT
site,
@ -308,7 +326,7 @@
created_by,
created_date
FROM eam_workOrder_coreComponents
WHERE newSerialNo IS NOT NULL
WHERE newSerialNo IS NOT NULL and site = #{query.site} AND bu_no = #{query.buNo} AND partNo = #{query.partNo}
),
RankedSerials AS (
SELECT
@ -349,6 +367,7 @@
ewc.OrderNo,
ewc.partno,
ps.part_description,
ps.est_use_qty,
ewc.serialNo,
ewc.action,
ewc.created_by,
@ -361,18 +380,36 @@
LEFT JOIN eam_workOrder ew ON ewc.site = ew.site AND ewc.bu_no = ew.bu_no AND ewc.OrderNo = ew.OrderNo
LEFT JOIN eam_defect_feedBack edf on ew.site = edf.site and ew.PlanID = edf.feedBackID and ew.bu_no = edf.bu_no
WHERE ps.coreFlag = 'Y'
<if test="query.site != null and query.site != ''">
and ewc.site = #{query.site}
</if>
<if test="query.buNo != null and query.buNo != ''">
and ewc.bu_no = #{query.buNo}
</if>
<if test="query.partNo != null and query.partNo != ''">
and ewc.partNo = #{query.partNo}
</if>
<if test="query.partDescription != null and query.partDescription != ''">
and ps.part_description like '%'+ #{query.partDescription} +'%'
<if test="query.serialNo != null and query.serialNo != ''">
and ewc.serialNo = #{query.serialNo}
</if>
ORDER BY partno, serialNo, created_date
</select>
<select id="getCoreSparePartList" resultType="com.xujie.sys.modules.pms.data.CoreSparePart">
select dbo.get_bu_desc(csp.site,csp.bu_no) as bu,
csp.*,
ps.location_id
from core_spare_part csp
left join part_spare ps on csp.site = ps.site and csp.bu_no = ps.bu_no and csp.part_no = ps.part_no
<where>
<if test="site != null and site != ''">
and csp.site = #{site}
</if>
<if test="buNo != null and buNo != ''">
and csp.bu_no = #{buNo}
</if>
<if test="partNo != null and partNo != ''">
and csp.part_no like '%' + #{partNo} + '%'
</if>
<if test="partDesc != null and partDesc != ''">
and csp.part_desc like '%' + #{partDesc} + '%'
</if>
<if test="serialNumber != null and serialNumber != ''">
and csp.serial_number like '%' + #{serialNumber} + '%'
</if>
<if test="status != null and status != ''">
and csp.status = #{status}
</if>
</where>
</select>
</mapper>
Loading…
Cancel
Save