修改 周期性试验相关。

develop-QA
Tom Li 3 months ago
parent e63f776e07
commit 03ecdde231
  1. 10
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/CycleTestTask.java
  2. 13
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/request/CycleTestTaskSearch.java
  3. 5
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/CycleTestTaskVO.java
  4. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/excel/CycleTestTaskExcel.java
  5. 32
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/CycleTestTaskMapper.xml
  6. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/CycleTestService2.java
  7. 16
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/CycleTestTaskService2.java

@ -309,4 +309,14 @@ public class CycleTestTask extends BaseEntity {
*/ */
@Schema(description = "超期原因") @Schema(description = "超期原因")
private String reasonForOut; private String reasonForOut;
/**
* 临期天数
*/
@Schema(description = "临期天数")
private Integer dayToPlanedFinish;
/**
* 超期天数
*/
@Schema(description = "超期天数")
private Integer dayToOut;
} }

@ -30,7 +30,6 @@ public class CycleTestTaskSearch extends CycleTestTask {
private Date createTimeEnd; private Date createTimeEnd;
@Schema(description = "状态数组") @Schema(description = "状态数组")
private List<Integer> statusList; private List<Integer> statusList;
/** /**
* [周期试验项目]名称 * [周期试验项目]名称
*/ */
@ -63,6 +62,18 @@ public class CycleTestTaskSearch extends CycleTestTask {
@JsonDeserialize(using = LocalDateTimeEndOfDayDeserializer.class) @JsonDeserialize(using = LocalDateTimeEndOfDayDeserializer.class)
@Schema(description = "一次性任务生成日期-结束") @Schema(description = "一次性任务生成日期-结束")
private LocalDateTime oneTimeGenDateEnd; private LocalDateTime oneTimeGenDateEnd;
/**
* 一次性任务生成日期-开始
*/
@JsonDeserialize(using = DateBeginOfDayDeserializer.class)
@Schema(description = "生成日期-开始")
private Date genDatetimeStart;
/**
* 一次性任务生成日期-结束
*/
@JsonDeserialize(using = DateEndOfDayDeserializer.class)
@Schema(description = "生成日期-结束")
private Date genDatetimeEnd;
/** /**
* 下发时间-开始 * 下发时间-开始
*/ */

@ -3,10 +3,12 @@
*/ */
package org.springblade.desk.quality.pojo.vo; package org.springblade.desk.quality.pojo.vo;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import org.springblade.desk.quality.pojo.entity.CycleTestTask; import org.springblade.desk.quality.pojo.entity.CycleTestTask;
import org.springblade.desk.util.json.serializer.IntegerAllToStringSerializer;
import java.io.Serial; import java.io.Serial;
import java.time.LocalDateTime; import java.time.LocalDateTime;
@ -61,8 +63,9 @@ public class CycleTestTaskVO extends CycleTestTask {
/** /**
* 临期天数 * 临期天数
*/ */
@JsonSerialize(using = IntegerAllToStringSerializer.class)
@Schema(description = "临期天数") @Schema(description = "临期天数")
private String countDayToPlanedFinish; private Integer countDayToPlanedFinish;
/** /**
* 填报[附件]附件地址 * 填报[附件]附件地址
*/ */

@ -76,7 +76,7 @@ public class CycleTestTaskExcel implements Serializable {
*/ */
@Schema(description = "工艺员[用户]姓名") @Schema(description = "工艺员[用户]姓名")
@ColumnWidth(20) @ColumnWidth(20)
@ExcelProperty("状态") @ExcelProperty("工艺员")
private String processUserName; private String processUserName;
/** /**
* 任务生成时间 * 任务生成时间

@ -37,6 +37,8 @@
<result column="FLAG_APPROACH" property="flagApproach"/> <result column="FLAG_APPROACH" property="flagApproach"/>
<result column="FLAG_OUT" property="flagOut"/> <result column="FLAG_OUT" property="flagOut"/>
<result column="REASON_FOR_OUT" property="reasonForOut"/> <result column="REASON_FOR_OUT" property="reasonForOut"/>
<result column="DAY_TO_PLANED_FINISH" property="dayToPlanedFinish"/>
<result column="DAY_TO_OUT" property="dayToOut"/>
</resultMap> </resultMap>
<select id="selectCycleTestTaskPage" resultMap="cycleTestTaskResultMap"> <select id="selectCycleTestTaskPage" resultMap="cycleTestTaskResultMap">
@ -103,12 +105,21 @@
<if test="q.createTimeEnd != null"> <if test="q.createTimeEnd != null">
AND t.CREATE_TIME &lt;= #{q.createTimeEnd} AND t.CREATE_TIME &lt;= #{q.createTimeEnd}
</if> </if>
<if test="q.genDatetimeStart != null">
AND t.CREATE_TIME &gt;= #{q.genDatetimeStart}
</if>
<if test="q.genDatetimeEnd != null">
AND t.CREATE_TIME &lt;= #{q.genDatetimeEnd}
</if>
<if test="q.testType != null"> <if test="q.testType != null">
AND t.TEST_TYPE = #{q.testType} AND t.TEST_TYPE = #{q.testType}
</if> </if>
<if test="q.code != null and q.code != ''"> <if test="q.code != null and q.code != ''">
AND t.CODE LIKE '%' || #{q.code} || '%' AND t.CODE LIKE '%' || #{q.code} || '%'
</if> </if>
<if test="q.cycleTestItemId != null">
AND item.ID = #{q.cycleTestItemId}
</if>
<if test="q.cycleTestItemName != null and q.cycleTestItemName != ''"> <if test="q.cycleTestItemName != null and q.cycleTestItemName != ''">
AND item.NAME LIKE '%' || #{q.cycleTestItemName} || '%' AND item.NAME LIKE '%' || #{q.cycleTestItemName} || '%'
</if> </if>
@ -145,6 +156,12 @@
<if test="q.finishDateEnd != null"> <if test="q.finishDateEnd != null">
AND t.FINISH_DATE &lt;= #{q.finishDateEnd} AND t.FINISH_DATE &lt;= #{q.finishDateEnd}
</if> </if>
<if test="q.dayToPlanedFinish != null">
AND t.DAY_TO_PLANED_FINISH = #{q.dayToPlanedFinish}
</if>
<if test="q.dayToOut != null">
AND t.DAY_TO_OUT = #{q.dayToOut}
</if>
ORDER BY t.STATUS ASC,t.CREATE_TIME ASC ORDER BY t.STATUS ASC,t.CREATE_TIME ASC
</select> </select>
@ -187,12 +204,21 @@
<if test="q.createTimeEnd != null"> <if test="q.createTimeEnd != null">
AND t.CREATE_TIME &lt;= #{q.createTimeEnd} AND t.CREATE_TIME &lt;= #{q.createTimeEnd}
</if> </if>
<if test="q.genDatetimeStart != null">
AND t.CREATE_TIME &gt;= #{q.genDatetimeStart}
</if>
<if test="q.genDatetimeEnd != null">
AND t.CREATE_TIME &lt;= #{q.genDatetimeEnd}
</if>
<if test="q.testType != null"> <if test="q.testType != null">
AND t.TEST_TYPE = #{q.testType} AND t.TEST_TYPE = #{q.testType}
</if> </if>
<if test="q.code != null and q.code != ''"> <if test="q.code != null and q.code != ''">
AND t.CODE LIKE '%' || #{q.code} || '%' AND t.CODE LIKE '%' || #{q.code} || '%'
</if> </if>
<if test="q.cycleTestItemId != null">
AND item.ID = #{q.cycleTestItemId}
</if>
<if test="q.cycleTestItemName != null and q.cycleTestItemName != ''"> <if test="q.cycleTestItemName != null and q.cycleTestItemName != ''">
AND item.NAME LIKE '%' || #{q.cycleTestItemName} || '%' AND item.NAME LIKE '%' || #{q.cycleTestItemName} || '%'
</if> </if>
@ -229,6 +255,12 @@
<if test="q.finishDateEnd != null"> <if test="q.finishDateEnd != null">
AND t.FINISH_DATE &lt;= #{q.finishDateEnd} AND t.FINISH_DATE &lt;= #{q.finishDateEnd}
</if> </if>
<if test="q.dayToPlanedFinish != null">
AND t.DAY_TO_PLANED_FINISH = #{q.dayToPlanedFinish}
</if>
<if test="q.dayToOut != null">
AND t.DAY_TO_OUT = #{q.dayToOut}
</if>
ORDER BY t.STATUS ASC,t.CREATE_TIME ASC ORDER BY t.STATUS ASC,t.CREATE_TIME ASC
</select> </select>
</mapper> </mapper>

@ -201,7 +201,7 @@ public class CycleTestService2 {
String namesF = names.toString(); String namesF = names.toString();
if (StringUtils.isNotBlank(namesF) && StringUtils.endsWith(namesF, ",")) { if (StringUtils.isNotBlank(namesF) && StringUtils.endsWith(namesF, ",")) {
// 去掉结尾, // 去掉结尾,
StringUtils.removeEnd(namesF, ","); namesF = StringUtils.removeEnd(namesF, ",");
} }
vo.setPlateNames(namesF); vo.setPlateNames(namesF);
} }

@ -514,7 +514,7 @@ public class CycleTestTaskService2 {
} }
/** /**
* 临期天数 * 计算临期天数
* 临期天数 0时红色 * 临期天数 0时红色
* 临期天数 0~7 橙色 * 临期天数 0~7 橙色
* 临期天数 >= 7时黄色 * 临期天数 >= 7时黄色
@ -526,18 +526,18 @@ public class CycleTestTaskService2 {
* @param id * @param id
* @return * @return
*/ */
public String getCountDayToOut(Long id) { public Integer getCountDayToOut(Long id) {
CycleTestTask task = service.getById(id); CycleTestTask task = service.getById(id);
if (Objects.equals(task.getStatus(), CycleTestTaskConst.S_PENDING_ACCEPT) || if (Objects.equals(task.getStatus(), CycleTestTaskConst.S_PENDING_ACCEPT) ||
Objects.equals(task.getStatus(), CycleTestTaskConst.S_PENDING_TEST)) { Objects.equals(task.getStatus(), CycleTestTaskConst.S_PENDING_TEST)) {
LocalDate outLD = getOutDate(id); LocalDate outLD = getOutDate(id);
if (outLD == null) { if (outLD == null) {
return ""; return 0;
} }
long daysDiff = ChronoUnit.DAYS.between(LocalDate.now(), outLD); long daysDiff = ChronoUnit.DAYS.between(LocalDate.now(), outLD);
return "" + (int) daysDiff; return (int) daysDiff;
} }
return ""; return 0;
} }
/** /**
@ -563,9 +563,11 @@ public class CycleTestTaskService2 {
if (todayLD.isEqual(remindLD) || (todayLD.isAfter(remindLD) && todayLD.isBefore(outLD))) { if (todayLD.isEqual(remindLD) || (todayLD.isAfter(remindLD) && todayLD.isBefore(outLD))) {
task.setFlagOut(BaseValue.NO); task.setFlagOut(BaseValue.NO);
task.setFlagApproach(BaseValue.YES); task.setFlagApproach(BaseValue.YES);
// 更新状态
service.updateById(task);
} }
// 设置临期天数
task.setDayToPlanedFinish(getCountDayToOut(task.getId()));
// 更新状态
service.updateById(task);
} }
} }

Loading…
Cancel
Save