rev:刻字包装调度代码/半成品入库数量改重量

This commit is contained in:
zhangzhiqiang
2023-07-11 09:26:57 +08:00
parent 7ea3d22904
commit 35f70da133
28 changed files with 177 additions and 112 deletions

View File

@@ -59,7 +59,7 @@ public enum AcsTaskEnum {
REQUEST_WARP_CALL_FULL("5","包装缺料请求"),//ok
REQUEST_WARP_SEND_EMP("6","包装送空框请求"),//ok
REQUEST_WASH_LACK("7","清洗机器缺料请求"),//深坑->清洗:相同物料的重量<150公斤
REQUEST_WASH_FULL("8","清洗机器满料请求"),//清洗机满料请求//去半成品入库
REQUEST_WASH_FULL("9","清洗机器满料请求"),//清洗机满料请求//去半成品入库
REQUEST_WASH_EMP("10","清洗机器空框请求"),//清洗机下料位
REQUEST_WASH_FULL_ERROR("11","清洗机-满料异常请求"),//去半成品入库 异常位
REQUEST_WASH_PLOTTER_EMP("12","刻字上料空框回库"),

View File

@@ -41,7 +41,7 @@ public class AcsToWmsController {
@Log("ACS给WMS发送任务")
//("ACS给WMS发送任务")
@SaIgnore
public ResponseEntity<Object> receiveTaskFromAcs(@RequestBody JSONObject whereJson) {
public ResponseEntity<Object> apply(@RequestBody JSONObject whereJson) {
return new ResponseEntity<>(acsToWmsService.apply(whereJson), HttpStatus.OK);
}
@@ -61,7 +61,7 @@ public class AcsToWmsController {
@Log("ACS给WMS反馈任务状态")
//("ACS给WMS反馈任务状态")
@SaIgnore
public ResponseEntity<Object> receiveTaskStatusAcs(@RequestBody String string) {
public ResponseEntity<Object> status(@RequestBody String string) {
return new ResponseEntity<>(acsToWmsService.receiveTaskStatusAcs(string), HttpStatus.OK);
}

View File

@@ -132,36 +132,28 @@ public class AcsToWmsServiceImpl implements AcsToWmsService{
String processing_class = one.getHandle_class();
String status = row.getString("status");
// 任务处理类
try {
if (ObjectUtil.isNotEmpty(processing_class)) {
AbstractAcsTask taskHandler = (AbstractAcsTask)SpringContextHolder.getBean(Class.forName(processing_class));
if (taskHandler!=null){
taskHandler.updateTaskStatus(row,status);
if (!status.equals(StatusEnum.TASK_FINISH.getCode())){
try {
if (ObjectUtil.isNotEmpty(processing_class)) {
AbstractAcsTask taskHandler = (AbstractAcsTask)SpringContextHolder.getBean(Class.forName(processing_class));
if (taskHandler!=null){
taskHandler.updateTaskStatus(row,status);
}
}
}else {
// EXECUTING("6", "执行中"),
// FINISHED("7", "完成"),
// CANCEL("8", "取消");
// //回调状态
// STATUS_START("1","执行中"),
// STATUS_FINISH("2","完成"),
// STATUS_CANNEL("3","取消"),
itaskService.update(new UpdateWrapper<SchBaseTask>().set("task_status",String.valueOf(Integer.valueOf(status)+5)));
//发布一个任务执行事件:服务跟任务不一样,可以同事存在
TaskEvent event = TaskEvent.builder()
.task_id(task_id)
.task_type(one.getTask_type())
.status(status)
.build();
BussEventMulticaster.Publish(event);
} catch (Exception e) {
log.error("任务状态更新失败:{}", e.getMessage());
JSONObject json = new JSONObject();
json.put("task_id", task_id);
json.put("message", e.getMessage());
errArr.add(json);
}
//发布一个任务执行事件:服务跟任务不一样,可以同事存在
TaskEvent event = TaskEvent.builder()
.task_id(task_id)
.task_type(one.getTask_type())
.status(status)
.build();
BussEventMulticaster.Publish(event);
} catch (Exception e) {
log.error("任务状态更新失败:{}", e.getMessage());
JSONObject json = new JSONObject();
json.put("task_id", task_id);
json.put("message", e.getMessage());
errArr.add(json);
}
}
JSONObject result = new JSONObject();

View File

@@ -28,7 +28,7 @@ public class PointListener extends AbstraceListener<PointEvent> {
task.put("task_id", task_id);
task.put("task_code", CodeUtil.getNewCode("TASK_CODE"));
task.put("task_type", event.getType().getCode());
task.put("task_type", event.getType().getDesc());
task.put("task_name", event.getType().getDesc());
task.put("acs_task_type", event.getAcs_task_type());
task.put("task_status", TaskStatusEnum.CREATED.getCode());
task.put("point_code1", event.getPoint_code1());

View File

@@ -68,7 +68,7 @@ public class WrapCallMaterialTask extends AbstractAcsTask {
pointService.update(new UpdateWrapper<SchBasePoint>().set("lock_type",StatusEnum.LOCK_OFF.getCode())
.set("lock_type",StatusEnum.LOCK_ON.getCode())
.set("task_id",one.getTask_id())
.eq("point_code",one.getPoint_code1()).ne("task_id",one.getTask_id()));
.eq("point_code",one.getPoint_code1()));
}
if (status.equals(AcsTaskEnum.STATUS_FINISH.getCode())) {
// 完成

View File

@@ -64,7 +64,7 @@ public class WrapSendEmptyTask extends AbstractAcsTask {
pointService.update(new UpdateWrapper<SchBasePoint>().set("lock_type",StatusEnum.LOCK_OFF.getCode())
.set("lock_type",StatusEnum.LOCK_ON.getCode())
.set("task_id",one.getTask_id())
.eq("point_code",one.getPoint_code3()).ne("task_id",one.getTask_id()));
.eq("point_code",one.getPoint_code3()));
}
if (status.equals(AcsTaskEnum.STATUS_FINISH.getCode())) {

View File

@@ -95,7 +95,7 @@ public class WashCallEmptyTask extends AbstractAcsTask {
.set(StIvtStructattr::getLock_type, IOSEnum.LOCK_TYPE.code("未锁定"))
.set(StIvtStructattr::getIs_emptyvehicle,false)
.set(StIvtStructattr::getStoragevehicle_code,"")
.eq(StIvtStructattr::getStruct_code, taskDao.getPoint_code1())
.eq(StIvtStructattr::getStruct_code, taskDao.getPoint_code3())
);
}
taskService.updateById(taskDao);

View File

@@ -112,7 +112,7 @@ public class WashSendMaterialQZTask extends AbstractAcsTask {
PdmProduceWorkorder order = null;
if (StringUtils.isNotEmpty(param.getString("workorder_code"))){
order = workorderService.getOne(new QueryWrapper<PdmProduceWorkorder>()
.eq("workorder_code", "123456")// param.getString("workorder_code"))
.eq("workorder_code", param.getString("workorder_code"))// )
.eq("is_delete", false)
.lt("workorder_status", WorkerOrderEnum.COMPLETE.getCode()));
}

View File

@@ -18,6 +18,7 @@ import org.nl.wms.product_manage.service.workorder.IPdmProduceWorkorderService;
import org.nl.wms.product_manage.service.workorder.dao.PdmProduceWorkorder;
import org.nl.wms.scheduler_manage.service.task.ISchBaseTaskService;
import org.nl.wms.scheduler_manage.service.task.dao.SchBaseTask;
import org.nl.wms.storage_manage.IOSEnum;
import org.nl.wms.storage_manage.pda.service.PdaStBcpInService;
import org.nl.wms.storage_manage.productmanage.util.DivRuleCpService;
import org.nl.wms.storage_manage.semimanage.service.iostorInv.IStIvtIostorinvBcpService;
@@ -60,7 +61,6 @@ public class WashSendMaterialTask extends AbstractAcsTask {
@Override
@Transactional(rollbackFor = Exception.class)
public void updateTaskStatus(JSONObject param, String status) {
stIvtIostorinvBcpService.taskOperate(param);
}
@Override
@@ -71,7 +71,7 @@ public class WashSendMaterialTask extends AbstractAcsTask {
}else {
String start_point_code = param.getString("device_code");
PdmProduceWorkorder order = workorderService.getOne(new QueryWrapper<PdmProduceWorkorder>()
.eq("workorder_code", "123456")// param.getString("workorder_code"))
.eq("workorder_code", param.getString("workorder_code"))
.eq("is_delete", false)
.lt("workorder_status", WorkerOrderEnum.COMPLETE.getCode()));
Assert.notNull(order, String.format("下发工单%s不存在未完成工单", param.getString("workorder_code")));
@@ -89,14 +89,16 @@ public class WashSendMaterialTask extends AbstractAcsTask {
JSONObject form = new JSONObject();
form.put("bill_type","0001");
form.put("point_code",start_point_code);
form.put("stor_id","15286279952695336962");//半成品仓库
form.put("plan_qty",order.getPlan_qty());
form.put("stor_id", IOSEnum.STOR_CODE.code("半成品仓库"));//半成品仓库
form.put("total_qty",param.getString("weight"));
form.put("material_id",order.getMaterial_id());
form.put("unit_weight",order.getMaterial_weight());
form.put("storagevehicle_code",param.getString("vehicle_code"));
form.put("product_code","A1");
form.put("auto_send",true);
pdaStBcpInService.createIn(form);
JSONObject req = new JSONObject();
req.put("from",form);
pdaStBcpInService.createIn(req);
return "";
}
}

View File

@@ -19,11 +19,15 @@ import org.nl.wms.storage_manage.semimanage.service.iostorInv.dto.BcpIostorInvQu
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
import java.math.BigDecimal;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* <p>
@@ -70,16 +74,18 @@ public class StIvtIostorinvBcpController {
.set("is_delete","1")
.in("iostorinv_id",ids));
StIvtIostorinvBcp mst = stIvtIostorinvBcpService.getById(ids);
List<StIvtIostorinvBcp> bcps = stIvtIostorinvBcpService.listByIds(Arrays.asList(ids));
List<String> collect = bcps.stream().map(StIvtIostorinvBcp::getStoragevehicle_code).collect(Collectors.toList());
// 更新载具扩展属性 - 释放载具对应物料关系 清空数量
iMdPbStoragevehicleextService.update(
new MdPbStoragevehicleext()
.setMaterial_id("")
.setStorage_qty(BigDecimal.valueOf(0)),
new QueryWrapper<MdPbStoragevehicleext>().lambda()
.eq(MdPbStoragevehicleext::getStoragevehicle_code,mst.getStoragevehicle_code())
);
if (!CollectionUtils.isEmpty(collect)){
iMdPbStoragevehicleextService.update(
new MdPbStoragevehicleext()
.setMaterial_id("")
.setStorage_qty(BigDecimal.valueOf(0)),
new QueryWrapper<MdPbStoragevehicleext>().lambda()
.in(MdPbStoragevehicleext::getStoragevehicle_code,collect)
);
}
}
return new ResponseEntity<>(HttpStatus.OK);
}

View File

@@ -9,7 +9,7 @@
mater.material_spec,
task.task_code,
task.task_status,
ROUND(dtl.plan_qty / dtl.unit_weight,3 ) AS weight_qty
ROUND(dtl.plan_qty / dtl.unit_weight,3 ) AS qty
FROM
st_ivt_iostorinv_bcp dtl
LEFT JOIN md_me_materialbase mater ON mater.material_id = dtl.material_id

View File

@@ -137,7 +137,7 @@ public class StIvtIostorinvBcpOutServiceImpl extends ServiceImpl<StIvtIostorinvB
mst.setStor_code(stor.getStor_code());
mst.setStor_name(stor.getStor_name());
}
packageRow(mst, (JSONObject) item);
packageRow(mst, JSONObject.parseObject(JSON.toJSONString(item)));
mst.setCreate_id(SecurityUtils.getCurrentUserId());
mst.setCreate_name(SecurityUtils.getCurrentNickName());
mst.setCreate_time(DateUtil.now());
@@ -455,7 +455,7 @@ public class StIvtIostorinvBcpOutServiceImpl extends ServiceImpl<StIvtIostorinvB
mst.setUpdate_name(SecurityUtils.getCurrentNickName());
mst.setUpdate_time(DateUtil.now());
for (Object item : form.getJSONArray("tableData")) {
packageRow(mst, (JSONObject) item);
packageRow(mst, JSONObject.parseObject(JSON.toJSONString(item)));
}
this.updateById(mst);
return mst.getIostorinv_id();

View File

@@ -135,7 +135,7 @@ public class StIvtIostorinvBcpServiceImpl extends ServiceImpl<StIvtIostorinvBcpM
iMdPbStoragevehicleextService.update(
new UpdateWrapper<MdPbStoragevehicleext>().lambda()
.set(MdPbStoragevehicleext::getMaterial_id, mst.getMaterial_id())
.set(MdPbStoragevehicleext::getStorage_qty, mst.getPlan_qty())
.set(MdPbStoragevehicleext::getWeight, mst.getPlan_qty())
.eq(MdPbStoragevehicleext::getStoragevehicle_code, mst.getStoragevehicle_code())
);
@@ -173,7 +173,7 @@ public class StIvtIostorinvBcpServiceImpl extends ServiceImpl<StIvtIostorinvBcpM
.eq(MdPbStoragevehicleext::getStoragevehicle_code, row.getString("storagevehicle_code"))
);
if (ObjectUtil.isNotEmpty(vehicleExtDao)) {
vehicleExtDao.setStorage_qty(mst.getPlan_qty());
vehicleExtDao.setWeight(mst.getPlan_qty());
vehicleExtDao.setMaterial_id(mst.getMaterial_id());
iMdPbStoragevehicleextService.updateById(vehicleExtDao);
}
@@ -313,7 +313,7 @@ public class StIvtIostorinvBcpServiceImpl extends ServiceImpl<StIvtIostorinvBcpM
mst.setUpdate_name(SecurityUtils.getCurrentNickName());
mst.setUpdate_time(DateUtil.now());
for (Object item : form.getJSONArray("tableData")) {
packageRow(mst, (JSONObject) item);
packageRow(mst, JSONObject.parseObject(JSON.toJSONString(item)));
}
this.updateById(mst);
return mst.getIostorinv_id();