Compare commits

...

2 Commits

Author SHA1 Message Date
liweidong-hj 85fa4bf0f6 Merge branch 'liweidong' 2 weeks ago
liweidong-hj 64450b4550 暂存 2 weeks ago
  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 org.springblade.core.mp.base.BaseEntity;
import java.io.Serial; import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
@ -19,8 +20,7 @@ import java.util.Date;
@Data @Data
@TableName("PR_WORK_ORDER") @TableName("PR_WORK_ORDER")
@Schema(description = "车间订单->视图") @Schema(description = "车间订单->视图")
@EqualsAndHashCode(callSuper = true) public class PrWorkOrder implements Serializable {
public class PrWorkOrder extends BaseEntity {
@Serial @Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;

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

@ -116,6 +116,7 @@
<select id="selectOldMesReworkTasking" <select id="selectOldMesReworkTasking"
resultType="org.springblade.desk.dashboard.pojo.entity.DsTaskingEntity"> resultType="org.springblade.desk.dashboard.pojo.entity.DsTaskingEntity">
select * from P_RB_REWORK_ORDER select * from P_RB_REWORK_ORDER
WHERE SYNC_TIME BETWEEN #{startTime} AND #{endTime}
</select> </select>
<select id="selectReworkTasking" resultType="org.springblade.desk.dashboard.pojo.entity.DsTaskingEntity"> <select id="selectReworkTasking" resultType="org.springblade.desk.dashboard.pojo.entity.DsTaskingEntity">
select * from DS_TASKING where is_deleted = 0 select * from DS_TASKING where is_deleted = 0
@ -152,5 +153,11 @@
</if> </if>
</select> </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> </mapper>

@ -1031,9 +1031,25 @@ public class DsTaskingServiceImpl extends BaseServiceImpl<DsTaskingMapper, DsTas
@Override @Override
public boolean reworkTask() { public boolean reworkTask() {
log.info("开始同步返工任务..."); 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执行完存储过程后的数据 // 存储过程在老mes执行,同步老mes执行完存储过程后的数据
List<DsTaskingEntity> reworkTasks = taskingMapper.selectOldMesReworkTasking(); List<DsTaskingEntity> reworkTasks = taskingMapper.selectOldMesReworkTasking(startTime,endTime);
if (CollectionUtils.isEmpty(reworkTasks)) { if (CollectionUtils.isEmpty(reworkTasks)) {
log.info("未读取到返工任务信息"); log.info("未读取到返工任务信息");

Loading…
Cancel
Save