fix: 暂时过滤1700,1800的frp套轴,新增ACS请求气胀轴库出气胀轴,手持查询优化

This commit is contained in:
2024-07-20 13:50:30 +08:00
parent 2b3f0f251b
commit f967f0a08a
5 changed files with 41 additions and 36 deletions

View File

@@ -98,4 +98,12 @@ public interface IPdmBiSlittingproductionplanService extends IService<PdmBiSlitt
* @return /
*/
List<PdmBiSlittingproductionplan> getCurrentPlanInfos(SlitterPlanDistinctDto dto);
/**
* 通过气胀轴编码和分切计划状态获取分切数据
* @param qzzno 气胀轴编码
* @param status 状态
* @return /
*/
List<PdmBiSlittingproductionplan> getByQzzNoByStatus(String qzzno, String status);
}

View File

@@ -28,7 +28,7 @@
WHERE
pp.qzzno IN ( SELECT IF ( LENGTH( bc.qzz_no1 )> 0, bc.qzz_no1, bc.qzz_no2 ) FROM bst_ivt_cutpointivt bc )
AND pp.`status` <![CDATA[ < ]]> '09'
AND pp.is_child_tz_ok = '1'
AND pp.is_child_tz_ok = '1' AND DATE( pp.start_time ) = CURDATE()
GROUP BY pp.resource_name
) AS count_table ON p.resource_name = count_table.resource_name
LEFT JOIN (
@@ -39,7 +39,7 @@
pdm_bi_slittingproductionplan pp
WHERE
pp.qzzno IN ( SELECT IF ( LENGTH( tc.up_qzzno )> 0, tc.up_qzzno, tc.down_qzzno ) FROM st_ivt_cutpointivt tc )
AND pp.`status` = '05'
AND pp.`status` = '05' AND DATE( pp.start_time ) = CURDATE()
GROUP BY pp.resource_name
) AS ct1 ON p.resource_name = ct1.resource_name
LEFT JOIN (
@@ -53,7 +53,7 @@
pdm_bi_slittingproductionplan pp
WHERE
pp.`status` = '01'
AND pp.is_child_tz_ok = '1'
AND pp.is_child_tz_ok = '1' AND DATE( pp.start_time ) = CURDATE()
GROUP BY
pp.resource_name,
pp.parent_container_name,
@@ -71,9 +71,12 @@
AND IFNULL(p.up_or_down,'') <![CDATA[ <> ]]> ''
AND IFNULL(p.left_or_right,'') <![CDATA[ <> ]]> ''
AND DATE(p.start_time) = CURDATE()
AND p.FRP_description NOT LIKE '%1700%'
AND p.FRP_description NOT LIKE '%1800%'
GROUP BY
p.resource_name,
parent_container_name,
p.parent_container_name,
p.restruct_container_name,
p.split_group,
p.up_or_down,
p.qzz_size,
@@ -86,7 +89,8 @@
num,
cn,
p.resource_name,
parent_container_name,
p.parent_container_name,
p.restruct_container_name,
p.split_group,
p.up_or_down
</select>

View File

@@ -154,5 +154,14 @@ public class PdmBiSlittingproductionplanServiceImpl extends ServiceImpl<PdmBiSli
return pdmBiSlittingproductionplanMapper.getCurrentPlanInfos(dto);
}
@Override
public List<PdmBiSlittingproductionplan> getByQzzNoByStatus(String qzzNo, String status) {
LambdaQueryWrapper<PdmBiSlittingproductionplan> lam = new QueryWrapper<PdmBiSlittingproductionplan>().lambda();
lam.eq(PdmBiSlittingproductionplan::getQzzno, qzzNo)
.eq(PdmBiSlittingproductionplan::getIs_delete, "0")
.eq(PdmBiSlittingproductionplan::getStatus, status);
return pdmBiSlittingproductionplanMapper.selectList(lam);
}
}

View File

@@ -360,35 +360,19 @@ public class AutoCallAirShaftTask {
// 需要区分上下
List<BstIvtShafttubeivt> shafttubeivts = bstIvtShafttubeivtService.getByQzzSize(qzzSize, empty.getPoint_code(), location);
if (shafttubeivts.size() == 0) {
throw new BadRequestException("气胀轴库找不到[" + qzzSize + "]规格的气涨轴");
throw new BadRequestException("气胀轴库找不到[" + qzzSize + "]规格的气涨轴");
}
BstIvtShafttubeivt shafttubeivt = shafttubeivts.get(0);
// 访问acs判断有无气涨轴
JSONArray array = new JSONArray();
JSONObject device = new JSONObject();
device.put("product_area", "B2");
device.put("device_code", shafttubeivt.getPoint_code());
array.add(device);
JSONObject pointStatus = wmsToAcsService.getPointStatus(array);
log.info("ACS反馈气胀轴库信息{}", pointStatus);
JSONArray data = pointStatus.getJSONArray("data");
JSONObject jsonObject = data.getJSONObject(0);
if (jsonObject.getInteger("qty") == 0) {
// 没有货
log.info("ACS告知无气胀轴申请从气胀轴密集库出气胀轴");
toCreatShaftCacheTask(qzzSize, location, empty);
} else {
log.info("开始给ACS写信号出气胀轴");
JSONArray acsParam = new JSONArray();
JSONObject acsQzz = new JSONObject();
acsQzz.put("device_code", shafttubeivt.getPoint_code());
acsQzz.put("code", "to_command");
acsQzz.put("value", "1");
acsQzz.put("product_area", SlitterConstant.SLITTER_TASK_AREA);
acsParam.add(acsQzz);
JSONObject action = wmsToAcsService.action(acsParam);
log.info("下发给ACS写信号出气涨轴返回参数{}", action);
}
log.info("开始给ACS写信号出气胀轴");
JSONArray acsParam = new JSONArray();
JSONObject acsQzz = new JSONObject();
acsQzz.put("device_code", shafttubeivt.getPoint_code());
acsQzz.put("code", "to_command");
acsQzz.put("value", "1");
acsQzz.put("product_area", SlitterConstant.SLITTER_TASK_AREA);
acsParam.add(acsQzz);
JSONObject action = wmsToAcsService.action(acsParam);
log.info("下发给ACS写信号出气涨轴返回参数{}", action);
}
/**

View File

@@ -1349,9 +1349,9 @@ public class SlitterServiceImpl implements SlitterService {
String upQzzno = deviceCode.getUp_qzzno();
String downQzzno = deviceCode.getDown_qzzno();
if (ObjectUtil.isNotEmpty(upQzzno)) {
List<PdmBiSlittingproductionplan> byQzzNo = slittingproductionplanService.getByQzzNo(upQzzno);
List<PdmBiSlittingproductionplan> byQzzNo = slittingproductionplanService.getByQzzNoByStatus(upQzzno, "05");
if (byQzzNo.size() == 0) {
msg = "上轴对应的数据错误";
msg = "上轴对应的数据不存在";
} else {
String collect = byQzzNo
.stream()
@@ -1363,9 +1363,9 @@ public class SlitterServiceImpl implements SlitterService {
msg = "上轴无子卷信息!";
}
if (ObjectUtil.isNotEmpty(downQzzno)) {
List<PdmBiSlittingproductionplan> byQzzNo = slittingproductionplanService.getByQzzNo(downQzzno);
List<PdmBiSlittingproductionplan> byQzzNo = slittingproductionplanService.getByQzzNoByStatus(downQzzno, "05");
if (byQzzNo.size() == 0) {
msg = msg + "下轴对应的数据错误";
msg = msg + "下轴对应的数据不存在";
} else {
String collect = byQzzNo
.stream()