rev:托盘入库流程修改

This commit is contained in:
zhangzq
2024-12-06 14:08:00 +08:00
parent 92d8e228e4
commit 8b52373500
3 changed files with 74 additions and 34 deletions

View File

@@ -20,6 +20,8 @@ import org.nl.wms.flow_manage.flow.service.execution.IActRuExecutionService;
import org.nl.wms.flow_manage.flow.service.execution.dao.ActRuExecution;
import org.nl.wms.flow_manage.monitor.event.FlowContinueEvent;
import org.nl.wms.flow_manage.monitor.event.FlowStartEvent;
import org.nl.wms.md_manage.group_dick.service.IMdGruopDickService;
import org.nl.wms.md_manage.group_dick.service.dao.MdGruopDick;
import org.nl.wms.md_manage.vehicleMater.service.IMdPbVehicleMaterService;
import org.nl.wms.md_manage.vehicleMater.service.dao.MdPbVehicleMater;
import org.nl.wms.md_manage.vehicleMater.service.dto.MdPbVehicleMaterVo;
@@ -54,6 +56,8 @@ public class PalletInStorageTask extends AbstractTask {
private ISchBaseTaskService iSchBaseTaskService;
@Autowired
private IBmVehicleInfoService iBmVehicleInfoService;
@Autowired
private IMdGruopDickService iMdGruopDickService;
@Override
public JSONObject createTask(JSONObject data) {
@@ -77,24 +81,56 @@ public class PalletInStorageTask extends AbstractTask {
}
List<MdPbVehicleMaterVo> item = iMdPbVehicleMaterService.getVehicleMaters(vehicle_code);
if (CollectionUtils.isEmpty(item)){
throw new BadRequestException("申请任务失败:载具"+vehicle_code+"物料信息不存在");
throw new BadRequestException("申请任务失败:载具"+vehicle_code+"载具物料信息信息不存在");
}
MdPbVehicleMaterVo vehicleMaterVo = item.get(0);
String remark = vehicleMaterVo.getRemark();
if ("空托盘入库".equals(remark)){
iBmVehicleInfoService.update(new UpdateWrapper<BmVehicleInfo>()
.set("h",Integer.valueOf(h))
.set("update_time", DateUtil.now())
.set("update_name", "ACS托盘入库申请")
.eq("vehicle_code",vehicle_code));
MdPbVehicleMaterVo vehicleMater = item.get(0);
//拣选回库流程
BussEventMulticaster.Publish(
new FlowStartEvent("pallet_in",
(proc_inst_id,empPlace) -> iMdPbVehicleMaterService.update(new UpdateWrapper<MdPbVehicleMater>()
.set("proc_inst_id",proc_inst_id)
.eq("vehicle_code",vehicle_code)
.eq("is_delete",false))
,new JSONObject(MapOf.of("start_point", point_code1)))
.build("md_pb_vehicleMater",vehicleMater.getId(),null,null, (JSONObject) JSONObject.toJSON(vehicleMater))
);
}else {
String groupId = vehicleMaterVo.getGroup_id();
MdGruopDick mst = iMdGruopDickService.getById(groupId);
SchBaseTask schBaseTask = iSchBaseTaskService.getOne(new QueryWrapper<SchBaseTask>()
.eq("vehicle_code", vehicle_code).select("task_code")
.lt("status",StatusEnum.FORM_STATUS.code("完成")));
if (schBaseTask!=null){
throw new BadRequestException("申请任务失败:载具"+vehicle_code+"已经存任务"+schBaseTask.getTask_code());
}
iBmVehicleInfoService.update(new UpdateWrapper<BmVehicleInfo>()
.set("h",Integer.valueOf(h))
.set("update_time", DateUtil.now())
.set("update_name", "ACS托盘入库申请")
.eq("vehicle_code",vehicle_code));
JSONObject mstJ = (JSONObject) JSONObject.toJSON(mst);
MdPbVehicleMaterVo vehicleMater = vehicleMaterVo;
mstJ.put("stor_code", vehicleMater.getStor_code());
BussEventMulticaster.Publish(
new FlowStartEvent("md_group",
(proc_inst_id,empPlace) -> iMdPbVehicleMaterService.update(new UpdateWrapper<MdPbVehicleMater>()
.set("proc_inst_id",proc_inst_id)
.eq("vehicle_code",vehicle_code)
.eq("is_delete",false))
,new JSONObject(MapOf.of("start_point", point_code1)))
.build("md_group_dick",mst.getId(),mst.getSource_form_type(),mst.getSource_form_id(), mstJ)
.build("md_pb_vehicleMater",item)
);
}
iBmVehicleInfoService.update(new UpdateWrapper<BmVehicleInfo>()
.set("h",Integer.valueOf(h))
.set("update_time", DateUtil.now())
.set("update_name", "ACS托盘入库申请")
.eq("vehicle_code",vehicle_code));
MdPbVehicleMaterVo vehicleMater = item.get(0);
//拣选回库流程
BussEventMulticaster.Publish(
new FlowStartEvent("pallet_in",
(proc_inst_id,empPlace) -> iMdPbVehicleMaterService.update(new UpdateWrapper<MdPbVehicleMater>()
.set("proc_inst_id",proc_inst_id)
.eq("vehicle_code",vehicle_code)
.eq("is_delete",false))
,new JSONObject(MapOf.of("start_point", point_code1)))
.build("md_pb_vehicleMater",vehicleMater.getId(),null,null, (JSONObject) JSONObject.toJSON(vehicleMater))
);
return null;
}

View File

@@ -61,6 +61,7 @@ public class PalletIostorinvService {
}, StatusEnum.STRATEGY_TYPE.code("入库")+STOR_CODE,5);
MdPbVehicleMater vehicleMater = new MdPbVehicleMater();
vehicleMater.setId(IdUtil.getStringId());
vehicleMater.setRemark("空托盘入库");
vehicleMater.setCreate_time(DateUtil.now());
vehicleMater.setCreate_name(SecurityUtils.getCurrentNickName());
vehicleMater.setVehicle_code(vehicle_code);
@@ -70,17 +71,6 @@ public class PalletIostorinvService {
vehicleMater.setQty(new BigDecimal(1));
vehicleMater.setUnit_id("16");
iMdPbVehicleMaterService.save(vehicleMater);
// //触发流程
// BussEventMulticaster.Publish(
// new FlowStartEvent("pallet_in",
// (proc_inst_id,empPlace) -> iMdPbVehicleMaterService.update(new UpdateWrapper<MdPbVehicleMater>()
// .set("proc_inst_id",proc_inst_id)
// .eq("vehicle_code",vehicle_code)
// .eq("is_delete",false))
// ,null)
// .build("md_pb_vehicleMater",vehicleMater.getId(),null,null, (JSONObject) JSONObject.toJSON(vehicleMater))
// );
};
public void outStorage(JSONObject form){
Assert.noNullElements(new Object[]{form,form.getString("pcsn"),form.getString("material_id"),form.getInteger("qty"),form.getString("target_point")}, "参数不能为空");

View File

@@ -15,6 +15,8 @@ import org.nl.common.utils.IdUtil;
import org.nl.wms.flow_manage.flow.framework.process.nodeType.excess.impl.DecisionHandler;
import org.nl.wms.md_manage.group_dick.service.IMdGruopDickService;
import org.nl.wms.md_manage.group_dick.service.dao.MdGruopDick;
import org.nl.wms.md_manage.vehicleMater.service.IMdPbVehicleMaterService;
import org.nl.wms.md_manage.vehicleMater.service.dao.MdPbVehicleMater;
import org.nl.wms.stor_manage.record.service.IStIvtStructivtflowService;
@@ -54,11 +56,13 @@ public class StIvtStructattrServiceImpl extends ServiceImpl<StIvtStructattrMappe
private IMdPbVehicleMaterService vehicleMaterService;
@Autowired
private IStIvtStructivtflowService structivtflowService;
@Autowired
private ISysParamService iSysParamService;
@Autowired
@Lazy
private IMdGruopDickService iMdGruopDickService;
@Autowired
@Lazy
private DecisionHandler decisionHandler;
@@ -68,8 +72,9 @@ public class StIvtStructattrServiceImpl extends ServiceImpl<StIvtStructattrMappe
}
@Override
public void changeStruct(String struct_code, String vehicle_code, String task_type, BigDecimal change_qty, Boolean growth) {
String now = DateUtil.now();
UpdateWrapper<StIvtStructattr> wrapper = new UpdateWrapper<StIvtStructattr>()
.set("update_time", DateUtil.now())
.set("update_time", now)
.set("lock_type", StatusEnum.LOCK.code("无锁"))
.set("vehicle_code",vehicle_code)
.eq("struct_code", struct_code);
@@ -93,21 +98,30 @@ public class StIvtStructattrServiceImpl extends ServiceImpl<StIvtStructattrMappe
String vehicleCode = vehicleMater.getVehicle_code();
BigDecimal subtract = vehicleMater.getQty().subtract(vehicleMater.getFrozen_qty());
//100-出50 = 50
UpdateWrapper<MdPbVehicleMater> update = new UpdateWrapper<MdPbVehicleMater>()
.set("frozen_qty", 0)
.set("qty", subtract)
.set("qty", subtract)//50
.set("proc_inst_id", null)
.set("update_time", DateUtil.now())
.set("update_time", now)
.eq("id", vehicleMater.getId());
if (vehicleCode.contains("T") && subtract.intValue()>0){
String groupId = vehicleMater.getGroup_id();
MdGruopDick mst = iMdGruopDickService.getById(groupId);
if (mst!=null){
iMdGruopDickService.update(new UpdateWrapper<MdGruopDick>()
.set("source_form_type",null)
.set("source_form_id",null)
.set("update_time", now).set("update_name","托盘拣选")
.eq("id",groupId));
}
update.set("need_pick",true);
update.set("remark","托盘"+vehicleMater.getVehicle_code()+"为人工拣选,请先拣选"+vehicleMater.getFrozen_qty()+",在直接回库!");
}
vehicleMaterService.update(update);
StIvtStructivtflow record = new StIvtStructivtflow();
record.setId(IdUtil.getStringId());
record.setUpdate_time(DateUtil.now());
record.setUpdate_time(now);
record.setVehicle_code(vehicleCode);
record.setMaterial_id(vehicleMater.getMaterial_id());
record.setPcsn(vehicleMater.getPcsn());