外协绩效月份弃用原updateTime字段,新增月份字段。

liweidong
qinyulong 2 weeks ago
parent 3d9a31d22d
commit 0804456476
  1. 6
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/oem/pojo/entity/OemMeritsEntity.java
  2. 7
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/oem/pojo/vo/OemMeritsVO.java
  3. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/oem/mapper/OemMeritsMapper.xml
  4. 16
      blade-service/blade-desk/src/main/java/org/springblade/desk/oem/service/impl/OemMeritsServiceImpl.java

@ -7,6 +7,7 @@ import lombok.EqualsAndHashCode;
import org.springblade.core.mp.base.BaseEntity;
import java.io.Serial;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
@ -342,5 +343,10 @@ public class OemMeritsEntity extends BaseEntity {
*/
@Schema(description = "清零问题-绩效得分")
private Double qlwtNum;
/**
* 月份
*/
@Schema(description = "月份")
private Date month;
}

@ -37,7 +37,10 @@ public class OemMeritsVO extends OemMeritsEntity {
private String monthStr;
public String getMonthStr() {
return DateTimeFormatter.ofPattern("yyyy-MM")
.format(this.getUpdateTime().toInstant().atZone(ZoneId.systemDefault()));
if (null != this.getMonth()) {
return DateTimeFormatter.ofPattern("yyyy-MM")
.format(this.getMonth().toInstant().atZone(ZoneId.systemDefault()));
}
return "";
}
}

@ -58,6 +58,7 @@
<result column="QLWT_TARGET" property="qlwtTarget"/>
<result column="QLWT_REALITY" property="qlwtReality"/>
<result column="QLWT_NUM" property="qlwtNum"/>
<result column="MONTH" property="month"/>
<result column="ca_code" property="caCode"/>
<result column="ca_name" property="caName"/>
@ -91,7 +92,7 @@
</foreach>
</if>
<if test="query.dateStr != null and query.dateStr != ''">
AND TO_CHAR(om.update_time, 'YYYY-MM') = #{query.dateStr}
AND TO_CHAR(om.month, 'YYYY-MM') = #{query.dateStr}
</if>
<if test="query.produceStatusList != null and query.produceStatusList != ''">
AND om.PRODUCE_STATUS IN

@ -58,10 +58,10 @@ public class OemMeritsServiceImpl extends BaseServiceImpl<OemMeritsMapper, OemMe
}
List<OemMeritsEntity> saves = new ArrayList<>();
for (OemMeritsEntity entity : entities) {
entity.setUpdateTime(date);
entity.setMonth(date);
entity.setOmStatus(OemMeritsEntity.NEW_DATA);
LambdaQueryWrapper<OemMeritsEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.apply("TO_CHAR(update_time, 'YYYY-MM') = TO_CHAR({0}, 'YYYY-MM')", date)
wrapper.apply("TO_CHAR(MONTH, 'YYYY-MM') = TO_CHAR({0}, 'YYYY-MM')", date)
.eq(OemMeritsEntity::getCaId, entity.getCaId())
.eq(OemMeritsEntity::getOcId, entity.getOcId());
// .eq(OemMeritsEntity::getOmStatus, OemMeritsEntity.NEW_DATA);
@ -148,9 +148,9 @@ public class OemMeritsServiceImpl extends BaseServiceImpl<OemMeritsMapper, OemMe
// 提取所有不重复的月份(格式为yyyy-MM)
Set<String> monthSet = proofreadSave.getOemMeritsEntities().stream()
.map(entity -> {
// 使用DateTimeFormatter将updateTime格式化为"yyyy-MM"
// 使用DateTimeFormatter将Month格式化为"yyyy-MM"
return DateTimeFormatter.ofPattern("yyyy-MM")
.format(entity.getUpdateTime().toInstant().atZone(ZoneId.systemDefault()));
.format(entity.getMonth().toInstant().atZone(ZoneId.systemDefault()));
})
.filter(Objects::nonNull) // 过滤掉可能的null值
.collect(Collectors.toSet());
@ -192,9 +192,9 @@ public class OemMeritsServiceImpl extends BaseServiceImpl<OemMeritsMapper, OemMe
// 提取所有不重复的月份(格式为yyyy-MM)
Set<String> monthSet = oemMeritsEntities.stream()
.map(entity -> {
// 使用DateTimeFormatter将updateTime格式化为"yyyy-MM"
// 使用DateTimeFormatter将Month格式化为"yyyy-MM"
return DateTimeFormatter.ofPattern("yyyy-MM")
.format(entity.getUpdateTime().toInstant().atZone(ZoneId.systemDefault()));
.format(entity.getMonth().toInstant().atZone(ZoneId.systemDefault()));
})
.filter(Objects::nonNull) // 过滤掉可能的null值
.collect(Collectors.toSet());
@ -335,7 +335,7 @@ public class OemMeritsServiceImpl extends BaseServiceImpl<OemMeritsMapper, OemMe
}
/**
* 更新排名以月份updateTime和工艺caId分组根据最终得分endScore给厂商ocId排名ranking
* 更新排名以月份Month和工艺caId分组根据最终得分endScore给厂商ocId排名ranking
*
* @param targetMonth 目标月份格式为 yyyy-MM
*/
@ -344,7 +344,7 @@ public class OemMeritsServiceImpl extends BaseServiceImpl<OemMeritsMapper, OemMe
LambdaQueryWrapper<OemMeritsEntity> queryWrapper = new LambdaQueryWrapper<>();
// 按月份过滤:使用apply进行日期格式化匹配
queryWrapper.apply("TO_CHAR(update_time, 'YYYY-MM') = {0}", targetMonth)
queryWrapper.apply("TO_CHAR(MONTH, 'YYYY-MM') = {0}", targetMonth)
.eq(OemMeritsEntity::getProduceStatus, OemMeritsEntity.PRODUCT_OK)
.eq(OemMeritsEntity::getQualityStatus, OemMeritsEntity.QUALITY_OK)
.isNotNull(OemMeritsEntity::getEndScore) // 排除最终得分为空的数据

Loading…
Cancel
Save