From c7b2dd66f2d9b6a1caf59f8fb5b3f8d5848602ff Mon Sep 17 00:00:00 2001
From: TQS <56479841@qq.com>
Date: 星期三, 11 一月 2023 14:24:04 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/task/MatScheduler.java | 2 +-
src/main/java/com/zy/asrs/entity/dto/MatnrCountDto.java | 12 ++++++++++++
src/main/java/com/zy/asrs/task/handler/MatHandler.java | 40 +++++++++++++++++++++++++++++++++++++++-
src/main/resources/mapper/MatMapper.xml | 2 +-
4 files changed, 53 insertions(+), 3 deletions(-)
diff --git a/src/main/java/com/zy/asrs/entity/dto/MatnrCountDto.java b/src/main/java/com/zy/asrs/entity/dto/MatnrCountDto.java
new file mode 100644
index 0000000..5fc86d1
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/dto/MatnrCountDto.java
@@ -0,0 +1,12 @@
+package com.zy.asrs.entity.dto;
+
+import lombok.Data;
+
+@Data
+public class MatnrCountDto {
+
+ private String matnr;
+
+ private Integer count;
+
+}
diff --git a/src/main/java/com/zy/asrs/task/MatScheduler.java b/src/main/java/com/zy/asrs/task/MatScheduler.java
index 01a2a50..88c936f 100644
--- a/src/main/java/com/zy/asrs/task/MatScheduler.java
+++ b/src/main/java/com/zy/asrs/task/MatScheduler.java
@@ -20,7 +20,7 @@
@Autowired
private MatHandler matHandler;
- @Scheduled(cron = "0 0 1 * * ? ")
+ @Scheduled(cron = "0 0 23 * * ? ")
private void execute(){
ReturnT<String> returnT = matHandler.start();
if (!returnT.isSuccess()) {
diff --git a/src/main/java/com/zy/asrs/task/handler/MatHandler.java b/src/main/java/com/zy/asrs/task/handler/MatHandler.java
index 0524e43..ff1933e 100644
--- a/src/main/java/com/zy/asrs/task/handler/MatHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/MatHandler.java
@@ -1,17 +1,27 @@
package com.zy.asrs.task.handler;
+import com.zy.asrs.entity.Mat;
+import com.zy.asrs.entity.dto.MatnrCountDto;
import com.zy.asrs.service.MatService;
+import com.zy.asrs.service.WrkDetlService;
+import com.zy.asrs.service.WrkMastService;
import com.zy.asrs.task.AbstractHandler;
import com.zy.asrs.task.core.ReturnT;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
/**
* Created by vincent on 2020/7/7
*/
+@Slf4j
@Service
public class MatHandler extends AbstractHandler<String> {
@@ -19,11 +29,39 @@
private JdbcTemplate jdbcTemplate;
@Autowired
private MatService matService;
+ @Autowired
+ private WrkDetlService wrkDetlService;
+ @Autowired
+ private WrkMastService wrkMastService;
@Transactional
public ReturnT<String> start() {
try {
-
+ Date now = new Date();
+ List<MatnrCountDto> matnrCountDtos = jdbcTemplate.queryForList("select\n" +
+ "matnr,\n" +
+ "count(1) as count\n" +
+ "from (\n" +
+ "\tselect\n" +
+ "\tdistinct awd.*\n" +
+ "\tfrom asr_wrk_mast_log awm\n" +
+ "\tleft join asr_wrk_detl_log awd on awm.wrk_no = awd.wrk_no\n" +
+ "\twhere 1=1\n" +
+ "\tand datediff(day, getdate(), awm.io_time) = 0 \n" +
+ "\tand io_type not in (103,104,107)\n" +
+ "\tand (manu_type is null or manu_type != '鎵嬪姩鍙栨秷')\n" +
+ ") a\n" +
+ "group by matnr", MatnrCountDto.class);
+ for (MatnrCountDto dto : matnrCountDtos) {
+ if (dto.getCount() >= 3) {
+ Mat mat = matService.selectByMatnr(dto.getMatnr());
+ mat.setInoutEveryday(Boolean.TRUE);
+ mat.setUpdateTime(now);
+ if (!matService.updateById(mat)) {
+ log.error("{}鍟嗗搧淇敼涓洪珮棰戝睘鎬уけ璐ワ紒", dto.getMatnr());
+ }
+ }
+ }
} catch (Exception e) {
e.printStackTrace();
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
diff --git a/src/main/resources/mapper/MatMapper.xml b/src/main/resources/mapper/MatMapper.xml
index 6ec9eef..5cffd06 100644
--- a/src/main/resources/mapper/MatMapper.xml
+++ b/src/main/resources/mapper/MatMapper.xml
@@ -74,7 +74,7 @@
<if test="specs != null and specs != ''">
and mm.specs like concat('%',#{specs},'%')
</if>
- ORDER BY mm.create_time DESC
+ ORDER BY mm.inout_everyday desc, mm.create_time DESC
</select>
<select id="selectByMatnr" resultMap="BaseResultMap">
--
Gitblit v1.9.1