流利架 入库出库逻辑修改

This commit is contained in:
liuhanqing
2025-07-31 13:37:58 +08:00
parent e1f0f8f35e
commit 58c3822e07
18 changed files with 156 additions and 65 deletions

View File

@@ -30,9 +30,9 @@ public class ToWcsApiController {
/** /**
* 推送CTU流利架空料箱入库任务 * 推送CTU流利架空料箱入库任务
*/ */
@PostMapping("/pushInMydoJob") @Scheduled(fixedDelay=10000)
public void pushInMydoJob(String trayCode) { public void pushInMydoJob() {
toWcsService.pushInMydoJob(trayCode); toWcsService.pushInMydoJob();
} }
/** /**

View File

@@ -27,11 +27,20 @@ public class ToWmsApiController {
/** /**
* 入库任务请求 * 入库任务请求
*/ */
@PostMapping("/requestEnter") @PostMapping("/requestEnterByTrayCode")
public AjaxResult requestEnter(@RequestBody MydoJob mydoJob) { public AjaxResult requestEnterByTrayCode(@RequestBody MydoJob mydoJob) {
AjaxResult ajaxResult = toWmsService.requestEnter(mydoJob); AjaxResult ajaxResult = toWmsService.requestEnterByTrayCode(mydoJob);
RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(mydoJob), "InJob"); RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(mydoJob), "InJobByTrayCode",ajaxResult);
requestLog.setResponseBody(Convert.toStr(ajaxResult.get("msg"))); requestLogService.insertRequestLog(requestLog);
return ajaxResult;
}
/**
* 入库任务请求
*/
@PostMapping("/requestEnterByEnterId")
public AjaxResult requestEnterByEnterId(@RequestBody MydoJob mydoJob) {
AjaxResult ajaxResult = toWmsService.requestEnterByEnterId(mydoJob);
RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(mydoJob), "InJobByEnterId",ajaxResult);
requestLogService.insertRequestLog(requestLog); requestLogService.insertRequestLog(requestLog);
return ajaxResult; return ajaxResult;
} }
@@ -42,8 +51,7 @@ public class ToWmsApiController {
@PostMapping("/startSignal") @PostMapping("/startSignal")
public AjaxResult startSignal(@RequestBody MydoJob mydoJob) { public AjaxResult startSignal(@RequestBody MydoJob mydoJob) {
AjaxResult ajaxResult = toWmsService.startSignal(mydoJob); AjaxResult ajaxResult = toWmsService.startSignal(mydoJob);
RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(mydoJob), "startSignal"); RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(mydoJob), "startSignal",ajaxResult);
requestLog.setResponseBody(Convert.toStr(ajaxResult.get("msg")));
requestLogService.insertRequestLog(requestLog); requestLogService.insertRequestLog(requestLog);
return ajaxResult; return ajaxResult;
} }
@@ -62,8 +70,7 @@ public class ToWmsApiController {
@PostMapping("/jobFinish") @PostMapping("/jobFinish")
public AjaxResult jobFinish(@RequestBody WmsJobRequest wmsJobRequest) { public AjaxResult jobFinish(@RequestBody WmsJobRequest wmsJobRequest) {
AjaxResult ajaxResult = toWmsService.jobFinish(wmsJobRequest); AjaxResult ajaxResult = toWmsService.jobFinish(wmsJobRequest);
RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(wmsJobRequest), "jobFinish"); RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(wmsJobRequest), "jobFinish",ajaxResult);
requestLog.setResponseBody(Convert.toStr(ajaxResult.get("msg")));
requestLogService.insertRequestLog(requestLog); requestLogService.insertRequestLog(requestLog);
return ajaxResult; return ajaxResult;
} }
@@ -74,8 +81,7 @@ public class ToWmsApiController {
@PostMapping("/reAssign") @PostMapping("/reAssign")
public AjaxResult reAssign(@RequestBody MydoJob mydoJob) { public AjaxResult reAssign(@RequestBody MydoJob mydoJob) {
AjaxResult ajaxResult = toWmsService.reAssign(mydoJob); AjaxResult ajaxResult = toWmsService.reAssign(mydoJob);
RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(mydoJob), "reAssign"); RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(mydoJob), "reAssign",ajaxResult);
requestLog.setResponseBody(Convert.toStr(ajaxResult.get("msg")));
requestLogService.insertRequestLog(requestLog); requestLogService.insertRequestLog(requestLog);
return ajaxResult; return ajaxResult;
} }
@@ -86,8 +92,7 @@ public class ToWmsApiController {
@PostMapping("/reMaterial") @PostMapping("/reMaterial")
public AjaxResult reMaterial(@RequestBody MydoJob mydoJob) { public AjaxResult reMaterial(@RequestBody MydoJob mydoJob) {
AjaxResult ajaxResult = toWmsService.reMaterial(mydoJob); AjaxResult ajaxResult = toWmsService.reMaterial(mydoJob);
RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(mydoJob), "reMaterial"); RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(mydoJob), "reMaterial",ajaxResult);
requestLog.setResponseBody(Convert.toStr(ajaxResult.get("msg")));
requestLogService.insertRequestLog(requestLog); requestLogService.insertRequestLog(requestLog);
return ajaxResult; return ajaxResult;
} }
@@ -100,8 +105,7 @@ public class ToWmsApiController {
@PostMapping("/getJob") @PostMapping("/getJob")
public AjaxResult getJob(@RequestBody MydoJob mydoJob) { public AjaxResult getJob(@RequestBody MydoJob mydoJob) {
AjaxResult ajaxResult = toWmsService.getJob(mydoJob); AjaxResult ajaxResult = toWmsService.getJob(mydoJob);
RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(mydoJob), "getJob"); RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(mydoJob), "getJob",ajaxResult);
requestLog.setResponseBody(Convert.toStr(ajaxResult.get("msg")));
requestLogService.insertRequestLog(requestLog); requestLogService.insertRequestLog(requestLog);
return ajaxResult; return ajaxResult;
} }

