From 510815d0f98b74dc4fc7e1df132581fffe4dd888 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E5=AE=8F=E6=96=8C?= <2164406372@qq.com> Date: Wed, 13 Aug 2025 10:47:23 +0800 Subject: [PATCH] =?UTF-8?q?1.=E6=96=B0=E5=A2=9E=E5=8A=9F=E8=83=BD=EF=BC=9A?= =?UTF-8?q?=E5=A4=96=E9=87=87=E8=AE=BE=E5=A4=87=E7=BB=B4=E6=8A=A4=202.IQC?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E6=9F=A5=E8=AF=A2=E5=A2=9E=E5=8A=A0=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=20=E5=AE=A1=E6=A0=B8=E6=97=B6=E9=97=B4=20=20=E5=8F=96?= =?UTF-8?q?=E6=B6=88=E5=AE=A1=E6=A0=B8=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/pms/controller/QcController.java | 62 +++++++++- .../pms/data/QCEquipmentFolderLocation.java | 114 ++++++++++++++++++ .../sys/modules/pms/data/QcFAIRecordData.java | 3 + .../sys/modules/pms/mapper/QcMapper.java | 12 ++ .../pms/service/Impl/QcServiceImpl.java | 47 ++++++-- .../sys/modules/pms/service/QcService.java | 12 +- src/main/resources/mapper/pms/QcMapper.xml | 89 ++++++++++++++ 7 files changed, 326 insertions(+), 13 deletions(-) create mode 100644 src/main/java/com/xujie/sys/modules/pms/data/QCEquipmentFolderLocation.java diff --git a/src/main/java/com/xujie/sys/modules/pms/controller/QcController.java b/src/main/java/com/xujie/sys/modules/pms/controller/QcController.java index 807127c0..75783171 100644 --- a/src/main/java/com/xujie/sys/modules/pms/controller/QcController.java +++ b/src/main/java/com/xujie/sys/modules/pms/controller/QcController.java @@ -5,14 +5,11 @@ import com.xujie.sys.common.utils.R; import com.xujie.sys.modules.base.data.BuData; import com.xujie.sys.modules.oss.entity.SysOssEntity; import com.xujie.sys.modules.pms.data.*; -import com.xujie.sys.modules.pms.data.QcMasterInformationData; -import com.xujie.sys.modules.pms.entity.DetailTree; import com.xujie.sys.modules.pms.entity.vo.CheckSubDetailValueVo; import com.xujie.sys.modules.pms.service.EamService; import com.xujie.sys.modules.pms.service.QcService; import com.xujie.sys.modules.pms.util.ResponseData; import com.xujie.sys.modules.sys.entity.SysSceneDynamicControlModelEntity; -import com.xujie.sys.modules.sys.entity.SysUserEntity; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; @@ -2065,6 +2062,65 @@ public class QcController { qcService.goDownItem(inData); return R.ok(); } + /** + * @Description 查询 外采设备维护 数据 + * @Title queryEquipmentFolderLocationList + * @param inData + * @author zhb + * @date 2025/8/11 + * @return R + * @throw + */ + @PostMapping("/queryEquipmentFolderLocationList") + @ResponseBody + public R queryEquipmentFolderLocationList(@RequestBody QCEquipmentFolderLocation inData){ + List list = qcService.queryEquipmentFolderLocationList(inData); + return R.ok().put("rows", list).put("total", list.size()); + } + /** + * @Description 删除外采设备维护 数据 + * @Title queryEquipmentFolderLocationList + * @param inData + * @author zhb + * @date 2025/8/11 + * @return R + * @throw + */ + @PostMapping("/deleteEquipmentFolderLocationList") + @ResponseBody + public R deleteEquipmentFolderLocationList(@RequestBody List inData){ + qcService.deleteEquipmentFolderLocationList(inData); + return R.ok(); + } + /** + * @Description 获取外采设备维护 采集方式列表 + * @Title getSuffixList + * @author zhb + * @date 2025/8/12 + * @return R + * @throw + */ + @PostMapping("/getSuffixList") + @ResponseBody + public R getSuffixList(){ + List list = qcService.getSuffixList(); + return R.ok().put("rows", list); + } + /** + * @Description 保存外采设备维护 数据 + * @Title queryEquipmentFolderLocationList + * @param inData + * @author zhb + * @date 2025/8/11 + * @return R + * @throw + */ + @PostMapping("/saveEquipmentFolderLocationList") + @ResponseBody + public R saveEquipmentFolderLocationList(@RequestBody QCEquipmentFolderLocation inData){ + R r = qcService.saveEquipmentFolderLocationList(inData); + return r; + } } diff --git a/src/main/java/com/xujie/sys/modules/pms/data/QCEquipmentFolderLocation.java b/src/main/java/com/xujie/sys/modules/pms/data/QCEquipmentFolderLocation.java new file mode 100644 index 00000000..e7cd18c0 --- /dev/null +++ b/src/main/java/com/xujie/sys/modules/pms/data/QCEquipmentFolderLocation.java @@ -0,0 +1,114 @@ +package com.xujie.sys.modules.pms.data; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +@Data +public class QCEquipmentFolderLocation { + private Integer id; + @TableField(exist = false) + private Integer page; + @TableField(exist = false) + private Integer pageCount; + @TableField(exist = false) + private Integer editFlag; + private String site; + private String buNo; + private String bu; + private String buDesc; + //文件解析路径 + private String folderPath; + //设备编码 + private String equipmentNo; + private String equipmentDesc; + //采集ID + private String fileNo; + //IP + private String IP; + //采集方式 + private String suffix; + //每批次时间 + private String batchDate; + //端口 + private Integer port; + //图片备份路径 + private String backupPhotoPath; + //文件备份路径 + private String backupFolderPath; + + + //检验项目编码 + private String itemNo; + //检验类型 + private String itemType; + //寄存器地址 + private Integer registerAddress; + //寄存器位数 + private Integer registerNum; + //寄存器数量类型 + private String registerNumColumntype; + //寄存器地址类型 + private Integer registerAddressInspection; + + + //寄存器读取开始位 + private Integer registerNumInspection; + //寄存器检验单号类型 + private String registerNumInspectionColumntype; + //单位数量 + private Integer unitId; + //文件类型读取行特殊标识 + private String excelCompareFieldsX; + //文件读取列位数 + private Integer excelCompareFieldsY; + + + //文件从多少行开始读取 + private Integer initialLine; + //文件读取行数 + private Integer dataRow; + //文件读取跳过行数 + private Integer skipLine; + //数据分割标识 + private String cuttingSymbol; + + //设备直连标识 + private String transparentFlag; + //采集数据是否参与公式计算 + private String formulaCalculation; + //计算单位(max、min...) + private String formula; + //采集数据是否需要分组 + private String groupCalculation; + //正则表达式 + private String regexp; + //设备类型(A:短信、B:邮件、C:随身机、D:三色灯) + private String repairType; + //设备报警声音标识 + private String buzzer; + //创建人 + private String createBy; + //创建时间 + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + //变更人 + private String updateBy; + //变更时间 + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date updateTime; + + + + + + + + + +} diff --git a/src/main/java/com/xujie/sys/modules/pms/data/QcFAIRecordData.java b/src/main/java/com/xujie/sys/modules/pms/data/QcFAIRecordData.java index d7beae04..b27f45ac 100644 --- a/src/main/java/com/xujie/sys/modules/pms/data/QcFAIRecordData.java +++ b/src/main/java/com/xujie/sys/modules/pms/data/QcFAIRecordData.java @@ -251,6 +251,9 @@ public class QcFAIRecordData extends QueryPage { @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date submitDate; + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date cancelCheckDate; private Integer orderId; diff --git a/src/main/java/com/xujie/sys/modules/pms/mapper/QcMapper.java b/src/main/java/com/xujie/sys/modules/pms/mapper/QcMapper.java index 168b1052..78ebf175 100644 --- a/src/main/java/com/xujie/sys/modules/pms/mapper/QcMapper.java +++ b/src/main/java/com/xujie/sys/modules/pms/mapper/QcMapper.java @@ -624,4 +624,16 @@ public interface QcMapper { void saveFAIDetailedRecord(QcFAIRecordData recordData); void saveIPQCDetailedRecord(QcFAIRecordData recordData); + + List queryEquipmentFolderLocationList(IPage page, @Param("params") QCEquipmentFolderLocation inData); + + List getSuffixList(); + + void saveEquipmentFolderLocationList(QCEquipmentFolderLocation inData); + + int updateEquipmentFolderLocation(QCEquipmentFolderLocation inData); + + void deleteEquipmentFolderLocationList(QCEquipmentFolderLocation data); + + int checkEquipmentFolderLocation(QCEquipmentFolderLocation inData); } diff --git a/src/main/java/com/xujie/sys/modules/pms/service/Impl/QcServiceImpl.java b/src/main/java/com/xujie/sys/modules/pms/service/Impl/QcServiceImpl.java index c94ad680..dd26d3ed 100644 --- a/src/main/java/com/xujie/sys/modules/pms/service/Impl/QcServiceImpl.java +++ b/src/main/java/com/xujie/sys/modules/pms/service/Impl/QcServiceImpl.java @@ -15,16 +15,13 @@ import com.xujie.sys.modules.pms.entity.vo.CheckSubDetailValueVo; import com.xujie.sys.modules.pms.mapper.PqcMapper; import com.xujie.sys.modules.pms.mapper.QcDao; import com.xujie.sys.modules.pms.mapper.QcMapper; -import com.xujie.sys.modules.pms.service.EamService; import com.xujie.sys.modules.pms.service.QcService; import com.xujie.sys.modules.pms.util.HttpClientUtil; import com.xujie.sys.modules.pms.util.ResponseData; import com.xujie.sys.modules.report.dao.ProcedureDao; import com.xujie.sys.modules.sys.entity.SysSceneDynamicControlModelEntity; -import com.xujie.sys.modules.sys.entity.SysUserEntity; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellType; import org.apache.poi.ss.usermodel.DataFormatter; import org.apache.poi.ss.usermodel.DateUtil; @@ -34,7 +31,6 @@ import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.data.redis.core.RedisTemplate; @@ -50,15 +46,12 @@ import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStream; import java.math.BigDecimal; -import java.text.DecimalFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; import java.util.regex.Pattern; import java.util.stream.Collectors; -import static org.apache.coyote.http11.Constants.a; - @Service @Slf4j public class QcServiceImpl implements QcService { @@ -3360,6 +3353,46 @@ public class QcServiceImpl implements QcService { } } + @Override + public List queryEquipmentFolderLocationList(QCEquipmentFolderLocation inData) { + String[] s = inData.getBu().split("_"); + inData.setSite(s[0]); + inData.setBuNo(s[1]); + IPage page = new Page<>(inData.getPage(), inData.getPageCount()); + return qcMapper.queryEquipmentFolderLocationList(page,inData); + } + + @Override + public List getSuffixList() { + return qcMapper.getSuffixList(); + } + + @Override + public R saveEquipmentFolderLocationList(QCEquipmentFolderLocation inData) { + //判断 新增 || 修改 + if (inData.getEditFlag()>0){ + int update = qcMapper.updateEquipmentFolderLocation(inData); + }else{ + String[] s = inData.getBu().split("_"); + inData.setSite(s[0]); + inData.setBuNo(s[1]); + //查重 site buNo equipmentNo(设备编码) 不能重复 + int count = qcMapper.checkEquipmentFolderLocation(inData); + if (count>0){ + return R.error("该记录已存在,请修改后重新保存!"); + } + qcMapper.saveEquipmentFolderLocationList(inData); + } + return R.ok(); + } + + @Override + public void deleteEquipmentFolderLocationList(List inData) { + for (QCEquipmentFolderLocation data : inData) { + qcMapper.deleteEquipmentFolderLocationList(data); + } + } + public void sendMailIQC(QcFAIRecordData data, String type) throws Exception { // 判断检验结论,不合格则发送邮件 if ("不合格".equals(data.getInspectionResult())) { diff --git a/src/main/java/com/xujie/sys/modules/pms/service/QcService.java b/src/main/java/com/xujie/sys/modules/pms/service/QcService.java index d6b0e07d..166f3d98 100644 --- a/src/main/java/com/xujie/sys/modules/pms/service/QcService.java +++ b/src/main/java/com/xujie/sys/modules/pms/service/QcService.java @@ -1,14 +1,12 @@ package com.xujie.sys.modules.pms.service; import com.xujie.sys.common.utils.PageUtils; +import com.xujie.sys.common.utils.R; import com.xujie.sys.modules.oss.entity.SysOssEntity; import com.xujie.sys.modules.pms.data.*; -import com.xujie.sys.modules.pms.data.QcMasterInformationData; -import com.xujie.sys.modules.pms.entity.DetailTree; import com.xujie.sys.modules.pms.entity.vo.CheckSubDetailValueVo; import com.xujie.sys.modules.pms.util.ResponseData; import com.xujie.sys.modules.sys.entity.SysSceneDynamicControlModelEntity; -import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.multipart.MultipartFile; import java.util.List; @@ -344,4 +342,12 @@ public interface QcService { void cancelApproval(QcFAIRecordData data); void cancelApproval2(QcFAIRecordData data); + + List queryEquipmentFolderLocationList(QCEquipmentFolderLocation inData); + + List getSuffixList(); + + R saveEquipmentFolderLocationList(QCEquipmentFolderLocation inData); + + void deleteEquipmentFolderLocationList(List inData); } diff --git a/src/main/resources/mapper/pms/QcMapper.xml b/src/main/resources/mapper/pms/QcMapper.xml index 49cf576b..959a06a1 100644 --- a/src/main/resources/mapper/pms/QcMapper.xml +++ b/src/main/resources/mapper/pms/QcMapper.xml @@ -2419,6 +2419,8 @@ a.production_date, a.expiration_warning_date, a.expiration_date, + a.cancel_check_date, + a.submit_date, a.pass_qty, a.not_pass_qty, a.batch_qualified_qty @@ -3991,6 +3993,17 @@ (#{item.site}, #{item.buNo}, #{item.templateId}, #{item.itemNo}, #{item.defaultValue}, #{item.minValue}, #{item.maxValue}, #{item.condition}, #{item.collectionSource}, #{item.seqNo}) + + insert into Equipment_folder_location + (folder_path,equipment_no,site,bu_no,file_no,backup_folder_path,IP,suffix,equipment_desc,backup_photo_path,batch_date,port,register_address, + register_num,register_num_columntype,register_address_inspection,register_num_inspection,register_num_inspection_columntype,unit_id, + excel_compare_fields_x,excel_compare_fields_y,initial_line,data_row,skip_line,cutting_symbol,transparent_flag,Formula_calculation, + Formula,Group_calculation,regexp,repair_type,buzzer,create_by,create_time) + values (#{folderPath}, #{equipmentNo}, #{site}, #{buNo}, #{fileNo}, #{backupFolderPath}, #{IP}, #{suffix}, #{equipmentDesc}, #{backupPhotoPath}, #{batchDate}, #{port}, #{registerAddress}, + #{registerNum}, #{registerNumColumntype}, #{registerAddressInspection}, #{registerNumInspection}, #{registerNumInspectionColumntype}, #{unitId}, + #{excelCompareFieldsX}, #{excelCompareFieldsY}, #{initialLine}, #{dataRow}, #{skipLine}, #{cuttingSymbol}, #{transparentFlag}, #{formulaCalculation}, + #{formula}, #{groupCalculation}, #{regexp}, #{repairType}, #{buzzer}, #{createBy}, getDate()) + select @@ -4231,12 +4248,84 @@ from QMS_soscheduledrouting_TASK where ISNULL(delete_flag, '') ]]> 'Y' + + UPDATE QMS_soscheduledrouting_TASK SET delete_flag = 'Y' WHERE id = #{id} + + + UPDATE Equipment_folder_location + SET + folder_path = #{folderPath}, + equipment_no = #{equipmentNo}, + bu_no = #{buNo}, + file_no = #{fileNo}, + backup_folder_path = #{backupFolderPath}, + IP = #{IP}, + suffix = #{suffix}, + equipment_desc = #{equipmentDesc}, + backup_photo_path = #{backupPhotoPath}, + batch_date = #{batchDate}, + port = #{port}, + register_address = #{registerAddress}, + register_num = #{registerNum}, + register_num_columntype = #{registerNumColumntype}, + register_address_inspection = #{registerAddressInspection}, + register_num_inspection = #{registerNumInspection}, + register_num_inspection_columntype = #{registerNumInspectionColumntype}, + unit_id = #{unitId}, + excel_compare_fields_x = #{excelCompareFieldsX}, + excel_compare_fields_y = #{excelCompareFieldsY}, + initial_line = #{initialLine}, + data_row = #{dataRow}, + skip_line = #{skipLine}, + cutting_symbol = #{cuttingSymbol}, + transparent_flag = #{transparentFlag}, + Formula_calculation = #{formulaCalculation}, + Formula = #{formula}, + Group_calculation = #{groupCalculation}, + regexp = #{regexp}, + repair_type = #{repairType}, + buzzer = #{buzzer}, + update_by = #{updateBy}, + update_time = getDate() + WHERE id = #{id} +