diff --git a/op-modules/op-technology/src/main/java/com/op/technology/controller/ProCheckItemController.java b/op-modules/op-technology/src/main/java/com/op/technology/controller/ProCheckItemController.java index 01dc2cd55..d90149a40 100644 --- a/op-modules/op-technology/src/main/java/com/op/technology/controller/ProCheckItemController.java +++ b/op-modules/op-technology/src/main/java/com/op/technology/controller/ProCheckItemController.java @@ -11,6 +11,7 @@ import com.op.common.log.enums.BusinessType; import com.op.common.security.annotation.RequiresPermissions; import com.op.technology.domain.ProCheckItem; import com.op.technology.service.IProCheckItemService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; /** @@ -23,7 +24,7 @@ import org.springframework.web.bind.annotation.*; @RequestMapping("/pro/checkItem") @RequiresPermissions("mes:pro:procheck:list") public class ProCheckItemController extends BaseController { - @Resource + @Autowired private IProCheckItemService proCheckService; /** diff --git a/op-modules/op-technology/src/main/java/com/op/technology/controller/ProCheckRecordController.java b/op-modules/op-technology/src/main/java/com/op/technology/controller/ProCheckRecordController.java new file mode 100644 index 000000000..5c7151c66 --- /dev/null +++ b/op-modules/op-technology/src/main/java/com/op/technology/controller/ProCheckRecordController.java @@ -0,0 +1,98 @@ +package com.op.technology.controller; + +import com.op.common.core.web.controller.BaseController; +import com.op.common.core.web.domain.AjaxResult; +import com.op.common.core.web.page.TableDataInfo; +import com.op.technology.domain.ProCheckRecord; +import com.op.technology.service.IProCheckRecordService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * 检查记录管理 + * + * @author huangjinxian + * @date 2026-06-25 + */ +@RestController +@RequestMapping("/pro/proCheckRecord") +public class ProCheckRecordController extends BaseController { + @Autowired + private IProCheckRecordService proCheckRecordService; + + /** + * 根据记录 ID 查询 + * + * @param recordId 记录 ID + * @return 检查记录 + */ + @GetMapping("/{recordId}") + public AjaxResult selectProCheckRecordById(@PathVariable("recordId") Integer recordId) { + ProCheckRecord proCheckRecord = proCheckRecordService.selectProCheckRecordById(recordId); + return AjaxResult.success(proCheckRecord); + } + + /** + * 查询检查记录列表(带关联信息和排序)- GET 方式 + * + * @param proCheckRecord 检查记录查询条件 + * @return 检查记录集合 + */ + @GetMapping("/list") + public TableDataInfo selectProCheckRecordListGet(ProCheckRecord proCheckRecord) { + startPage(); + List proCheckRecordList = proCheckRecordService.selectProCheckRecordList(proCheckRecord); + return getDataTable(proCheckRecordList); + } + + /** + * 新增检查记录 + * + * @param proCheckRecord 检查记录 + * @return 结果 + */ + @PostMapping + public AjaxResult insertProCheckRecord(@RequestBody @Validated ProCheckRecord proCheckRecord) { + int rows = proCheckRecordService.insertProCheckRecord(proCheckRecord); + return AjaxResult.success("新增成功", rows); + } + + /** + * 修改检查记录 + * + * @param proCheckRecord 检查记录 + * @return 结果 + */ + @PutMapping + public AjaxResult updateProCheckRecord(@RequestBody @Validated ProCheckRecord proCheckRecord) { + int rows = proCheckRecordService.updateProCheckRecord(proCheckRecord); + return AjaxResult.success("修改成功", rows); + } + + /** + * 批量删除检查记录 + * + * @param recordIds 需要删除的记录 ID 集合 + * @return 结果 + */ + @DeleteMapping("/ids") + public AjaxResult deleteProCheckRecordByIds(@RequestBody Integer[] recordIds) { + int rows = proCheckRecordService.deleteProCheckRecordByIds(recordIds); + return AjaxResult.success("批量删除成功", rows); + } + + /** + * 删除检查记录信息 + * + * @param recordId 记录 ID + * @return 结果 + */ + @DeleteMapping("/{recordId}") + public AjaxResult deleteProCheckRecordById(@PathVariable("recordId") Integer recordId) { + int rows = proCheckRecordService.deleteProCheckRecordById(recordId); + return AjaxResult.success("删除成功", rows); + } +} diff --git a/op-modules/op-technology/src/main/java/com/op/technology/domain/ProCheckRecord.java b/op-modules/op-technology/src/main/java/com/op/technology/domain/ProCheckRecord.java new file mode 100644 index 000000000..7f8c2c05e --- /dev/null +++ b/op-modules/op-technology/src/main/java/com/op/technology/domain/ProCheckRecord.java @@ -0,0 +1,47 @@ +package com.op.technology.domain; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.op.common.core.web.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * Description: 数据库表:pro_check_record + * + * @author : huangjinxian + * @version : 1.0 + * @since : 2026/5/27 + */ +@SuppressWarnings({"unused", "SpellCheckingInspection"}) +@Data +@EqualsAndHashCode(callSuper = true) +@JsonIgnoreProperties(ignoreUnknown = true) +public class ProCheckRecord extends BaseEntity { + //主键 + Integer recordId; + + //记录日期 + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + Date recordTime; + + //记录人id + String recordPerson; + + //异常状态,0-异常,1-正常 + Boolean abnoStatus; + + //是否删除 + Boolean isDel; + + + //记录人名称关联出来(数据库SQLserver,跨库lanju_op_cloud,表sys_user,关联字段user_id) + String recordPersonName; + + //查询从从表关联出来的记录(表pro_check_record_detail,关联字段recordId) + private List details = new ArrayList<>(); +} diff --git a/op-modules/op-technology/src/main/java/com/op/technology/domain/ProCheckRecordDetail.java b/op-modules/op-technology/src/main/java/com/op/technology/domain/ProCheckRecordDetail.java new file mode 100644 index 000000000..39f355b53 --- /dev/null +++ b/op-modules/op-technology/src/main/java/com/op/technology/domain/ProCheckRecordDetail.java @@ -0,0 +1,44 @@ +package com.op.technology.domain; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.op.common.core.web.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.List; + +/** + * Description: 数据库表:pro_check_record_detail + * + * @author : huangjinxian + * @version : 1.0 + * @since : 2026/5/27 + */ +@SuppressWarnings({"unused", "SpellCheckingInspection"}) +@Data +@EqualsAndHashCode(callSuper = true) +@JsonIgnoreProperties(ignoreUnknown = true) +public class ProCheckRecordDetail extends BaseEntity { + //主键 + Integer detailId; + + //记录id(关联主表id) + Integer recordId; + + //项目名称 + String itemName; + + //排序号 + List checkObject; + + //排序号 + Integer sortOrder; + + //检查值 + String checkValue; + + //异常信息 + String abnoRemark; + //是否删除 + Boolean isDel; +} diff --git a/op-modules/op-technology/src/main/java/com/op/technology/mapper/ProCheckRecordMapper.java b/op-modules/op-technology/src/main/java/com/op/technology/mapper/ProCheckRecordMapper.java new file mode 100644 index 000000000..76e3186f3 --- /dev/null +++ b/op-modules/op-technology/src/main/java/com/op/technology/mapper/ProCheckRecordMapper.java @@ -0,0 +1,59 @@ +package com.op.technology.mapper; + +import com.op.technology.domain.ProCheckRecord; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 检查记录 Mapper 接口 + * + * @author huangjinxian + * @date 2026-06-25 + */ +@Mapper +public interface ProCheckRecordMapper { + + /** + * 根据记录 ID 查询 + * @param recordId 记录 ID + * @return 检查记录 + */ + ProCheckRecord selectById(@Param("recordId") Integer recordId); + + /** + * 查询检查记录列表(带关联信息和排序) + * @param proCheckRecord 检查记录 + * @return 检查记录集合 + */ + List selectList(ProCheckRecord proCheckRecord); + + /** + * 新增检查记录 + * @param proCheckRecord 检查记录 + * @return 结果 + */ + int insert(ProCheckRecord proCheckRecord); + + /** + * 修改检查记录 + * @param proCheckRecord 检查记录 + * @return 结果 + */ + int update(ProCheckRecord proCheckRecord); + + /** + * 根据记录 ID 删除 + * @param recordId 记录 ID + * @return 结果 + */ + int deleteById(@Param("recordId") Integer recordId); + + /** + * 批量删除检查记录 + * @param recordIds 需要删除的记录 ID 集合 + * @return 结果 + */ + int deleteByIds(@Param("recordIds") Integer[] recordIds); +} diff --git a/op-modules/op-technology/src/main/java/com/op/technology/service/IProCheckRecordService.java b/op-modules/op-technology/src/main/java/com/op/technology/service/IProCheckRecordService.java new file mode 100644 index 000000000..a50ba8b00 --- /dev/null +++ b/op-modules/op-technology/src/main/java/com/op/technology/service/IProCheckRecordService.java @@ -0,0 +1,62 @@ +package com.op.technology.service; + +import com.op.technology.domain.ProCheckRecord; + +import java.util.List; + +/** + * 检查记录 Service 接口 + * + * @author huangjinxian + * @date 2026-06-25 + */ +public interface IProCheckRecordService { + + /** + * 根据记录 ID 查询 + * + * @param recordId 记录 ID + * @return 检查记录 + */ + ProCheckRecord selectProCheckRecordById(Integer recordId); + + /** + * 查询检查记录列表(带关联信息和排序) + * + * @param proCheckRecord 检查记录 + * @return 检查记录集合 + */ + List selectProCheckRecordList(ProCheckRecord proCheckRecord); + + /** + * 新增检查记录 + * + * @param proCheckRecord 检查记录 + * @return 结果 + */ + int insertProCheckRecord(ProCheckRecord proCheckRecord); + + /** + * 修改检查记录 + * + * @param proCheckRecord 检查记录 + * @return 结果 + */ + int updateProCheckRecord(ProCheckRecord proCheckRecord); + + /** + * 批量删除检查记录 + * + * @param recordIds 需要删除的记录 ID 集合 + * @return 结果 + */ + int deleteProCheckRecordByIds(Integer[] recordIds); + + /** + * 删除检查记录信息 + * + * @param recordId 记录 ID + * @return 结果 + */ + int deleteProCheckRecordById(Integer recordId); +} diff --git a/op-modules/op-technology/src/main/java/com/op/technology/service/impl/ProCheckRecordServiceImpl.java b/op-modules/op-technology/src/main/java/com/op/technology/service/impl/ProCheckRecordServiceImpl.java new file mode 100644 index 000000000..7fea86dc7 --- /dev/null +++ b/op-modules/op-technology/src/main/java/com/op/technology/service/impl/ProCheckRecordServiceImpl.java @@ -0,0 +1,59 @@ +package com.op.technology.service.impl; + +import com.baomidou.dynamic.datasource.annotation.DS; +import com.op.technology.domain.ProCheckRecord; +import com.op.technology.mapper.ProCheckRecordMapper; +import com.op.technology.service.IProCheckRecordService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 检查记录 Service 业务层处理 + * + * @author huangjinxian + * @date 2026-06-25 + */ +@Service +public class ProCheckRecordServiceImpl implements IProCheckRecordService { + + @Autowired + private ProCheckRecordMapper proCheckRecordMapper; + + @Override + @DS("#header.poolName") + public ProCheckRecord selectProCheckRecordById(Integer recordId) { + return proCheckRecordMapper.selectById(recordId); + } + + @Override + @DS("#header.poolName") + public List selectProCheckRecordList(ProCheckRecord proCheckRecord) { + return proCheckRecordMapper.selectList(proCheckRecord); + } + + @Override + @DS("#header.poolName") + public int insertProCheckRecord(ProCheckRecord proCheckRecord) { + return proCheckRecordMapper.insert(proCheckRecord); + } + + @Override + @DS("#header.poolName") + public int updateProCheckRecord(ProCheckRecord proCheckRecord) { + return proCheckRecordMapper.update(proCheckRecord); + } + + @Override + @DS("#header.poolName") + public int deleteProCheckRecordByIds(Integer[] recordIds) { + return proCheckRecordMapper.deleteByIds(recordIds); + } + + @Override + @DS("#header.poolName") + public int deleteProCheckRecordById(Integer recordId) { + return proCheckRecordMapper.deleteById(recordId); + } +} diff --git a/op-modules/op-technology/src/main/resources/mapper/technology/ProCheckItemMapper.xml b/op-modules/op-technology/src/main/resources/mapper/technology/ProCheckItemMapper.xml index 9b190fa92..7f37f6bab 100644 --- a/op-modules/op-technology/src/main/resources/mapper/technology/ProCheckItemMapper.xml +++ b/op-modules/op-technology/src/main/resources/mapper/technology/ProCheckItemMapper.xml @@ -5,7 +5,7 @@ - + @@ -37,7 +37,7 @@ - order by sort_order desc + order by sort_order asc,item_id asc + select detail_id, record_id, item_name, check_object, sort_order, check_value, abno_remark, is_del + from pro_check_record_detail + where record_id = #{recordId} and is_del = 0 + order by sort_order,detail_id + + + + select t1.record_id, + t1.record_time, + t1.record_person, + t1.abno_status, + t1.is_del, + t3.nick_name as record_person_name + from pro_check_record t1 + left join lanju_op_cloud.dbo.sys_user t3 on t1.record_person = t3.user_id + + + + + + + + insert into pro_check_record + + record_id, + record_time, + record_person, + abno_status, + is_del, + + + #{recordId}, + #{recordTime}, + #{recordPerson}, + #{abnoStatus}, + + #{isDel}, + 0, + + + + + + update pro_check_record + + record_time = #{recordTime}, + record_person = #{recordPerson}, + abno_status = #{abnoStatus}, + is_del = #{isDel}, + + where record_id = #{recordId} + + + + update pro_check_record set is_del = 1 where record_id = #{recordId} + + + + update pro_check_record set is_del = 1 where record_id in + + #{recordId} + + +