View File

@@ -5,6 +5,8 @@ import com.ruoyi.api.domain.WmsJobRequest;
import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.job.mydojob.domain.MydoJob; import com.ruoyi.job.mydojob.domain.MydoJob;
import java.util.HashMap;
/** /**
* 作业统计 Service 接口 * 作业统计 Service 接口
*/ */
@@ -15,5 +17,7 @@ public interface IToWcsService {
AjaxResult pushAgvMoveJob(GenAgvSchedulingTaskRequest genAgvSchedulingTaskRequest); AjaxResult pushAgvMoveJob(GenAgvSchedulingTaskRequest genAgvSchedulingTaskRequest);
void pushInMydoJob(String trayCode); void pushInMydoJob();
AjaxResult outMydojobMakeSure(HashMap<String, String> outMydojobMakeSureParam);
} }

View File

@@ -11,7 +11,8 @@ import java.util.Map;
*/ */
public interface IToWmsService { public interface IToWmsService {
AjaxResult requestEnter(MydoJob mydoJob); AjaxResult requestEnterByTrayCode(MydoJob mydoJob);
AjaxResult requestEnterByEnterId(MydoJob mydoJob);
AjaxResult jobFinish(WmsJobRequest wmsJobRequest); AjaxResult jobFinish(WmsJobRequest wmsJobRequest);

View File

@@ -1,5 +1,6 @@
package com.ruoyi.api.service.impl; package com.ruoyi.api.service.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjUtil; import cn.hutool.core.util.ObjUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
@@ -27,6 +28,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List; import java.util.List;
/** /**
@@ -39,9 +41,10 @@ public class ToWcsServiceImpl implements IToWcsService {
@Autowired @Autowired
private IMydoJobService mydoJobService; private IMydoJobService mydoJobService;
public static final String PUSH_OUT_MYDO_JOB = "http://localhost:8081/agv/api/receiveOutMydoJob"; public static final String PUSH_OUT_MYDO_JOB = "http://localhost:8081/wcs2Wms/api/receiveOutMydoJob";
public static final String PUSH_IN_MYDO_JOB = "http://localhost:8081/agv/api/receiveInMydoJob"; public static final String PUSH_IN_MYDO_JOB = "http://localhost:8081/agv/wcs2Wms/api/receiveInMydoJob";
public static final String PUSH_AGV_MOVE_JOB = "http://localhost:8081/agv/api/receiveAgvMoveJob"; public static final String PUSH_AGV_MOVE_JOB = "http://localhost:8081/api/receiveAgvMoveJob";
public static final String OUT_MYDOJOB_MS = "http://localhost:8081/wcs2Wms/api/outMydojobMakesure";
@Override @Override
@@ -75,9 +78,15 @@ public class ToWcsServiceImpl implements IToWcsService {
} }
@Override @Override
public void pushInMydoJob(String trayCode) { public void pushInMydoJob() {
MydoJob mydoJob = mydoJobService.selectMydoJobByTrayCode(trayCode); MydoJob mydoJobParam = new MydoJob();
if (ObjUtil.isNotNull(mydoJob)){ mydoJobParam.setInOrOut("1");
mydoJobParam.setStatus("1");
mydoJobParam.setExitId("fluent");
mydoJobParam.setEntranceId("fluent");
List<MydoJob> mydoJobs = mydoJobService.selectMydoJobListApi(mydoJobParam);
if (CollUtil.isNotEmpty(mydoJobs)){
for (MydoJob mydoJob : mydoJobs) {
RequestLog requestLog = requestLogService.getRequestLog(PUSH_IN_MYDO_JOB, JSONUtil.toJsonStr(mydoJob), "推送出库任务"); RequestLog requestLog = requestLogService.getRequestLog(PUSH_IN_MYDO_JOB, JSONUtil.toJsonStr(mydoJob), "推送出库任务");
if ("1".equals(requestLog.getIsSuccessful())){ if ("1".equals(requestLog.getIsSuccessful())){
mydoJob.setStatus("2"); mydoJob.setStatus("2");
@@ -85,4 +94,14 @@ public class ToWcsServiceImpl implements IToWcsService {
} }
} }
} }
}
@Override
public AjaxResult outMydojobMakeSure(HashMap<String, String> outMydojobMakeSureParam) {
RequestLog requestLog = requestLogService.getRequestLog(OUT_MYDOJOB_MS, JSONUtil.toJsonStr(outMydojobMakeSureParam), "推送出库任务");
if ("1".equals(requestLog.getIsSuccessful())){
return AjaxResult.success();
}
return AjaxResult.error(requestLog.getDuration());
}
} }

View File

@@ -77,8 +77,7 @@ public class ToWmsServiceImpl implements IToWmsService {
@Override @Override
public AjaxResult requestEnterByTrayCode(MydoJob param) {
public AjaxResult requestEnter(MydoJob param) {
MydoJob mydoJobParam = new MydoJob(); MydoJob mydoJobParam = new MydoJob();
mydoJobParam.setTrayCode(param.getTrayCode()); mydoJobParam.setTrayCode(param.getTrayCode());
List<MydoJob> mydoJobs = mydoJobService.selectMydoJobListApi(mydoJobParam); List<MydoJob> mydoJobs = mydoJobService.selectMydoJobListApi(mydoJobParam);
@@ -95,6 +94,24 @@ public class ToWmsServiceImpl implements IToWmsService {
return AjaxResult.success(mydoJob); return AjaxResult.success(mydoJob);
} }
@Override
public AjaxResult requestEnterByEnterId(MydoJob param) {
MydoJob mydoJobParam = new MydoJob();
mydoJobParam.setEntranceId(param.getEntranceId());
List<MydoJob> mydoJobs = mydoJobService.selectMydoJobListApi(mydoJobParam);
if(mydoJobs.isEmpty()){
return AjaxResult.warn(MessageUtils.message("warn.message"));
}
MydoJob mydoJob = mydoJobs.get(0);
if ("1".equals(mydoJob.getExecutionPhase())){
mydoJob.setExecutionPhase("2");
mydoJob.setTrayCode(param.getTrayCode());
mydoJob.setStatus("2");
mydoJobService.updateMydoJob(mydoJob);
}
return AjaxResult.success(mydoJob);
}
@Override @Override
public AjaxResult jobFinish(WmsJobRequest wmsJobRequest) { public AjaxResult jobFinish(WmsJobRequest wmsJobRequest) {
MydoJob mydoJobParam = new MydoJob(); MydoJob mydoJobParam = new MydoJob();

View File

@@ -231,7 +231,7 @@ public class MydoJobServiceImpl implements IMydoJobService {
BasWarehouse basWarehouse = basWarehouseService.selectBasWarehouseByWarehouseId(job.getWarehouseId()); BasWarehouse basWarehouse = basWarehouseService.selectBasWarehouseByWarehouseId(job.getWarehouseId());
if("2".equals(basWarehouse.getWarehouseType())) { if("2".equals(basWarehouse.getWarehouseType())) {
if ("1".equals(job.getStatus()) || "2".equals(job.getStatus())) { if ("1".equals(job.getStatus()) || "2".equals(job.getStatus())) {
return AjaxResult.warn(MessageUtils.message("warn.message1")); return AjaxResult.warn(MessageUtils.message("warn.message13"));
} }
} }
if ("1".equals(job.getInOrOut()) || "4".equals(job.getInOrOut())) { if ("1".equals(job.getInOrOut()) || "4".equals(job.getInOrOut())) {

View File

@@ -1,6 +1,8 @@
package com.ruoyi.log.service; package com.ruoyi.log.service;
import java.util.List; import java.util.List;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.log.domain.RequestLog; import com.ruoyi.log.domain.RequestLog;
/** /**
@@ -74,5 +76,5 @@ public interface IRequestLogService
* @param remark * @param remark
* @return * @return
*/ */
public RequestLog getRequestLog(String param, String remark); public RequestLog getRequestLog(String param, String remark, AjaxResult ajaxResult);
} }

