wwh пре 2 дана
родитељ
комит
464dd48899

+ 0 - 1
app-admin/src/main/java/com/ruoyi/web/v3/controller/HbCheckAsfController.java

@@ -1,6 +1,5 @@
 package com.ruoyi.web.v3.controller;
 
-
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.web.v3.entity.HbCheckAsfEntity;
 import com.ruoyi.web.v3.model.request.HbCheckAsfPageReq;

+ 6 - 0
app-admin/src/main/java/com/ruoyi/web/v3/entity/HbCheckAsfEntity.java

@@ -4,8 +4,10 @@ import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
 import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
+import com.ruoyi.common.annotation.Excel;
 import com.ruoyi.common.core.domain.AbstractEntity;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -88,4 +90,8 @@ public class HbCheckAsfEntity extends AbstractEntity implements Serializable {
     @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
     private LocalDateTime veterinaryTime;
 
+    @ApiModelProperty(value = "入场批次ID")
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long entranceBatchId;
+
 }

+ 8 - 0
app-admin/src/main/java/com/ruoyi/web/v3/model/request/HbCheckAsfPageReq.java

@@ -1,5 +1,8 @@
 package com.ruoyi.web.v3.model.request;
 
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import com.ruoyi.common.annotation.Excel;
 import com.ruoyi.web.v3.model.BasePageRequest;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -68,4 +71,9 @@ public class HbCheckAsfPageReq extends BasePageRequest implements Serializable {
     @ApiModelProperty(value = "兽医签名日期")
     private String veterinaryTime;
 
+    /** 入场批次ID */
+    @ApiModelProperty(value = "检测报告编号")
+    @JsonSerialize(using = ToStringSerializer.class)
+    @Excel(name = "入场批次ID")
+    private Long entranceBatchId;
 }

+ 1 - 0
app-admin/src/main/java/com/ruoyi/web/v3/service/IHbCheckAsfService.java

@@ -21,4 +21,5 @@ public interface IHbCheckAsfService extends IService<HbCheckAsfEntity> {
     AjaxResult page(HbCheckAsfPageReq request);
 
     AjaxResult listAll();
+
 }

+ 14 - 5
app-admin/src/main/java/com/ruoyi/web/v3/service/impl/HbCheckAsfServiceImpl.java

@@ -13,6 +13,8 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.ObjectUtils;
 
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
 import java.util.Arrays;
 
 import static com.ruoyi.common.core.domain.AjaxResult.error;
@@ -20,7 +22,7 @@ import static com.ruoyi.common.core.domain.AjaxResult.success;
 
 /**
  * <p>
- * v2.0设备档案管理 服务实现类
+ * v3.0非洲猪瘟检测登记 服务实现类
  * </p>
  *
  */
