Commit fec8eb4f zshaohui

1.盘点功能优化

2.迈征根据站位匹配出库,去掉
3.料串离开的时候 增加料串信息,通知给迈征
1 个父辈 5c2bc610
......@@ -27,4 +27,10 @@ public class StorageExport {
* 是否禁用
*/
private boolean disable = false;
/**
* 料串信息
*/
private String material = "";
}
......@@ -524,7 +524,7 @@ public class InnerBoxRestController {
@ApiOperation("料箱离开工位")
@RequestMapping("/boxOutStation")
@AnonymousAccess
public ResultBean boxOutStation(String export) {
public ResultBean boxOutStation(String export,String material) {
StorageExport storageExport = StorageExportUtil.getExport(export);
String hSerial = storageExport.getHSerial();
......@@ -533,6 +533,7 @@ public class InnerBoxRestController {
outStationExport.setLine(storageExport.getLine());
outStationExport.setHSerial(hSerial);
outStationExport.setRemainTaskCount(storageExport.getRemainTaskCount());
outStationExport.setMaterial(material);
if (StringUtils.isNotBlank(hSerial)) {
LiteOrder order = liteOrderCache.getOrderSortItems(hSerial);
......
......@@ -84,7 +84,7 @@ public class PreWarningItemCache {
//挑出迈征和其他工单
Map<String, String> stationStatusMap = StationStatusCache.getStationStatusMap();
for (PreWarningItem item : queueItemList) {
String station = item.getStation();
/*String station = item.getStation();
String partnumber = item.getPartnumber();
String slot = item.getSlot();
String line = item.getLine();
......@@ -95,11 +95,12 @@ public class PreWarningItemCache {
maiZhengItemList.add(item);
} else {
otherItemList.add(item);
}
}*/
otherItemList.add(item);
}
//处理迈征工单信息
if (maiZhengItemList != null && !maiZhengItemList.isEmpty()) {
/*if (maiZhengItemList != null && !maiZhengItemList.isEmpty()) {
maiZhengItemList = maiZhengItemList.stream().sorted(Comparator.comparing(PreWarningItem::getReceiveDate)).collect(Collectors.toList());
int minute = dataCache.getCache(Constants.CACHE_maiZhengMinute);
......@@ -136,7 +137,7 @@ public class PreWarningItemCache {
}
}
}
}
}*/
//处理其他工单信息
if (otherItemList != null && !otherItemList.isEmpty()) {
......
......@@ -68,14 +68,20 @@ public class MaiZhengApi {
List<Map<String, Object>> list = new ArrayList<>();
List<LiteOrderItem> orderItemList = liteOrder.getOrderItems();
for (LiteOrderItem orderItem : orderItemList) {
Map<String, Object> itemMap = new HashMap<>();
itemMap.put("Position", orderItem.getPosition());
itemMap.put("PARTNUMBER", orderItem.getPn());
itemMap.put("REEL", orderItem.getReel());
itemMap.put("REELNew", orderItem.getOutReel());
itemMap.put("Width", orderItem.getWidth());
itemMap.put("Dia", orderItem.getDia());
list.add(itemMap);
List<String> outReelList = orderItem.getOutReelList();
if (outReelList != null && !outReelList.isEmpty()){
for (int i = 0; i < outReelList.size(); i++) {
Map<String, Object> itemMap = new HashMap<>();
itemMap.put("Position", orderItem.getPositionList().get(i));
itemMap.put("PARTNUMBER", orderItem.getPn());
itemMap.put("REEL", orderItem.getReel());
itemMap.put("REELNew", outReelList.get(i));
itemMap.put("Width", orderItem.getWidth());
itemMap.put("Dia", orderItem.getDia());
list.add(itemMap);
}
}
}
paramMap.put("List", list);
......
package com.neotel.smfcore.custom.lizhen.third.maicheng.controller;
import cn.hutool.core.util.NumberUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.google.common.collect.Maps;
......@@ -161,6 +162,8 @@ public class MaiZhengController {
liteOrder.setMaiZheng(true);
liteOrder = liteOrderManager.save(liteOrder);
int totalReelCount = 0;
//开始设置工单数据
List<LiteOrderItem> orderItemList = new ArrayList<>();
for (AskReelBoxList box : askReelBox.getList()) {
......@@ -182,13 +185,16 @@ public class MaiZhengController {
item.setDia(box.getDia());
item.setOrderId(liteOrder.getId());
item.setOrderNo(liteOrder.getOrderNo());
item.setNeedReelCount(1);
item.setNeedNum(1);
int num = NumberUtil.parseInt(box.getNum());
item.setNeedReelCount(num);
totalReelCount = totalReelCount + num;
orderItemList.add(item);
}
orderItemList = (List<LiteOrderItem>) liteOrderItemManager.batchSave(orderItemList);
liteOrder.setOrderItems(orderItemList);
liteOrder.setTotalTaskReelCount(orderItemList.size());
liteOrder.setTotalTaskReelCount(totalReelCount);
liteOrder = liteOrderManager.save(liteOrder);
liteOrderCache.addOrderToMap(liteOrder);
log.info(guid + "工单任务已经生成,任务数量为:" + orderItemList.size());
......
package com.neotel.smfcore.custom.lizhen.third.maicheng.controller;
import com.alibaba.fastjson.JSON;
import com.neotel.smfcore.common.bean.ResultBean;
import com.neotel.smfcore.common.utils.StringUtils;
import com.neotel.smfcore.core.order.service.manager.ILiteOrderManager;
......@@ -11,10 +12,12 @@ import com.neotel.smfcore.custom.lizhen.third.maicheng.api.MaiZhengApi;
import com.neotel.smfcore.security.annotation.AnonymousAccess;
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.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@Slf4j
@RestController
@RequestMapping("/maizhengDevice")
@Api(tags = "设备端(迈征)")
......@@ -33,7 +36,8 @@ public class MaiZhengDeviceController {
@RequestMapping("/transReelBox")
@AnonymousAccess
public ResultBean transReelBox(String exportStr) {
StorageExport export = StorageExportUtil.getExport(exportStr+StorageExportUtil.OUT_STATION);
StorageExport export = StorageExportUtil.getExport(exportStr + StorageExportUtil.OUT_STATION);
log.info(exportStr + "获取到出料口信息为:" + JSON.toJSONString(export));
String hSerial = export.getHSerial();
if (StringUtils.isBlank(hSerial)) {
return ResultBean.newErrorResult(-1, "smfcore.valueNotExist", "{0}[{1}]不存在", new String[]{exportStr, "hSerial"});
......@@ -61,12 +65,17 @@ public class MaiZhengDeviceController {
return ResultBean.newErrorResult(-1, "smfcore.valueNotExist", "{0}[{1}]不存在", new String[]{"orderNo", hSerial});
}
String material = export.getMaterial();
if (StringUtils.isNotBlank(material)){
liteOrder.setReelBoxId(material);
}
//请求迈征的接口,是否可以放入
String resultStr = maiZhengApi.transReelBox(liteOrder);
if ("OK".equalsIgnoreCase(resultStr)){
if ("OK".equalsIgnoreCase(resultStr)) {
return ResultBean.newOkResult("");
} else {
return ResultBean.newErrorResult(-1,"smf.maizheng.error","transReelBox返回异常:"+resultStr);
return ResultBean.newErrorResult(-1, "smf.maizheng.error", "transReelBox返回异常:" + resultStr);
}
}
......
......@@ -5,6 +5,7 @@ import com.neotel.smfcore.common.bean.PageData;
import com.neotel.smfcore.common.bean.ResultBean;
import com.neotel.smfcore.common.utils.DateUtil;
import com.neotel.smfcore.common.utils.QueryHelp;
import com.neotel.smfcore.common.utils.SecurityUtils;
import com.neotel.smfcore.common.utils.StringUtils;
import com.neotel.smfcore.core.barcode.service.po.Barcode;
import com.neotel.smfcore.core.barcode.utils.CodeResolve;
......@@ -20,6 +21,7 @@ import com.neotel.smfcore.custom.lizhen.virtual.util.VirInventoryUtil;
import com.neotel.smfcore.security.annotation.AnonymousAccess;
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.beans.factory.annotation.Value;
import org.springframework.data.domain.Pageable;
......@@ -36,6 +38,7 @@ import java.util.Map;
@Api(tags = "虚拟仓盘点")
@RequestMapping("/virInventory")
@RestController
@Slf4j
public class VirInventoryController {
//厂别
......@@ -65,6 +68,7 @@ public class VirInventoryController {
@RequestMapping("/startInventory")
@AnonymousAccess
public ResultBean startInventory() {
log.info(SecurityUtils.getLoginUsername()+"点击开始盘点");
//1.首先判断上一次盘点是否结束
String batch = dataCache.getCache(VirInventoryUtil.VIRINVENTORY_CACHE_BATCH);
if (StringUtils.isNotBlank(batch)) {
......@@ -121,6 +125,7 @@ public class VirInventoryController {
@RequestMapping("/endInventory")
@AnonymousAccess
public ResultBean endInventory() {
log.info(SecurityUtils.getLoginUsername()+"点击结束盘点");
dataCache.updateCache(VirInventoryUtil.VIRINVENTORY_CACHE_BATCH, "");
return ResultBean.newOkResult("");
}
......@@ -132,6 +137,7 @@ public class VirInventoryController {
public ResultBean reelInventory(@RequestBody Map<String, String> paramMap) {
String code = paramMap.get("code");
String workerNo = paramMap.get("workerNo");
log.info(workerNo+"盘点物料:"+code);
//1.判断工号是否存在
if (StringUtils.isBlank(workerNo)) {
return ResultBean.newErrorResult(-1, "smfcore.valueCanotNull", "{0}不能为空", new String[]{"工号"});
......
......@@ -77,4 +77,6 @@ file:
maizheng:
stationStatusApi: http://10.190.196.124:8300/API/MZSM
export: MU3_1
transReelBoxApi: http://10.190.196.124:52232/API/TransReelBoxAuto
prepareReelBoxApi: http://10.190.196.124:52232/API/PrepareReelBoxAuto
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!