Merge branch 'b_lms' of http://121.40.234.130:8899/root/lanzhouhailiang_one into b_lms
This commit is contained in:
@@ -15,6 +15,7 @@ import org.nl.b_lms.sch.tasks.slitter.SendAirShaftAgvTask;
|
||||
import org.nl.b_lms.sch.tasks.slitter.constant.SlitterConstant;
|
||||
import org.nl.b_lms.sch.tasks.slitter.constant.SlitterEnum;
|
||||
import org.nl.b_lms.sch.tasks.slitter.mapper.SlitterMapper;
|
||||
import org.nl.b_lms.sch.tasks.slitter.util.SlitterTaskUtil;
|
||||
import org.nl.modules.common.exception.BadRequestException;
|
||||
import org.redisson.api.RLock;
|
||||
import org.redisson.api.RedissonClient;
|
||||
@@ -84,7 +85,10 @@ public class AutoSendAirShaftAgvTask {
|
||||
}
|
||||
// 如果两个气涨轴编码则表示一组满了
|
||||
// 查找分切对接没任务的空位
|
||||
List<BstIvtCutpointivt> emptyPoint = slitterMapper.getEmptyCutPointNotTask(area, deviceCut.getSort_seq());
|
||||
List<BstIvtCutpointivt> emptyPoint = slitterMapper.getEmptyCutPointNotTask(area,
|
||||
deviceCut.getSort_seq(),
|
||||
SlitterTaskUtil.getPointLocationInCutDevice(
|
||||
SlitterTaskUtil.getNumberByResourceCode(demoPlan.getResource_name())));
|
||||
if (emptyPoint.size() == 0) {
|
||||
log.warn("找不到对应的位置!");
|
||||
return;
|
||||
|
||||
@@ -37,9 +37,10 @@ public interface SlitterMapper {
|
||||
* 获取分切机下料位没任务的点位
|
||||
* @param area 区域
|
||||
* @param sortSeq 设备序号
|
||||
* @return
|
||||
* @param location 区域 1-5:0 6-10:1
|
||||
* @return /
|
||||
*/
|
||||
List<BstIvtCutpointivt> getEmptyCutPointNotTask(String area, BigDecimal sortSeq);
|
||||
List<BstIvtCutpointivt> getEmptyCutPointNotTask(String area, BigDecimal sortSeq, String location);
|
||||
|
||||
/**
|
||||
* 获取分切机下一组分切计划对应的点位
|
||||
|
||||
@@ -50,6 +50,7 @@
|
||||
`bst_ivt_cutpointivt` bcp
|
||||
WHERE bcp.point_type = '3' AND bcp.point_status = '1' AND bcp.is_used = '1'
|
||||
AND bcp.product_area = #{area}
|
||||
AND bcp.point_location = #{location}
|
||||
AND 0 = (
|
||||
SELECT COUNT(*) FROM sch_base_task t
|
||||
WHERE t.task_status <![CDATA[ < ]]> '07' AND (t.point_code2 = bcp.point_code OR t.point_code2 = bcp.truss_point_code1
|
||||
|
||||
@@ -46,16 +46,15 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import static org.nl.b_lms.sch.tasks.slitter.util.SlitterTaskUtil.getPointLocationInCutDevice;
|
||||
import static org.nl.b_lms.sch.tasks.slitter.util.SlitterTaskUtil.getNumberByResourceCode;
|
||||
|
||||
/**
|
||||
* @author lyd
|
||||
* @description 服务接口
|
||||
@@ -393,7 +392,9 @@ public class SlitterServiceImpl implements SlitterService {
|
||||
if (timePlans.size() == 0) {
|
||||
// 如果没有下一组的分切计划,就只做下卷任务(判断下单/下双)
|
||||
// 获取分切对接位没任务的空位置
|
||||
List<BstIvtCutpointivt> emptyPoints = slitterMapper.getEmptyCutPointNotTask(area, device.getSort_seq());
|
||||
List<BstIvtCutpointivt> emptyPoints = slitterMapper.getEmptyCutPointNotTask(area,
|
||||
device.getSort_seq(),
|
||||
getPointLocationInCutDevice(getNumberByResourceCode(demoPlan.getResource_name())));
|
||||
if (emptyPoints.size() == 0) {
|
||||
log.error("分切机【" + device.getExt_code() + "】找不到对应的对接位!");
|
||||
throw new BadRequestException("分切机【" + device.getExt_code() + "】找不到对应的对接位!");
|
||||
|
||||
@@ -5,6 +5,7 @@ import cn.hutool.core.util.ObjectUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import org.nl.b_lms.pdm.bi.slittingproductionplan.service.dao.PdmBiSlittingproductionplan;
|
||||
import org.nl.b_lms.sch.tasks.slitter.constant.SlitterConstant;
|
||||
import org.nl.modules.common.exception.BadRequestException;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.StringJoiner;
|
||||
@@ -150,4 +151,31 @@ public class SlitterTaskUtil {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取设备号
|
||||
* @param resourceCode /
|
||||
* @return /
|
||||
*/
|
||||
public static int getNumberByResourceCode(String resourceCode) {
|
||||
if (ObjectUtil.isEmpty(resourceCode)) {
|
||||
throw new BadRequestException("输入的设备号编码不能为空!");
|
||||
}
|
||||
String trimStr = resourceCode.trim();
|
||||
// 提取最后两位作为字符串
|
||||
String lastTwoDigitsString = trimStr.substring(trimStr.length() - 2);
|
||||
// 将整数再转换回字符串以供返回
|
||||
return Integer.parseInt(lastTwoDigitsString);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取上下区域
|
||||
* @param num /
|
||||
* @return /
|
||||
*/
|
||||
public static String getPointLocationInCutDevice(int num) {
|
||||
if (num >= 1 && num <= 5) {
|
||||
return "0";
|
||||
}
|
||||
return "1";
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user