rev:载具物料表添加is_delete字段功能:出库后删除

This commit is contained in:
zhangzq
2024-07-18 14:48:21 +08:00
parent 812966d21b
commit 43cefb6a83
17 changed files with 45 additions and 24 deletions

View File

@@ -159,11 +159,6 @@ public class MdMeMaterialbase implements Serializable {
*/ */
private Boolean is_used; private Boolean is_used;
/**
* 是否删除
*/
private Boolean is_delete;
/** /**
* 外部标识 * 外部标识
*/ */

View File

@@ -70,6 +70,7 @@ public class FIFORuleHandler extends Decisioner<StructattrVechielDto, JSONObject
if (structattr.getFrozen_qty().intValue()==0){ if (structattr.getFrozen_qty().intValue()==0){
int cause_qty = structattr.getQty().subtract(structattr.getFrozen_qty()).intValue(); int cause_qty = structattr.getQty().subtract(structattr.getFrozen_qty()).intValue();
int sub = plan_qty - cause_qty; int sub = plan_qty - cause_qty;
finalPlan_qty = sub;
disList.add(structattr); disList.add(structattr);
if (sub<=0){ if (sub<=0){
structattr.setFrozen_qty(new BigDecimal(plan_qty)); structattr.setFrozen_qty(new BigDecimal(plan_qty));
@@ -77,7 +78,6 @@ public class FIFORuleHandler extends Decisioner<StructattrVechielDto, JSONObject
} }
structattr.setFrozen_qty(new BigDecimal(cause_qty)); structattr.setFrozen_qty(new BigDecimal(cause_qty));
plan_qty = sub; plan_qty = sub;
finalPlan_qty = sub;
} }
} }
if (finalPlan_qty>0){ if (finalPlan_qty>0){

View File

@@ -88,7 +88,8 @@ public class ConveyorOutStorageTask extends AbstractTask {
taskService.create(task); taskService.create(task);
iMdPbVehicleMaterService.update(new LambdaUpdateWrapper<MdPbVehicleMater>() iMdPbVehicleMaterService.update(new LambdaUpdateWrapper<MdPbVehicleMater>()
.set(MdPbVehicleMater::getTask_code,task.getTask_code()) .set(MdPbVehicleMater::getTask_code,task.getTask_code())
.eq(MdPbVehicleMater::getVehicle_code,task.getVehicle_code())); .eq(MdPbVehicleMater::getVehicle_code,task.getVehicle_code())
.eq(MdPbVehicleMater::getIs_delete,false));
return (JSONObject) JSON.toJSON(task); return (JSONObject) JSON.toJSON(task);
} }

View File

@@ -85,7 +85,10 @@ public class GroupDickInStorageTask extends AbstractTask {
}else { }else {
BussEventMulticaster.Publish( BussEventMulticaster.Publish(
new FlowStartEvent("md_group", 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)) (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))) ,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_group_dick",mst.getId(),mst.getSource_form_type(),mst.getSource_form_id(), mstJ)
.build("md_pb_vehicleMater",item) .build("md_pb_vehicleMater",item)

View File

@@ -71,7 +71,8 @@ public class InStorageTask extends AbstractTask {
iSchBaseTaskService.create(task); iSchBaseTaskService.create(task);
iMdPbVehicleMaterService.update(new LambdaUpdateWrapper<MdPbVehicleMater>() iMdPbVehicleMaterService.update(new LambdaUpdateWrapper<MdPbVehicleMater>()
.set(MdPbVehicleMater::getTask_code,task.getTask_code()) .set(MdPbVehicleMater::getTask_code,task.getTask_code())
.eq(MdPbVehicleMater::getVehicle_code,task.getVehicle_code())); .eq(MdPbVehicleMater::getVehicle_code,task.getVehicle_code())
.eq(MdPbVehicleMater::getIs_delete,false));
return (JSONObject) JSON.toJSON(task); return (JSONObject) JSON.toJSON(task);
} }

View File