View File

@@ -10,6 +10,7 @@ import cn.hutool.core.util.IdUtil;
import cn.hutool.http.HttpUtil; import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.AjaxResult;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.ruoyi.log.mapper.RequestLogMapper; import com.ruoyi.log.mapper.RequestLogMapper;
@@ -23,6 +24,7 @@ import com.ruoyi.log.service.IRequestLogService;
* @date 2025-07-02 * @date 2025-07-02
*/ */
@Service @Service
@Slf4j
public class RequestLogServiceImpl implements IRequestLogService public class RequestLogServiceImpl implements IRequestLogService
{ {
@Autowired @Autowired
@@ -61,7 +63,12 @@ public class RequestLogServiceImpl implements IRequestLogService
@Override @Override
public int insertRequestLog(RequestLog requestLog) public int insertRequestLog(RequestLog requestLog)
{ {
if (requestLog.getIsSuccessful().equals("1")){
return requestLogMapper.insertRequestLog(requestLog); return requestLogMapper.insertRequestLog(requestLog);
}else {
log.error("请求失败:" + requestLog.getErrorDetails());
return 0;
}
} }
/** /**
@@ -138,7 +145,7 @@ public class RequestLogServiceImpl implements IRequestLogService
requestLog.setIsSuccessful("0"); requestLog.setIsSuccessful("0");
requestLog.setResponseStatus("0"); requestLog.setResponseStatus("0");
} finally { } finally {
requestLogMapper.insertRequestLog(requestLog); insertRequestLog(requestLog);
} }
return requestLog; return requestLog;
} }
@@ -149,7 +156,7 @@ public class RequestLogServiceImpl implements IRequestLogService
* @return requestLog * @return requestLog
*/ */
@Override @Override
public RequestLog getRequestLog(String param, String remark) { public RequestLog getRequestLog(String param, String remark,AjaxResult ajaxResult) {
RequestLog requestLog = new RequestLog(); RequestLog requestLog = new RequestLog();
requestLog.setRequestTime(DateUtil.formatDateTime(new Date())); requestLog.setRequestTime(DateUtil.formatDateTime(new Date()));
requestLog.setRequestBody(param); requestLog.setRequestBody(param);
@@ -159,7 +166,13 @@ public class RequestLogServiceImpl implements IRequestLogService
requestLog.setRequestMethod("post"); requestLog.setRequestMethod("post");
requestLog.setResponseTime(DateUtil.formatDateTime(new Date())); requestLog.setResponseTime(DateUtil.formatDateTime(new Date()));
requestLog.setDuration(Convert.toStr(DateUtil.between(Convert.toDate(requestLog.getRequestTime()), Convert.toDate(requestLog.getResponseTime()), DateUnit.MS))); requestLog.setDuration(Convert.toStr(DateUtil.between(Convert.toDate(requestLog.getRequestTime()), Convert.toDate(requestLog.getResponseTime()), DateUnit.MS)));
requestLog.setResponseStatus("1");
if (ajaxResult.isSuccess()){
requestLog.setIsSuccessful("1"); requestLog.setIsSuccessful("1");
}else {
requestLog.setIsSuccessful("0");
}
requestLog.setResponseBody(Convert.toStr(ajaxResult.get("msg")));
return requestLog; return requestLog;
} }
} }

