Commit f8066a69 zshaohui

1.任务取消时,屏蔽库位

2.喂料页面展示修改
1 个父辈 99378dd1
......@@ -409,9 +409,13 @@ public class LiteOrderCache {
}
List<DataLog> allTasksByCid = taskService.getAllTasksByCid(storage.getCid());
for (DataLog task : allTasksByCid) {
if (!task.isFinished() && !task.isToBox()
/*if (!task.isFinished()
&& !task.isCancel()
&& !task.isToBox()
&& task.isCheckOutTask()
&& StringUtils.isNotBlank(task.getSourceId()) && !task.isCancel()) {
&& StringUtils.isNotBlank(task.getSourceId())
&& !task.isLabeled())*/
if (task.isCheckOutTask() && StringUtils.isNotBlank(task.getSourceId()) && (task.isExecuting() || task.isWait())){
hasOutTask = true;
break;
}
......
......@@ -89,4 +89,7 @@ public class OrderDto implements Serializable {
@ApiModelProperty("工单线别")
private String line = "";
@ApiModelProperty("工单优先级")
private int priority = 0;
}
......@@ -7,6 +7,7 @@ import com.google.common.collect.Maps;
import com.neotel.smfcore.common.bean.PageData;
import com.neotel.smfcore.common.exception.ValidateException;
import com.neotel.smfcore.common.utils.PointUtil;
import com.neotel.smfcore.common.utils.QueryHelp;
import com.neotel.smfcore.common.utils.StringUtils;
import com.neotel.smfcore.core.barcode.bean.PlateSizeBean;
import com.neotel.smfcore.core.barcode.service.po.Barcode;
......@@ -618,7 +619,7 @@ public class StoragePosManagerImpl implements IStoragePosManager {
}
if (StringUtils.isNotBlank(logo)){
Pattern pattern=Pattern.compile("^.*"+logo+".*$", Pattern.CASE_INSENSITIVE);
Pattern pattern=Pattern.compile(QueryHelp.escapeExprSpecialWord(logo), Pattern.CASE_INSENSITIVE);
c.and("posName").regex(pattern);
}
......
......@@ -17,6 +17,7 @@ import com.neotel.smfcore.core.device.bean.StatusBean;
import com.neotel.smfcore.core.device.enums.OP;
import com.neotel.smfcore.core.device.enums.OP_STATUS;
import com.neotel.smfcore.core.device.util.DataCache;
import com.neotel.smfcore.core.message.util.DeviceMessageUtil;
import com.neotel.smfcore.core.order.LiteOrderCache;
import com.neotel.smfcore.core.order.service.po.LiteOrder;
import com.neotel.smfcore.core.storage.enums.CHECKOUT_TYPE;
......@@ -255,6 +256,22 @@ public class TaskService {
task.setUpdateDate(new Date());
updateFinishedTask(task);
log.info("任务[" + task.getId() + "] posName[" + task.getPosName() + "] Reel Id[" + task.getBarcode() + "]取消成功");
//同时进行库位屏蔽
if (task.isPutInTask() && !task.isFinished()){
String posName = task.getPosName();
if (StringUtils.isNotBlank(posName)){
StoragePos pos = storagePosManager.getByPosName(posName);
if (pos != null){
pos.setEnabled(false);
storagePosManager.save(pos);
log.info("任务取消,屏蔽库位:库位号[" + pos.getId() + "][" + pos.getPosName() + "]barcode[" + task.getBarcode() + "]");
DeviceMessageUtil.addEnabledPosMessage(pos,SecurityUtils.getCurrentUsername());
}
}
//解除绑定
ReelLockPosUtil.removeReelLockPosInfo(task.getBarcode());
}
return true;
}
return false;
......
......@@ -483,6 +483,11 @@ public class InnerBoxRestController {
return ResultBean.newErrorResult(-1,"smfcore.valueNotExist","{0}[{1}]不存在",new String[]{"工单信息",orderItemId});
}
//判断是否已经补过料
if (orderItem.getOutNum() > 0){
return ResultBean.newErrorResult(-1,"smfcore.task.hasEnd","任务已完成");
}
//判断料号是否一致
String partNumber = codeBean.getBarcode().getPartNumber();
if (!orderItem.getPn().equals(partNumber)) {
......
......@@ -53,7 +53,7 @@ public class InnerReportController {
@ApiOperation("喂料")
@RequestMapping("/feeding")
@AnonymousAccess
//@AnonymousAccess
public PageData feeding(ReportQueryCondition queryCondition, Pageable pageable) {
Query q = QueryHelp.getQuery(queryCondition);
//查询不是关闭状态的订单,新建的,尾料已完成的
......@@ -63,37 +63,37 @@ public class InnerReportController {
Criteria c = Criteria.where("closed").is(false).orOperator(orCriterias);
PageData<LiteOrder> pageData = liteOrderManager.findByPage(q.addCriteria(c), pageable);
List<LiteOrder> liteOrders = pageData.getContent();
liteOrders = liteOrders.stream().sorted(Comparator.comparing(LiteOrder :: getPriority).reversed().thenComparing(LiteOrder :: getCreateDate)).collect(Collectors.toList());
liteOrders = liteOrders.stream().sorted(Comparator.comparing(LiteOrder :: getPriority).reversed()).collect(Collectors.toList());
PageData resultPageData = new PageData();
resultPageData.setTotalElements(pageData.getTotalElements());
resultPageData.setContent(liteOrders);
resultPageData.setContent(orderMapper.toDto(liteOrders));
return resultPageData;
}
@ApiOperation("根据工单id获取工单详情")
@RequestMapping("/getItemsByOrderId")
@AnonymousAccess
public ResultBean getItemsByOrderId(String orderId){
//@AnonymousAccess
public ResultBean getItemsByOrderId(String orderId) {
LiteOrder liteOrder = liteOrderManager.get(orderId);
List<LiteOrderItem> orderItems = liteOrderItemManager.findOrderItems(orderId);
if (LITEORDER_STATUS.TAILS_FINISHED == liteOrder.getStatus()){
List<LiteOrderItem> newOrderItems = new ArrayList<>();
for (LiteOrderItem orderItem : orderItems) {
if (orderItem.getOutNum() == 0) {
List<LiteOrderItem> newOrderItems = new ArrayList<>();
for (LiteOrderItem orderItem : orderItems) {
if (orderItem.getOutNum() == 0) {
if (LITEORDER_STATUS.TAILS_FINISHED == liteOrder.getStatus()) {
orderItem.setLack(true);
newOrderItems.add(orderItem);
}
newOrderItems.add(orderItem);
}
orderItems = newOrderItems;
}
orderItems = newOrderItems;
//根据缺料排序
orderItems = orderItems.stream().sorted(Comparator.comparing(LiteOrderItem :: isLack).reversed()).collect(Collectors.toList());
orderItems = orderItems.stream().sorted(Comparator.comparing(LiteOrderItem::isLack).reversed()).collect(Collectors.toList());
return ResultBean.newOkResult(orderItemMapper.toDto(orderItems));
}
@ApiOperation("线别下拉")
@RequestMapping("linePullDown")
@AnonymousAccess
//@AnonymousAccess
public ResultBean linePullDown() {
//得到每一个楼层的线体
String f2Line = dataCache.getCache("F2Line").toString();
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!