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 / * @return /
*/ */
List<PdmBiSlittingproductionplan> getCurrentPlanInfos(SlitterPlanDistinctDto dto); List<PdmBiSlittingproductionplan> getCurrentPlanInfos(SlitterPlanDistinctDto dto);
/**
* 通过气胀轴编码和分切计划状态获取分切数据
* @param qzzno 气胀轴编码
* @param status 状态
* @return /
*/
List<PdmBiSlittingproductionplan> getByQzzNoByStatus(String qzzno, String status);
} }

View File

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

View File

@@ -154,5 +154,14 @@ public class PdmBiSlittingproductionplanServiceImpl extends ServiceImpl<PdmBiSli
return pdmBiSlittingproductionplanMapper.getCurrentPlanInfos(dto); 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); List<BstIvtShafttubeivt> shafttubeivts = bstIvtShafttubeivtService.getByQzzSize(qzzSize, empty.getPoint_code(), location);
if (shafttubeivts.size() == 0) { if (shafttubeivts.size() == 0) {
throw new BadRequestException("气胀轴库找不到[" + qzzSize + "]规格的气涨轴"); throw new BadRequestException("气胀轴库找不到[" + qzzSize + "]规格的气涨轴");
} }
BstIvtShafttubeivt shafttubeivt = shafttubeivts.get(0); BstIvtShafttubeivt shafttubeivt = shafttubeivts.get(0);
// 访问acs判断有无气涨轴 log.info("开始给ACS写信号出气胀轴");
JSONArray array = new JSONArray(); JSONArray acsParam = new JSONArray();
JSONObject device = new JSONObject(); JSONObject acsQzz = new JSONObject();
device.put("product_area", "B2"); acsQzz.put("device_code", shafttubeivt.getPoint_code());
device.put("device_code", shafttubeivt.getPoint_code()); acsQzz.put("code", "to_command");
array.add(device); acsQzz.put("value", "1");
JSONObject pointStatus = wmsToAcsService.getPointStatus(array); acsQzz.put("product_area", SlitterConstant.SLITTER_TASK_AREA);
log.info("ACS反馈气胀轴库信息{}", pointStatus); acsParam.add(acsQzz);
JSONArray data = pointStatus.getJSONArray("data"); JSONObject action = wmsToAcsService.action(acsParam);
JSONObject jsonObject = data.getJSONObject(0); log.info("下发给ACS写信号出气涨轴返回参数{}", action);
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);
}
} }
/** /**

View File

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