View File

@@ -18,6 +18,8 @@ import com.ruoyi.bas.tag.domain.BasTag;
import com.ruoyi.bas.tag.service.IBasTagService; import com.ruoyi.bas.tag.service.IBasTagService;
import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.text.Convert; import com.ruoyi.common.core.text.Convert;
import com.ruoyi.job.mydojob.domain.MydoJob;
import com.ruoyi.job.mydojob.service.IMydoJobService;
import com.ruoyi.out.tagTask.domain.ExecuteSocket; import com.ruoyi.out.tagTask.domain.ExecuteSocket;
import com.ruoyi.pda.domain.TrayCodeMakeSure; import com.ruoyi.pda.domain.TrayCodeMakeSure;
import com.ruoyi.pda.domain.TrayCodeMsg; import com.ruoyi.pda.domain.TrayCodeMsg;
@@ -46,6 +48,8 @@ public class TagTaskServiceImpl implements ITagTaskService {
private IBasTagService basTagService; private IBasTagService basTagService;
@Autowired @Autowired
private PdaService pdaService; private PdaService pdaService;
@Autowired
private IMydoJobService mydoJobService;
private HashMap<String, ExecuteSocket> tagSockteMap = new HashMap<>(); private HashMap<String, ExecuteSocket> tagSockteMap = new HashMap<>();
@@ -242,12 +246,23 @@ public class TagTaskServiceImpl implements ITagTaskService {
String type = s.substring(4, 6);//指令类型 01是下发成功反馈 12是拍灭绿灯指令 String type = s.substring(4, 6);//指令类型 01是下发成功反馈 12是拍灭绿灯指令
if ("12".equals(type)) { if ("12".equals(type)) {
//12为 绿色拍灯指令 //12为 绿色拍灯指令
MydoJob mydoJobParam = new MydoJob();
mydoJobParam.setInOrOut("1");
mydoJobParam.setExitId("fluent");
List<MydoJob> mydoJobs = mydoJobService.selectMydoJobList(mydoJobParam);
if (CollUtil.isEmpty(mydoJobs)){
//生成agv空料箱入库作业 //生成agv空料箱入库作业
TrayCodeMsg trayCodeMsg = new TrayCodeMsg(); TrayCodeMsg trayCodeMsg = new TrayCodeMsg();
trayCodeMsg.setTrayCode(IdUtil.fastSimpleUUID()); trayCodeMsg.setTrayCode(IdUtil.fastSimpleUUID());
trayCodeMsg.setWarehouseId("02"); trayCodeMsg.setWarehouseId("02");
trayCodeMsg.setEntranceId(basTag.getPickAdd()); trayCodeMsg.setEntranceId(basTag.getPickAdd());
pdaService.emptyBoxIn(trayCodeMsg); pdaService.emptyBoxIn(trayCodeMsg);
}else {
MydoJob mydoJob = mydoJobs.get(0);
mydoJob.setEntranceId(basTag.getPickAdd());
mydoJobService.updateMydoJob(mydoJob);
}
} }
} }
} }

