Commit 2f87e280 zshaohui

核验绑定信息 提交

1 个父辈 595b0e44
......@@ -256,6 +256,7 @@ public class DataInitManager {
addNewFunctionMenu(11, wip, "manualTransfer", "手动储位转移", "manualTransfer", "manualTransfer/index", "manualTransfer", functionMenuMap);
addNewFunctionMenu(12, wip, "pickBox", "出货计算", "pickBox", "SemiFinishProducts/pickBox/index", "", functionMenuMap);
addNewFunctionMenu(13, wip, "checkCarton", "核验绑定信息", "checkCarton", "checkCarton/index", "checkCarton", functionMenuMap);
//MSD管理:MSD库存.MSD追溯性.MSD设置
......
......@@ -240,6 +240,13 @@ public class Barcode extends BasePo implements Serializable {
//设备端上传的cartonId
private String scanCartonId;
private boolean manicheScanCartonId = true;
private Date bindScanCartonIdDate;
//上传的cartonId,绑定时间
private Date verificationCartonIdDate;
// 栈板号
private String palletId;
......
......@@ -41,7 +41,7 @@ public class BaseEquipHandler implements IEquipmentHandler {
}
//记录提示信息
if (statusBean.getMsgList() != null) {
for (EquipMsg msg :
/*for (EquipMsg msg :
statusBean.getMsgList()) {
//判断是否有内容
//判断消息是否有内容
......@@ -61,7 +61,7 @@ public class BaseEquipHandler implements IEquipmentHandler {
DeviceMessageUtil.addDeviceMessage(statusBean.getCid(), msg.getType(), msg.getModule(), msg.getMsgCode(), msg.getMsg(), msg.getMsgParams(),"");
}
}
}
}*/
}
EquipStatusUtil.updateStatusBean(statusBean);
......
......@@ -106,6 +106,10 @@ public class LineController {
//如果是人工作业 直接返回ok
if (ManualWorkUtil.bindManualWork(barcode.getBarcode()) || ManualWorkUtil.bindShipCancelUpShelf(barcode.getBarcode())) {
log.info(barcode.getBarcode()+"绑定人工作业或者砍单回库作业,不进行校验");
String cartonId = barcode.getCartonId();
if (StringUtils.isEmpty(cartonId)){
return ResultBean.newErrorResult(-1,"",boxId+"重新绑定过栈板信息,请在人工作业页面,移除信息后,重新检验,才能入库");
}
return ResultBean.newOkResult("");
}
......@@ -114,6 +118,32 @@ public class LineController {
return ResultBean.newErrorResult(-1, "smfcore.error.barcode.noBind", "条码未绑定CartonId");
}
Date bindScanCartonIdDate = barcode.getBindScanCartonIdDate();
if (bindScanCartonIdDate == null){
return ResultBean.newErrorResult(-1,"","箱号:"+barcode.getBarcode()+",栈板号:"+scanCartonId+"请先绑定后,再进行入库");
}
Date verificationCartonIdDate = barcode.getVerificationCartonIdDate();
if (barcode.isManicheScanCartonId()) {
if (System.currentTimeMillis() - bindScanCartonIdDate.getTime() >= 1000 * 60 * 5) {
if (verificationCartonIdDate == null){
return ResultBean.newErrorResult(-1, "", "箱号:" + barcode.getBarcode() + ",栈板号:" + scanCartonId + "绑定超过5分钟,请核验后再进行入库");
} else if (System.currentTimeMillis() - verificationCartonIdDate.getTime() >= 1000 * 60){
return ResultBean.newErrorResult(-1, "", "箱号:" + barcode.getBarcode() + ",栈板号:" + scanCartonId + "核验超过5分钟,请重新核验后再进行入库");
}
}
} else {
if (System.currentTimeMillis() - bindScanCartonIdDate.getTime() >= 1000 * 60 * 2) {
if (verificationCartonIdDate == null){
return ResultBean.newErrorResult(-1, "", "箱号:" + barcode.getBarcode() + ",栈板号:" + scanCartonId + "绑定超过2分钟,请核验后再进行入库");
} else if (System.currentTimeMillis() - verificationCartonIdDate.getTime() >= 1000 * 60){
return ResultBean.newErrorResult(-1, "", "箱号:" + barcode.getBarcode() + ",栈板号:" + scanCartonId + "核验超过5分钟,请重新核验后再进行入库");
}
}
}
try {
ValidCartonResult result = LuxsanApi.validCarton(new ValidCartonRequest("", scanCartonId, CommonUtil.plantCode));
......@@ -165,6 +195,10 @@ public class LineController {
//如果是人工作业的,直接入库
if (ManualWorkUtil.bindManualWork(barcode.getBarcode()) || ManualWorkUtil.bindShipCancelUpShelf(barcode.getBarcode())){
log.info(barcode.getBarcode()+"绑定人工作业或者砍单回库作业,不进行校验");
String cartonId = barcode.getCartonId();
if (StringUtils.isEmpty(cartonId)){
return ResultBean.newErrorResult(-1,"",boxId+"重新绑定过栈板信息,请在人工作业页面,移除信息后,重新检验,才能入库");
}
} else {
//2.请求接口判断是否过账
try {
......@@ -251,6 +285,8 @@ public class LineController {
//清理扫描的cartonId
barcode.setScanCartonId("");
barcode.setBindScanCartonIdDate(null);
barcode.setVerificationCartonIdDate(null);
barcode.setOdn("");
//4.生成入库任务
......@@ -317,7 +353,7 @@ public class LineController {
List<DataLog> dataLogList = taskService.getAllTasks();
for (DataLog task : dataLogList) {
if (task.isCheckOutTask() && !task.isFinished() && !task.isCancel() && !task.isPause() && !OP_STATUS.OUT_ON_LINE.name().equals(task.getStatus())){
if (task.isCheckOutTask() && !task.isFinished() && !task.isCancel() && !task.isPause() /*&&!OP_STATUS.OUT_ON_LINE.name().equals(task.getStatus())*/){
if (StringUtils.isEmpty(soureId)){
if (StringUtils.isEmpty(task.getSourceId())){
num = num + 1;
......@@ -387,6 +423,8 @@ public class LineController {
}
barcode.setScanCartonId(cartonId);
barcode.setManicheScanCartonId(true);
barcode.setBindScanCartonIdDate(new Date());
barcode.setCartonId("");
barcode.setPalletId("");
barcode.setOdn("");
......@@ -438,6 +476,8 @@ public class LineController {
}
barcode.setScanCartonId(cartonId);
barcode.setManicheScanCartonId(false);
barcode.setBindScanCartonIdDate(new Date());
barcode.setCartonId("");
barcode.setPalletId("");
barcode.setOdn("");
......
......@@ -100,6 +100,10 @@ public class MLineController {
//如果是人工作业 直接返回ok
if (ManualWorkUtil.bindManualWork(barcode.getBarcode()) || ManualWorkUtil.bindShipCancelUpShelf(barcode.getBarcode())) {
log.info(barcode.getBarcode()+"绑定人工作业或者砍单回库作业,不进行校验");
String cartonId = barcode.getCartonId();
if (StringUtils.isEmpty(cartonId)){
return ResultBean.newErrorResult(-1,"",boxId+"重新绑定过栈板信息,请在人工作业页面,移除信息后,重新检验,才能入库");
}
return ResultBean.newOkResult("");
}
......@@ -108,6 +112,30 @@ public class MLineController {
return ResultBean.newErrorResult(-1, "smfcore.error.barcode.noBind", "条码未绑定CartonId");
}
Date bindScanCartonIdDate = barcode.getBindScanCartonIdDate();
if (bindScanCartonIdDate == null){
return ResultBean.newErrorResult(-1,"","箱号:"+barcode.getBarcode()+",栈板号:"+scanCartonId+"请先绑定后,再进行入库");
}
Date verificationCartonIdDate = barcode.getVerificationCartonIdDate();
if (barcode.isManicheScanCartonId()) {
if (System.currentTimeMillis() - bindScanCartonIdDate.getTime() >= 1000 * 60 * 5) {
if (verificationCartonIdDate == null){
return ResultBean.newErrorResult(-1, "", "箱号:" + barcode.getBarcode() + ",栈板号:" + scanCartonId + "绑定超过5分钟,请核验后再进行入库");
} else if (System.currentTimeMillis() - verificationCartonIdDate.getTime() >= 1000 * 60){
return ResultBean.newErrorResult(-1, "", "箱号:" + barcode.getBarcode() + ",栈板号:" + scanCartonId + "核验超过5分钟,请重新核验后再进行入库");
}
}
} else {
if (System.currentTimeMillis() - bindScanCartonIdDate.getTime() >= 1000 * 60 * 2) {
if (verificationCartonIdDate == null){
return ResultBean.newErrorResult(-1, "", "箱号:" + barcode.getBarcode() + ",栈板号:" + scanCartonId + "绑定超过2分钟,请核验后再进行入库");
} else if (System.currentTimeMillis() - verificationCartonIdDate.getTime() >= 1000 * 60){
return ResultBean.newErrorResult(-1, "", "箱号:" + barcode.getBarcode() + ",栈板号:" + scanCartonId + "核验超过5分钟,请重新核验后再进行入库");
}
}
}
try {
ValidCartonResult result = LuxsanApi.validCarton(new ValidCartonRequest("", scanCartonId, CommonUtil.plantCode));
......@@ -159,6 +187,10 @@ public class MLineController {
//如果是人工作业的,直接入库
if (ManualWorkUtil.bindManualWork(barcode.getBarcode()) || ManualWorkUtil.bindShipCancelUpShelf(barcode.getBarcode())){
log.info(barcode.getBarcode()+"绑定人工作业或者砍单回库作业,不进行校验");
String cartonId = barcode.getCartonId();
if (StringUtils.isEmpty(cartonId)){
return ResultBean.newErrorResult(-1,"",boxId+"重新绑定过栈板信息,请在人工作业页面,移除信息后,重新检验,才能入库");
}
} else {
//2.请求接口判断是否过账
try {
......@@ -246,6 +278,8 @@ public class MLineController {
//清理扫描的cartonId
barcode.setScanCartonId("");
barcode.setOdn("");
barcode.setVerificationCartonIdDate(null);
barcode.setBindScanCartonIdDate(null);
//4.生成入库任务
String boxLoc = TaskLocUtil.MW_IN;
......
package com.neotel.smfcore.custom.luxsan.factory_c.wipstor.controller;
import com.neotel.smfcore.common.bean.ResultBean;
import com.neotel.smfcore.common.utils.StringUtils;
import com.neotel.smfcore.core.barcode.service.manager.IBarcodeManager;
import com.neotel.smfcore.core.barcode.service.po.Barcode;
import com.neotel.smfcore.core.barcode.utils.CodeResolve;
import com.neotel.smfcore.security.annotation.AnonymousAccess;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Date;
import java.util.Map;
@Slf4j
@RestController
@RequestMapping("/verificationBox")
public class VerificationBoxController {
@Autowired
private CodeResolve codeResolve;
@Autowired
private IBarcodeManager barcodeManager;
@ApiOperation("核验料箱栈板号")
@RequestMapping("/cartonId")
@AnonymousAccess
public ResultBean cartonId(@RequestBody Map<String, String> paramMap) {
String code = paramMap.get("code");
String cartonId = paramMap.get("cartonId");
log.info("核验料箱:" + code + "传入的栈板号为:" + cartonId);
if (StringUtils.isEmpty(cartonId) || StringUtils.isEmpty(code)) {
return ResultBean.newErrorResult(-1, "", "箱号和栈板号都不能为空");
}
Barcode barcode = null;
try {
barcode = codeResolve.resolveOneValideBarcode(code);
}catch (Exception e){
e.printStackTrace();
}
if (barcode == null){
return ResultBean.newErrorResult(-1,"",code+"不是有效的料箱号");
}
String scanCartonId = barcode.getScanCartonId();
log.info("料箱:"+code+",绑定的栈板号为:"+scanCartonId);
if (StringUtils.isEmpty(scanCartonId)){
return ResultBean.newErrorResult(-1,"",code+"没有绑定栈板号");
}
if (!scanCartonId.equals(cartonId)){
return ResultBean.newErrorResult(-1,"",code+"绑定的栈板号为:"+scanCartonId+"与传入的栈板号:"+cartonId+"不一致");
}
barcode.setVerificationCartonIdDate(new Date());
barcodeManager.save(barcode);
return ResultBean.newOkResult("");
}
}
......@@ -19,6 +19,6 @@ public class StorageNameConfig {
}
public static final String semiFinishedCtu5040 = "semi-finished-ctu-5040";//半成品第1台CTU
public static final String semiFinishedCtu5041 = "semi-finished-ctu-5040";//半成品第1台CTU
public static final String semiFinishedCtu5070 = "semi-finished-ctu-5040";//半成品第1台CTU
public static final String semiFinishedCtu5041 = "semi-finished-ctu-5041";//半成品第1台CTU
public static final String semiFinishedCtu5070 = "semi-finished-ctu-5070";//半成品第1台CTU
}
......@@ -173,7 +173,7 @@ public class KafkaService {
/**
* 抛送小车心跳
*/
@Scheduled(fixedRate = 1000 * 5)
//@Scheduled(fixedRate = 1000 * 5)
public void sendAgvHeart() {
List<String> agvMachineIdList = StorageNameConfig.getAgvMachineIdList();
for (String agvMachineId : agvMachineIdList) {
......@@ -200,7 +200,7 @@ public class KafkaService {
/**
* 抛送小车状态
*/
@Scheduled(fixedRate = 1000 * 10)
//@Scheduled(fixedRate = 1000 * 10)
public void sendAgvStatus(){
List<String> agvMachineIdList = StorageNameConfig.getAgvMachineIdList();
for (String agvMachineId : agvMachineIdList) {
......@@ -261,7 +261,7 @@ public class KafkaService {
}
@Scheduled(fixedRate = 1000 * 10)
//@Scheduled(fixedRate = 1000 * 10)
public void sendAgvMachineStatus() {
List<String> agvMachineIdList = StorageNameConfig.getAgvMachineIdList();
for (String agvMachineId : agvMachineIdList) {
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!