@@ -31,14 +33,21 @@ public class HbCheckAsfServiceImpl extends ServiceImpl<HbCheckAsfMapper, HbCheck
     @Override
     public AjaxResult add(HbCheckAsfEntity request) {
         //入参检测
-        if(ObjectUtils.isEmpty(request.getRecordId())) {
-            return error("请输入【报告编号】!");
+        if(ObjectUtils.isEmpty(request.getQuantity())) {
+            return error("请输入【检测生猪数】!");
         }
-        //防重检测,
-        Integer count = lambdaQuery().eq(HbCheckAsfEntity::getRecordId, request.getRecordId()).count();
+        //防重检测
+        Integer count = lambdaQuery().eq(HbCheckAsfEntity::getSampleNoGroup, request.getSampleNoGroup())
+                .eq(HbCheckAsfEntity::getAnimalCertNo, request.getAnimalCertNo()).count();
         if (count != 0) {
             return error("请勿重复添加!");
         }
+        //自动处理【检测报告编号】
+        if(ObjectUtils.isEmpty(request.getRecordId())) {
+            request.setRecordId(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMdd")));
+        }
+        //自动处理【混样记录】编号
+        request.setMixedRecord(request.getAnimalCertNo()+request.getSampleNoGroup());
         return success("添加成功", baseMapper.insert(request));
     }
 

+ 68 - 0
app-system/src/main/java/com/ruoyi/app/domain/HarmlessTreatment.java

@@ -15,6 +15,7 @@ import javax.validation.constraints.*;
  * @author coede
  * @date 2025-03-19
  */
+
 public class HarmlessTreatment extends BaseEntity {
     private static final long serialVersionUID = 1L;
 
@@ -92,6 +93,73 @@ public class HarmlessTreatment extends BaseEntity {
      */
     private String delFlag;
 
+    public String getExaminerName() {
+        return examinerName;
+    }
+
+    public void setExaminerName(String examinerName) {
+        this.examinerName = examinerName;
+    }
+
+    public String getVeterinaryName() {
+        return veterinaryName;
+    }
+
+    public void setVeterinaryName(String veterinaryName) {
+        this.veterinaryName = veterinaryName;
+    }
+
+    public String getSupervisorConfirm() {
+        return supervisorConfirm;
+    }
+
+    public void setSupervisorConfirm(String supervisorConfirm) {
+        this.supervisorConfirm = supervisorConfirm;
+    }
+
+    public String getCargoOwnerConfirm() {
+        return cargoOwnerConfirm;
+    }
+
+    public void setCargoOwnerConfirm(String cargoOwnerConfirm) {
+        this.cargoOwnerConfirm = cargoOwnerConfirm;
+    }
+
+    public String getClerkName() {
+        return clerkName;
+    }
+
+    public void setClerkName(String clerkName) {
+        this.clerkName = clerkName;
+    }
+
+    public String getDirectorConfirm() {
+        return directorConfirm;
+    }
+
+    public void setDirectorConfirm(String directorConfirm) {
+        this.directorConfirm = directorConfirm;
+    }
+
+    /* 无害化处理人员签字 */
+    private String examinerName;
+
+    /* 兽医卫生检验人员签字 */
+    private String veterinaryName;
+
+    /* 农业农村部门监管人员签字 */
+    private String supervisorConfirm;
+
+    /* 货主签字 */
+    private String cargoOwnerConfirm;
+
+    /* 填表人 */
+    private String clerkName;
+
+    /* 屠宰企业负责人签字 */
+    private String directorConfirm;
+
+
     public void setId(Long id) {
         this.id = id;
     }

+ 24 - 0
app-system/src/main/resources/mapper/app/HarmlessTreatmentMapper.xml

@@ -20,6 +20,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="updateTime"    column="update_time"    />
         <result property="updateBy"    column="update_by"    />
         <result property="delFlag"    column="del_flag"    />
+        <result property="examinerName"    column="examiner_name"    />
+        <result property="veterinaryName"    column="veterinary_name"    />
+        <result property="supervisorConfirm"    column="supervisor_confirm"    />
+        <result property="cargoOwnerConfirm"    column="cargoOwner_confirm"    />
+        <result property="clerkName"    column="clerk_name"    />
+        <result property="directorConfirm"    column="director_confirm"    />
     </resultMap>
 
     <resultMap type="com.ruoyi.app.DTO.HarmlessSumDTO" id="HarmlessSumDTOResult">
@@ -69,6 +75,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="dealWay != null">deal_way,</if>
             <if test="createTime != null">create_time,</if>
             <if test="createBy != null">create_by,</if>
+            <if test="examinerName != null">examiner_name,</if>
+            <if test="veterinaryName != null">veterinary_name,</if>
+            <if test="supervisorConfirm != null">supervisor_confirm,</if>
+            <if test="cargoOwnerConfirm != null">cargo_owner_confirm,</if>
+            <if test="clerkName != null">clerk_name,</if>
+            <if test="directorConfirm != null">director_confirm,</if>
             del_flag
          </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
@@ -83,6 +95,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="dealWay != null">#{dealWay},</if>
             <if test="createTime != null">#{createTime},</if>
             <if test="createBy != null">#{createBy},</if>
+            <if test="examinerName != null">#{examinerName},</if>
+            <if test="veterinaryName != null">#{veterinaryName},</if>
+            <if test="supervisorConfirm != null">#{supervisorConfirm},</if>
+            <if test="cargoOwnerConfirm != null">#{cargoOwnerConfirm},</if>
+            <if test="clerkName != null">#{clerkName},</if>
+            <if test="directorConfirm != null">#{directorConfirm},</if>
             '0'
          </trim>
     </insert>
@@ -101,6 +119,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="dealWay != null">deal_way = #{dealWay},</if>
             <if test="updateTime != null">update_time = #{updateTime},</if>
             <if test="updateBy != null">update_by = #{updateBy},</if>
+            <if test="examinerName != null">examiner_name = #{examinerName},</if>
+            <if test="veterinaryName != null">veterinary_name = #{veterinaryName},</if>
+            <if test="supervisorConfirm != null">supervisor_confirm = #{supervisorConfirm},</if>
+            <if test="cargoOwnerConfirm != null">cargo_owner_confirm = #{cargoOwnerConfirm},</if>
+            <if test="clerkName != null">clerk_name = #{clerkName},</if>
+            <if test="directorConfirm != null">director_confirm = #{directorConfirm},</if>
         </trim>
         where entrance_batch_id = #{entranceBatchId} and del_flag = '0'
     </update>

+ 10 - 1
sql/v3_biz_20250814.sql

@@ -429,4 +429,13 @@ CREATE TABLE `hb_equip_maintenance_monthly` (
                                             `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
                                             `update_by` VARCHAR ( 255 ) DEFAULT NULL COMMENT '更新者',
                                             `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='设备维保记录(月次)';
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='设备维保记录(月次)';
+
+
+-- 修改已有表结构
+ALTER TABLE harmless_treatment ADD COLUMN examiner_name VARCHAR ( 30 ) COMMENT '无害化处理人员签字',
+ADD COLUMN veterinary_name VARCHAR ( 30 ) COMMENT '兽医卫生检验人员签字',
+ADD COLUMN supervisor_confirm VARCHAR ( 30 ) COMMENT '农业农村部门监管人员签字',
+ADD COLUMN cargo_owner_confirm VARCHAR ( 30 ) COMMENT '货主签字',
+ADD COLUMN clerk_name VARCHAR ( 30 ) COMMENT '填表人',
+ADD COLUMN director_confirm VARCHAR ( 30 ) COMMENT '屠宰企业负责人签字';