View File

@@ -6,6 +6,7 @@ import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HttpUtil; import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson2.JSONObject; import com.alibaba.fastjson2.JSONObject;
import com.ruoyi.api.service.IToWcsService;
import com.ruoyi.bas.cargoSpace.domain.BasCargoSpace; import com.ruoyi.bas.cargoSpace.domain.BasCargoSpace;
import com.ruoyi.bas.cargoSpace.service.IBasCargoSpaceService; import com.ruoyi.bas.cargoSpace.service.IBasCargoSpaceService;
import com.ruoyi.bas.container.domain.BasContainer; import com.ruoyi.bas.container.domain.BasContainer;
@@ -102,6 +103,8 @@ public class PdaServiceImp implements PdaService {
private IBasWarehouseService basWarehouseService; private IBasWarehouseService basWarehouseService;
@Autowired @Autowired
private IBasContainerService basContainerService; private IBasContainerService basContainerService;
@Autowired
private IToWcsService iToWcsService;
/** /**
* 空托盘入库 * 空托盘入库
@@ -306,15 +309,14 @@ public class PdaServiceImp implements PdaService {
List<MydoJobDetail> currentMydoJobDetails = mydoJobDetailService.selectMydoJobDetailList(mydoJobDetailParam); List<MydoJobDetail> currentMydoJobDetails = mydoJobDetailService.selectMydoJobDetailList(mydoJobDetailParam);
boolean flag = currentMydoJobDetails.stream().allMatch(mydoJobDetail -> mydoJobDetail.getPickQuantity().equals(mydoJobDetail.getOutQuantity())); boolean flag = currentMydoJobDetails.stream().allMatch(mydoJobDetail -> mydoJobDetail.getPickQuantity().equals(mydoJobDetail.getOutQuantity()));
if (flag) { if (flag) {
deleteTagTask(trayCodeMakeSure, basWarehouse);
HashMap<String, Object> map = new HashMap<>(); HashMap<String, Object> map = new HashMap<>();
map.put("v_tray_code", trayCodeMakeSure.getTrayCode()); map.put("v_tray_code", trayCodeMakeSure.getTrayCode());
map.put("v_type", "1"); map.put("v_type", "1");
pdaMapper.outMakeSure(map); pdaMapper.outMakeSure(map);
String result = map.get("v_result").toString(); String result = map.get("v_result").toString();
if ("10".equals(result)) { if ("10".equals(result)) {
//通知wcs 出库确认
deleteTagTask(trayCodeMakeSure, basWarehouse);
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());
@@ -383,7 +385,7 @@ public class PdaServiceImp implements PdaService {
List<MydoJobDetail> currentMydoJobDetails = mydoJobDetailService.selectMydoJobDetailList(mydoJobDetailParam); List<MydoJobDetail> currentMydoJobDetails = mydoJobDetailService.selectMydoJobDetailList(mydoJobDetailParam);
boolean flag = currentMydoJobDetails.stream().allMatch(mydoJobDetail -> mydoJobDetail.getPickQuantity().equals(mydoJobDetail.getOutQuantity())); boolean flag = currentMydoJobDetails.stream().allMatch(mydoJobDetail -> mydoJobDetail.getPickQuantity().equals(mydoJobDetail.getOutQuantity()));
if (flag) { if (flag) {
deleteTagTask(trayCodeMakeSure, basWarehouse);
HashMap<String, Object> map = new HashMap<>(); HashMap<String, Object> map = new HashMap<>();
@@ -392,6 +394,7 @@ public class PdaServiceImp implements PdaService {
pdaMapper.outMakeSure(map); pdaMapper.outMakeSure(map);
String result = map.get("v_result").toString(); String result = map.get("v_result").toString();
if ("10".equals(result)) { if ("10".equals(result)) {
deleteTagTask(trayCodeMakeSure, basWarehouse);
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());
@@ -434,12 +437,13 @@ public class PdaServiceImp implements PdaService {
} }
List<MydoJobDetail> mydoJobDetails = mydoJobDetailService.selectMydoJobDetailListByJobId(mydoJob.getJobId()); List<MydoJobDetail> mydoJobDetails = mydoJobDetailService.selectMydoJobDetailListByJobId(mydoJob.getJobId());
if (mydoJobDetails.stream().allMatch(x -> "1".equals(x.getSpare3()))) { if (mydoJobDetails.stream().allMatch(x -> "1".equals(x.getSpare3()))) {
deleteTagTask(trayCodeMakeSure, basWarehouse);
HashMap<String, Object> map = new HashMap<>(); HashMap<String, Object> map = new HashMap<>();
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)) {
deleteTagTask(trayCodeMakeSure, basWarehouse);
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());
@@ -476,6 +480,8 @@ public class PdaServiceImp implements PdaService {
private void deleteTagTask(TrayCodeMakeSure trayCodeMakeSure, BasWarehouse basWarehouse) { private void deleteTagTask(TrayCodeMakeSure trayCodeMakeSure, BasWarehouse basWarehouse) {
if ("2".equals(basWarehouse.getWarehouseType())) { if ("2".equals(basWarehouse.getWarehouseType())) {
BasTag basTag = basTagService.selectBasTagByTrayCode(trayCodeMakeSure.getTrayCode()); BasTag basTag = basTagService.selectBasTagByTrayCode(trayCodeMakeSure.getTrayCode());
basTag.setTrayCode("");
basTagService.updateBasTag(basTag);
//删除电子标签 //删除电子标签
TagTask param = new TagTask(); TagTask param = new TagTask();
param.setTagId(basTag.getId()); param.setTagId(basTag.getId());
@@ -485,6 +491,13 @@ public class PdaServiceImp implements PdaService {
.map(TagTask::getId) .map(TagTask::getId)
.toArray(Long[]::new)); .toArray(Long[]::new));
} }
//通知wcs出库确认成功
HashMap<String, String> outMydojobMakeSureParam = new HashMap<>();
outMydojobMakeSureParam.put("trayCode", trayCodeMakeSure.getTrayCode());
AjaxResult ajaxResult = iToWcsService.outMydojobMakeSure(outMydojobMakeSureParam);
if (!ajaxResult.isSuccess()){
throw new RuntimeException(ajaxResult.toString());
}
} }
} }

View File

@@ -50,6 +50,7 @@ table.result.success=查询成功
#warn message #warn message
warn.message=任务不存在 warn.message=任务不存在
warn.message1=任务已开始 warn.message1=任务已开始
warn.message13=任务未开始
warn.message2=子任务不存在 warn.message2=子任务不存在
warn.message3=暂不支持的任务类型 warn.message3=暂不支持的任务类型
warn.message4=单据不存在 warn.message4=单据不存在

View File

@@ -79,8 +79,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="inOrOut != null and inOrOut != ''"> and mj.in_or_out = #{inOrOut}</if> <if test="inOrOut != null and inOrOut != ''"> and mj.in_or_out = #{inOrOut}</if>
<if test="startTime != null and startTime != ''"> and mj.start_time like concat('%', #{startTime}, '%')</if> <if test="startTime != null and startTime != ''"> and mj.start_time like concat('%', #{startTime}, '%')</if>
<if test="finishTime != null and finishTime != ''"> and mj.finish_time like concat('%', #{finishTime}, '%')</if> <if test="finishTime != null and finishTime != ''"> and mj.finish_time like concat('%', #{finishTime}, '%')</if>
<if test="entranceId != null and entranceId != ''"> and mj.entrance_id = #{entranceId}</if> <if test="entranceId != null and entranceId != ''"> and mj.entrance_id like concat('%',#{entranceId},'%')</if>
<if test="exitId != null and exitId != ''"> and mj.exit_id = #{exitId}</if> <if test="exitId != null and exitId != ''"> and mj.exit_id like concat('%', #{exitId}, '%')</if>
<if test="classId != null and classId != ''"> and mj.class_id = #{classId}</if> <if test="classId != null and classId != ''"> and mj.class_id = #{classId}</if>
<if test="warehouseId != null and warehouseId != ''"> and mj.warehouse_id = #{warehouseId}</if> <if test="warehouseId != null and warehouseId != ''"> and mj.warehouse_id = #{warehouseId}</if>
<if test="faultFlag != null and faultFlag != ''"> and mj.fault_flag = #{faultFlag}</if> <if test="faultFlag != null and faultFlag != ''"> and mj.fault_flag = #{faultFlag}</if>
@@ -216,7 +216,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</select> </select>
<select id="pointOut" parameterType="java.util.Map" statementType="CALLABLE"> <select id="pointOut" parameterType="java.util.Map" statementType="CALLABLE">
{call point_out( {call proc_point_out(
#{stockId,jdbcType=VARCHAR,mode=IN}, #{stockId,jdbcType=VARCHAR,mode=IN},
#{exitId,jdbcType=VARCHAR,mode=IN}, #{exitId,jdbcType=VARCHAR,mode=IN},
#{v_result,mode=OUT,jdbcType=INTEGER}, #{v_result,mode=OUT,jdbcType=INTEGER},

View File

@@ -202,7 +202,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="erpStockoutId != null">erp_stockout_id = #{erpStockoutId},</if> <if test="erpStockoutId != null">erp_stockout_id = #{erpStockoutId},</if>
<if test="unit != null">unit = #{unit},</if> <if test="unit != null">unit = #{unit},</if>
<if test="spec != null">spec = #{spec},</if> <if test="spec != null">spec = #{spec},</if>
<if test="productName != null">product_name = #{productName},</if>
<if test="supplierId != null">supplier_id = #{supplierId},</if> <if test="supplierId != null">supplier_id = #{supplierId},</if>
<if test="cargoNo != null">cargo_no = #{cargoNo},</if> <if test="cargoNo != null">cargo_no = #{cargoNo},</if>
<if test="createTime != null">create_time = #{createTime},</if> <if test="createTime != null">create_time = #{createTime},</if>

View File

@@ -162,5 +162,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="productName != null and productName != ''"> and bp.product_name like concat('%', #{productName}, '%')</if> <if test="productName != null and productName != ''"> and bp.product_name like concat('%', #{productName}, '%')</if>
<if test="customerName != null and customerName != ''"> and bc.customer_name like concat('%', #{customerName}, '%')</if> <if test="customerName != null and customerName != ''"> and bc.customer_name like concat('%', #{customerName}, '%')</if>
</where> </where>
order by o.create_date desc
</select> </select>
</mapper> </mapper>

View File

@@ -67,6 +67,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</foreach> </foreach>
</if> </if>
</where> </where>
order by o.create_date desc
</select> </select>
<select id="selectOutStockoutByStockoutGuid" parameterType="String" resultMap="OutStockoutResult"> <select id="selectOutStockoutByStockoutGuid" parameterType="String" resultMap="OutStockoutResult">

View File

@@ -809,7 +809,8 @@ export default {
cargoSpaceStatus: '锁定状态', cargoSpaceStatus: '锁定状态',
cargoSpaceStockStatus: '货位状态', cargoSpaceStockStatus: '货位状态',
deleteConfirm:"删除库存", deleteConfirm:"删除库存",
designatedStorageLocationForOutboundShipment:"指定货位出库" designatedStorageLocationForOutboundShipment:"指定货位出库",
confirmPointOut:'确认出库'
}, },

View File

@@ -367,7 +367,7 @@ export default {
/** 审核单据按钮操作 */ /** 审核单据按钮操作 */
handleReview(row){ handleReview(row){
let stockIn = this.stockInListSelected[0]; let stockIn = this.stockInListSelected[0];
if (stockIn.status !== "2") { if (stockIn.status === "2") {
this.$modal.msgError(this.$t('inStockin.alreadyReviewed')) this.$modal.msgError(this.$t('inStockin.alreadyReviewed'))
return return
} }