Merge branch 'liweidong'

liweidong
liweidong-hj 2 weeks ago
commit 85fa4bf0f6
  1. 4
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/logistics/pojo/entity/PrWorkOrder.java
  2. 9
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/DsTaskingMapper.java
  3. 7
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/TaskingMapper.xml
  4. 18
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsTaskingServiceImpl.java

@ -7,6 +7,7 @@ import lombok.EqualsAndHashCode;
import org.springblade.core.mp.base.BaseEntity;
import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
@ -19,8 +20,7 @@ import java.util.Date;
@Data
@TableName("PR_WORK_ORDER")
@Schema(description = "车间订单->视图")
@EqualsAndHashCode(callSuper = true)
public class PrWorkOrder extends BaseEntity {
public class PrWorkOrder implements Serializable {
@Serial
private static final long serialVersionUID = 1L;

@ -95,7 +95,8 @@ public interface DsTaskingMapper extends BaseMapper<DsTaskingEntity> {
* 读取老mes返工任务数据
* @return
*/
List<DsTaskingEntity> selectOldMesReworkTasking();
List<DsTaskingEntity> selectOldMesReworkTasking(@Param("startTime") Date startTime,
@Param("endTime")Date endTime);
/**
* 根据条件查询 新mes
@ -133,4 +134,10 @@ public interface DsTaskingMapper extends BaseMapper<DsTaskingEntity> {
List<DsPartEntity> getOldMesAllPart(@Param("startTime") String startTime,
@Param("endTime") String endTime,
@Param("partCodeList") List<String> partCodeList);
/**
* 获取上一次返工任务同步时间
* @return
*/
DsTaskingEntity getMaxReworkSyncTime();
}

@ -116,6 +116,7 @@
<select id="selectOldMesReworkTasking"
resultType="org.springblade.desk.dashboard.pojo.entity.DsTaskingEntity">
select * from P_RB_REWORK_ORDER
WHERE SYNC_TIME BETWEEN #{startTime} AND #{endTime}
</select>
<select id="selectReworkTasking" resultType="org.springblade.desk.dashboard.pojo.entity.DsTaskingEntity">
select * from DS_TASKING where is_deleted = 0
@ -152,5 +153,11 @@
</if>
</select>
<select id="getMaxReworkSyncTime" resultType="org.springblade.desk.dashboard.pojo.entity.DsTaskingEntity">
SELECT * FROM (
SELECT * FROM DS_TASKING where TASK_TYPE = 6
ORDER BY SYNC_TIME DESC
) WHERE ROWNUM = 1;
</select>
</mapper>

@ -1031,9 +1031,25 @@ public class DsTaskingServiceImpl extends BaseServiceImpl<DsTaskingMapper, DsTas
@Override
public boolean reworkTask() {
log.info("开始同步返工任务...");
// 1. 获取上次同步的最大时间
DsTaskingEntity dsTaskingEntity = taskingMapper.getMaxReworkSyncTime();
Date startTime = null;
Date endTime = new Date();
if (dsTaskingEntity != null && dsTaskingEntity.getSyncTime() != null) {
// 在上次同步时间基础上增加1毫秒,避免重复
Calendar calendar = Calendar.getInstance();
calendar.setTime(dsTaskingEntity.getSyncTime());
calendar.add(Calendar.MILLISECOND, 1);
startTime = calendar.getTime();
log.info("同步时间范围:{} - {}", startTime, endTime);
} else {
// 首次同步
log.info("首次同步,同步所有历史任务");
}
// 存储过程在老mes执行,同步老mes执行完存储过程后的数据
List<DsTaskingEntity> reworkTasks = taskingMapper.selectOldMesReworkTasking();
List<DsTaskingEntity> reworkTasks = taskingMapper.selectOldMesReworkTasking(startTime,endTime);
if (CollectionUtils.isEmpty(reworkTasks)) {
log.info("未读取到返工任务信息");

Loading…
Cancel
Save