diff --git a/src/main/java/com/gaotao/modules/pms/controller/QcController.java b/src/main/java/com/gaotao/modules/pms/controller/QcController.java index 69da89d..98d9a07 100644 --- a/src/main/java/com/gaotao/modules/pms/controller/QcController.java +++ b/src/main/java/com/gaotao/modules/pms/controller/QcController.java @@ -1595,6 +1595,44 @@ public class QcController { return R.ok().put("rows", list); } + // ======================= SOP清单API ======================= + + /** + * SOP清单查询 + **/ + @PostMapping("/sopListSearch") + public R sopListSearch(@RequestBody Map params){ + PageUtils page = qcService.sopListSearch(params); + return R.ok().put("page", page); + } + + /** + * 查询可用的SOP文件 + **/ + @PostMapping("/sopAvailableFiles") + public R sopAvailableFiles(@RequestBody Map params){ + PageUtils page = qcService.sopAvailableFiles(params); + return R.ok().put("page", page); + } + + /** + * 保存SOP文件关联 + **/ + @PostMapping("/sopFileUploadSave") + public R sopFileUploadSave(@RequestBody List> dataList){ + qcService.sopFileUploadSave(dataList); + return R.ok(); + } + + /** + * 删除SOP记录 + **/ + @PostMapping("/sopList/delete") + public R deleteSopRecord(@RequestBody Map params){ + qcService.deleteSopRecord(params); + return R.ok(); + } + } diff --git a/src/main/java/com/gaotao/modules/pms/mapper/QcMapper.java b/src/main/java/com/gaotao/modules/pms/mapper/QcMapper.java index d3e5cd5..ba838bb 100644 --- a/src/main/java/com/gaotao/modules/pms/mapper/QcMapper.java +++ b/src/main/java/com/gaotao/modules/pms/mapper/QcMapper.java @@ -14,6 +14,7 @@ import org.apache.ibatis.annotations.Param; import java.util.ArrayList; import java.util.List; +import java.util.Map; @Mapper public interface QcMapper { @@ -423,4 +424,26 @@ public interface QcMapper { void updateDetailSamplingQty(QcFAIRecordData headerData); List getCheckerList(EamAdminData data); + + // ======================= SOP清单相关方法 ======================= + + /** + * SOP清单查询 + */ + IPage> sopListSearch(IPage> page, @Param("params") Map params); + + /** + * 查询可用的SOP文件 + */ + IPage> sopAvailableFiles(IPage> page, @Param("params") Map params); + + /** + * 插入SOP记录 + */ + void insertSopRecord(@Param("data") Map data); + + /** + * 删除SOP记录 + */ + void deleteSopRecord(@Param("params") Map params); } diff --git a/src/main/java/com/gaotao/modules/pms/service/Impl/QcServiceImpl.java b/src/main/java/com/gaotao/modules/pms/service/Impl/QcServiceImpl.java index d4bb8cd..6ce34c5 100644 --- a/src/main/java/com/gaotao/modules/pms/service/Impl/QcServiceImpl.java +++ b/src/main/java/com/gaotao/modules/pms/service/Impl/QcServiceImpl.java @@ -3455,6 +3455,58 @@ public class QcServiceImpl implements QcService { return t -> seen.putIfAbsent(keyExtractor.apply(t), Boolean.TRUE) == null; } + // ======================= SOP清单相关方法实现 ======================= + + @Override + public PageUtils sopListSearch(Map params) { + IPage> page = new Page<>( + Long.valueOf(params.get("page").toString()), + Long.valueOf(params.get("limit").toString()) + ); + + IPage> resultPage = qcMapper.sopListSearch(page, params); + return new PageUtils(resultPage); + } + + @Override + public PageUtils sopAvailableFiles(Map params) { + IPage> page = new Page<>( + Long.valueOf(params.get("page").toString()), + Long.valueOf(params.get("limit").toString()) + ); + + IPage> resultPage = qcMapper.sopAvailableFiles(page, params); + return new PageUtils(resultPage); + } + + @Override + @Transactional + public void sopFileUploadSave(List> dataList) { + for (Map data : dataList) { + // 确保日期字段为字符串格式,避免类型转换错误 + if (data.get("phaseInDate") != null) { + data.put("phaseInDate", data.get("phaseInDate").toString()); + } + if (data.get("phaseOutDate") != null) { + data.put("phaseOutDate", data.get("phaseOutDate").toString()); + } + if (data.get("creationDate") != null) { + data.put("creationDate", data.get("creationDate").toString()); + } + // 确保buNo字段不为空 + if (data.get("buNo") != null) { + data.put("buNo", data.get("buNo").toString()); + } + qcMapper.insertSopRecord(data); + } + } + + @Override + @Transactional + public void deleteSopRecord(Map params) { + qcMapper.deleteSopRecord(params); + } + } diff --git a/src/main/java/com/gaotao/modules/pms/service/QcService.java b/src/main/java/com/gaotao/modules/pms/service/QcService.java index ae91656..071d5fe 100644 --- a/src/main/java/com/gaotao/modules/pms/service/QcService.java +++ b/src/main/java/com/gaotao/modules/pms/service/QcService.java @@ -224,4 +224,26 @@ public interface QcService { void changeInspectionWay(QcFAIRecordData data); List getOperatorList(EamAdminData data); + + // ======================= SOP清单相关方法 ======================= + + /** + * SOP清单查询 + */ + PageUtils sopListSearch(Map params); + + /** + * 查询可用的SOP文件 + */ + PageUtils sopAvailableFiles(Map params); + + /** + * 保存SOP文件关联 + */ + void sopFileUploadSave(List> dataList); + + /** + * 删除SOP记录 + */ + void deleteSopRecord(Map params); } diff --git a/src/main/resources/mapper/pms/QcMapper.xml b/src/main/resources/mapper/pms/QcMapper.xml index 72ed39d..4c3f58d 100644 --- a/src/main/resources/mapper/pms/QcMapper.xml +++ b/src/main/resources/mapper/pms/QcMapper.xml @@ -3112,6 +3112,147 @@ + + + + + + + + + + + + INSERT INTO part_sop ( + site, + bu_no, + part_no, + sop_no, + sop_name, + sop_url, + sop_type, + version, + sop_status, + phase_in_date, + phase_out_date, + created_by, + creation_date + ) VALUES ( + #{data.site}, + #{data.buNo}, + #{data.partNo}, + #{data.sopNo}, + #{data.sopName}, + #{data.sopUrl}, + #{data.sopType}, + #{data.version}, + #{data.sopStatus}, + + + CONVERT(DATE, #{data.phaseInDate}) + + + NULL + + , + + + CONVERT(DATE, #{data.phaseOutDate}) + + + NULL + + , + #{data.createdBy}, + + + CONVERT(DATE, #{data.creationDate}) + + + GETDATE() + + + ) + + + + + DELETE FROM part_sop + + + AND site = #{params.site} + + + AND bu_no = #{params.buNo} + + + AND part_no = #{params.partNo} + + + AND sop_no = #{params.sopNo} + + + +