rev:托盘拣选出库流程

This commit is contained in:
zhangzq
2024-10-29 10:01:01 +08:00
parent 4664761145
commit c380ae21b0
10 changed files with 133 additions and 106 deletions

View File

@@ -42,7 +42,7 @@ public class AppRun implements CommandLineRunner {
@Override
public void run(String... args) {
HeartClientServer heartServer = new HeartClientServer(new InetSocketAddress("192.168.8.218", 20889));
// HeartClientServer heartServer = new HeartClientServer(new InetSocketAddress("192.168.8.218", 20889));
System.out.println("--------项目启动完成--------");
}

View File

@@ -62,7 +62,7 @@ public class PalletInStorageTask extends AbstractTask {
throw new BadRequestException("申请任务失败:载具"+vehicle_code+"物料信息不存在");
}
MdPbVehicleMaterVo vehicleMater = item.get(0);
//拣选回库流程
BussEventMulticaster.Publish(
new FlowStartEvent("pallet_in",
(proc_inst_id,empPlace) -> iMdPbVehicleMaterService.update(new UpdateWrapper<MdPbVehicleMater>()

View File

@@ -101,7 +101,7 @@ public class DeviceManageController {
if (vehicleMater == null){
throw new BadRequestException(String.format(vehicleCode+"载具组盘信息不存在"));
}
wmsToAcsService.toCommand(device_code,form.getMode(),vehicleInfo.getH());
wmsToAcsService.toCommand(device_code,"1",vehicleInfo.getH());
return new ResponseEntity<>(TableDataInfo.build(),HttpStatus.OK);
}

View File

@@ -17,6 +17,8 @@ import org.nl.wms.flow_manage.flow.service.execution.dao.ActRuExecution;
import org.nl.wms.md_manage.vehicleMater.service.IMdPbVehicleMaterService;
import org.nl.wms.md_manage.vehicleMater.service.dao.MdPbVehicleMater;
import org.nl.wms.pda_manage.palletio.service.PalletIostorinvService;
import org.nl.wms.pm_manage.form_data.service.IPmFormDataService;
import org.nl.wms.pm_manage.form_data.service.dao.PmFormData;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
@@ -41,6 +43,8 @@ public class IOStorageController {
private IMdPbVehicleMaterService iMdPbVehicleMaterService;
@Autowired
private IActRuExecutionService iActRuExecutionService;
@Autowired
private IPmFormDataService iPmFormDataService;
@PostMapping("out")
@@ -52,6 +56,7 @@ public class IOStorageController {
.eq("vehicle_code", vehicle_code)
.eq("is_delete", false));
if (one!=null){
//流程校验
String proc_inst_id = one.getProc_inst_id();
if (!StringUtils.isEmpty(proc_inst_id)){
String parent_id = iActRuExecutionService.getParentByChild(proc_inst_id);
@@ -62,6 +67,14 @@ public class IOStorageController {
throw new BadRequestException(String.format("当前载具%s业务流程%s未完成",vehicle_code,parent_id));
}
}
//单据校验"针对托盘库拣选
int count = iPmFormDataService.count(new QueryWrapper<PmFormData>()
.eq("form_type", "Picking")
.eq("vehicle_code", vehicle_code)
.lt("status", StatusEnum.FORM_STATUS.code("完成")));
if (count>0){
throw new BadRequestException(String.format("当前载具%s为拣选出库请先进行拣选操作",vehicle_code));
}
iMdPbVehicleMaterService.update(new UpdateWrapper<MdPbVehicleMater>()
.set("is_delete",true)
.set("proc_inst_id",null)

View File

@@ -157,8 +157,8 @@ public class PmFormDataServiceImpl extends ServiceImpl<PmFormDataMapper, PmFormD
@Override
public List<PmFormDataDto> queryTree(FormDataQuery query, PageQuery pageQuery) {
Page page = PageHelper.startPage(pageQuery.getPage() + 1, pageQuery.getSize());
page.setOrderBy("id DESC");
// Page page = PageHelper.startPage(pageQuery.getPage() + 1, pageQuery.getSize());
// page.setOrderBy("id DESC");
List<PmFormDataDto> pmFormDataDtos = this.baseMapper.queryTree(query);
return pmFormDataDtos;
}

View File

@@ -296,7 +296,16 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl<StIvtIostorinvOutMapp
iMdPbVehicleMaterService.update(new UpdateWrapper<MdPbVehicleMater>()
.set("frozen_qty", 0)
.in("id", Arrays.asList(split)));
//更新点位锁定
String vehicleCodes = iostorinvdtls.stream().map(StIvtIostorinvdtl::getVehicle_code).collect(Collectors.joining(","));
String[] vehicleCodeSplit = vehicleCodes.split(",");
iStIvtStructattrService
.update(new UpdateWrapper<StIvtStructattr>()
.set("lock_type",StatusEnum.LOCK.code("无锁"))
.in("vehicle_code", Arrays.asList(vehicleCodeSplit))
);
}
this.update(new UpdateWrapper<StIvtIostorinv>()
.set("status", StatusEnum.FORM_STATUS.code("取消"))
.eq("id", id));

View File

@@ -189,17 +189,15 @@ public class PickingService {
PickingService pickingService = SpringContextHolder.getBean(this.getClass());
pickingService.disGroup(mst);
iFormDataService.update(new UpdateWrapper<PmFormData>()
.set("status",StatusEnum.FORM_STATUS.code("执行中"))
.eq("id",mst.getId()));
//只有透传才有vehicle_code参数否则只有inst_id
FlowContinueEvent continueEvent = new FlowContinueEvent(mst.getProc_inst_id(), (PermeateFunction<String, String>) (inst_id, vehicle_code) -> iMdPbVehicleMaterService.update(new UpdateWrapper<MdPbVehicleMater>()
.set("proc_inst_id",inst_id)
.eq("is_delete",false)
.eq("vehicle_code",vehicle_code)), null)
.setDto(dto);
continueEvent.setCallback(emp->{
iFormDataService.update(new UpdateWrapper<PmFormData>()
.set("status",StatusEnum.FORM_STATUS.code("执行中"))
.eq("id",mst.getId()));
});
BussEventMulticaster.Publish(continueEvent);
}

View File

@@ -8,7 +8,7 @@ spring:
db-type: com.alibaba.druid.pool.DruidDataSource
driverClassName: com.mysql.cj.jdbc.Driver
# url: jdbc:mysql://${DB_HOST:192.168.8.218}:${DB_PORT:3306}/${DB_NAME:wms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true&allowPublicKeyRetrieval=true&useSSL=false
url: jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:wms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true&allowPublicKeyRetrieval=true&useSSL=false
url: jdbc:mysql://${DB_HOST:192.168.81.251}:${DB_PORT:3306}/${DB_NAME:wms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true&allowPublicKeyRetrieval=true&useSSL=false
username: ${DB_USER:root}
password: ${DB_PWD:123456}