测试修改
This commit is contained in:
@@ -27,9 +27,9 @@ public class ToWmsApiController {
|
|||||||
/**
|
/**
|
||||||
* 入库任务请求
|
* 入库任务请求
|
||||||
*/
|
*/
|
||||||
@PostMapping("/inJob")
|
@PostMapping("/requestEnter")
|
||||||
public AjaxResult inJob(@RequestBody MydoJob mydoJob) {
|
public AjaxResult requestEnter(@RequestBody MydoJob mydoJob) {
|
||||||
AjaxResult ajaxResult = toWmsService.inJob(mydoJob);
|
AjaxResult ajaxResult = toWmsService.requestEnter(mydoJob);
|
||||||
RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(mydoJob), "InJob");
|
RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(mydoJob), "InJob");
|
||||||
requestLog.setResponseBody(Convert.toStr(ajaxResult.get("msg")));
|
requestLog.setResponseBody(Convert.toStr(ajaxResult.get("msg")));
|
||||||
requestLogService.insertRequestLog(requestLog);
|
requestLogService.insertRequestLog(requestLog);
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ import java.util.Map;
|
|||||||
*/
|
*/
|
||||||
public interface IToWmsService {
|
public interface IToWmsService {
|
||||||
|
|
||||||
AjaxResult inJob(MydoJob mydoJob);
|
AjaxResult requestEnter(MydoJob mydoJob);
|
||||||
|
|
||||||
AjaxResult jobFinish(WmsJobRequest wmsJobRequest);
|
AjaxResult jobFinish(WmsJobRequest wmsJobRequest);
|
||||||
|
|
||||||
|
|||||||
@@ -71,12 +71,21 @@ public class ToWmsServiceImpl implements IToWmsService {
|
|||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public AjaxResult inJob(MydoJob mydoJob) {
|
public AjaxResult requestEnter(MydoJob param) {
|
||||||
List<MydoJob> mydoJobs = mydoJobService.selectMydoJobList(mydoJob);
|
MydoJob mydoJobParam = new MydoJob();
|
||||||
|
mydoJobParam.setTrayCode(param.getTrayCode());
|
||||||
|
List<MydoJob> mydoJobs = mydoJobService.selectMydoJobListApi(mydoJobParam);
|
||||||
if(mydoJobs.isEmpty()){
|
if(mydoJobs.isEmpty()){
|
||||||
return AjaxResult.error("此托盘没有作业");
|
return AjaxResult.error("此托盘没有作业");
|
||||||
}
|
}
|
||||||
return AjaxResult.success(mydoJobs.get(0));
|
MydoJob mydoJob = mydoJobs.get(0);
|
||||||
|
if ("1".equals(mydoJob.getExecutionPhase())){
|
||||||
|
mydoJob.setExecutionPhase("2");
|
||||||
|
mydoJob.setEntranceId(param.getEntranceId());
|
||||||
|
mydoJob.setStatus("3");
|
||||||
|
mydoJobService.updateMydoJob(mydoJob);
|
||||||
|
}
|
||||||
|
return AjaxResult.success(mydoJob);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -93,7 +102,7 @@ public class ToWmsServiceImpl implements IToWmsService {
|
|||||||
//入库
|
//入库
|
||||||
mydoJobParam.setTaskNo(wmsJobRequest.getTaskNo());
|
mydoJobParam.setTaskNo(wmsJobRequest.getTaskNo());
|
||||||
mydoJobParam.setTrayCode(wmsJobRequest.getTrayCode());
|
mydoJobParam.setTrayCode(wmsJobRequest.getTrayCode());
|
||||||
List<MydoJob> inMydoJobs = mydoJobService.selectMydoJobList(mydoJobParam);
|
List<MydoJob> inMydoJobs = mydoJobService.selectMydoJobListApi(mydoJobParam);
|
||||||
if (inMydoJobs.isEmpty()){
|
if (inMydoJobs.isEmpty()){
|
||||||
return AjaxResult.error("没有该作业 taskNo: {}", wmsJobRequest.getTaskNo());
|
return AjaxResult.error("没有该作业 taskNo: {}", wmsJobRequest.getTaskNo());
|
||||||
}
|
}
|
||||||
@@ -113,7 +122,7 @@ public class ToWmsServiceImpl implements IToWmsService {
|
|||||||
//出库
|
//出库
|
||||||
mydoJobParam.setTaskNo(wmsJobRequest.getTaskNo());
|
mydoJobParam.setTaskNo(wmsJobRequest.getTaskNo());
|
||||||
mydoJobParam.setTrayCode(wmsJobRequest.getTrayCode());
|
mydoJobParam.setTrayCode(wmsJobRequest.getTrayCode());
|
||||||
List<MydoJob> outMydoJobs = mydoJobService.selectMydoJobList(mydoJobParam);
|
List<MydoJob> outMydoJobs = mydoJobService.selectMydoJobListApi(mydoJobParam);
|
||||||
if (outMydoJobs.isEmpty()){
|
if (outMydoJobs.isEmpty()){
|
||||||
return AjaxResult.error("没有该作业 taskNo: {}", wmsJobRequest.getTaskNo());
|
return AjaxResult.error("没有该作业 taskNo: {}", wmsJobRequest.getTaskNo());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ public interface IMydoJobService
|
|||||||
* @return 任务表集合
|
* @return 任务表集合
|
||||||
*/
|
*/
|
||||||
public List<MydoJob> selectMydoJobList(MydoJob mydoJob);
|
public List<MydoJob> selectMydoJobList(MydoJob mydoJob);
|
||||||
|
public List<MydoJob> selectMydoJobListApi(MydoJob mydoJob);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增任务表
|
* 新增任务表
|
||||||
|
|||||||
@@ -90,6 +90,17 @@ public class MydoJobServiceImpl implements IMydoJobService {
|
|||||||
return mydoJobMapper.selectMydoJobList(mydoJob);
|
return mydoJobMapper.selectMydoJobList(mydoJob);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 对外接口查询任务表列表
|
||||||
|
*
|
||||||
|
* @param mydoJob
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<MydoJob> selectMydoJobListApi(MydoJob mydoJob) {
|
||||||
|
return mydoJobMapper.selectMydoJobList(mydoJob);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增任务表
|
* 新增任务表
|
||||||
*
|
*
|
||||||
@@ -148,9 +159,17 @@ public class MydoJobServiceImpl implements IMydoJobService {
|
|||||||
if (job == null) {
|
if (job == null) {
|
||||||
return AjaxResult.warn("任务不存在");
|
return AjaxResult.warn("任务不存在");
|
||||||
}
|
}
|
||||||
if(!"1".equals(job.getStatus())) {
|
if (!"1".equals(job.getStatus())) {
|
||||||
return AjaxResult.warn("任务已开始");
|
return AjaxResult.warn("任务已开始");
|
||||||
}
|
}
|
||||||
|
if ("1".equals(job.getInOrOut()) || "4".equals(job.getInOrOut())) {
|
||||||
|
mydoJob.setStatus("5");
|
||||||
|
updateMydoJob(mydoJob);
|
||||||
|
//插入历史表
|
||||||
|
insertHistory(mydoJob.getJobId());
|
||||||
|
|
||||||
|
return AjaxResult.success();
|
||||||
|
} else {
|
||||||
MydoJobDetail param = new MydoJobDetail();
|
MydoJobDetail param = new MydoJobDetail();
|
||||||
param.setJobId(jobId);
|
param.setJobId(jobId);
|
||||||
List<MydoJobDetail> mydoJobDetails = mydoJobDetailService.selectMydoJobDetailList(param);
|
List<MydoJobDetail> mydoJobDetails = mydoJobDetailService.selectMydoJobDetailList(param);
|
||||||
@@ -171,6 +190,8 @@ public class MydoJobServiceImpl implements IMydoJobService {
|
|||||||
return AjaxResult.success();
|
return AjaxResult.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 插入历史表
|
* 插入历史表
|
||||||
*
|
*
|
||||||
@@ -194,6 +215,102 @@ public class MydoJobServiceImpl implements IMydoJobService {
|
|||||||
if (job == null) {
|
if (job == null) {
|
||||||
return AjaxResult.warn("任务不存在");
|
return AjaxResult.warn("任务不存在");
|
||||||
}
|
}
|
||||||
|
if ("1".equals(job.getStatus()) || "2".equals(job.getStatus())) {
|
||||||
|
return AjaxResult.warn("任务未开始");
|
||||||
|
}
|
||||||
|
if ("1".equals(job.getInOrOut()) || "4".equals(job.getInOrOut())) {
|
||||||
|
//空料箱入库 托盘垛入库
|
||||||
|
//入库作业
|
||||||
|
MydoJobDetail param = new MydoJobDetail();
|
||||||
|
param.setJobId(jobId);
|
||||||
|
List<MydoJobDetail> mydoJobDetails = mydoJobDetailService.selectMydoJobDetailList(param);
|
||||||
|
BasCargoSpace basCargoSpace = basCargoSpaceService.selectBasCargoSpaceByCargoSpaceId(job.getCargoSpaceId());
|
||||||
|
if (CollUtil.isNotEmpty(mydoJobDetails)) {
|
||||||
|
List<BasStock> list = new ArrayList<>();
|
||||||
|
for (MydoJobDetail mydoJobDetail : mydoJobDetails) {
|
||||||
|
//正常库存
|
||||||
|
list.add(getStockByInStockinDetail(mydoJobDetail, job, "1"));
|
||||||
|
}
|
||||||
|
//修改货位状态
|
||||||
|
basCargoSpace.setStatus("2");
|
||||||
|
basCargoSpace.setTrayCode(job.getTrayCode());
|
||||||
|
basCargoSpace.setCargoSpaceId(job.getCargoSpaceId());
|
||||||
|
basCargoSpaceService.updateBasCargoSpace(basCargoSpace);
|
||||||
|
//插入库存信息
|
||||||
|
basStockService.insertBasStockList(list);
|
||||||
|
//结束任务
|
||||||
|
mydoJob.setStatus("4");
|
||||||
|
updateMydoJob(mydoJob);
|
||||||
|
// 插入任务历史表 删除任务
|
||||||
|
insertHistory(mydoJob.getJobId());
|
||||||
|
return AjaxResult.success();
|
||||||
|
} else {
|
||||||
|
return AjaxResult.warn("子任务不存在");
|
||||||
|
}
|
||||||
|
} else if ("2".equals(job.getInOrOut()) || "3".equals(job.getInOrOut())) {
|
||||||
|
//ctu物料入库 高架库入库
|
||||||
|
//入库作业
|
||||||
|
MydoJobDetail param = new MydoJobDetail();
|
||||||
|
param.setJobId(jobId);
|
||||||
|
List<MydoJobDetail> mydoJobDetails = mydoJobDetailService.selectMydoJobDetailList(param);
|
||||||
|
BasCargoSpace basCargoSpace = basCargoSpaceService.selectBasCargoSpaceByCargoSpaceId(job.getCargoSpaceId());
|
||||||
|
if (CollUtil.isNotEmpty(mydoJobDetails)) {
|
||||||
|
List<BasStock> list = new ArrayList<>();
|
||||||
|
//查找是否存在异常信息
|
||||||
|
OutExceptionRecord outExceptionRecordParam = new OutExceptionRecord();
|
||||||
|
outExceptionRecordParam.setTrayCode(job.getTrayCode());
|
||||||
|
outExceptionRecordParam.setWarehouseId(job.getWarehouseId());
|
||||||
|
List<OutExceptionRecord> outExceptionRecords = outExceptionRecordService.selectOutExceptionRecordList(outExceptionRecordParam);
|
||||||
|
for (MydoJobDetail mydoJobDetail : mydoJobDetails) {
|
||||||
|
|
||||||
|
//修改单据实际数量 物料入库 高架库入库
|
||||||
|
String inOrOutDId = mydoJobDetail.getInOrOutDId();
|
||||||
|
InStockinDetail inStockinDetail = inStockinDetailService.selectInStockinDetailByStockinDetailId(inOrOutDId);
|
||||||
|
inStockinDetail.setAssignNum(Convert.toStr(Convert.toBigDecimal(inStockinDetail.getAssignNum()).add(Convert.toBigDecimal(mydoJobDetail.getInQuantity()))));
|
||||||
|
inStockinDetailService.updateInStockinDetail(inStockinDetail);
|
||||||
|
|
||||||
|
Optional<OutExceptionRecord> first = outExceptionRecords.stream().filter(x -> x.getTrayCode().equals(job.getTrayCode()) && x.getProductId().equals(mydoJobDetail.getProductId())).findFirst();
|
||||||
|
if (first.isPresent()) {
|
||||||
|
//生成异常库存
|
||||||
|
BasStock stockByInStockinDetail = getStockByInStockinDetail(mydoJobDetail, job, "3");
|
||||||
|
list.add(stockByInStockinDetail);
|
||||||
|
//修改异常记录中的库存id
|
||||||
|
OutExceptionRecord outExceptionRecord = first.get();
|
||||||
|
outExceptionRecord.setStockId(stockByInStockinDetail.getStockId());
|
||||||
|
outExceptionRecordService.updateOutExceptionRecord(outExceptionRecord);
|
||||||
|
} else {
|
||||||
|
//正常库存
|
||||||
|
list.add(getStockByInStockinDetail(mydoJobDetail, job, "1"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//删除异常库存记录
|
||||||
|
List<Long> collect = outExceptionRecords.stream().map(OutExceptionRecord::getOutGuid).collect(Collectors.toList());
|
||||||
|
if (CollUtil.isNotEmpty(collect)) {
|
||||||
|
for (Long id : collect) {
|
||||||
|
outExceptionRecordService.deleteOutExceptionRecordByOutGuid(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
//修改货位状态
|
||||||
|
basCargoSpace.setStatus("2");
|
||||||
|
basCargoSpace.setTrayCode(job.getTrayCode());
|
||||||
|
basCargoSpace.setCargoSpaceId(job.getCargoSpaceId());
|
||||||
|
basCargoSpaceService.updateBasCargoSpace(basCargoSpace);
|
||||||
|
|
||||||
|
//插入库存信息
|
||||||
|
basStockService.insertBasStockList(list);
|
||||||
|
|
||||||
|
//结束任务
|
||||||
|
mydoJob.setStatus("4");
|
||||||
|
updateMydoJob(mydoJob);
|
||||||
|
// 插入任务历史表 删除任务
|
||||||
|
insertHistory(mydoJob.getJobId());
|
||||||
|
return AjaxResult.success();
|
||||||
|
} else {
|
||||||
|
return AjaxResult.warn("子任务不存在");
|
||||||
|
}
|
||||||
|
} else if ("5".equals(job.getInOrOut()) || "6".equals(job.getInOrOut())) {
|
||||||
|
//盘点 ctu入库 高架库入库
|
||||||
//入库作业
|
//入库作业
|
||||||
MydoJobDetail param = new MydoJobDetail();
|
MydoJobDetail param = new MydoJobDetail();
|
||||||
param.setJobId(jobId);
|
param.setJobId(jobId);
|
||||||
@@ -202,13 +319,18 @@ public class MydoJobServiceImpl implements IMydoJobService {
|
|||||||
if (CollUtil.isNotEmpty(mydoJobDetails)) {
|
if (CollUtil.isNotEmpty(mydoJobDetails)) {
|
||||||
List<BasStock> list = new ArrayList<>();
|
List<BasStock> list = new ArrayList<>();
|
||||||
|
|
||||||
if ("5".equals(job.getInOrOut()) || "6".equals(job.getInOrOut())) {
|
|
||||||
//查询盘点信息中的异常信息
|
//查询盘点信息中的异常信息
|
||||||
CheckDifferenceRecord checkDifferenceRecordParam = new CheckDifferenceRecord();
|
CheckDifferenceRecord checkDifferenceRecordParam = new CheckDifferenceRecord();
|
||||||
checkDifferenceRecordParam.setTrayCode(job.getTrayCode());
|
checkDifferenceRecordParam.setTrayCode(job.getTrayCode());
|
||||||
checkDifferenceRecordParam.setWarehouseId(job.getWarehouseId());
|
checkDifferenceRecordParam.setWarehouseId(job.getWarehouseId());
|
||||||
List<CheckDifferenceRecord> checkDifferenceRecords = checkDifferenceRecordService.selectCheckDifferenceRecordList(checkDifferenceRecordParam);
|
List<CheckDifferenceRecord> checkDifferenceRecords = checkDifferenceRecordService.selectCheckDifferenceRecordList(checkDifferenceRecordParam);
|
||||||
for (MydoJobDetail mydoJobDetail : mydoJobDetails) {
|
for (MydoJobDetail mydoJobDetail : mydoJobDetails) {
|
||||||
|
//修改单据实际数量
|
||||||
|
String inOrOutDId = mydoJobDetail.getInOrOutDId();
|
||||||
|
InStockinDetail inStockinDetail = inStockinDetailService.selectInStockinDetailByStockinDetailId(inOrOutDId);
|
||||||
|
inStockinDetail.setAssignNum(Convert.toStr(Convert.toBigDecimal(inStockinDetail.getAssignNum()).add(Convert.toBigDecimal(mydoJobDetail.getInQuantity()))));
|
||||||
|
inStockinDetailService.updateInStockinDetail(inStockinDetail);
|
||||||
//如果存在盘点异常信息 根据托盘条码和物料id 筛选异常信息
|
//如果存在盘点异常信息 根据托盘条码和物料id 筛选异常信息
|
||||||
Optional<CheckDifferenceRecord> first = checkDifferenceRecords.stream().filter(x -> x.getTrayCode().equals(job.getTrayCode()) && x.getProductId().equals(mydoJobDetail.getProductId())).findFirst();
|
Optional<CheckDifferenceRecord> first = checkDifferenceRecords.stream().filter(x -> x.getTrayCode().equals(job.getTrayCode()) && x.getProductId().equals(mydoJobDetail.getProductId())).findFirst();
|
||||||
if (first.isPresent()) {
|
if (first.isPresent()) {
|
||||||
@@ -226,38 +348,6 @@ public class MydoJobServiceImpl implements IMydoJobService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
//查找是否存在异常信息
|
|
||||||
OutExceptionRecord outExceptionRecordParam = new OutExceptionRecord();
|
|
||||||
outExceptionRecordParam.setTrayCode(job.getTrayCode());
|
|
||||||
outExceptionRecordParam.setWarehouseId(job.getWarehouseId());
|
|
||||||
List<OutExceptionRecord> outExceptionRecords = outExceptionRecordService.selectOutExceptionRecordList(outExceptionRecordParam);
|
|
||||||
for (MydoJobDetail mydoJobDetail : mydoJobDetails) {
|
|
||||||
Optional<OutExceptionRecord> first = outExceptionRecords.stream().filter(x -> x.getTrayCode().equals(job.getTrayCode()) && x.getProductId().equals(mydoJobDetail.getProductId())).findFirst();
|
|
||||||
if (first.isPresent()){
|
|
||||||
//生成异常库存
|
|
||||||
BasStock stockByInStockinDetail = getStockByInStockinDetail(mydoJobDetail, job, "3");
|
|
||||||
list.add(stockByInStockinDetail);
|
|
||||||
//修改异常记录中的库存id
|
|
||||||
OutExceptionRecord outExceptionRecord = first.get();
|
|
||||||
outExceptionRecord.setStockId(stockByInStockinDetail.getStockId());
|
|
||||||
outExceptionRecordService.updateOutExceptionRecord(outExceptionRecord);
|
|
||||||
}else {
|
|
||||||
//正常库存
|
|
||||||
list.add(getStockByInStockinDetail(mydoJobDetail, job, "1"));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//删除异常库存记录
|
|
||||||
List<Long> collect = outExceptionRecords.stream().map(OutExceptionRecord::getOutGuid).collect(Collectors.toList());
|
|
||||||
if (CollUtil.isNotEmpty( collect)){
|
|
||||||
for (Long id : collect) {
|
|
||||||
outExceptionRecordService.deleteOutExceptionRecordByOutGuid(id);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//修改货位状态
|
//修改货位状态
|
||||||
basCargoSpace.setStatus("2");
|
basCargoSpace.setStatus("2");
|
||||||
@@ -277,10 +367,13 @@ public class MydoJobServiceImpl implements IMydoJobService {
|
|||||||
} else {
|
} else {
|
||||||
return AjaxResult.warn("子任务不存在");
|
return AjaxResult.warn("子任务不存在");
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
return AjaxResult.warn("暂不支持的任务类型");
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private BasStock getStockByInStockinDetail(MydoJobDetail mydoJobDetail, MydoJob mydoJob,String productStatus) {
|
private BasStock getStockByInStockinDetail(MydoJobDetail mydoJobDetail, MydoJob mydoJob, String productStatus) {
|
||||||
BasStock stock = new BasStock();
|
BasStock stock = new BasStock();
|
||||||
stock.setStockId(basJobIdService.getJobId("KC"));
|
stock.setStockId(basJobIdService.getJobId("KC"));
|
||||||
stock.setCargoSpaceId(mydoJob.getCargoSpaceId());
|
stock.setCargoSpaceId(mydoJob.getCargoSpaceId());
|
||||||
@@ -360,16 +453,16 @@ public class MydoJobServiceImpl implements IMydoJobService {
|
|||||||
HashMap<String, Object> map = new HashMap<>();
|
HashMap<String, Object> map = new HashMap<>();
|
||||||
String msg = "";
|
String msg = "";
|
||||||
String Stringbuilder = "";
|
String Stringbuilder = "";
|
||||||
for(String stockId:stockIds){
|
for (String stockId : stockIds) {
|
||||||
map.put("stockId",stockId);
|
map.put("stockId", stockId);
|
||||||
mydoJobMapper.pointOut(map);
|
mydoJobMapper.pointOut(map);
|
||||||
String result = map.get("result").toString();
|
String result = map.get("result").toString();
|
||||||
if("10".equals(result)){
|
if ("10".equals(result)) {
|
||||||
msg="操作成功!";
|
msg = "操作成功!";
|
||||||
}else{
|
} else {
|
||||||
msg=map.get("v_resultmsg").toString();
|
msg = map.get("v_resultmsg").toString();
|
||||||
}
|
}
|
||||||
Stringbuilder+=stockId+msg+"<br/>";
|
Stringbuilder += stockId + msg + "<br/>";
|
||||||
}
|
}
|
||||||
|
|
||||||
return AjaxResult.success(Stringbuilder.toString());
|
return AjaxResult.success(Stringbuilder.toString());
|
||||||
|
|||||||
@@ -63,4 +63,6 @@ public interface OutStockoutMapper
|
|||||||
public void updateOutStockoutStatus(HashMap<String,String> map);
|
public void updateOutStockoutStatus(HashMap<String,String> map);
|
||||||
|
|
||||||
void autoAllot(HashMap<String, String> map);
|
void autoAllot(HashMap<String, String> map);
|
||||||
|
|
||||||
|
OutStockout selectOutStockoutByStockoutId(String stockoutId);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -158,6 +158,15 @@ public class OutStockoutServiceImpl implements IOutStockoutService
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public AjaxResult autoAllot(String stockoutId) {
|
public AjaxResult autoAllot(String stockoutId) {
|
||||||
|
|
||||||
|
OutStockout outStockout = outStockoutMapper.selectOutStockoutByStockoutId(stockoutId);
|
||||||
|
if (outStockout == null){
|
||||||
|
return AjaxResult.warn("未找到出库单");
|
||||||
|
}
|
||||||
|
if ("1".equals(outStockout.getStatus())){
|
||||||
|
return AjaxResult.warn("出库单状态未审核");
|
||||||
|
}
|
||||||
|
|
||||||
HashMap<String, String> map = new HashMap<>();
|
HashMap<String, String> map = new HashMap<>();
|
||||||
StringBuilder stringBuilder = new StringBuilder();
|
StringBuilder stringBuilder = new StringBuilder();
|
||||||
OutStockoutDetail outStockoutDetail = new OutStockoutDetail();
|
OutStockoutDetail outStockoutDetail = new OutStockoutDetail();
|
||||||
|
|||||||
@@ -216,10 +216,10 @@ public class PdaServiceImp implements PdaService {
|
|||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public AjaxResult outMakeSure(TrayCodeMakeSure trayCodeMakeSure) {
|
public AjaxResult outMakeSure(TrayCodeMakeSure trayCodeMakeSure) {
|
||||||
|
|
||||||
List<MydoJobDetail> mydoJobDetailList = trayCodeMakeSure.getMydoJobDetailList();
|
/*List<MydoJobDetail> mydoJobDetailList = trayCodeMakeSure.getMydoJobDetailList();
|
||||||
if(CollUtil.isEmpty(mydoJobDetailList)){
|
if(CollUtil.isEmpty(mydoJobDetailList)){
|
||||||
return AjaxResult.warn("拣选的物料不能为空");
|
return AjaxResult.warn("拣选的物料不能为空");
|
||||||
}
|
}*/
|
||||||
//判断任务是否存在
|
//判断任务是否存在
|
||||||
MydoJob mydoJobParam = new MydoJob();
|
MydoJob mydoJobParam = new MydoJob();
|
||||||
mydoJobParam.setTrayCode(trayCodeMakeSure.getTrayCode());
|
mydoJobParam.setTrayCode(trayCodeMakeSure.getTrayCode());
|
||||||
@@ -247,10 +247,10 @@ public class PdaServiceImp implements PdaService {
|
|||||||
switch (billType) {
|
switch (billType) {
|
||||||
case "1":
|
case "1":
|
||||||
//拣选单据
|
//拣选单据
|
||||||
return handleOutType1(trayCodeMakeSure,mydoJobDetailList,mydoJobList.get(0));
|
return handleOutType1(trayCodeMakeSure, mydoJobDetails, mydoJobList.get(0));
|
||||||
case "2":
|
case "2":
|
||||||
//退货单据 不绑定容器
|
//退货单据 不绑定容器
|
||||||
return handleOutType2(trayCodeMakeSure,mydoJobDetailList,mydoJobList.get(0));
|
return handleOutType2(trayCodeMakeSure, mydoJobDetails, mydoJobList.get(0));
|
||||||
default:
|
default:
|
||||||
return AjaxResult.warn("单据类型错误");
|
return AjaxResult.warn("单据类型错误");
|
||||||
}
|
}
|
||||||
@@ -258,20 +258,22 @@ public class PdaServiceImp implements PdaService {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 处理退货出库
|
* 处理退货出库
|
||||||
|
*
|
||||||
* @param trayCodeMakeSure
|
* @param trayCodeMakeSure
|
||||||
* @param mydoJobDetailList
|
* @param mydoJobDetailList
|
||||||
* @param mydoJob
|
* @param mydoJob
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
|
||||||
private AjaxResult handleOutType2(TrayCodeMakeSure trayCodeMakeSure,List<MydoJobDetail> mydoJobDetailList,MydoJob mydoJob) {
|
private AjaxResult handleOutType2(TrayCodeMakeSure trayCodeMakeSure, List<MydoJobDetail> mydoJobDetailList, MydoJob mydoJob) {
|
||||||
//修改拣选数量
|
//修改拣选数量
|
||||||
for (MydoJobDetail mydoJobDetail : mydoJobDetailList) {
|
for (MydoJobDetail mydoJobDetail : mydoJobDetailList) {
|
||||||
MydoJobDetail mydoJobDetailOld = mydoJobDetailService.selectMydoJobDetailByJobDetailId(mydoJobDetail.getJobDetailId());
|
//修改拣选数量
|
||||||
BigDecimal oldPickQuantity = Convert.toBigDecimal(mydoJobDetailOld.getPickQuantity());
|
//MydoJobDetail mydoJobDetailOld = mydoJobDetailService.selectMydoJobDetailByJobDetailId(mydoJobDetail.getJobDetailId());
|
||||||
BigDecimal newPickQuantity = Convert.toBigDecimal(mydoJobDetail.getPickQuantity());
|
/*BigDecimal oldPickQuantity = Convert.toBigDecimal(mydoJobDetailOld.getPickQuantity());
|
||||||
mydoJobDetailOld.setPickQuantity(oldPickQuantity.add(newPickQuantity).toString());
|
BigDecimal newPickQuantity = Convert.toBigDecimal(mydoJobDetail.getOutQuantity());*/
|
||||||
mydoJobDetailService.updateMydoJobDetail(mydoJobDetailOld);
|
mydoJobDetail.setPickQuantity(mydoJobDetail.getOutQuantity());
|
||||||
|
mydoJobDetailService.updateMydoJobDetail(mydoJobDetail);
|
||||||
//修改电子标签
|
//修改电子标签
|
||||||
TagTask param = new TagTask();
|
TagTask param = new TagTask();
|
||||||
param.setJobDetailId(mydoJobDetail.getJobDetailId());
|
param.setJobDetailId(mydoJobDetail.getJobDetailId());
|
||||||
@@ -279,13 +281,13 @@ public class PdaServiceImp implements PdaService {
|
|||||||
if (CollUtil.isNotEmpty(tagTasks)) {
|
if (CollUtil.isNotEmpty(tagTasks)) {
|
||||||
TagTask tagTask = tagTasks.get(0);
|
TagTask tagTask = tagTasks.get(0);
|
||||||
BigDecimal num = Convert.toBigDecimal(tagTask.getNum());
|
BigDecimal num = Convert.toBigDecimal(tagTask.getNum());
|
||||||
if (num.compareTo(newPickQuantity) == 0){
|
/*if (num.compareTo(newPickQuantity) == 0){*/
|
||||||
tagTask.setStatus("2");
|
tagTask.setStatus("2");
|
||||||
tagTaskService.updateTagTask(tagTask);
|
tagTaskService.updateTagTask(tagTask);
|
||||||
}else {
|
/*}else {
|
||||||
tagTask.setNum(num.subtract(newPickQuantity).toString());
|
tagTask.setNum(num.subtract(newPickQuantity).toString());
|
||||||
tagTaskService.updateTagTask(tagTask);
|
tagTaskService.updateTagTask(tagTask);
|
||||||
}
|
}*/
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -312,44 +314,45 @@ public class PdaServiceImp implements PdaService {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 处理正常出库
|
* 处理正常出库
|
||||||
|
*
|
||||||
* @param trayCodeMakeSure
|
* @param trayCodeMakeSure
|
||||||
* @param mydoJobDetailList
|
* @param mydoJobDetailList
|
||||||
* @param mydoJob
|
* @param mydoJob
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
private AjaxResult handleOutType1(TrayCodeMakeSure trayCodeMakeSure,List<MydoJobDetail> mydoJobDetailList,MydoJob mydoJob) {
|
private AjaxResult handleOutType1(TrayCodeMakeSure trayCodeMakeSure, List<MydoJobDetail> mydoJobDetailList, MydoJob mydoJob) {
|
||||||
|
|
||||||
|
|
||||||
for (MydoJobDetail mydoJobDetail : mydoJobDetailList) {
|
for (MydoJobDetail mydoJobDetail : mydoJobDetailList) {
|
||||||
|
|
||||||
//修改拣选数量
|
//修改拣选数量
|
||||||
MydoJobDetail mydoJobDetailOld = mydoJobDetailService.selectMydoJobDetailByJobDetailId(mydoJobDetail.getJobDetailId());
|
//MydoJobDetail mydoJobDetailOld = mydoJobDetailService.selectMydoJobDetailByJobDetailId(mydoJobDetail.getJobDetailId());
|
||||||
BigDecimal oldPickQuantity = Convert.toBigDecimal(mydoJobDetailOld.getPickQuantity());
|
/*BigDecimal oldPickQuantity = Convert.toBigDecimal(mydoJobDetailOld.getPickQuantity());
|
||||||
BigDecimal newPickQuantity = Convert.toBigDecimal(mydoJobDetail.getPickQuantity());
|
BigDecimal newPickQuantity = Convert.toBigDecimal(mydoJobDetail.getOutQuantity());*/
|
||||||
mydoJobDetailOld.setPickQuantity(oldPickQuantity.add(newPickQuantity).toString());
|
mydoJobDetail.setPickQuantity(mydoJobDetail.getOutQuantity());
|
||||||
mydoJobDetailService.updateMydoJobDetail(mydoJobDetailOld);
|
mydoJobDetailService.updateMydoJobDetail(mydoJobDetail);
|
||||||
|
|
||||||
OutPickSubmit outPickSubmitParam = new OutPickSubmit();
|
OutPickSubmit outPickSubmitParam = new OutPickSubmit();
|
||||||
//outPickSubmitParam.setJobId(mydoJob.getJobId());
|
//outPickSubmitParam.setJobId(mydoJob.getJobId());
|
||||||
//outPickSubmitParam.setJobDetailId(mydoJobDetail.getJobDetailId());
|
//outPickSubmitParam.setJobDetailId(mydoJobDetail.getJobDetailId());
|
||||||
outPickSubmitParam.setTrayCode(trayCodeMakeSure.getTrayCode());
|
outPickSubmitParam.setTrayCode(trayCodeMakeSure.getTrayCode());
|
||||||
List<OutPickSubmit> outPickSubmits = outPickSubmitService.selectOutPickSubmitList(outPickSubmitParam);
|
List<OutPickSubmit> outPickSubmits = outPickSubmitService.selectOutPickSubmitList(outPickSubmitParam);
|
||||||
if (outPickSubmits.isEmpty()){
|
if (outPickSubmits.isEmpty()) {
|
||||||
//存入中间表
|
//存入中间表
|
||||||
OutPickSubmit outPickSubmit = new OutPickSubmit();
|
OutPickSubmit outPickSubmit = new OutPickSubmit();
|
||||||
outPickSubmit.setJobId(mydoJob.getJobId());
|
outPickSubmit.setJobId(mydoJob.getJobId());
|
||||||
outPickSubmit.setJobDetailId(mydoJobDetail.getJobDetailId());
|
outPickSubmit.setJobDetailId(mydoJobDetail.getJobDetailId());
|
||||||
outPickSubmit.setProductId(mydoJobDetail.getProductId());
|
outPickSubmit.setProductId(mydoJobDetail.getProductId());
|
||||||
outPickSubmit.setQuantit(mydoJobDetail.getPickQuantity());
|
outPickSubmit.setQuantit(mydoJobDetail.getOutQuantity());
|
||||||
outPickSubmit.setTrayCode(trayCodeMakeSure.getTrayCode());
|
outPickSubmit.setTrayCode(trayCodeMakeSure.getTrayCode());
|
||||||
outPickSubmitService.insertOutPickSubmit(outPickSubmit);
|
outPickSubmitService.insertOutPickSubmit(outPickSubmit);
|
||||||
}else {
|
} else {
|
||||||
OutPickSubmit oldOutPickSubmit = outPickSubmits.get(0);
|
OutPickSubmit oldOutPickSubmit = outPickSubmits.get(0);
|
||||||
oldOutPickSubmit.setQuantit(Convert.toBigDecimal(oldOutPickSubmit.getQuantit()).add(Convert.toBigDecimal(mydoJobDetail.getPickQuantity())).toString());
|
oldOutPickSubmit.setQuantit(Convert.toBigDecimal(oldOutPickSubmit.getQuantit()).add(Convert.toBigDecimal(mydoJobDetail.getPickQuantity())).toString());
|
||||||
outPickSubmitService.updateOutPickSubmit(oldOutPickSubmit);
|
outPickSubmitService.updateOutPickSubmit(oldOutPickSubmit);
|
||||||
}
|
}
|
||||||
//修改单据实际数量
|
//修改单据实际数量
|
||||||
String inOrOutDId = mydoJobDetailOld.getInOrOutDId();
|
String inOrOutDId = mydoJobDetail.getInOrOutDId();
|
||||||
OutStockoutDetail outStockoutDetail = outStockoutDetailService.selectOutStockoutDetailByStockoutDetailId(inOrOutDId);
|
OutStockoutDetail outStockoutDetail = outStockoutDetailService.selectOutStockoutDetailByStockoutDetailId(inOrOutDId);
|
||||||
outStockoutDetail.setAssignNum(outStockoutDetail.getAssignNum().add(Convert.toBigDecimal(mydoJobDetail.getPickQuantity())));
|
outStockoutDetail.setAssignNum(outStockoutDetail.getAssignNum().add(Convert.toBigDecimal(mydoJobDetail.getPickQuantity())));
|
||||||
outStockoutDetailService.updateOutStockoutDetail(outStockoutDetail);
|
outStockoutDetailService.updateOutStockoutDetail(outStockoutDetail);
|
||||||
@@ -386,14 +389,13 @@ public class PdaServiceImp implements PdaService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public AjaxResult checkMakeSure(TrayCodeMakeSure trayCodeMakeSure) {
|
public AjaxResult checkMakeSure(TrayCodeMakeSure trayCodeMakeSure) {
|
||||||
List<MydoJobDetail> mydoJobDetailList = trayCodeMakeSure.getMydoJobDetailList();
|
List<MydoJobDetail> mydoJobDetailList = trayCodeMakeSure.getMydoJobDetailList();
|
||||||
if(CollUtil.isNotEmpty(mydoJobDetailList)){
|
if (CollUtil.isNotEmpty(mydoJobDetailList)) {
|
||||||
boolean flag = mydoJobDetailList.stream().anyMatch(x -> StrUtil.isEmpty(x.getStockId()) && "0".equals(x.getInQuantity()));
|
boolean flag = mydoJobDetailList.stream().anyMatch(x -> StrUtil.isEmpty(x.getStockId()) && "0".equals(x.getInQuantity()));
|
||||||
if (flag){
|
if (flag) {
|
||||||
return AjaxResult.warn("新增库存,存在为0的数量");
|
return AjaxResult.warn("新增库存,存在为0的数量");
|
||||||
}
|
}
|
||||||
for (MydoJobDetail mydoJobDetail : mydoJobDetailList) {
|
for (MydoJobDetail mydoJobDetail : mydoJobDetailList) {
|
||||||
@@ -420,9 +422,9 @@ public class PdaServiceImp implements PdaService {
|
|||||||
map.put("v_tray_code", trayCodeMakeSure.getTrayCode());
|
map.put("v_tray_code", trayCodeMakeSure.getTrayCode());
|
||||||
pdaMapper.checkMakeSure(map);
|
pdaMapper.checkMakeSure(map);
|
||||||
String result = map.get("v_result").toString();
|
String result = map.get("v_result").toString();
|
||||||
if("10".equals(result)){
|
if ("10".equals(result)) {
|
||||||
return AjaxResult.success(map.get("v_resultmsg").toString());
|
return AjaxResult.success(map.get("v_resultmsg").toString());
|
||||||
}else{
|
} else {
|
||||||
return AjaxResult.warn(map.get("v_resultmsg").toString());
|
return AjaxResult.warn(map.get("v_resultmsg").toString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -515,14 +517,14 @@ public class PdaServiceImp implements PdaService {
|
|||||||
//如果存在数量不为0的
|
//如果存在数量不为0的
|
||||||
if (detail.getQuantity() != 0) {
|
if (detail.getQuantity() != 0) {
|
||||||
|
|
||||||
if(StrUtil.isEmpty(basContainer.getSpare1())){
|
if (StrUtil.isEmpty(basContainer.getSpare1())) {
|
||||||
return AjaxResult.warn("请选择退料仓库");
|
return AjaxResult.warn("请选择退料仓库");
|
||||||
}
|
}
|
||||||
//去ctu库站点
|
//去ctu库站点
|
||||||
BasProductPort basProductPort = new BasProductPort();
|
BasProductPort basProductPort = new BasProductPort();
|
||||||
basProductPort.setWarehouseId(basContainer.getSpare1());
|
basProductPort.setWarehouseId(basContainer.getSpare1());
|
||||||
List<BasProductPort> basProductPorts = basProductPortMapper.selectBasProductPortList(basProductPort);
|
List<BasProductPort> basProductPorts = basProductPortMapper.selectBasProductPortList(basProductPort);
|
||||||
endPoint=basProductPorts.get(0).getId();
|
endPoint = basProductPorts.get(0).getId();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -555,13 +557,26 @@ public class PdaServiceImp implements PdaService {
|
|||||||
if (space.getStatus() != null) {
|
if (space.getStatus() != null) {
|
||||||
String statusName;
|
String statusName;
|
||||||
switch (Integer.parseInt(space.getStatus())) {
|
switch (Integer.parseInt(space.getStatus())) {
|
||||||
case 1: statusName = "空货位"; break;
|
case 1:
|
||||||
case 2: statusName = "满货位"; break;
|
statusName = "空货位";
|
||||||
case 3: statusName = "入库分配"; break;
|
break;
|
||||||
case 4: statusName = "出库分配"; break;
|
case 2:
|
||||||
case 5: statusName = "入库需盘点"; break;
|
statusName = "满货位";
|
||||||
case 6: statusName = "出库需盘点"; break;
|
break;
|
||||||
default: continue;
|
case 3:
|
||||||
|
statusName = "入库分配";
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
statusName = "出库分配";
|
||||||
|
break;
|
||||||
|
case 5:
|
||||||
|
statusName = "入库需盘点";
|
||||||
|
break;
|
||||||
|
case 6:
|
||||||
|
statusName = "出库需盘点";
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
continue;
|
||||||
}
|
}
|
||||||
statusCount.put(statusName, statusCount.getOrDefault(statusName, 0) + 1);
|
statusCount.put(statusName, statusCount.getOrDefault(statusName, 0) + 1);
|
||||||
}
|
}
|
||||||
@@ -594,17 +609,17 @@ public class PdaServiceImp implements PdaService {
|
|||||||
mydoJob1.setInOut("2");
|
mydoJob1.setInOut("2");
|
||||||
List<MydoJob> mydoJobs1 = mydoJobFinishMapper.selectMydoJobFinishListByMydoJob(mydoJob1);
|
List<MydoJob> mydoJobs1 = mydoJobFinishMapper.selectMydoJobFinishListByMydoJob(mydoJob1);
|
||||||
|
|
||||||
map.put("in",mydoJobs.size());
|
map.put("in", mydoJobs.size());
|
||||||
map.put("out",mydoJobs1.size());
|
map.put("out", mydoJobs1.size());
|
||||||
return map;
|
return map;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public AjaxResult bindContainer(TrayCodeMakeSure trayCodeMakeSure) {
|
public AjaxResult bindContainer(TrayCodeMakeSure trayCodeMakeSure) {
|
||||||
if (CollUtil.isEmpty(trayCodeMakeSure.getMydoJobDetailList())){
|
if (CollUtil.isEmpty(trayCodeMakeSure.getMydoJobDetailList())) {
|
||||||
return AjaxResult.warn("请选择提供绑定数量");
|
return AjaxResult.warn("请选择提供绑定数量");
|
||||||
}
|
}
|
||||||
if (StrUtil.isEmpty(trayCodeMakeSure.getContainerCode())){
|
if (StrUtil.isEmpty(trayCodeMakeSure.getContainerCode())) {
|
||||||
return AjaxResult.warn("请选择绑定容器");
|
return AjaxResult.warn("请选择绑定容器");
|
||||||
}
|
}
|
||||||
for (MydoJobDetail mydoJobDetail : trayCodeMakeSure.getMydoJobDetailList()) {
|
for (MydoJobDetail mydoJobDetail : trayCodeMakeSure.getMydoJobDetailList()) {
|
||||||
@@ -613,11 +628,11 @@ public class PdaServiceImp implements PdaService {
|
|||||||
basContainerDetailsParam.setContainerId(trayCodeMakeSure.getContainerCode());
|
basContainerDetailsParam.setContainerId(trayCodeMakeSure.getContainerCode());
|
||||||
basContainerDetailsParam.setProductId(mydoJobDetail.getProductId());
|
basContainerDetailsParam.setProductId(mydoJobDetail.getProductId());
|
||||||
List<BasContainerDetails> basContainerDetails = basContainerDetailsService.selectBasContainerDetailsList(basContainerDetailsParam);
|
List<BasContainerDetails> basContainerDetails = basContainerDetailsService.selectBasContainerDetailsList(basContainerDetailsParam);
|
||||||
if (CollUtil.isNotEmpty(basContainerDetails)){
|
if (CollUtil.isNotEmpty(basContainerDetails)) {
|
||||||
BasContainerDetails oldBasContainerDetails = basContainerDetails.get(0);
|
BasContainerDetails oldBasContainerDetails = basContainerDetails.get(0);
|
||||||
oldBasContainerDetails.setQuantity(oldBasContainerDetails.getQuantity()+Convert.toLong(mydoJobDetail.getPickBindQuantity()));
|
oldBasContainerDetails.setQuantity(oldBasContainerDetails.getQuantity() + Convert.toLong(mydoJobDetail.getPickBindQuantity()));
|
||||||
basContainerDetailsService.updateBasContainerDetails(oldBasContainerDetails);
|
basContainerDetailsService.updateBasContainerDetails(oldBasContainerDetails);
|
||||||
}else {
|
} else {
|
||||||
BasContainerDetails newBasContainerDetails = new BasContainerDetails();
|
BasContainerDetails newBasContainerDetails = new BasContainerDetails();
|
||||||
newBasContainerDetails.setContainerId(trayCodeMakeSure.getContainerCode());
|
newBasContainerDetails.setContainerId(trayCodeMakeSure.getContainerCode());
|
||||||
newBasContainerDetails.setProductId(mydoJobDetail.getProductId());
|
newBasContainerDetails.setProductId(mydoJobDetail.getProductId());
|
||||||
@@ -632,12 +647,12 @@ public class PdaServiceImp implements PdaService {
|
|||||||
List<OutPickSubmit> outPickSubmits = outPickSubmitService.selectOutPickSubmitList(outPickSubmitParam);
|
List<OutPickSubmit> outPickSubmits = outPickSubmitService.selectOutPickSubmitList(outPickSubmitParam);
|
||||||
for (OutPickSubmit outPickSubmit : outPickSubmits) {
|
for (OutPickSubmit outPickSubmit : outPickSubmits) {
|
||||||
BigDecimal subtract = Convert.toBigDecimal(outPickSubmit.getQuantit()).subtract(Convert.toBigDecimal(mydoJobDetail.getPickBindQuantity()));
|
BigDecimal subtract = Convert.toBigDecimal(outPickSubmit.getQuantit()).subtract(Convert.toBigDecimal(mydoJobDetail.getPickBindQuantity()));
|
||||||
if (subtract.compareTo(BigDecimal.ZERO) == 0){
|
if (subtract.compareTo(BigDecimal.ZERO) == 0) {
|
||||||
//删除缓存信息
|
//删除缓存信息
|
||||||
outPickSubmitService.deleteOutPickSubmitById(outPickSubmit.getId());
|
outPickSubmitService.deleteOutPickSubmitById(outPickSubmit.getId());
|
||||||
}else if (subtract.compareTo(BigDecimal.ZERO) < 0){
|
} else if (subtract.compareTo(BigDecimal.ZERO) < 0) {
|
||||||
return AjaxResult.warn("绑定数量不能大于实际数量");
|
return AjaxResult.warn("绑定数量不能大于实际数量");
|
||||||
}else {
|
} else {
|
||||||
outPickSubmit.setQuantit(subtract.toString());
|
outPickSubmit.setQuantit(subtract.toString());
|
||||||
outPickSubmitService.updateOutPickSubmit(outPickSubmit);
|
outPickSubmitService.updateOutPickSubmit(outPickSubmit);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -284,6 +284,7 @@ public class ReceiveStockinServiceImpl implements IReceiveStockinService
|
|||||||
// 设置状态等默认值
|
// 设置状态等默认值
|
||||||
inStockin.setStatus("1");
|
inStockin.setStatus("1");
|
||||||
inStockin.setSpare1(receiveStockin.getStockinId());
|
inStockin.setSpare1(receiveStockin.getStockinId());
|
||||||
|
inStockin.setDepartmentNo(Convert.toStr(SecurityUtils.getDeptId()));
|
||||||
return inStockin;
|
return inStockin;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -92,6 +92,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
${params.warehouseDataScope}
|
${params.warehouseDataScope}
|
||||||
</if>
|
</if>
|
||||||
</where>
|
</where>
|
||||||
|
order by mj.create_time desc
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectMydoJobByJobId" parameterType="String" resultMap="MydoJobResult">
|
<select id="selectMydoJobByJobId" parameterType="String" resultMap="MydoJobResult">
|
||||||
|
|||||||
@@ -167,4 +167,31 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
</select>
|
</select>
|
||||||
|
<select id="selectOutStockoutByStockoutId" resultMap="OutStockoutResult">
|
||||||
|
select distinct o.stockout_guid,
|
||||||
|
o.stockout_id,
|
||||||
|
o.out_type,
|
||||||
|
o.create_date,
|
||||||
|
o.department_no,
|
||||||
|
o.customer_no,
|
||||||
|
o.create_man_id,
|
||||||
|
o.status,
|
||||||
|
o.stockout_source,
|
||||||
|
o.warehouse_id,
|
||||||
|
o.class_now_id,
|
||||||
|
o.exit_id,
|
||||||
|
o.car_number,
|
||||||
|
o.FID,
|
||||||
|
o.erp_stockout_id,
|
||||||
|
o.start_date,
|
||||||
|
o.finish_date,
|
||||||
|
bw.warehouse_name,
|
||||||
|
bc.customer_name
|
||||||
|
from out_stockout o
|
||||||
|
left join bas_warehouse bw on bw.warehouse_id = o.warehouse_id
|
||||||
|
left join bas_customer bc on bc.customer_no = o.customer_no
|
||||||
|
left join out_stockout_detail d on d.stockout_id = o.stockout_id
|
||||||
|
left join bas_product bp on bp.product_id = d.product_id
|
||||||
|
where o.stockout_id = #{stockoutId}
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
@@ -115,7 +115,7 @@ public class SecurityConfig
|
|||||||
// 静态资源,可匿名访问
|
// 静态资源,可匿名访问
|
||||||
.antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll()
|
.antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll()
|
||||||
.antMatchers("/swagger-ui.html","/changeLanguage", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**","/pda/**").permitAll()
|
.antMatchers("/swagger-ui.html","/changeLanguage", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**","/pda/**").permitAll()
|
||||||
.antMatchers("/api/**").permitAll()
|
.antMatchers("/api/**","/api2wms/**","/api2wcs/**").permitAll()
|
||||||
// 除上面外的所有请求全部需要鉴权认证
|
// 除上面外的所有请求全部需要鉴权认证
|
||||||
.anyRequest().authenticated();
|
.anyRequest().authenticated();
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
# 页面标题
|
# 页面标题
|
||||||
VUE_APP_TITLE = 若依管理系统
|
VUE_APP_TITLE = "ForTucky WMS system"
|
||||||
|
|
||||||
BABEL_ENV = production
|
BABEL_ENV = production
|
||||||
|
|
||||||
|
|||||||
@@ -225,6 +225,7 @@ export default {
|
|||||||
englishDesc: '英文描述',
|
englishDesc: '英文描述',
|
||||||
cartonNo: '箱号',
|
cartonNo: '箱号',
|
||||||
packingMethod: '包装方式',
|
packingMethod: '包装方式',
|
||||||
|
createTime:"创建时间"
|
||||||
},
|
},
|
||||||
// ***************出库单据管理**************
|
// ***************出库单据管理**************
|
||||||
outStockoutManage: {
|
outStockoutManage: {
|
||||||
|
|||||||
@@ -198,6 +198,7 @@ export default {
|
|||||||
englishDesc: '英文描述',
|
englishDesc: '英文描述',
|
||||||
cartonNo: '箱号',
|
cartonNo: '箱号',
|
||||||
packingMethod: '包装方式',
|
packingMethod: '包装方式',
|
||||||
|
createTime:"创建时间"
|
||||||
},
|
},
|
||||||
// ***************新建出库单据**************
|
// ***************新建出库单据**************
|
||||||
addOutStockout: {
|
addOutStockout: {
|
||||||
|
|||||||
@@ -163,8 +163,8 @@
|
|||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column :label="$t('inJob.taskNo')" align="left" prop="taskNo" /> // 任务号
|
<el-table-column :label="$t('inJob.taskNo')" align="left" prop="taskNo" /> // 任务号
|
||||||
<el-table-column :label="$t('inJob.supplierName')" align="left" prop="supplierName" key="supplierId" value="supplierName" /> // 供应商
|
<!-- <el-table-column :label="$t('inJob.supplierName')" align="left" prop="supplierName" key="supplierId" value="supplierName" /> // 供应商-->
|
||||||
<el-table-column :label="$t('inJob.departmentName')" align="left" prop="departmentName" /> // 部门
|
<!-- <el-table-column :label="$t('inJob.departmentName')" align="left" prop="departmentName" /> // 部门-->
|
||||||
<el-table-column :label="$t('inJob.trayCode')" align="left" prop="trayCode" /> // 托盘码
|
<el-table-column :label="$t('inJob.trayCode')" align="left" prop="trayCode" /> // 托盘码
|
||||||
<el-table-column :label="$t('inJob.cargoSpaceName')" align="left" prop="cargoSpaceName" /> // 货位
|
<el-table-column :label="$t('inJob.cargoSpaceName')" align="left" prop="cargoSpaceName" /> // 货位
|
||||||
<el-table-column :label="$t('inJob.priority')" align="left" prop="priority" /> // 优先级
|
<el-table-column :label="$t('inJob.priority')" align="left" prop="priority" /> // 优先级
|
||||||
@@ -175,6 +175,11 @@
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column :label="$t('inJob.entrance')" align="left" prop="entranceId" /> // 入口ID
|
<el-table-column :label="$t('inJob.entrance')" align="left" prop="entranceId" /> // 入口ID
|
||||||
<el-table-column :label="$t('inJob.warehouse')" align="left" prop="warehouseName" /> // 仓库ID
|
<el-table-column :label="$t('inJob.warehouse')" align="left" prop="warehouseName" /> // 仓库ID
|
||||||
|
<el-table-column :label="$t('inJob.createTime')" align="left" prop="createTime" width="180"> // 创建时间
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column :label="$t('inJob.startTime')" align="left" prop="startTime" width="180"> // 开始时间
|
<el-table-column :label="$t('inJob.startTime')" align="left" prop="startTime" width="180"> // 开始时间
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<span>{{ parseTime(scope.row.startTime, '{y}-{m}-{d}') }}</span>
|
<span>{{ parseTime(scope.row.startTime, '{y}-{m}-{d}') }}</span>
|
||||||
@@ -288,7 +293,7 @@ export default {
|
|||||||
workshopId: null,
|
workshopId: null,
|
||||||
priority: null,
|
priority: null,
|
||||||
executionPhase: null,
|
executionPhase: null,
|
||||||
inOrOut: '1',
|
inOrOut: null,
|
||||||
createTime: null,
|
createTime: null,
|
||||||
startTime: null,
|
startTime: null,
|
||||||
finishTime: null,
|
finishTime: null,
|
||||||
@@ -435,11 +440,13 @@ export default {
|
|||||||
//手动作废
|
//手动作废
|
||||||
manualInvalidation(data).then(response => {
|
manualInvalidation(data).then(response => {
|
||||||
this.$modal.msgSuccess("操作成功");
|
this.$modal.msgSuccess("操作成功");
|
||||||
|
getList();
|
||||||
})
|
})
|
||||||
}else if (row.type === 'completed'){
|
}else if (row.type === 'completed'){
|
||||||
//手动完成
|
//手动完成
|
||||||
manualCompleted(data).then(response => {
|
manualCompleted(data).then(response => {
|
||||||
this.$modal.msgSuccess("操作成功");
|
this.$modal.msgSuccess("操作成功");
|
||||||
|
getList();
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -272,14 +272,14 @@
|
|||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column :label="$t('inReceiveStockin.warehouseName')" align="left" prop="warehouseName"/><!--仓库-->
|
<el-table-column :label="$t('inReceiveStockin.warehouseName')" align="left" prop="warehouseName"/><!--仓库-->
|
||||||
<el-table-column :label="$t('inReceiveStockin.stockSource')" align="left" prop="stockSource"><!--单据来源-->
|
<!-- <el-table-column :label="$t('inReceiveStockin.stockSource')" align="left" prop="stockSource"><!–单据来源–>
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<dict-tag :options="dict.type.bill_resource" :value="scope.row.stockSource"/>
|
<dict-tag :options="dict.type.bill_resource" :value="scope.row.stockSource"/>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>-->
|
||||||
<el-table-column :label="$t('inReceiveStockin.departmentName')" align="left" prop="departmentName"/><!--部门-->
|
|
||||||
<el-table-column :label="$t('inReceiveStockin.supplierName')" align="left" prop="supplierName"/><!--供应商-->
|
<el-table-column :label="$t('inReceiveStockin.supplierName')" align="left" prop="supplierName"/><!--供应商-->
|
||||||
<el-table-column :label="$t('inReceiveStockin.createManName')" align="left" prop="createManName"/><!--创建人-->
|
<el-table-column :label="$t('inReceiveStockin.createManName')" align="left" prop="createManName"/><!--创建人-->
|
||||||
|
<el-table-column :label="$t('inReceiveStockin.departmentName')" align="left" prop="departmentName"/><!--部门-->
|
||||||
<el-table-column :label="$t('inReceiveStockin.createDate')" align="left" prop="createDate"/><!--建立时间-->
|
<el-table-column :label="$t('inReceiveStockin.createDate')" align="left" prop="createDate"/><!--建立时间-->
|
||||||
<el-table-column :label="$t('inStockin.finishDate')" align="left" prop="finishDate"/><!--完成日期-->
|
<el-table-column :label="$t('inStockin.finishDate')" align="left" prop="finishDate"/><!--完成日期-->
|
||||||
</el-table>
|
</el-table>
|
||||||
@@ -535,7 +535,7 @@ export default {
|
|||||||
this.getList()
|
this.getList()
|
||||||
})
|
})
|
||||||
}else {
|
}else {
|
||||||
this.$modal.msgError("操作失败")
|
this.$modal.msgError("单据已执行")
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
@@ -556,7 +556,7 @@ export default {
|
|||||||
this.getList()
|
this.getList()
|
||||||
})
|
})
|
||||||
}else {
|
}else {
|
||||||
this.$modal.msgError("操作失败")
|
this.$modal.msgError("单据已执行,请勿重复审核")
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
/**确认单据按钮操作 */
|
/**确认单据按钮操作 */
|
||||||
@@ -572,7 +572,7 @@ export default {
|
|||||||
this.getList()
|
this.getList()
|
||||||
})
|
})
|
||||||
}else {
|
}else {
|
||||||
this.$modal.msgError("操作失败")
|
this.$modal.msgError("单据未执行完成")
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
/** 打印条码按钮操作 */
|
/** 打印条码按钮操作 */
|
||||||
|
|||||||
@@ -112,20 +112,20 @@
|
|||||||
<dict-tag :options="dict.type.mydo_job_status" :value="scope.row.status"/>
|
<dict-tag :options="dict.type.mydo_job_status" :value="scope.row.status"/>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column :label="$t('outJobManagement.onLineType')" align="left" prop="onLineType"> <!-- 上线类型 -->
|
<!-- <el-table-column :label="$t('outJobManagement.onLineType')" align="left" prop="onLineType"> <!– 上线类型 –>
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<dict-tag :options="dict.type.on_line_type" :value="scope.row.onLineType"/>
|
<dict-tag :options="dict.type.on_line_type" :value="scope.row.onLineType"/>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>-->
|
||||||
<el-table-column :label="$t('outJobManagement.jobType')" align="left" prop="inOrOut"> <!-- 任务类型 -->
|
<el-table-column :label="$t('outJobManagement.jobType')" align="left" prop="inOrOut"> <!-- 任务类型 -->
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<dict-tag :options="dict.type.in_job_type" :value="scope.row.inOrOut"/>
|
<dict-tag :options="dict.type.out_job_type" :value="scope.row.inOrOut"/>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column :label="$t('outJobManagement.taskNo')" align="left" prop="taskNo" /> <!-- 任务号 -->
|
<el-table-column :label="$t('outJobManagement.taskNo')" align="left" prop="taskNo" /> <!-- 任务号 -->
|
||||||
<el-table-column :label="$t('outJobManagement.customerId')" align="left" prop="customerId" /> <!-- 客户ID -->
|
<!-- <el-table-column :label="$t('outJobManagement.customerId')" align="left" prop="customerId" /> <!– 客户ID –>-->
|
||||||
<el-table-column :label="$t('outJobManagement.trayCode')" align="left" prop="trayCode" /> <!-- 托盘码 -->
|
<el-table-column :label="$t('outJobManagement.trayCode')" align="left" prop="trayCode" /> <!-- 托盘码 -->
|
||||||
<el-table-column :label="$t('outJobManagement.roadwayId')" align="left" prop="roadwayId" /> <!-- 巷道ID -->
|
<!-- <el-table-column :label="$t('outJobManagement.roadwayId')" align="left" prop="roadwayId" /> <!– 巷道ID –>-->
|
||||||
<el-table-column :label="$t('outJobManagement.cargoSpaceId')" align="left" prop="cargoSpaceId" /> <!-- 货位ID -->
|
<el-table-column :label="$t('outJobManagement.cargoSpaceId')" align="left" prop="cargoSpaceId" /> <!-- 货位ID -->
|
||||||
<el-table-column :label="$t('outJobManagement.priority')" align="right" prop="priority" /> <!-- 优先级 -->
|
<el-table-column :label="$t('outJobManagement.priority')" align="right" prop="priority" /> <!-- 优先级 -->
|
||||||
<el-table-column :label="$t('outJobManagement.executionPhase')" align="left" prop="executionPhase"> <!-- 执行阶段 -->
|
<el-table-column :label="$t('outJobManagement.executionPhase')" align="left" prop="executionPhase"> <!-- 执行阶段 -->
|
||||||
@@ -175,7 +175,7 @@ import {listWarehouse} from "@/api/bas/warehouse";
|
|||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "MydoJob",
|
name: "MydoJob",
|
||||||
dicts: ['execution_phase_type', 'in_job_type', 'on_line_type', 'mydo_job_status'],
|
dicts: ['execution_phase_type', 'in_job_type', 'on_line_type', 'mydo_job_status','out_job_type'],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
// 遮罩层
|
// 遮罩层
|
||||||
|
|||||||
@@ -416,6 +416,11 @@ export default {
|
|||||||
}
|
}
|
||||||
const stockoutIds = this.selectedRows.map(row => row.stockoutId)
|
const stockoutIds = this.selectedRows.map(row => row.stockoutId)
|
||||||
console.log("自动分配:", stockoutIds)
|
console.log("自动分配:", stockoutIds)
|
||||||
|
let outstock = this.selectedRows[0]
|
||||||
|
if (outstock.status !== "2") {
|
||||||
|
this.$modal.msgError("请选择审核状态为审核通过单据")
|
||||||
|
return
|
||||||
|
}
|
||||||
let data = {
|
let data = {
|
||||||
stockoutId: stockoutIds[0]
|
stockoutId: stockoutIds[0]
|
||||||
}
|
}
|
||||||
@@ -435,6 +440,11 @@ export default {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
const stockoutIds = this.selectedRows.map(row => row.stockoutId)
|
const stockoutIds = this.selectedRows.map(row => row.stockoutId)
|
||||||
|
let outstock = this.selectedRows[0]
|
||||||
|
if (outstock.status !== "1") {
|
||||||
|
this.$modal.msgError("单据已审核")
|
||||||
|
return
|
||||||
|
}
|
||||||
// TODO: 调用手动分配接口
|
// TODO: 调用手动分配接口
|
||||||
console.log("手动分配:", stockoutIds)
|
console.log("手动分配:", stockoutIds)
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -414,6 +414,10 @@ export default {
|
|||||||
// 角色顺序不能为空
|
// 角色顺序不能为空
|
||||||
{ required: true, message: this.$t('systemManagement_RoleManagement.checkRoleSortIsNull'), trigger: "blur" }
|
{ required: true, message: this.$t('systemManagement_RoleManagement.checkRoleSortIsNull'), trigger: "blur" }
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
quaryWarehouse:{
|
||||||
|
pageNum:1,
|
||||||
|
pageSize:99
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -424,7 +428,7 @@ export default {
|
|||||||
methods: {
|
methods: {
|
||||||
/** 获取仓库列表 */
|
/** 获取仓库列表 */
|
||||||
getWarehouseList() {
|
getWarehouseList() {
|
||||||
listWarehouse().then(response => {
|
listWarehouse(this.quaryWarehouse).then(response => {
|
||||||
this.warehouseOptions = response.rows;
|
this.warehouseOptions = response.rows;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ const CompressionPlugin = require('compression-webpack-plugin')
|
|||||||
|
|
||||||
const name = process.env.VUE_APP_TITLE || '若依管理系统' // 网页标题
|
const name = process.env.VUE_APP_TITLE || '若依管理系统' // 网页标题
|
||||||
|
|
||||||
const baseUrl = 'http://localhost:8081' // 后端接口
|
const baseUrl = 'http://localhost:8080' // 后端接口
|
||||||
|
|
||||||
const port = process.env.port || process.env.npm_config_port || 80 // 端口
|
const port = process.env.port || process.env.npm_config_port || 80 // 端口
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user