@@ -77,7 +77,8 @@ public class MoveStorageTask extends AbstractTask {
taskService.save(task); taskService.save(task);
iMdPbVehicleMaterService.update(new LambdaUpdateWrapper<MdPbVehicleMater>() iMdPbVehicleMaterService.update(new LambdaUpdateWrapper<MdPbVehicleMater>()
.set(MdPbVehicleMater::getTask_code,task.getTask_code()) .set(MdPbVehicleMater::getTask_code,task.getTask_code())
.eq(MdPbVehicleMater::getVehicle_code,task.getVehicle_code())); .eq(MdPbVehicleMater::getVehicle_code,task.getVehicle_code())
.eq(MdPbVehicleMater::getIs_delete,false));
//TODO:是否下发 //TODO:是否下发
Boolean isSend = from.getBoolean("is_send"); Boolean isSend = from.getBoolean("is_send");
if (isSend){ if (isSend){

View File

@@ -85,7 +85,8 @@ public class OutStorageTask extends AbstractTask {
taskService.save(task); taskService.save(task);
iMdPbVehicleMaterService.update(new LambdaUpdateWrapper<MdPbVehicleMater>() iMdPbVehicleMaterService.update(new LambdaUpdateWrapper<MdPbVehicleMater>()
.set(MdPbVehicleMater::getTask_code,task.getTask_code()) .set(MdPbVehicleMater::getTask_code,task.getTask_code())
.eq(MdPbVehicleMater::getVehicle_code,task.getVehicle_code())); .eq(MdPbVehicleMater::getVehicle_code,task.getVehicle_code())
.eq(MdPbVehicleMater::getIs_delete,false));
//TODO:是否下发 //TODO:是否下发
Boolean isSend = from.getBoolean("is_send"); Boolean isSend = from.getBoolean("is_send");
if (isSend){ if (isSend){

View File

@@ -73,7 +73,8 @@ public class PickStorageTask extends AbstractTask {
iSchBaseTaskService.save(task); iSchBaseTaskService.save(task);
iMdPbVehicleMaterService.update(new LambdaUpdateWrapper<MdPbVehicleMater>() iMdPbVehicleMaterService.update(new LambdaUpdateWrapper<MdPbVehicleMater>()
.set(MdPbVehicleMater::getTask_code,task.getTask_code()) .set(MdPbVehicleMater::getTask_code,task.getTask_code())
.eq(MdPbVehicleMater::getVehicle_code,task.getVehicle_code())); .eq(MdPbVehicleMater::getVehicle_code,task.getVehicle_code())
.eq(MdPbVehicleMater::getIs_delete,false));
//TODO:是否下发 //TODO:是否下发
Boolean isSend = from.getBoolean("is_send"); Boolean isSend = from.getBoolean("is_send");
if (isSend){ if (isSend){

View File

@@ -93,7 +93,8 @@ public class ToPickPlatformTask extends AbstractTask {
Lask_Point = target_point; Lask_Point = target_point;
iMdPbVehicleMaterService.update(new LambdaUpdateWrapper<MdPbVehicleMater>() iMdPbVehicleMaterService.update(new LambdaUpdateWrapper<MdPbVehicleMater>()
.set(MdPbVehicleMater::getTask_code,task.getTask_code()) .set(MdPbVehicleMater::getTask_code,task.getTask_code())
.eq(MdPbVehicleMater::getVehicle_code,task.getVehicle_code())); .eq(MdPbVehicleMater::getVehicle_code,task.getVehicle_code())
.eq(MdPbVehicleMater::getIs_delete,false));
//TODO:是否下发 //TODO:是否下发
Boolean isSend = from.getBoolean("is_send"); Boolean isSend = from.getBoolean("is_send");
if (isSend){ if (isSend){

View File

@@ -22,7 +22,7 @@
select md_pb_vehicleMater.*,material_code,material_name,material_spec select md_pb_vehicleMater.*,material_code,material_name,material_spec
from md_pb_vehicleMater left join md_me_materialbase from md_pb_vehicleMater left join md_me_materialbase
on md_pb_vehicleMater.material_id = md_me_materialbase.material_id on md_pb_vehicleMater.material_id = md_me_materialbase.material_id
where vehicle_code = #{vehicle_code} where vehicle_code = #{vehicle_code} and is_delete = false
</select> </select>
</mapper> </mapper>

View File

@@ -49,7 +49,7 @@ public class PalletStIvtIostorinvController {
@Log("手持托盘出库") @Log("手持托盘出库")
public ResponseEntity<Object> outStorage(@RequestBody JSONObject form) { public ResponseEntity<Object> outStorage(@RequestBody JSONObject form) {
palletIostorinvService.outStorage(form); palletIostorinvService.outStorage(form);
return new ResponseEntity<>(HttpStatus.OK); return new ResponseEntity<>(TableDataInfo.build(),HttpStatus.OK);
} }
} }

View File

@@ -71,14 +71,17 @@ public class PalletIostorinvService {
//触发流程 //触发流程
BussEventMulticaster.Publish( BussEventMulticaster.Publish(
new FlowStartEvent("pallet_in", 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)) (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) ,null)
.build("md_pb_vehicleMater",vehicleMater.getId(),null,null, (JSONObject) JSONObject.toJSON(vehicleMater)) .build("md_pb_vehicleMater",vehicleMater.getId(),null,null, (JSONObject) JSONObject.toJSON(vehicleMater))
); );
}; };
public void outStorage(JSONObject form){ public void outStorage(JSONObject form){
Assert.notNull(form, "参数不能为空"); Assert.noNullElements(new Object[]{form,form.getString("material_id"),form.getInteger("qty"),form.getString("target_point")}, "参数不能为空");
//触发流程 //触发流程
JSONObject flowData = new JSONObject(); JSONObject flowData = new JSONObject();
flowData.put("material_id",form.getString("material_id")); flowData.put("material_id",form.getString("material_id"));
@@ -97,7 +100,7 @@ public class PalletIostorinvService {
, "order_by", "ABS(qty-#{plan_qty}) asc,update_time asc") , "order_by", "ABS(qty-#{plan_qty}) asc,update_time asc")
); );
if (vechielDtos.size()<form.getInteger("qty")){ if (vechielDtos.size()<form.getInteger("qty")){
throw new BadRequestException("出库失败:当前仓库可用托盘数量不足"); throw new BadRequestException("出库失败:当前仓库可用托盘数量"+vechielDtos.size()+"不足"+form.getInteger("qty"));
} }
}, StatusEnum.STRATEGY_TYPE.code("出库")+STOR_CODE,5); }, StatusEnum.STRATEGY_TYPE.code("出库")+STOR_CODE,5);
BussEventMulticaster.Publish( BussEventMulticaster.Publish(
@@ -105,7 +108,8 @@ public class PalletIostorinvService {
(proc_inst_id,vehicle) -> { (proc_inst_id,vehicle) -> {
iMdPbVehicleMaterService.update(new UpdateWrapper<MdPbVehicleMater>() iMdPbVehicleMaterService.update(new UpdateWrapper<MdPbVehicleMater>()
.set("proc_inst_id",proc_inst_id) .set("proc_inst_id",proc_inst_id)
.eq("vehicle_code",vehicle)); .eq("vehicle_code",vehicle)
.eq("is_delete",false));
} }
,auxParam) ,auxParam)
.build("st_ivt_iostorinv",null,null,null, flowData) .build("st_ivt_iostorinv",null,null,null, flowData)

View File

@@ -118,7 +118,10 @@ public class CheckStorageService {
dto.setT(mstJ); dto.setT(mstJ);
dto.setItem(packageT(mstJ,"id")); dto.setItem(packageT(mstJ,"id"));
FlowStartEvent startEvent = new FlowStartEvent("st_ivt_check", FlowStartEvent startEvent = new FlowStartEvent("st_ivt_check",
(proc_inst_id, empPlace) -> iMdPbVehicleMaterService.update(new UpdateWrapper<MdPbVehicleMater>().set("proc_inst_id", proc_inst_id).eq("vehicle_code", empPlace)) (proc_inst_id, empPlace) -> iMdPbVehicleMaterService.update(new UpdateWrapper<MdPbVehicleMater>()
.set("proc_inst_id", proc_inst_id)
.eq("vehicle_code", empPlace)
.eq("is_delete",false))
, null); , null);
startEvent.setDto(dto); startEvent.setDto(dto);
startEvent.setCallback(proc_inst_id->{ startEvent.setCallback(proc_inst_id->{
@@ -164,7 +167,8 @@ public class CheckStorageService {
for (PmFormData dtl : dtls) { for (PmFormData dtl : dtls) {
iMdPbVehicleMaterService.update(new UpdateWrapper<MdPbVehicleMater>() iMdPbVehicleMaterService.update(new UpdateWrapper<MdPbVehicleMater>()
.set("qty",dtl.getForm_data().getBigDecimal("change_qty")) .set("qty",dtl.getForm_data().getBigDecimal("change_qty"))
.eq("vehicle_code",dtl.getVehicle_code())); .eq("vehicle_code",dtl.getVehicle_code())
.eq("is_delete",false));
} }
for (PmFormData dtl : dtls) { for (PmFormData dtl : dtls) {
FlowContinueEvent continueEvent = new FlowContinueEvent(vehicleMap.get(dtl.getVehicle_code()), null, null); FlowContinueEvent continueEvent = new FlowContinueEvent(vehicleMap.get(dtl.getVehicle_code()), null, null);

View File

@@ -259,6 +259,7 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl<StIvtIostorinvOutMapp
BussEventMulticaster.Publish(new FlowStartEvent("st_ivt_iostorinv_" + (iostorinv.getIn_storage() ? "in" : "out") BussEventMulticaster.Publish(new FlowStartEvent("st_ivt_iostorinv_" + (iostorinv.getIn_storage() ? "in" : "out")
, (proc_inst_id, innerVehicle) -> iMdPbVehicleMaterService.update(new UpdateWrapper<MdPbVehicleMater>() , (proc_inst_id, innerVehicle) -> iMdPbVehicleMaterService.update(new UpdateWrapper<MdPbVehicleMater>()
.set("proc_inst_id", proc_inst_id) .set("proc_inst_id", proc_inst_id)
.eq("is_delete",false)
.in("vehicle_code", innerVehicle == null ? vechiles : ListOf.of(innerVehicle))) .in("vehicle_code", innerVehicle == null ? vechiles : ListOf.of(innerVehicle)))
//传递全局参数:出库分配出库点用 //传递全局参数:出库分配出库点用
, iostorinv.getForm_data()) , iostorinv.getForm_data())

View File

@@ -128,7 +128,10 @@ public class MovingService {
dto.setT(mstJ); dto.setT(mstJ);
dto.setItem(packageT(mstJ,"id")); dto.setItem(packageT(mstJ,"id"));
FlowStartEvent startEvent = new FlowStartEvent("st_ivt_move", FlowStartEvent startEvent = new FlowStartEvent("st_ivt_move",
(proc_inst_id, empPlace) -> iMdPbVehicleMaterService.update(new UpdateWrapper<MdPbVehicleMater>().set("proc_inst_id", proc_inst_id).eq("vehicle_code", empPlace)) (proc_inst_id, empPlace) -> iMdPbVehicleMaterService.update(new UpdateWrapper<MdPbVehicleMater>()
.set("proc_inst_id", proc_inst_id)
.eq("is_delete",false)
.eq("vehicle_code", empPlace))
, null); , null);
startEvent.setDto(dto); startEvent.setDto(dto);
startEvent.setCallback(proc_inst_id->{ startEvent.setCallback(proc_inst_id->{

View File

@@ -177,7 +177,9 @@ public class PickingService {
pickingService.disGroup(mst); pickingService.disGroup(mst);
//只有透传才有vehicle_code参数否则只有inst_id //只有透传才有vehicle_code参数否则只有inst_id
FlowContinueEvent continueEvent = new FlowContinueEvent(mst.getProc_inst_id(), (PermeateFunction<String, String>) (inst_id, vehicle_code) -> iMdPbVehicleMaterService.update(new UpdateWrapper<MdPbVehicleMater>() 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("vehicle_code",vehicle_code)), null) .set("proc_inst_id",inst_id)
.eq("is_delete",false)
.eq("vehicle_code",vehicle_code)), null)
.setDto(dto); .setDto(dto);
continueEvent.setCallback(emp->{ continueEvent.setCallback(emp->{
iFormDataService.update(new UpdateWrapper<PmFormData>() iFormDataService.update(new UpdateWrapper<PmFormData>()
@@ -204,6 +206,7 @@ public class PickingService {
.set("update_time", DateUtil.now()) .set("update_time", DateUtil.now())
.set("update_name", SecurityUtils.getCurrentNickName()) .set("update_name", SecurityUtils.getCurrentNickName())
.set("qty", data.getQty()) .set("qty", data.getQty())
.eq("is_delete",false)
.eq("vehicle_code", vehicle_code)); .eq("vehicle_code", vehicle_code));
} else { } else {
组盘: 组盘:

View File

@@ -73,7 +73,8 @@
st_ivt_structattr st_ivt_structattr
LEFT JOIN md_pb_vehicleMater ON st_ivt_structattr.vehicle_code = md_pb_vehicleMater.vehicle_code LEFT JOIN md_pb_vehicleMater ON st_ivt_structattr.vehicle_code = md_pb_vehicleMater.vehicle_code
WHERE WHERE
material_id = #{material_id} md_pb_vehicleMater.is_delete = false
AND material_id = #{material_id}
AND pcsn = #{pcsn} AND pcsn = #{pcsn}
AND st_ivt_structattr.stor_code = #{stor_code} AND st_ivt_structattr.stor_code = #{stor_code}
<if test="vehicles != null and vehicles.size() > 0"> <if test="vehicles != null and vehicles.size() > 0">
@@ -127,6 +128,7 @@
left join md_me_materialbase material on vm.material_id = material.material_id left join md_me_materialbase material on vm.material_id = material.material_id
<where> <where>
struct.vehicle_code is not null struct.vehicle_code is not null
and vm.is_delete = false
<if test="query.search != null and query.search != ''"> <if test="query.search != null and query.search != ''">
and (struct.struct_code LIKE '%${query.search}%' and (struct.struct_code LIKE '%${query.search}%'
or struct.struct_name LIKE '%${query.search}%') or struct.struct_name LIKE '%${query.search}%')