opt: 套轴时无轴干扰
feat: 饵料下卷
This commit is contained in:
@@ -134,4 +134,6 @@ public interface IBstIvtCutpointivtService extends IService<BstIvtCutpointivt> {
|
||||
List<BstIvtCutpointivt> getPintByAgvCodesByPointTypeAndArea(String area, List<String> types);
|
||||
|
||||
List<BstIvtCutpointivt> getNBJCanUsePoint(String type, String pointStatus, String area, String sort);
|
||||
|
||||
List<BstIvtCutpointivt> getNBJAreaNotTaskPointByStatus(String type, String pointStatus, String area, String sort);
|
||||
}
|
||||
|
||||
@@ -27,4 +27,6 @@ public interface BstIvtCutpointivtMapper extends BaseMapper<BstIvtCutpointivt> {
|
||||
List<BstIvtCutpointivt> getAreaNotTaskPointByStatusNotCheckPickUpCompleted(String type, String pointStatus, String area, String sort);
|
||||
|
||||
List<BstIvtCutpointivt> getNBJCanUsePoint(String type, String pointStatus, String area, String sort);
|
||||
|
||||
List<BstIvtCutpointivt> getNBJAreaNotTaskPointByStatus(String type, String pointStatus, String area, String sort);
|
||||
}
|
||||
|
||||
@@ -15,8 +15,8 @@
|
||||
WHERE t.task_status <![CDATA[ <= ]]> '071' AND t.task_status <![CDATA[ <> ]]> '07'
|
||||
AND t.is_delete = '0'
|
||||
AND (t.point_code1 = bic.point_code OR t.point_code2 = bic.point_code
|
||||
OR t.point_code1 = bic.truss_point_code1 oR t.point_code2 = bic.truss_point_code1
|
||||
OR t.point_code1 = bic.truss_point_code2 oR t.point_code2 = bic.truss_point_code2)
|
||||
OR t.point_code1 = bic.truss_point_code1 OR t.point_code2 = bic.truss_point_code1
|
||||
OR t.point_code1 = bic.truss_point_code2 OR t.point_code2 = bic.truss_point_code2)
|
||||
)
|
||||
<if test="sort == '1'">
|
||||
ORDER BY bic.sort_seq ASC
|
||||
@@ -165,4 +165,27 @@
|
||||
ORDER BY bic.sort_seq DESC
|
||||
</if>
|
||||
</select>
|
||||
<select id="getNBJAreaNotTaskPointByStatus"
|
||||
resultType="org.nl.b_lms.bst.ivt.cutpointivt.service.dao.BstIvtCutpointivt">
|
||||
SELECT bic.*
|
||||
FROM bst_ivt_cutpointivt bic
|
||||
WHERE bic.point_type = #{type}
|
||||
AND bic.is_used = '1'
|
||||
AND bic.point_status = #{pointStatus}
|
||||
AND bic.point_location = #{area}
|
||||
AND 0 = (SELECT COUNT(*)
|
||||
FROM sch_base_task t
|
||||
WHERE t.task_status <![CDATA[ <= ]]> '071' AND t.task_status <![CDATA[ <> ]]> '07'
|
||||
AND t.is_delete = '0'
|
||||
AND (t.point_code2 = bic.point_code
|
||||
OR t.point_code1 = bic.truss_point_code1 OR t.point_code2 = bic.truss_point_code1
|
||||
OR t.point_code1 = bic.truss_point_code2 OR t.point_code2 = bic.truss_point_code2)
|
||||
)
|
||||
<if test="sort == '1'">
|
||||
ORDER BY bic.sort_seq ASC
|
||||
</if>
|
||||
<if test="sort == '2'">
|
||||
ORDER BY bic.sort_seq DESC
|
||||
</if>
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@@ -158,4 +158,9 @@ public class BstIvtCutpointivtServiceImpl extends ServiceImpl<BstIvtCutpointivtM
|
||||
public List<BstIvtCutpointivt> getNBJCanUsePoint(String type, String pointStatus, String area, String sort) {
|
||||
return bstIvtCutpointivtMapper.getNBJCanUsePoint(type, pointStatus, area, sort);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<BstIvtCutpointivt> getNBJAreaNotTaskPointByStatus(String type, String pointStatus, String area, String sort) {
|
||||
return bstIvtCutpointivtMapper.getNBJAreaNotTaskPointByStatus(type, pointStatus, area, sort);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,15 +1,14 @@
|
||||
package org.nl.b_lms.bst.ivt.stockingivt.service;
|
||||
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import org.nl.b_lms.bst.ivt.papervehicle.service.dao.MdPbPapervehicle;
|
||||
import org.nl.b_lms.bst.ivt.stockingivt.service.dao.BstIvtStockingivt;
|
||||
import org.nl.b_lms.bst.ivt.stockingivt.service.dto.ShowStockVo;
|
||||
import org.nl.b_lms.sch.tasks.slitter.mapper.dto.BhTubeMovePointDto;
|
||||
import org.nl.b_lms.sch.tasks.slitter.mapper.dto.BhTubePointDto;
|
||||
import org.nl.common.domain.query.PageQuery;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import org.nl.b_lms.bst.ivt.stockingivt.service.dao.BstIvtStockingivt;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@@ -3,7 +3,6 @@ package org.nl.b_lms.bst.ivt.stockingivt.service.impl;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
@@ -12,18 +11,17 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.b_lms.bst.ivt.papervehicle.service.IMdPbPapervehicleService;
|
||||
import org.nl.b_lms.bst.ivt.papervehicle.service.dao.MdPbPapervehicle;
|
||||
import org.nl.b_lms.bst.ivt.stockingivt.service.IBstIvtStockingivtService;
|
||||
import org.nl.b_lms.bst.ivt.stockingivt.service.dao.BstIvtStockingivt;
|
||||
import org.nl.b_lms.bst.ivt.stockingivt.service.dao.mapper.BstIvtStockingivtMapper;
|
||||
import org.nl.b_lms.bst.ivt.stockingivt.service.dto.ShowStockVo;
|
||||
import org.nl.b_lms.sch.tasks.slitter.constant.SlitterConstant;
|
||||
import org.nl.b_lms.sch.tasks.slitter.mapper.dto.BhTubeMovePointDto;
|
||||
import org.nl.b_lms.sch.tasks.slitter.mapper.dto.BhTubePointDto;
|
||||
import org.nl.b_lms.sch.tasks.slitter.util.SlitterTaskUtil;
|
||||
import org.nl.modules.common.exception.BadRequestException;
|
||||
import org.nl.common.domain.query.PageQuery;
|
||||
import org.nl.common.utils.SecurityUtils;
|
||||
import org.nl.b_lms.bst.ivt.stockingivt.service.IBstIvtStockingivtService;
|
||||
import org.nl.b_lms.bst.ivt.stockingivt.service.dao.mapper.BstIvtStockingivtMapper;
|
||||
import org.nl.b_lms.bst.ivt.stockingivt.service.dao.BstIvtStockingivt;
|
||||
import org.nl.modules.wql.WQL;
|
||||
import org.nl.modules.common.exception.BadRequestException;
|
||||
import org.nl.wms.basedata.master.service.MaterialbaseService;
|
||||
import org.nl.wms.basedata.master.service.dto.MaterialbaseDto;
|
||||
import org.nl.wms.ext.acs.service.WmsToAcsService;
|
||||
@@ -32,7 +30,10 @@ import org.springframework.http.HttpStatus;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* @author lyd
|
||||
|
||||
@@ -24,100 +24,100 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
public class SlitterPdaController {
|
||||
|
||||
@Autowired
|
||||
private SlitterService slitterDevices;
|
||||
private SlitterService slitterService;
|
||||
|
||||
@PostMapping("/slitterDevices")
|
||||
@Log("获取分切设备")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> slitterDevices(@RequestBody JSONObject param) {
|
||||
return new ResponseEntity<>(slitterDevices.slitterDevices(param), HttpStatus.OK);
|
||||
return new ResponseEntity<>(slitterService.slitterDevices(param), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/downRolls")
|
||||
@Log("下卷")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> downRolls(@RequestBody JSONObject param) {
|
||||
return new ResponseEntity<>(slitterDevices.downRolls(param), HttpStatus.OK);
|
||||
return new ResponseEntity<>(slitterService.downRolls(param), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/downRolls2")
|
||||
@Log("下卷2")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> downRolls2(@RequestBody JSONObject param) {
|
||||
return new ResponseEntity<>(slitterDevices.downRolls2(param), HttpStatus.OK);
|
||||
return new ResponseEntity<>(slitterService.downRolls2(param), HttpStatus.OK);
|
||||
}
|
||||
@PostMapping("/downRollsCheck")
|
||||
@Log("下卷2提示确认")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> downRollsCheck(@RequestBody JSONObject param) {
|
||||
return new ResponseEntity<>(slitterDevices.downRollsCheck(param), HttpStatus.OK);
|
||||
return new ResponseEntity<>(slitterService.downRollsCheck(param), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/moveVehicle")
|
||||
@Log("搬运废箔斗")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> moveVehicle(@RequestBody JSONObject param) {
|
||||
return new ResponseEntity<>(slitterDevices.moveVehicle(param), HttpStatus.OK);
|
||||
return new ResponseEntity<>(slitterService.moveVehicle(param), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/getShaftPoint")
|
||||
@Log("获取套拔轴下拉框数据")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> getShaftPoint() {
|
||||
return new ResponseEntity<>(slitterDevices.getShaftPoint(), HttpStatus.OK);
|
||||
return new ResponseEntity<>(slitterService.getShaftPoint(), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/doInitShaftPoint")
|
||||
@Log("初始化套拔轴点位")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> doInitShaftPoint(@RequestBody JSONObject param) {
|
||||
return new ResponseEntity<>(slitterDevices.doInitShaftPoint(param), HttpStatus.OK);
|
||||
return new ResponseEntity<>(slitterService.doInitShaftPoint(param), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/cutIn")
|
||||
@Log("分切母卷上料")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> cutIn(@RequestBody JSONObject param) {
|
||||
return new ResponseEntity<>(slitterDevices.cutIn(param), HttpStatus.OK);
|
||||
return new ResponseEntity<>(slitterService.cutIn(param), HttpStatus.OK);
|
||||
}
|
||||
@PostMapping("/sendSubVolumeToNBJ")
|
||||
@Log("分切缓存到内包间任务")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> sendSubVolumeToNBJ(@RequestBody JSONObject param) {
|
||||
return new ResponseEntity<>(slitterDevices.pdaSendSubVolumeToNBJ(param), HttpStatus.OK);
|
||||
return new ResponseEntity<>(slitterService.pdaSendSubVolumeToNBJ(param), HttpStatus.OK);
|
||||
}
|
||||
@PostMapping("/markingFoilSlittingToCache")
|
||||
@Log("标箔分切下料AGV任务")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> markingFoilSlittingToCache(@RequestBody JSONObject param) {
|
||||
return new ResponseEntity<>(slitterDevices.markingFoilSlittingToCache(param), HttpStatus.OK);
|
||||
return new ResponseEntity<>(slitterService.markingFoilSlittingToCache(param), HttpStatus.OK);
|
||||
}
|
||||
@PostMapping("/getCutCacheAgvPoints")
|
||||
@Log("获取分切暂存位AGV点位下拉框数据")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> getCutCacheAgvPoints(@RequestBody JSONObject param) {
|
||||
return new ResponseEntity<>(slitterDevices.getCutCacheAgvPoints(param), HttpStatus.OK);
|
||||
return new ResponseEntity<>(slitterService.getCutCacheAgvPoints(param), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/toCleanCutCacheInventory")
|
||||
@Log("清理分切缓存")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> toCleanCutCacheInventory(@RequestBody JSONObject param) {
|
||||
return new ResponseEntity<>(slitterDevices.toCleanCutCacheInventory(param), HttpStatus.OK);
|
||||
return new ResponseEntity<>(slitterService.toCleanCutCacheInventory(param), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/toSubvolumeBinding")
|
||||
@Log("子卷绑定")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> toSubvolumeBinding(@RequestBody JSONObject param) {
|
||||
return new ResponseEntity<>(slitterDevices.toSubvolumeBinding(param), HttpStatus.OK);
|
||||
return new ResponseEntity<>(slitterService.toSubvolumeBinding(param), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/shaftMaintenanceInventory")
|
||||
@Log("气胀轴库维护库存")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> shaftMaintenanceInventory(@RequestBody JSONObject param) {
|
||||
return new ResponseEntity<>(slitterDevices.shaftMaintenanceInventory(param), HttpStatus.OK);
|
||||
return new ResponseEntity<>(slitterService.shaftMaintenanceInventory(param), HttpStatus.OK);
|
||||
}
|
||||
|
||||
|
||||
@@ -125,116 +125,123 @@ public class SlitterPdaController {
|
||||
@Log("气胀轴绑定")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> toShaftBinding(@RequestBody JSONObject param) {
|
||||
return new ResponseEntity<>(slitterDevices.toShaftBinding(param), HttpStatus.OK);
|
||||
return new ResponseEntity<>(slitterService.toShaftBinding(param), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/querySlitterSubVolumeInfo")
|
||||
@Log("查询分切机上的子卷信息")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> querySlitterSubVolumeInfo(@RequestBody JSONObject param) {
|
||||
return new ResponseEntity<>(slitterDevices.querySlitterSubVolumeInfo(param), HttpStatus.OK);
|
||||
return new ResponseEntity<>(slitterService.querySlitterSubVolumeInfo(param), HttpStatus.OK);
|
||||
}
|
||||
@PostMapping("/bindSlitterSubVolumeInfo")
|
||||
@Log("绑定分切机上的子卷信息")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> bindSlitterSubVolumeInfo(@RequestBody JSONObject param) {
|
||||
return new ResponseEntity<>(slitterDevices.bindSlitterSubVolumeInfo(param), HttpStatus.OK);
|
||||
return new ResponseEntity<>(slitterService.bindSlitterSubVolumeInfo(param), HttpStatus.OK);
|
||||
}
|
||||
@PostMapping("/unBindSlitterSubVolumeInfo")
|
||||
@Log("接绑分切机上的子卷信息")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> unBindSlitterSubVolumeInfo(@RequestBody JSONObject param) {
|
||||
return new ResponseEntity<>(slitterDevices.unBindSlitterSubVolumeInfo(param), HttpStatus.OK);
|
||||
return new ResponseEntity<>(slitterService.unBindSlitterSubVolumeInfo(param), HttpStatus.OK);
|
||||
}
|
||||
@PostMapping("/querySlitterDeviceSubVolumeInfos")
|
||||
@Log("查询手持查询设备对应的子卷数据")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> querySlitterDeviceSubVolumeInfos(@RequestBody JSONObject param) {
|
||||
return new ResponseEntity<>(slitterDevices.querySlitterDeviceSubVolumeInfos(param), HttpStatus.OK);
|
||||
return new ResponseEntity<>(slitterService.querySlitterDeviceSubVolumeInfos(param), HttpStatus.OK);
|
||||
}
|
||||
@PostMapping("/queryCacheDownSubVolumeInfos")
|
||||
@Log("手持查询暂存位置的子卷数据")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> queryCacheDownSubVolumeInfos(@RequestBody JSONObject param) {
|
||||
return new ResponseEntity<>(slitterDevices.queryCacheDownSubVolumeInfos(param), HttpStatus.OK);
|
||||
return new ResponseEntity<>(slitterService.queryCacheDownSubVolumeInfos(param), HttpStatus.OK);
|
||||
}
|
||||
@PostMapping("/doStockAreaBinding")
|
||||
@Log("手持备货区绑定")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> doStockAreaBinding(@RequestBody JSONObject param) {
|
||||
return new ResponseEntity<>(slitterDevices.doStockAreaBinding(param), HttpStatus.OK);
|
||||
return new ResponseEntity<>(slitterService.doStockAreaBinding(param), HttpStatus.OK);
|
||||
}
|
||||
@PostMapping("/doStockAreaUnbinding")
|
||||
@Log("手持备货区解除绑定")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> doStockAreaUnbinding(@RequestBody JSONObject param) {
|
||||
return new ResponseEntity<>(slitterDevices.doStockAreaUnbinding(param), HttpStatus.OK);
|
||||
return new ResponseEntity<>(slitterService.doStockAreaUnbinding(param), HttpStatus.OK);
|
||||
}
|
||||
@PostMapping("/doSubRollWeightBinding")
|
||||
@Log("手持子卷重量绑定")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> doSubRollWeightBinding(@RequestBody JSONObject param) {
|
||||
return new ResponseEntity<>(slitterDevices.doSubRollWeightBinding(param), HttpStatus.OK);
|
||||
return new ResponseEntity<>(slitterService.doSubRollWeightBinding(param), HttpStatus.OK);
|
||||
}
|
||||
@PostMapping("/doSubRollWeightBindingTip")
|
||||
@Log("手持子卷重量绑定提示")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> doSubRollWeightBindingTip(@RequestBody JSONObject param) {
|
||||
return new ResponseEntity<>(slitterDevices.doSubRollWeightBindingTip(param), HttpStatus.OK);
|
||||
return new ResponseEntity<>(slitterService.doSubRollWeightBindingTip(param), HttpStatus.OK);
|
||||
}
|
||||
@PostMapping("/doUpShaftToSlitter")
|
||||
@Log("手持分切机上气胀轴")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> doUpShaftToSlitter(@RequestBody JSONObject param) {
|
||||
return new ResponseEntity<>(slitterDevices.doUpShaftToSlitter(param), HttpStatus.OK);
|
||||
return new ResponseEntity<>(slitterService.doUpShaftToSlitter(param), HttpStatus.OK);
|
||||
}
|
||||
@PostMapping("/doUpShaftToSlitterByDevice")
|
||||
@Log("手持分切机上气胀轴2")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> doUpShaftToSlitterByDevice(@RequestBody JSONObject param) {
|
||||
return new ResponseEntity<>(slitterDevices.doUpShaftToSlitterByDevice(param), HttpStatus.OK);
|
||||
return new ResponseEntity<>(slitterService.doUpShaftToSlitterByDevice(param), HttpStatus.OK);
|
||||
}
|
||||
@PostMapping("/doUpShaftToSlitterByDeviceTip")
|
||||
@Log("手持分切机上气胀轴提示")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> doUpShaftToSlitterByDeviceTip(@RequestBody JSONObject param) {
|
||||
return new ResponseEntity<>(slitterDevices.doUpShaftToSlitterByDeviceTip(param), HttpStatus.OK);
|
||||
return new ResponseEntity<>(slitterService.doUpShaftToSlitterByDeviceTip(param), HttpStatus.OK);
|
||||
}
|
||||
@PostMapping("/getUpShaftTip")
|
||||
@Log("手持分切机上气胀轴-查询信息")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> getUpShaftTip(@RequestBody JSONObject param) {
|
||||
return new ResponseEntity<>(slitterDevices.getUpShaftTip(param), HttpStatus.OK);
|
||||
return new ResponseEntity<>(slitterService.getUpShaftTip(param), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/forcedFeedShaft")
|
||||
@Log("强制送轴")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> forcedFeedShaft(@RequestBody JSONObject param) {
|
||||
return new ResponseEntity<>(slitterDevices.forcedFeedShaft(param), HttpStatus.OK);
|
||||
return new ResponseEntity<>(slitterService.forcedFeedShaft(param), HttpStatus.OK);
|
||||
}
|
||||
@PostMapping("/showManualView")
|
||||
@Log("送轴情况")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> showManualView(@RequestBody JSONObject param) {
|
||||
return new ResponseEntity<>(slitterDevices.showManualView(param), HttpStatus.OK);
|
||||
return new ResponseEntity<>(slitterService.showManualView(param), HttpStatus.OK);
|
||||
}
|
||||
@PostMapping("/urgentPlan")
|
||||
@Log("加急送轴")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> urgentPlan(@RequestBody JSONObject param) {
|
||||
return new ResponseEntity<>(slitterDevices.urgentPlan(param), HttpStatus.OK);
|
||||
return new ResponseEntity<>(slitterService.urgentPlan(param), HttpStatus.OK);
|
||||
}
|
||||
@PostMapping("/rollCacheManage")
|
||||
@Log("母卷暂存架子管理")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> rollCacheManage(@RequestBody JSONObject param) {
|
||||
return new ResponseEntity<>(slitterDevices.rollCacheManage(param), HttpStatus.OK);
|
||||
return new ResponseEntity<>(slitterService.rollCacheManage(param), HttpStatus.OK);
|
||||
}
|
||||
@PostMapping("/rollCacheManageTip")
|
||||
@Log("母卷暂存架子管理提示")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> rollCacheManageTip(@RequestBody JSONObject param) {
|
||||
return new ResponseEntity<>(slitterDevices.rollCacheManageTip(param), HttpStatus.OK);
|
||||
return new ResponseEntity<>(slitterService.rollCacheManageTip(param), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/downBait")
|
||||
@Log("饵料下卷")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> downBait(@RequestBody JSONObject whereJson) {
|
||||
return new ResponseEntity<>(slitterService.downBait(whereJson), HttpStatus.OK);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -95,9 +95,6 @@ public class AutoCallAirShaftTask {
|
||||
public final static String TZ_DAY = "TZ_DAY";
|
||||
public String stepStr = "";
|
||||
|
||||
private static final DateTimeFormatter TIME_FORMATTER =
|
||||
DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
||||
|
||||
/**
|
||||
* hint: 目前只是考虑了上区域
|
||||
* 执行套轴和拔轴任务的逻辑处理。
|
||||
@@ -209,12 +206,15 @@ public class AutoCallAirShaftTask {
|
||||
// 获取一个分切计划的Dto。如果是6寸,可以直接使用、如果是3寸,需要判断当前位置是否满足
|
||||
// todo: 需要校验分切设备是在对应的区域中
|
||||
SlitterPlanDistinctDto planDto = plans.stream()
|
||||
.filter(planD -> "6".equals(planD.getQzz_size()) ||
|
||||
("3".equals(planD.getQzz_size()) && specification.equals(planD.getQzz_generation())))
|
||||
.filter(planD -> ("6".equals(planD.getQzz_size()) ||
|
||||
("3".equals(planD.getQzz_size()) && specification.equals(planD.getQzz_generation()))) &&
|
||||
havaEmptyShaft(planD, empty))
|
||||
.findFirst()
|
||||
.orElse(null);
|
||||
if (planDto == null) {
|
||||
log.warn("过滤3/6寸和代数输出结果为空,跳过此次套轴。此时点位对应代数:{}", specification);
|
||||
log.warn("过滤3/6寸和代数输出结果为空,跳过此次套轴,直接拔轴。此时点位对应代数:{}", specification);
|
||||
// 如果不需要套轴,就只做拔轴
|
||||
makePullShaft(empty, specification);
|
||||
return;
|
||||
}
|
||||
log.info("此时获取的分切计划dto: {}", planDto);
|
||||
@@ -251,11 +251,6 @@ public class AutoCallAirShaftTask {
|
||||
if (qzzPoint.size() == 0) {
|
||||
stepStr += ",16";
|
||||
//若套轴暂存位没有相同规格的气胀轴,直接去气胀轴库找即可
|
||||
// 要先判断AGV任务,才能去呼叫出轴
|
||||
// if (!toCallAgvMovePaperTube(needPlans, location, empty)) {
|
||||
// log.error("呼叫AGV失败-穿拔轴{}不进行套轴,跳过!", empty.getPoint_code());
|
||||
// return;
|
||||
// }
|
||||
// 调用ACS滚条气涨轴下来
|
||||
if (!toAcsOutShaft(qzzSize,location, empty)) {
|
||||
log.error("呼叫出轴失败-穿拔轴{}不进行套轴,跳过!", empty.getPoint_code());
|
||||
@@ -324,10 +319,6 @@ public class AutoCallAirShaftTask {
|
||||
param.put("qzz_size", needPlan.getQzz_size());
|
||||
// 所需的纸管规格
|
||||
SlitterTaskUtil.putNeedPaperSpec(param, needPlans);
|
||||
// if (!toCallAgvMovePaperTube(needPlans, location, empty)) {
|
||||
// log.error("呼叫AGV失败-穿拔轴{}不进行套轴,跳过!", empty.getPoint_code());
|
||||
// return;
|
||||
// }
|
||||
// 保存所需要的分切计划数据到点位上(套轴对接位)更新分切计划
|
||||
saveCutPlanMessage(empty, needPlans, qzzSize);
|
||||
// 设置是否套轴:1:正常套轴,2:待定(到后面还会申请套轴)
|
||||
@@ -358,6 +349,62 @@ public class AutoCallAirShaftTask {
|
||||
stepStr += ",97";
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断是不是有空位置
|
||||
* @param planD
|
||||
* @return
|
||||
*/
|
||||
public boolean havaEmptyShaft(SlitterPlanDistinctDto planD, BstIvtShafttubeivt empty) {
|
||||
String qzzSize = planD.getQzz_size();
|
||||
String qzzGeneration = planD.getQzz_generation();
|
||||
String location = empty.getPoint_location();
|
||||
// 需要区分上下
|
||||
List<BstIvtShafttubeivt> shafttubeivts = bstIvtShafttubeivtService.getByQzzSize(qzzSize ,empty.getPoint_code(), location);
|
||||
if (shafttubeivts.size() == 0) {
|
||||
log.error("气胀轴库找不到[" + qzzSize + "]规格的气涨轴位");
|
||||
return false;
|
||||
}
|
||||
// 气涨轴库
|
||||
BstIvtShafttubeivt shafttubeivt = shafttubeivts.get(0);
|
||||
// 判断气胀轴是否有轴
|
||||
JSONArray device_rows = new JSONArray();
|
||||
JSONObject device_obj = new JSONObject();
|
||||
device_rows.add(device_obj);
|
||||
device_obj.put("device_code", shafttubeivt.getPoint_code());
|
||||
// todo: 暂时都是B1
|
||||
device_obj.put("product_area", "B1");
|
||||
JSONObject pointStatus = wmsToAcsService.getPointStatus(device_rows);
|
||||
if (ObjectUtil.isEmpty(pointStatus) || ObjectUtil.isEmpty(pointStatus.getJSONArray("data"))) {
|
||||
log.error("获取气胀轴库信息失败");
|
||||
return false;
|
||||
}
|
||||
boolean judgment1 = true;
|
||||
boolean judgment2 = true;
|
||||
JSONObject data2 = pointStatus.getJSONArray("data").getJSONObject(0);
|
||||
if (data2.getInteger("qty") == 0) {
|
||||
log.warn("气胀轴库【" + shafttubeivt.getPoint_code() + "】没有气胀轴。");
|
||||
judgment1 = false;
|
||||
}
|
||||
// 获取气涨轴缓存没有任务的点位
|
||||
List<BstIvtShafttubeivt> qzzCache = bstIvtShafttubeivtService.getNotTaskShaftCache(qzzSize,
|
||||
shafttubeivt.getQzz_generation(), location);
|
||||
if (qzzCache.size() == 0) {
|
||||
log.warn("未找到气胀轴密集库气涨轴规格「" + qzzSize + "」的暂存位");
|
||||
judgment2 = false;
|
||||
}
|
||||
// 从套轴对接位获取相同气涨轴大小
|
||||
// update: 不需要(同标箔或者锂电分开)
|
||||
// todo: 需要校验区域0/1
|
||||
stepStr += ",15";
|
||||
List<BstIvtCutpointivt> qzzPoint = bcutpointivtService.getPointByTypeAndShaftSize("1", qzzSize, qzzGeneration);
|
||||
log.info("查找可以拔轴的点位数:{}", qzzPoint.size());
|
||||
if (!judgment1 && !judgment2 && qzzPoint.size() == 0) {
|
||||
log.warn("都没有气胀轴");
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置是否套轴
|
||||
*
|
||||
@@ -678,6 +725,7 @@ public class AutoCallAirShaftTask {
|
||||
throw new BadRequestException("气涨轴[" + qzzNo + "]对应的分切计划不存在!");
|
||||
}
|
||||
PdmBiSlittingproductionplan plan = list.get(0);
|
||||
// todo: 考虑是否有空位(如果气涨轴库和气胀轴暂存架都没有空位,则退出)【暂时不考虑】
|
||||
List<String> collect = list.stream().map(PdmBiSlittingproductionplan::getContainer_name).collect(Collectors.toList());
|
||||
JSONObject param = new JSONObject();
|
||||
param.put("point_code1", pointCode1);
|
||||
|
||||
@@ -348,4 +348,11 @@ public interface SlitterService {
|
||||
* @return
|
||||
*/
|
||||
JSONObject downRollsCheck(JSONObject param);
|
||||
|
||||
/**
|
||||
* 饵料下卷
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
JSONObject downBait(JSONObject param);
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@ import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.lang.Assert;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.http.HttpStatus;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
@@ -42,10 +43,12 @@ import org.nl.b_lms.sch.tasks.slitter.mapper.SlitterMapper;
|
||||
import org.nl.b_lms.sch.tasks.slitter.mapper.dto.CallPlanViewVO;
|
||||
import org.nl.b_lms.sch.tasks.slitter.service.SlitterService;
|
||||
import org.nl.b_lms.sch.tasks.slitter.util.SlitterTaskUtil;
|
||||
import org.nl.common.enums.NoticeTypeEnum;
|
||||
import org.nl.common.utils.SecurityUtils;
|
||||
import org.nl.common.utils.TaskUtils;
|
||||
import org.nl.modules.common.exception.BadRequestException;
|
||||
import org.nl.modules.wql.core.bean.WQLObject;
|
||||
import org.nl.system.service.notice.ISysNoticeService;
|
||||
import org.nl.system.service.param.ISysParamService;
|
||||
import org.nl.system.service.param.dao.Param;
|
||||
import org.nl.wms.ext.acs.service.WmsToAcsService;
|
||||
@@ -120,6 +123,8 @@ public class SlitterServiceImpl implements SlitterService {
|
||||
private IpdmBiSubpackagerelationService subpackagerelationService;
|
||||
@Autowired
|
||||
private UpShaftTrussTask upShaftTrussTask;
|
||||
@Autowired
|
||||
private ISysNoticeService noticeService;
|
||||
|
||||
@Override
|
||||
|
||||
@@ -343,7 +348,9 @@ public class SlitterServiceImpl implements SlitterService {
|
||||
}
|
||||
if (ObjectUtil.isEmpty(cutPoint)) {
|
||||
// 获取一个空位 (上下区域)
|
||||
List<BstIvtCutpointivt> emptyNotTaskPoint = bcutpointivtService.getAreaNotTaskPointByStatus(
|
||||
// List<BstIvtCutpointivt> emptyNotTaskPoint = bcutpointivtService.getAreaNotTaskPointByStatus(
|
||||
// "1", "1", startPoint.getPoint_location(), "1");
|
||||
List<BstIvtCutpointivt> emptyNotTaskPoint = bcutpointivtService.getNBJAreaNotTaskPointByStatus(
|
||||
"1", "1", startPoint.getPoint_location(), "1");
|
||||
if (emptyNotTaskPoint.size() == 0) {
|
||||
throw new BadRequestException("找不到可用套轴对接位!");
|
||||
@@ -909,8 +916,20 @@ public class SlitterServiceImpl implements SlitterService {
|
||||
.eq("row_num", param.getString("row_num"))
|
||||
.eq("qty", "0");
|
||||
boolean remove = papervehicleService.remove(deleteWrapper);
|
||||
// todo: 如果qty=0,创建AGV送空任务,(新的task_type)、后期优化可以新增诺宝取货完成提前释放货位,任务状态变成071
|
||||
// if (remove) { // hint: 错误
|
||||
// // 证明删除成功,创建任务搬走
|
||||
// // 查找一个没有任务的空位
|
||||
// List<BstIvtStockingivt> list = stockingivtService.getEmptyPointNotTask(device.getPoint_location(), "0");
|
||||
// if (list.size() == 0) {
|
||||
// noticeService.createNotice("管芯抓取备货区找不到空位置搬运",
|
||||
// "管芯抓取点位[" + device.getPoint_name() + "]无法从备货区找到空位",
|
||||
// NoticeTypeEnum.EXCEPTION.getCode());
|
||||
// return res;
|
||||
// }
|
||||
// BstIvtStockingivt stockingivt = list.get(0);
|
||||
// }
|
||||
}
|
||||
// todo: 如果qty=0,创建AGV送空任务,(新的task_type)、后期优化可以新增诺宝取货完成提前释放货位,任务状态变成071
|
||||
return res;
|
||||
}
|
||||
|
||||
@@ -2334,4 +2353,211 @@ public class SlitterServiceImpl implements SlitterService {
|
||||
res.put("flag", "1");
|
||||
return res;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public JSONObject downBait(JSONObject param) {
|
||||
log.info("饵料下卷:{}", param);
|
||||
// param: area, device_code, point_code, left_spec, right_spec
|
||||
String area = param.getString("area");
|
||||
String point_code = param.getString("point_code");
|
||||
String up_or_down = param.getString("up_or_down");
|
||||
String left_spec = param.getString("left_spec_value");
|
||||
String right_spec = param.getString("right_spec_value");
|
||||
String left_spec_value = param.getString("left_spec");
|
||||
String right_spec_value = param.getString("right_spec");
|
||||
int num = ObjectUtil.isNotEmpty(left_spec) && ObjectUtil.isNotEmpty(right_spec) ? 2 : 1;
|
||||
if (!area.startsWith("B")) {
|
||||
throw new BadRequestException("仅限于二期使用");
|
||||
}
|
||||
//查询该点位对应的机台编号
|
||||
StIvtCutpointivt cutDevice = cutpointivtService.getPintByUpOrDownCode(point_code, false);
|
||||
// JSONObject cut_ivt = WQLObject.getWQLObject("ST_IVT_CutPointIvt").query("up_point_code ='" + point_code + "' OR down_point_code ='" + point_code + "'").uniqueResult(0);
|
||||
String device_code = cutDevice.getExt_code();
|
||||
if (ObjectUtil.isEmpty(cutDevice)) {
|
||||
throw new BadRequestException("未查询到对应的分切机!");
|
||||
}
|
||||
// 判断是否存在任务
|
||||
List<SchBaseTask> tasks = taskService.checkHaveTask("1".equals(up_or_down) ? cutDevice.getUp_point_code() : cutDevice.getDown_point_code());
|
||||
if (tasks.size() > 0) {
|
||||
throw new BadRequestException("该点位已经创建过任务");
|
||||
}
|
||||
List<PdmBiSlittingproductionplan> plans = new ArrayList<>();
|
||||
String qzzNo = device_code.substring(0, 2)
|
||||
+ device_code.substring(device_code.length() - 2)
|
||||
+ TaskUtils.getDateTime("yyMMddHHmmss") + "-饵料";
|
||||
String code = "饵料" + TaskUtils.getDateTime("yyMMddHHmmss");
|
||||
// 创建饵料计划
|
||||
for (int i = 0; i < num; i++) {
|
||||
String containerName = area + code + "-" + i;
|
||||
PdmBiSlittingproductionplan plan = new PdmBiSlittingproductionplan();
|
||||
plan.setWorkorder_id(IdUtil.getSnowflake(1,1).nextIdStr());
|
||||
// 公共部分插入
|
||||
plan.setOrder_type("1");
|
||||
plan.setContainer_name(containerName);
|
||||
plan.setProduct_name("220890200000001");
|
||||
plan.setDescription("虚拟卷");
|
||||
plan.setParent_container_name(code);
|
||||
plan.setRestruct_container_name("");
|
||||
plan.setWare_house("1");
|
||||
plan.setResource_name(device_code);
|
||||
plan.setSplit_group("A");
|
||||
plan.setManufacture_sort("P1");
|
||||
plan.setMfg_order_name("-");
|
||||
plan.setManufacture_date(DateUtil.format(DateUtil.date(), "yyyy-MM-dd"));
|
||||
plan.setSplit_breadth(new BigDecimal("999"));
|
||||
plan.setSplit_height(new BigDecimal("999"));
|
||||
plan.setSplit_weight(new BigDecimal("999"));
|
||||
plan.setStart_time(DateUtil.now());
|
||||
plan.setEnd_time("");
|
||||
plan.setStatus("01");
|
||||
plan.setIs_parent_ok("0");
|
||||
plan.setIs_child_tz_ok("0");
|
||||
plan.setIs_child_ps_ok("0");
|
||||
plan.setPaper_weight("0");
|
||||
plan.setQzzno("");
|
||||
plan.setIs_delete("0");
|
||||
plan.setSale_order_name("-");
|
||||
plan.setIs_call("0");
|
||||
plan.setIs_paper_ok("1");
|
||||
plan.setFRP_model("");
|
||||
plan.setFRP_material("");
|
||||
plan.setFRP_description("");
|
||||
plan.setPaper_tube_model("");
|
||||
plan.setPaper_tube_material("");
|
||||
plan.setPaper_tube_description("");
|
||||
plan.setQzzno(qzzNo);
|
||||
plan.setLevel("5");
|
||||
// 区分位置创建
|
||||
if (i == 0 && ObjectUtil.isNotEmpty(left_spec) && "1".equals(up_or_down)) {
|
||||
// 上左
|
||||
plan.setPaper_tube_or_FRP(left_spec_value.startsWith("48") ? "1" : "2");
|
||||
String[] split = left_spec.split("\\|");
|
||||
plan.setQzz_size(String.valueOf(split[2].charAt(0)));
|
||||
if ("1".equals(plan.getPaper_tube_or_FRP())) {
|
||||
plan.setPaper_tube_material(left_spec_value);
|
||||
plan.setPaper_tube_model(left_spec);
|
||||
plan.setPaper_tube_description(left_spec);
|
||||
} else {
|
||||
plan.setFRP_material(left_spec_value);
|
||||
plan.setFRP_model(left_spec);
|
||||
plan.setFRP_description(left_spec);
|
||||
}
|
||||
if (left_spec.contains("3英寸") || left_spec.contains("3.12英寸")) {
|
||||
plan.setQzz_generation("4");
|
||||
} else {
|
||||
plan.setQzz_generation("5");
|
||||
}
|
||||
plan.setUp_or_down("1");
|
||||
plan.setLeft_or_right("1");
|
||||
}
|
||||
if (i == 1 && ObjectUtil.isNotEmpty(right_spec) && "1".equals(up_or_down)) {
|
||||
// 上右
|
||||
plan.setPaper_tube_or_FRP(right_spec_value.startsWith("48") ? "1" : "2");
|
||||
String[] split = right_spec.split("\\|");
|
||||
plan.setQzz_size(String.valueOf(split[2].charAt(0)));
|
||||
if ("1".equals(plan.getPaper_tube_or_FRP())) {
|
||||
plan.setPaper_tube_material(right_spec_value);
|
||||
plan.setPaper_tube_model(right_spec);
|
||||
plan.setPaper_tube_description(right_spec);
|
||||
} else {
|
||||
plan.setFRP_material(right_spec_value);
|
||||
plan.setFRP_model(right_spec);
|
||||
plan.setFRP_description(right_spec);
|
||||
}
|
||||
plan.setUp_or_down("1");
|
||||
plan.setLeft_or_right("2");
|
||||
if (right_spec.contains("3英寸") || right_spec.contains("3.12英寸")) {
|
||||
plan.setQzz_generation("4");
|
||||
} else {
|
||||
plan.setQzz_generation("5");
|
||||
}
|
||||
}
|
||||
if (i == 0 && ObjectUtil.isNotEmpty(left_spec) && "2".equals(up_or_down)) {
|
||||
// 下左
|
||||
plan.setPaper_tube_or_FRP(left_spec_value.startsWith("48") ? "1" : "2");
|
||||
String[] split = left_spec.split("\\|");
|
||||
plan.setQzz_size(String.valueOf(split[2].charAt(0)));
|
||||
if ("1".equals(plan.getPaper_tube_or_FRP())) {
|
||||
plan.setPaper_tube_material(left_spec_value);
|
||||
plan.setPaper_tube_model(left_spec);
|
||||
plan.setPaper_tube_description(left_spec);
|
||||
} else {
|
||||
plan.setFRP_material(left_spec_value);
|
||||
plan.setFRP_model(left_spec);
|
||||
plan.setFRP_description(left_spec);
|
||||
}
|
||||
plan.setUp_or_down("2");
|
||||
plan.setLeft_or_right("1");
|
||||
if (left_spec.contains("3英寸") || left_spec.contains("3.12英寸")) {
|
||||
plan.setQzz_generation("4");
|
||||
} else {
|
||||
plan.setQzz_generation("5");
|
||||
}
|
||||
}
|
||||
if (i == 1 && ObjectUtil.isNotEmpty(right_spec) && "2".equals(up_or_down)) {
|
||||
// 下右
|
||||
plan.setPaper_tube_or_FRP(right_spec_value.startsWith("48") ? "1" : "2");
|
||||
String[] split = right_spec.split("\\|");
|
||||
plan.setQzz_size(String.valueOf(split[2].charAt(0)));
|
||||
if ("1".equals(plan.getPaper_tube_or_FRP())) {
|
||||
plan.setPaper_tube_material(right_spec_value);
|
||||
plan.setPaper_tube_model(right_spec);
|
||||
plan.setPaper_tube_description(right_spec);
|
||||
} else {
|
||||
plan.setFRP_material(right_spec_value);
|
||||
plan.setFRP_model(right_spec);
|
||||
plan.setFRP_description(right_spec);
|
||||
}
|
||||
plan.setUp_or_down("2");
|
||||
plan.setLeft_or_right("2");
|
||||
if (right_spec.contains("3英寸") || right_spec.contains("3.12英寸")) {
|
||||
plan.setQzz_generation("4");
|
||||
} else {
|
||||
plan.setQzz_generation("5");
|
||||
}
|
||||
}
|
||||
plans.add(plan);
|
||||
}
|
||||
// 校验设备对应的分切暂存架子是不是可用切无数据无任务。
|
||||
BstIvtCutpointivt cutCacheShelf = bcutpointivtService.getOne(new LambdaQueryWrapper<BstIvtCutpointivt>()
|
||||
.eq(BstIvtCutpointivt::getProduct_area, cutDevice.getProduct_area())
|
||||
.eq(BstIvtCutpointivt::getPlan, cutDevice.getPoint_code())
|
||||
.eq(BstIvtCutpointivt::getIs_used, SlitterConstant.SLITTER_YES));
|
||||
if (ObjectUtil.isEmpty(cutCacheShelf)) {
|
||||
throw new BadRequestException("分切机{" + cutDevice.getPoint_code() + "}对应的分切架子不存在!");
|
||||
}
|
||||
if (!SlitterConstant.SLITTER_YES.equals(cutCacheShelf.getPoint_status())) {
|
||||
throw new BadRequestException("架子[" + cutCacheShelf.getPoint_code() + "]上有货!");
|
||||
}
|
||||
// 判断任务
|
||||
List<SchBaseTask> taskList = taskService.checkHaveTask(cutCacheShelf.getPoint_code());
|
||||
if (taskList.size() > 0) {
|
||||
throw new BadRequestException("分切架子存在任务!");
|
||||
}
|
||||
// 创建任务
|
||||
JSONObject taskParam = new JSONObject();
|
||||
List<String> containers = plans.stream().map(PdmBiSlittingproductionplan::getContainer_name).collect(Collectors.toList());
|
||||
taskParam.put("containers", containers);
|
||||
taskParam.put("point_code1", "1".equals(up_or_down)
|
||||
? cutDevice.getUp_point_code() : cutDevice.getDown_point_code());
|
||||
taskParam.put("point_code2", "1".equals(up_or_down)
|
||||
? cutCacheShelf.getTruss_point_code1() : cutCacheShelf.getTruss_point_code2());
|
||||
taskParam.put("truss_type", "1");
|
||||
taskParam.put("empty_site", "0");
|
||||
taskParam.put("task_type", SlitterEnum.TASK_TYPE.code("分切机下料桁架任务"));
|
||||
taskParam.put("product_area", SlitterConstant.SLITTER_TASK_AREA);
|
||||
// 分切计划修改状态 05 -> 06
|
||||
plans.forEach(plan -> {
|
||||
plan.setStatus("06");
|
||||
TaskUtils.updateOptMessageBySlitterPlan(plan);
|
||||
});
|
||||
slittingproductionplanService.saveBatch(plans);
|
||||
// 创建任务
|
||||
slitterDownTrussTask.createTask(taskParam);
|
||||
JSONObject res = new JSONObject();
|
||||
res.put("status", HttpStatus.HTTP_OK);
|
||||
res.put("message", "饵料下卷成功!");
|
||||
return res;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user