Commit b3d0e6ce 张少辉

结构仓上架测试功能开发

1 个父辈 7dc18a73
...@@ -63,16 +63,9 @@ public class ComponentDto implements Serializable { ...@@ -63,16 +63,9 @@ public class ComponentDto implements Serializable {
@ApiModelProperty("名称") @ApiModelProperty("名称")
private String name; private String name;
@ApiModelProperty("料号")
private String partNumber;
@ApiModelProperty("供应商PN,用于扫码贴标机转换PN") @ApiModelProperty("供应商PN,用于扫码贴标机转换PN")
private String uid; private String uid;
@ApiModelProperty("物料描述")
private String description;
@ApiModelProperty("单耗") @ApiModelProperty("单耗")
private String unitCost; private String unitCost;
...@@ -88,16 +81,6 @@ public class ComponentDto implements Serializable { ...@@ -88,16 +81,6 @@ public class ComponentDto implements Serializable {
@ApiModelProperty("厂商编号") @ApiModelProperty("厂商编号")
private String producerNumber; private String producerNumber;
@ApiModelProperty("供应商")
private String provider;
@ApiModelProperty("供应商编号")
private String providerNumber;
@ApiModelProperty("物料数量")
private int amount;
@ApiModelProperty("报警值,与贴片机连机时使用,值小于1时为初始数量amount百分比,大于等于1时为数量,小于此值时会根据贴片机信息自动出料") @ApiModelProperty("报警值,与贴片机连机时使用,值小于1时为初始数量amount百分比,大于等于1时为数量,小于此值时会根据贴片机信息自动出料")
private float alarmValue = 0.5f; private float alarmValue = 0.5f;
...@@ -167,6 +150,41 @@ public class ComponentDto implements Serializable { ...@@ -167,6 +150,41 @@ public class ComponentDto implements Serializable {
@ApiModelProperty("安全库存盘数") @ApiModelProperty("安全库存盘数")
private int safetyReelNum=0; private int safetyReelNum=0;
//料件编号
private String partNumber;
//物料描述
private String description;
//供应商代码
private String provider;
//供应商物料编码
private String providerMaterialCode;
//供应商名称
private String providerNumber;
//数量
private int amount;
//收容数
private int containmentAmount;
//工厂
private String plant;
//是否原厂
private String originalFactory;
//是否量产
private String massProduction;
//最小包装数量
private int minimumPackagingQuantity = 0;
/** /**
* 自定义的附加字段,key=字段名,value=值 * 自定义的附加字段,key=字段名,value=值
*/ */
......
...@@ -98,12 +98,27 @@ public class ComponentManagerImpl implements IComponentManager { ...@@ -98,12 +98,27 @@ public class ComponentManagerImpl implements IComponentManager {
List<Map<String, Object>> list = new ArrayList<>(); List<Map<String, Object>> list = new ArrayList<>();
for (Component component : queryAll) { for (Component component : queryAll) {
Map<String, Object> map = new LinkedHashMap<>(); Map<String, Object> map = new LinkedHashMap<>();
map.put("名称", component.getName()); map.put("id", component.getId());
map.put("物料编号", component.getPartNumber()); map.put("料件编号", component.getPartNumber());
map.put("供应商编码", component.getProviderNumber()); map.put("物料描述", component.getDescription());
map.put("料盘尺寸", component.getPlateSize() + "X" + component.getHeight()); map.put("类型", component.getType());
map.put("封装数量", component.getAmount()); map.put("供应商代码", component.getProvider());
map.put("创建日期", DateUtil.toDateTimeString(component.getCreateDate())); map.put("供应商物料编码", component.getProviderMaterialCode());
map.put("供应商名称", component.getProducerNumber());
map.put("数量", component.getAmount());
map.put("收容数", component.getContainmentAmount());
map.put("工厂", component.getPlant());
map.put("是否原厂", component.getOriginalFactory());
map.put("是否量产", component.getMassProduction());
map.put("最小包装数量", component.getMinimumPackagingQuantity());
map.put("直径", component.getPlateSize());
map.put("厚度", component.getHeight());
map.put("MSL等级", component.getMsl());
map.put("最大库存", component.getMaxStoreNum());
map.put("最小库存", component.getMinStoreNum());
map.put("安全库存", component.getSafetyStoreNum());
map.put("呆滞天数", component.getSluggishDay());
map.put("尺寸是否确认", component.isSizeConfirmed() ? "是" : "否");
list.add(map); list.add(map);
} }
FileUtil.downloadExcel(list, response); FileUtil.downloadExcel(list, response);
......
...@@ -239,6 +239,40 @@ public class Barcode extends BasePo implements Serializable { ...@@ -239,6 +239,40 @@ public class Barcode extends BasePo implements Serializable {
private String dateCode; private String dateCode;
private String receiptOrder;
//料件编号
//private String partNumber;
//物料描述
private String description;
//供应商代码
//private String provider;
//供应商物料编码
private String providerMaterialCode;
//供应商名称
//private String providerNumber;
//数量
//private int amount;
//收容数
private int containmentAmount;
//工厂
private String plant;
//是否原厂
private String originalFactory;
//是否量产
private String massProduction;
private String rowNumber;
/** /**
* 自定义的附加信息 * 自定义的附加信息
*/ */
......
...@@ -85,7 +85,7 @@ public class Component extends BasePo implements Serializable { ...@@ -85,7 +85,7 @@ public class Component extends BasePo implements Serializable {
// @NotEmpty(message = "{component.partNumber.empty}") // @NotEmpty(message = "{component.partNumber.empty}")
// @NotNull // @NotNull
private String partNumber;
/** /**
* 供应商PN,用于扫码贴标机转换PN * 供应商PN,用于扫码贴标机转换PN
...@@ -94,8 +94,6 @@ public class Component extends BasePo implements Serializable { ...@@ -94,8 +94,6 @@ public class Component extends BasePo implements Serializable {
//uid //uid
private String uid; private String uid;
//物料描述
private String description;
//单耗 //单耗
private String unitCost; private String unitCost;
//"MSL等级" //"MSL等级"
...@@ -106,12 +104,6 @@ public class Component extends BasePo implements Serializable { ...@@ -106,12 +104,6 @@ public class Component extends BasePo implements Serializable {
private String producer; private String producer;
//"厂商编号" //"厂商编号"
private String producerNumber; private String producerNumber;
//"供应商"
private String provider;
//"供应商编号"
private String providerNumber;
private int amount;
/** /**
* 报警值,与贴片机连机时使用,值小于1时为初始数量amount百分比,大于等于1时为数量,小于此值时会根据贴片机信息自动出料 * 报警值,与贴片机连机时使用,值小于1时为初始数量amount百分比,大于等于1时为数量,小于此值时会根据贴片机信息自动出料
...@@ -178,15 +170,47 @@ public class Component extends BasePo implements Serializable { ...@@ -178,15 +170,47 @@ public class Component extends BasePo implements Serializable {
private int validDay = 0; private int validDay = 0;
/** /**
* 最小包装数量
*/
private int minimumPackagingQuantity = 0;
/**
* 自定义的附加信息 * 自定义的附加信息
*/ */
private Map<String,String> appendData = new HashMap<>(); private Map<String,String> appendData = new HashMap<>();
//料件编号
private String partNumber;
//物料描述
private String description;
//供应商代码
private String provider;
//供应商物料编码
private String providerMaterialCode;
//供应商名称
private String providerNumber;
//数量
private int amount;
//收容数
private int containmentAmount;
//工厂
private String plant;
//是否原厂
private String originalFactory;
//是否量产
private String massProduction;
//最小包装数量
private int minimumPackagingQuantity = 0;
public String getPSize(){ public String getPSize(){
if(plateSize == 0 || height == 0){ if(plateSize == 0 || height == 0){
return ""; return "";
......
...@@ -44,6 +44,7 @@ public class InListItem extends BasePo implements Serializable { ...@@ -44,6 +44,7 @@ public class InListItem extends BasePo implements Serializable {
private String ReceiveFlag; private String ReceiveFlag;
private String rowNumber;
/** /**
......
...@@ -71,7 +71,8 @@ public class AgvDeviceController { ...@@ -71,7 +71,8 @@ public class AgvDeviceController {
public ResultBean generatePutInTask(HttpServletRequest request) { public ResultBean generatePutInTask(HttpServletRequest request) {
String boxStr = request.getParameter("barcode"); String boxStr = request.getParameter("barcode");
String currentLoc = request.getParameter("currentLoc"); String currentLoc = request.getParameter("currentLoc");
log.info("收到获取库位号的接口,料箱为:" + boxStr + ",当前位置为:" + currentLoc); String cid = request.getParameter("cid");
log.info("收到获取库位号的接口,料箱为:" + boxStr + ",当前位置为:" + currentLoc+",cid为:"+cid);
Map<String, String> resultMap = new HashMap<>(); Map<String, String> resultMap = new HashMap<>();
resultMap.put("boxStr", ""); resultMap.put("boxStr", "");
resultMap.put("posName", ""); resultMap.put("posName", "");
...@@ -110,10 +111,10 @@ public class AgvDeviceController { ...@@ -110,10 +111,10 @@ public class AgvDeviceController {
//如果任务不存在,则创建新任务 //如果任务不存在,则创建新任务
List<Storage> storageList = new ArrayList<>(); List<Storage> storageList = new ArrayList<>();
List<String> cidList = Lists.newArrayList(); List<String> cidList = Lists.newArrayList();
for (Storage storage : dataCache.getAllStorage().values()) { Storage storage = dataCache.getStorage(cid);
storageList.add(storage); storageList.add(storage);
cidList.add(storage.getCid()); cidList.add(storage.getCid());
}
ReelLockPosUtil.removeReelLockPosInfo(barcode.getBarcode()); ReelLockPosUtil.removeReelLockPosInfo(barcode.getBarcode());
StoragePos pos = taskService.findEmptyPosForPutIn(storageList, barcode, "", ""); StoragePos pos = taskService.findEmptyPosForPutIn(storageList, barcode, "", "");
if (pos == null) { if (pos == null) {
...@@ -126,7 +127,7 @@ public class AgvDeviceController { ...@@ -126,7 +127,7 @@ public class AgvDeviceController {
log.info("清理锁定库位:库位号[" + oldLockInfo.getLockPosName() + "]上物料[" + oldLockInfo.getBarcode() + "]锁定的库位"); log.info("清理锁定库位:库位号[" + oldLockInfo.getLockPosName() + "]上物料[" + oldLockInfo.getBarcode() + "]锁定的库位");
} }
} }
Storage storage = dataCache.getStorageById(pos.getStorageId());
ReelLockPosInfo reelLocInfo = new ReelLockPosInfo(); ReelLockPosInfo reelLocInfo = new ReelLockPosInfo();
reelLocInfo.setBarcode(barcode.getBarcode()); reelLocInfo.setBarcode(barcode.getBarcode());
reelLocInfo.setCid(storage.getCid()); reelLocInfo.setCid(storage.getCid());
...@@ -142,34 +143,24 @@ public class AgvDeviceController { ...@@ -142,34 +143,24 @@ public class AgvDeviceController {
String pidBarcode = barcode.getPidBarcode(); String pidBarcode = barcode.getPidBarcode();
if (StringUtils.isNotEmpty(pidBarcode)){ if (StringUtils.isNotEmpty(pidBarcode)){
Barcode splitBarcode = barcodeManager.findByBarcode(pidBarcode); Barcode splitBarcode = barcodeManager.findByBarcode(pidBarcode);
/*SplitContainerRequest splitContainerRequest = new SplitContainerRequest();
splitContainerRequest.setContainerNo(splitBarcode.getBarcode());
splitContainerRequest.setSplitContainerNo(pidBarcode);
splitContainerRequest.setSplitQuantity(barcode.getAmount()+"");
SplitContainerResponse splitContainerResponse = momoApi.splitContainer(splitContainerRequest);
if (!"200".equals(splitContainerResponse.getResult())){
return ResultBean.newErrorResult(-1,"smfcore.splitContainer.error","拆包通知失败[{0}]",new String[]{splitContainerResponse.getMessage()});
}*/
//判断有没有对应的入库单 //判断有没有对应的入库单
Collection<InList> aLlInList = inListCache.getALlInList(); InList inList = inListCache.getInList(barcode.getReceiptOrder());
if (aLlInList != null && !aLlInList.isEmpty()){ if (inList != null){
for (InList inList : aLlInList) { for (InListItem inListItem : inList.getInListItems()) {
List<InListItem> inListItems = inList.getInListItems(); if (splitBarcode.getPidBarcode().equals(inListItem.getRi())){
for (InListItem inListItem : inListItems) {
if (splitBarcode.getBarcode().equals(inListItem.getRi())){
item = inListItem; item = inListItem;
break; break;
} }
} }
} }
} }
}
DataLog inTask = BoxUtil.generateInTask(pos, barcode, currentLoc); DataLog inTask = BoxUtil.generateInTask(pos, barcode, currentLoc);
inTask.setContainer(barcode.getPidBarcode());
inTask.setStockReturn(barcode.getReceiptOrder());
inTask.setProductName(barcode.getDescription());
inTask.setStockreturnNoLine(barcode.getRowNumber());
if (item != null){ if (item != null){
inTask.setStockReturn(item.getName());
inTask.setProductName("");
inTask.setQty(item.getNum()); inTask.setQty(item.getNum());
inTask.setStockreturnNoLine(item.getReceiveFlag());
} }
taskService.addTaskToExecute(inTask); taskService.addTaskToExecute(inTask);
resultMap.put("boxStr", barcode.getBarcode()); resultMap.put("boxStr", barcode.getBarcode());
...@@ -186,11 +177,13 @@ public class AgvDeviceController { ...@@ -186,11 +177,13 @@ public class AgvDeviceController {
@ApiOperation("定时获取入库任务") @ApiOperation("定时获取入库任务")
@RequestMapping("/service/store/agvBox/getPutInTask") @RequestMapping("/service/store/agvBox/getPutInTask")
@AnonymousAccess @AnonymousAccess
public ResultBean getPutInTask() { public ResultBean getPutInTask(String cid) {
List<CtuPutInTask> putInTaskList = new ArrayList<>(); List<CtuPutInTask> putInTaskList = new ArrayList<>();
List<DataLog> allTasks = taskService.getAllTasks(); List<DataLog> allTasks = taskService.getAllTasks();
Storage storage = dataCache.getStorage(cid);
if (storage != null) {
for (DataLog dataLog : allTasks) { for (DataLog dataLog : allTasks) {
if (dataLog.isPutInTask() && !dataLog.isFinished() && !dataLog.isCancel()){ if (dataLog.isPutInTask() && !dataLog.isFinished() && !dataLog.isCancel() && storage.getId().equals(dataLog.getStorageId())) {
CtuPutInTask putInTask = new CtuPutInTask(); CtuPutInTask putInTask = new CtuPutInTask();
putInTask.setStatus(dataLog.getStatus()); putInTask.setStatus(dataLog.getStatus());
putInTask.setPosName(dataLog.getPosName()); putInTask.setPosName(dataLog.getPosName());
...@@ -199,6 +192,7 @@ public class AgvDeviceController { ...@@ -199,6 +192,7 @@ public class AgvDeviceController {
putInTaskList.add(putInTask); putInTaskList.add(putInTask);
} }
} }
}
return ResultBean.newOkResult(putInTaskList); return ResultBean.newOkResult(putInTaskList);
} }
...@@ -286,9 +280,13 @@ public class AgvDeviceController { ...@@ -286,9 +280,13 @@ public class AgvDeviceController {
@RequestMapping(value = "/service/store/agvBox/getOutTask") @RequestMapping(value = "/service/store/agvBox/getOutTask")
@AnonymousAccess @AnonymousAccess
public ResultBean getOutTask(HttpServletRequest request) { public ResultBean getOutTask(HttpServletRequest request) {
List<CtuCheckOutTask> ctuCheckOutTaskList = new ArrayList<>();
String cid = request.getParameter("cid");
Storage storage = dataCache.getStorage(cid);
if (storage != null) {
Collection<DataLog> queueTasks = taskService.getQueueTasks(); Collection<DataLog> queueTasks = taskService.getQueueTasks();
queueTasks = queueTasks.stream().sorted(Comparator.comparing(DataLog::getPosName)).collect(Collectors.toList()); queueTasks = queueTasks.stream().sorted(Comparator.comparing(DataLog::getPosName)).collect(Collectors.toList());
List<CtuCheckOutTask> ctuCheckOutTaskList = new ArrayList<>();
for (DataLog queueTask : queueTasks) { for (DataLog queueTask : queueTasks) {
if (queueTask.isWait() && queueTask.isCheckOutTask()) { if (queueTask.isWait() && queueTask.isCheckOutTask()) {
CtuCheckOutTask ctuCheckOutTask = new CtuCheckOutTask(); CtuCheckOutTask ctuCheckOutTask = new CtuCheckOutTask();
...@@ -303,6 +301,7 @@ public class AgvDeviceController { ...@@ -303,6 +301,7 @@ public class AgvDeviceController {
ctuCheckOutTaskList.add(ctuCheckOutTask); ctuCheckOutTaskList.add(ctuCheckOutTask);
} }
} }
}
return ResultBean.newOkResult(ctuCheckOutTaskList); return ResultBean.newOkResult(ctuCheckOutTaskList);
} }
......
...@@ -14,7 +14,6 @@ import com.neotel.smfcore.core.storage.service.po.Storage; ...@@ -14,7 +14,6 @@ import com.neotel.smfcore.core.storage.service.po.Storage;
import com.neotel.smfcore.core.storage.service.po.StoragePos; import com.neotel.smfcore.core.storage.service.po.StoragePos;
import com.neotel.smfcore.core.system.service.po.DataLog; import com.neotel.smfcore.core.system.service.po.DataLog;
import com.neotel.smfcore.core.system.util.TaskService; import com.neotel.smfcore.core.system.util.TaskService;
import com.neotel.smfcore.security.annotation.AnonymousAccess;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
...@@ -50,7 +49,6 @@ public class MaterialOperationController { ...@@ -50,7 +49,6 @@ public class MaterialOperationController {
*/ */
@ApiOperation("人工上架") @ApiOperation("人工上架")
@RequestMapping("/generatePutawayTask") @RequestMapping("/generatePutawayTask")
@AnonymousAccess
public ResultBean generatePutawayTask(@RequestBody Map<String, String> paramMap) { public ResultBean generatePutawayTask(@RequestBody Map<String, String> paramMap) {
String code = paramMap.get("code"); String code = paramMap.get("code");
String posName = paramMap.get("posName"); String posName = paramMap.get("posName");
...@@ -131,7 +129,6 @@ public class MaterialOperationController { ...@@ -131,7 +129,6 @@ public class MaterialOperationController {
*/ */
@ApiOperation("人工下架") @ApiOperation("人工下架")
@RequestMapping("/generatePickingTask") @RequestMapping("/generatePickingTask")
@AnonymousAccess
public ResultBean generatePickingTask(@RequestBody Map<String, String> paramMap) { public ResultBean generatePickingTask(@RequestBody Map<String, String> paramMap) {
String code = paramMap.get("code"); String code = paramMap.get("code");
log.info("[人工下架] 开始处理,code: {}", code); log.info("[人工下架] 开始处理,code: {}", code);
......
...@@ -113,6 +113,7 @@ public class MaterialUnpackingController { ...@@ -113,6 +113,7 @@ public class MaterialUnpackingController {
barcode.setHeight(2); barcode.setHeight(2);
barcode.setAmount(item.getNum() - item.getInNum()); barcode.setAmount(item.getNum() - item.getInNum());
barcode.setLabelAmount(item.getNum()); barcode.setLabelAmount(item.getNum());
barcode.setReceiptOrder(receiptOrder);
barcodeManager.save(barcode); barcodeManager.save(barcode);
log.info("条码[" + barcode.getBarcode() + "]验证通过,入库数:" + item.getInNum() + ",需求数:" + item.getNum()); log.info("条码[" + barcode.getBarcode() + "]验证通过,入库数:" + item.getInNum() + ",需求数:" + item.getNum());
...@@ -253,19 +254,35 @@ public class MaterialUnpackingController { ...@@ -253,19 +254,35 @@ public class MaterialUnpackingController {
Barcode newBarcode = new Barcode(); Barcode newBarcode = new Barcode();
newBarcode.setBarcode(data); newBarcode.setBarcode(data);
newBarcode.setPidBarcode(barcode.getBarcode()); newBarcode.setPidBarcode(barcode.getBarcode());
newBarcode.setReceiptOrder(barcode.getReceiptOrder());
newBarcode.setPlateSize(2); newBarcode.setPlateSize(2);
newBarcode.setHeight(2); newBarcode.setHeight(2);
newBarcode.setPartNumber(barcode.getPartNumber()); newBarcode.setPartNumber(barcode.getPartNumber());
newBarcode.setAmount(component.getMinimumPackagingQuantity());
newBarcode.setBatch(barcode.getBatch()); newBarcode.setBatch(barcode.getBatch());
newBarcode.setDateCode(barcode.getDateCode()); newBarcode.setDateCode(barcode.getDateCode());
newBarcode.setDescription(component.getDescription());
newBarcode.setProvider(barcode.getProvider()); newBarcode.setProvider(barcode.getProvider());
newBarcode.setProviderMaterialCode(component.getProviderMaterialCode());
newBarcode.setProviderNumber(barcode.getProviderNumber()); newBarcode.setProviderNumber(barcode.getProviderNumber());
newBarcode.setAmount(component.getMinimumPackagingQuantity());
newBarcode.setContainmentAmount(component.getContainmentAmount());
newBarcode.setPlant(component.getPlant());
newBarcode.setOriginalFactory(component.getOriginalFactory());
newBarcode.setMassProduction(component.getMassProduction());
newBarcode.setRowNumber(item.getRowNumber());
barcodeManager.saveBarcode(newBarcode); barcodeManager.saveBarcode(newBarcode);
return ResultBean.newOkResult(newBarcode); return ResultBean.newOkResult(newBarcode);
} else { } else {
barcode.setAmount(remainNum); barcode.setAmount(remainNum);
barcode.setPidBarcode(barcode.getBarcode()); barcode.setPidBarcode(barcode.getBarcode());
barcode.setDescription(component.getDescription());
barcode.setProviderMaterialCode(component.getProviderMaterialCode());
barcode.setAmount(component.getMinimumPackagingQuantity());
barcode.setContainmentAmount(component.getContainmentAmount());
barcode.setPlant(component.getPlant());
barcode.setOriginalFactory(component.getOriginalFactory());
barcode.setMassProduction(component.getMassProduction());
barcode.setRowNumber(item.getRowNumber());
barcodeManager.saveBarcode(barcode); barcodeManager.saveBarcode(barcode);
return ResultBean.newOkResult(barcode); return ResultBean.newOkResult(barcode);
} }
...@@ -327,10 +344,12 @@ public class MaterialUnpackingController { ...@@ -327,10 +344,12 @@ public class MaterialUnpackingController {
} }
//拆分 //拆分
if (!barcode.getBarcode().equals(barcode.getPidBarcode())){
SplitContainerResponse splitContainerResponse = momoApi.splitContainer(new SplitContainerRequest(barcode.getPidBarcode(), barcode.getBarcode(), barcode.getAmount() + "", "WMS")); SplitContainerResponse splitContainerResponse = momoApi.splitContainer(new SplitContainerRequest(barcode.getPidBarcode(), barcode.getBarcode(), barcode.getAmount() + "", "WMS"));
if (!"200".equals(splitContainerResponse.getResult())) { if (!"200".equals(splitContainerResponse.getResult())) {
return ResultBean.newErrorResult(-1, "smfcore.splitContainer.error", "拆包通知失败[{0}]", new String[]{splitContainerResponse.getMessage()}); return ResultBean.newErrorResult(-1, "smfcore.splitContainer.error", "拆包通知失败[{0}]", new String[]{splitContainerResponse.getMessage()});
} }
}
item.setInNum(item.getInNum() + barcode.getAmount()); item.setInNum(item.getInNum() + barcode.getAmount());
inListItems.set(index, item); inListItems.set(index, item);
...@@ -346,9 +365,16 @@ public class MaterialUnpackingController { ...@@ -346,9 +365,16 @@ public class MaterialUnpackingController {
boxBarcode.setDateCode(barcode.getDateCode()); boxBarcode.setDateCode(barcode.getDateCode());
boxBarcode.setProvider(barcode.getProvider()); boxBarcode.setProvider(barcode.getProvider());
boxBarcode.setProviderNumber(barcode.getProviderNumber()); boxBarcode.setProviderNumber(barcode.getProviderNumber());
boxBarcode.setReceiptOrder(barcode.getReceiptOrder());
boxBarcode.setDescription(barcode.getDescription());
boxBarcode.setProviderMaterialCode(barcode.getProviderMaterialCode());
boxBarcode.setContainmentAmount(barcode.getContainmentAmount());
boxBarcode.setPlant(barcode.getPlant());
boxBarcode.setOriginalFactory(barcode.getOriginalFactory());
boxBarcode.setMassProduction(barcode.getMassProduction());
//生成任务 //生成任务
barcodeManager.save(boxBarcode); barcodeManager.save(boxBarcode);
DataLog dataLog = new DataLog(); DataLog dataLog = new DataLog();
dataLog.setBarcode(barcode.getBarcode()); dataLog.setBarcode(barcode.getBarcode());
dataLog.setPartNumber(barcode.getPartNumber()); dataLog.setPartNumber(barcode.getPartNumber());
......
package com.neotel.smfcore.custom.aiqingzhiyin1643.controller;
import com.neotel.smfcore.common.bean.ResultBean;
import com.neotel.smfcore.core.barcode.utils.CodeResolve;
import com.neotel.smfcore.core.device.util.DataCache;
import com.neotel.smfcore.core.storage.service.manager.IStoragePosManager;
import com.neotel.smfcore.core.system.util.TaskService;
import io.swagger.annotations.Api;
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.Map;
/**
* 合并料箱接口
*/
@Api(tags = "合并料箱")
@Slf4j
@RestController
@RequestMapping("/mergeMaterialBox")
public class MergeMaterialBoxController {
@Autowired
private CodeResolve codeResolve;
@Autowired
private TaskService taskService;
@Autowired
private IStoragePosManager storagePosManager;
@Autowired
private DataCache dataCache;
/**
* 合并料箱
*/
@ApiOperation("合并料箱")
@RequestMapping("/merge")
public ResultBean merge(@RequestBody Map<String, String> paramMap) {
String currentBox = paramMap.get("currentBox");
String s = paramMap.get("");
return ResultBean.newOkResult("");
}
}
\ No newline at end of file \ No newline at end of file
...@@ -53,7 +53,11 @@ public class MomoApi extends BaseSmfApiListener { ...@@ -53,7 +53,11 @@ public class MomoApi extends BaseSmfApiListener {
List<Map<String,Object>> RKContainer = new ArrayList<>(); List<Map<String,Object>> RKContainer = new ArrayList<>();
Map<String,Object> rkContainerMap = new HashMap<>(); Map<String,Object> rkContainerMap = new HashMap<>();
rkContainerMap.put("CQty",task.getNum()); rkContainerMap.put("CQty",task.getNum());
if (StringUtils.isNotEmpty(task.getContainer())){
rkContainerMap.put("Container",task.getContainer());
} else {
rkContainerMap.put("Container",task.getBarcode()); rkContainerMap.put("Container",task.getBarcode());
}
RKContainer.add(rkContainerMap); RKContainer.add(rkContainerMap);
detailMap.put("RKContainer",RKContainer); detailMap.put("RKContainer",RKContainer);
......
...@@ -129,6 +129,7 @@ public class MomoController { ...@@ -129,6 +129,7 @@ public class MomoController {
item.setLotNo(detail.getLotNo()); item.setLotNo(detail.getLotNo());
item.setNum((int) Double.parseDouble(detail.getQty())); item.setNum((int) Double.parseDouble(detail.getQty()));
item.setReceiveFlag(detail.getReceiveFlag()); item.setReceiveFlag(detail.getReceiveFlag());
item.setRowNumber(material.getRowNumber());
inListItem.add(item); inListItem.add(item);
} }
} }
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!