rev:出入库修改
This commit is contained in:
@@ -3,6 +3,8 @@ package org.nl.wms.pda.ios_manage.service.impl;
|
|||||||
import cn.hutool.core.util.NumberUtil;
|
import cn.hutool.core.util.NumberUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||||
import org.nl.common.exception.BadRequestException;
|
import org.nl.common.exception.BadRequestException;
|
||||||
import org.nl.wms.basedata_manage.service.IStructattrService;
|
import org.nl.wms.basedata_manage.service.IStructattrService;
|
||||||
import org.nl.wms.basedata_manage.service.dao.Structattr;
|
import org.nl.wms.basedata_manage.service.dao.Structattr;
|
||||||
@@ -160,6 +162,13 @@ public class PdaIosOutServiceImpl implements PdaIosOutService {
|
|||||||
attrDao.setLock_type(IOSEnum.LOCK_TYPE.code("入库锁"));
|
attrDao.setLock_type(IOSEnum.LOCK_TYPE.code("入库锁"));
|
||||||
attrDao.setTaskdtl_id(task_id);
|
attrDao.setTaskdtl_id(task_id);
|
||||||
iStructattrService.updateById(attrDao);
|
iStructattrService.updateById(attrDao);
|
||||||
|
|
||||||
|
// 更新起点绑定id
|
||||||
|
iSchBasePointService.update(
|
||||||
|
new UpdateWrapper<SchBasePoint>().lambda()
|
||||||
|
.set(SchBasePoint::getIos_id, null)
|
||||||
|
.eq(SchBasePoint::getPoint_code, pointDao.getPoint_code())
|
||||||
|
);
|
||||||
}
|
}
|
||||||
return PdaResponse.requestOk();
|
return PdaResponse.requestOk();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import cn.hutool.core.util.ObjectUtil;
|
|||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||||
import org.nl.common.exception.BadRequestException;
|
import org.nl.common.exception.BadRequestException;
|
||||||
|
import org.nl.common.utils.CodeUtil;
|
||||||
import org.nl.common.utils.SecurityUtils;
|
import org.nl.common.utils.SecurityUtils;
|
||||||
import org.nl.config.IdUtil;
|
import org.nl.config.IdUtil;
|
||||||
import org.nl.wms.basedata_manage.service.IStructattrService;
|
import org.nl.wms.basedata_manage.service.IStructattrService;
|
||||||
@@ -53,7 +54,7 @@ public class BackInTask extends AbstractTask {
|
|||||||
public String create(JSONObject json) {
|
public String create(JSONObject json) {
|
||||||
SchBaseTask task = new SchBaseTask();
|
SchBaseTask task = new SchBaseTask();
|
||||||
task.setTask_id(IdUtil.getStringId());
|
task.setTask_id(IdUtil.getStringId());
|
||||||
task.setTask_code(IdUtil.getStringId());
|
task.setTask_code(CodeUtil.getNewCode("TASK_CODE"));
|
||||||
task.setTask_status(TaskStatus.CREATE.getCode());
|
task.setTask_status(TaskStatus.CREATE.getCode());
|
||||||
task.setConfig_code(json.getString("config_code"));
|
task.setConfig_code(json.getString("config_code"));
|
||||||
task.setPoint_code1(json.getString("point_code1"));
|
task.setPoint_code1(json.getString("point_code1"));
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import cn.hutool.core.util.ObjectUtil;
|
|||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import org.nl.common.exception.BadRequestException;
|
import org.nl.common.exception.BadRequestException;
|
||||||
|
import org.nl.common.utils.CodeUtil;
|
||||||
import org.nl.common.utils.SecurityUtils;
|
import org.nl.common.utils.SecurityUtils;
|
||||||
import org.nl.config.IdUtil;
|
import org.nl.config.IdUtil;
|
||||||
import org.nl.wms.sch_manage.enums.TaskStatus;
|
import org.nl.wms.sch_manage.enums.TaskStatus;
|
||||||
@@ -51,7 +52,7 @@ public class MoveTask extends AbstractTask {
|
|||||||
public String create(JSONObject json) {
|
public String create(JSONObject json) {
|
||||||
SchBaseTask task = new SchBaseTask();
|
SchBaseTask task = new SchBaseTask();
|
||||||
task.setTask_id(IdUtil.getStringId());
|
task.setTask_id(IdUtil.getStringId());
|
||||||
task.setTask_code(IdUtil.getStringId());
|
task.setTask_code(CodeUtil.getNewCode("TASK_CODE"));
|
||||||
task.setTask_status(TaskStatus.CREATE.getCode());
|
task.setTask_status(TaskStatus.CREATE.getCode());
|
||||||
task.setConfig_code(json.getString("config_code"));
|
task.setConfig_code(json.getString("config_code"));
|
||||||
task.setPoint_code1(json.getString("point_code1"));
|
task.setPoint_code1(json.getString("point_code1"));
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import cn.hutool.core.util.ObjectUtil;
|
|||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||||
import org.nl.common.exception.BadRequestException;
|
import org.nl.common.exception.BadRequestException;
|
||||||
|
import org.nl.common.utils.CodeUtil;
|
||||||
import org.nl.common.utils.SecurityUtils;
|
import org.nl.common.utils.SecurityUtils;
|
||||||
import org.nl.config.IdUtil;
|
import org.nl.config.IdUtil;
|
||||||
import org.nl.wms.basedata_manage.service.IStructattrService;
|
import org.nl.wms.basedata_manage.service.IStructattrService;
|
||||||
@@ -53,7 +54,7 @@ public class PdaPointTask extends AbstractTask {
|
|||||||
public String create(JSONObject json) {
|
public String create(JSONObject json) {
|
||||||
SchBaseTask task = new SchBaseTask();
|
SchBaseTask task = new SchBaseTask();
|
||||||
task.setTask_id(IdUtil.getStringId());
|
task.setTask_id(IdUtil.getStringId());
|
||||||
task.setTask_code(IdUtil.getStringId());
|
task.setTask_code(CodeUtil.getNewCode("TASK_CODE"));
|
||||||
task.setTask_status(TaskStatus.CREATE.getCode());
|
task.setTask_status(TaskStatus.CREATE.getCode());
|
||||||
task.setConfig_code(json.getString("config_code"));
|
task.setConfig_code(json.getString("config_code"));
|
||||||
task.setPoint_code1(json.getString("point_code1"));
|
task.setPoint_code1(json.getString("point_code1"));
|
||||||
|
|||||||
@@ -114,7 +114,7 @@ public class StInTask extends AbstractTask {
|
|||||||
}
|
}
|
||||||
rawAssistIStorService.taskFinish(taskObj);
|
rawAssistIStorService.taskFinish(taskObj);
|
||||||
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
|
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
|
||||||
taskObj.setRemark("完成");
|
taskObj.setRemark("已完成");
|
||||||
taskService.updateById(taskObj);
|
taskService.updateById(taskObj);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -138,10 +138,10 @@ public class StInTask extends AbstractTask {
|
|||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void finishTask(SchBaseTask taskObj) {
|
public void finishTask(SchBaseTask taskObj) {
|
||||||
// 任务完成
|
// 任务完成
|
||||||
rawAssistIStorService.taskFinish(taskObj);
|
|
||||||
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
|
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
|
||||||
taskObj.setRemark("完成");
|
taskObj.setRemark("已完成");
|
||||||
taskService.updateById(taskObj);
|
taskService.updateById(taskObj);
|
||||||
|
rawAssistIStorService.taskFinish(taskObj);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
|||||||
@@ -132,10 +132,10 @@ public class StOutTask extends AbstractTask {
|
|||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void finishTask(SchBaseTask taskObj) {
|
public void finishTask(SchBaseTask taskObj) {
|
||||||
// 任务完成
|
// 任务完成
|
||||||
outBillService.taskFinish(taskObj);
|
|
||||||
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
|
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
|
||||||
taskObj.setRemark("完成");
|
taskObj.setRemark("已完成");
|
||||||
taskService.updateById(taskObj);
|
taskService.updateById(taskObj);
|
||||||
|
outBillService.taskFinish(taskObj);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import cn.hutool.core.util.StrUtil;
|
|||||||
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONArray;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
@@ -27,6 +28,8 @@ import org.nl.wms.basedata_manage.service.dao.MdPbStoragevehicleext;
|
|||||||
import org.nl.wms.basedata_manage.service.dao.Structattr;
|
import org.nl.wms.basedata_manage.service.dao.Structattr;
|
||||||
import org.nl.wms.basedata_manage.service.dao.mapper.MdPbStoragevehicleextMapper;
|
import org.nl.wms.basedata_manage.service.dao.mapper.MdPbStoragevehicleextMapper;
|
||||||
import org.nl.wms.basedata_manage.service.dto.MdPbStoragevehicleextDto;
|
import org.nl.wms.basedata_manage.service.dto.MdPbStoragevehicleextDto;
|
||||||
|
import org.nl.wms.sch_manage.enums.TaskStatus;
|
||||||
|
import org.nl.wms.sch_manage.service.ISchBaseTaskService;
|
||||||
import org.nl.wms.sch_manage.service.dao.SchBasePoint;
|
import org.nl.wms.sch_manage.service.dao.SchBasePoint;
|
||||||
import org.nl.wms.sch_manage.service.dao.SchBaseTask;
|
import org.nl.wms.sch_manage.service.dao.SchBaseTask;
|
||||||
import org.nl.wms.sch_manage.service.dao.mapper.SchBasePointMapper;
|
import org.nl.wms.sch_manage.service.dao.mapper.SchBasePointMapper;
|
||||||
@@ -52,6 +55,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author dsh
|
* @author dsh
|
||||||
@@ -78,6 +82,12 @@ public class OutBillServiceImpl extends ServiceImpl<IOStorInvMapper,IOStorInv> i
|
|||||||
@Resource
|
@Resource
|
||||||
private MdPbStoragevehicleextMapper mdPbStoragevehicleextMapper;
|
private MdPbStoragevehicleextMapper mdPbStoragevehicleextMapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 任务服务
|
||||||
|
*/
|
||||||
|
@Resource
|
||||||
|
private ISchBaseTaskService iSchBaseTaskService;
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private IBsrealStorattrService iBsrealStorattrService;
|
private IBsrealStorattrService iBsrealStorattrService;
|
||||||
|
|
||||||
@@ -1058,6 +1068,19 @@ public class OutBillServiceImpl extends ServiceImpl<IOStorInvMapper,IOStorInv> i
|
|||||||
.eq(IOStorInvDis::getIostorinv_id,whereJson.get("iostorinv_id"))
|
.eq(IOStorInvDis::getIostorinv_id,whereJson.get("iostorinv_id"))
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// 判断此单据下的所有任务有没有完成的
|
||||||
|
boolean is_finish = iSchBaseTaskService.list(
|
||||||
|
new QueryWrapper<SchBaseTask>().lambda()
|
||||||
|
.in(SchBaseTask::getTask_id, storInvDisList.stream()
|
||||||
|
.map(IOStorInvDis::getTask_id)
|
||||||
|
.collect(Collectors.toList())
|
||||||
|
)
|
||||||
|
).stream()
|
||||||
|
.allMatch(row -> row.getTask_status().equals(TaskStatus.FINISHED.getCode()));
|
||||||
|
if (!is_finish) {
|
||||||
|
throw new BadRequestException("当前有未完成的任务不能强制确认!");
|
||||||
|
}
|
||||||
|
|
||||||
//需要更新的出入库单明细
|
//需要更新的出入库单明细
|
||||||
Set<String> dtlSet = new HashSet<>();
|
Set<String> dtlSet = new HashSet<>();
|
||||||
|
|
||||||
@@ -1162,7 +1185,6 @@ public class OutBillServiceImpl extends ServiceImpl<IOStorInvMapper,IOStorInv> i
|
|||||||
// 完成当前分配明细
|
// 完成当前分配明细
|
||||||
ioStorInvDisMapper.update(ioStorInvDis,new LambdaUpdateWrapper<>(IOStorInvDis.class)
|
ioStorInvDisMapper.update(ioStorInvDis,new LambdaUpdateWrapper<>(IOStorInvDis.class)
|
||||||
.set(IOStorInvDis::getWork_status,IOSEnum.INBILL_DIS_STATUS.code("完成"))
|
.set(IOStorInvDis::getWork_status,IOSEnum.INBILL_DIS_STATUS.code("完成"))
|
||||||
.set(IOStorInvDis::getReal_qty,ioStorInvDis.getPlan_qty())
|
|
||||||
.eq(IOStorInvDis::getIostorinvdis_id,ioStorInvDis.getIostorinvdis_id())
|
.eq(IOStorInvDis::getIostorinvdis_id,ioStorInvDis.getIostorinvdis_id())
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -1217,7 +1239,6 @@ public class OutBillServiceImpl extends ServiceImpl<IOStorInvMapper,IOStorInv> i
|
|||||||
// 如果分配明细全部完成则更新明细表状态
|
// 如果分配明细全部完成则更新明细表状态
|
||||||
if (countDis == 0){
|
if (countDis == 0){
|
||||||
// 更新明细表状态
|
// 更新明细表状态
|
||||||
ioStorInvDtl.setReal_qty(ioStorInvDis.getPlan_qty());
|
|
||||||
ioStorInvDtl.setBill_status(IOSEnum.BILL_STATUS.code("完成"));
|
ioStorInvDtl.setBill_status(IOSEnum.BILL_STATUS.code("完成"));
|
||||||
ioStorInvDtlMapper.updateById(ioStorInvDtl);
|
ioStorInvDtlMapper.updateById(ioStorInvDtl);
|
||||||
|
|
||||||
|
|||||||
@@ -209,6 +209,7 @@
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="material_code" label="物料编码" width="150px" :min-width="flexWidth('material_code',crud.data,'物料编码')" />
|
<el-table-column prop="material_code" label="物料编码" width="150px" :min-width="flexWidth('material_code',crud.data,'物料编码')" />
|
||||||
<el-table-column prop="material_name" label="物料名称" width="170px" :min-width="flexWidth('material_name',crud.data,'物料名称')" />
|
<el-table-column prop="material_name" label="物料名称" width="170px" :min-width="flexWidth('material_name',crud.data,'物料名称')" />
|
||||||
|
<el-table-column prop="storagevehicle_code" label="载具号" width="150px" :min-width="flexWidth('storagevehicle_code',crud.data,'载具号')" />
|
||||||
<el-table-column prop="pcsn" label="批次号" width="150px" :min-width="flexWidth('pcsn',crud.data,'批次号')" />
|
<el-table-column prop="pcsn" label="批次号" width="150px" :min-width="flexWidth('pcsn',crud.data,'批次号')" />
|
||||||
<el-table-column show-overflow-tooltip prop="plan_qty" label="出库重量" :formatter="crud.formatNum3" align="center" width="120px" :min-width="flexWidth('plan_qty',crud.data,'出库重量')">
|
<el-table-column show-overflow-tooltip prop="plan_qty" label="出库重量" :formatter="crud.formatNum3" align="center" width="120px" :min-width="flexWidth('plan_qty',crud.data,'出库重量')">
|
||||||
<template scope="scope">
|
<template scope="scope">
|
||||||
|
|||||||
@@ -155,6 +155,7 @@
|
|||||||
>
|
>
|
||||||
<el-table-column min-width="120" show-overflow-tooltip prop="material_code" label="物料编码" align="center" />
|
<el-table-column min-width="120" show-overflow-tooltip prop="material_code" label="物料编码" align="center" />
|
||||||
<el-table-column min-width="120" show-overflow-tooltip prop="material_name" label="物料名称" align="center" />
|
<el-table-column min-width="120" show-overflow-tooltip prop="material_name" label="物料名称" align="center" />
|
||||||
|
<el-table-column prop="storagevehicle_code" label="载具号" width="150px" :min-width="flexWidth('storagevehicle_code',crud.data,'载具号')" />
|
||||||
<el-table-column prop="pcsn" label="批次号" align="center" show-overflow-tooltip />
|
<el-table-column prop="pcsn" label="批次号" align="center" show-overflow-tooltip />
|
||||||
<el-table-column prop="plan_qty" :formatter="crud.formatNum3" label="重量" align="center" />
|
<el-table-column prop="plan_qty" :formatter="crud.formatNum3" label="重量" align="center" />
|
||||||
<el-table-column prop="struct_code" label="仓位" align="center" show-overflow-tooltip />
|
<el-table-column prop="struct_code" label="仓位" align="center" show-overflow-tooltip />
|
||||||
|
|||||||
Reference in New Issue
Block a user