Commit cb47f708 sunke

数量大于50000不允许入库

欠料出库任务按料架排序
欠料出库任务按工单过滤
工单出库任务完成后清除展示
设备管理页面增加是否启用搜索选项,同时列表中展示
1 个父辈 4772e978
...@@ -5,6 +5,9 @@ import java.lang.annotation.Retention; ...@@ -5,6 +5,9 @@ import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy; import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target; import java.lang.annotation.Target;
/**
* @author sunke
*/
@Target(ElementType.FIELD) @Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME) @Retention(RetentionPolicy.RUNTIME)
public @interface QueryCondition { public @interface QueryCondition {
......
...@@ -353,6 +353,10 @@ public class SingleInController { ...@@ -353,6 +353,10 @@ public class SingleInController {
if (barcode == null) { if (barcode == null) {
throw new ValidateException("smfcore.error.barcode.invalid", "{0}不是有效的条码", new String[]{code}); throw new ValidateException("smfcore.error.barcode.invalid", "{0}不是有效的条码", new String[]{code});
} }
int qty = barcode.getLabelAmount();
if(qty > 50000){
throw new ValidateException("smfcore.error.qty.invalid", "条码数量超过50000不允许入库");
}
Date expireDate = barcode.getExpireDate(); Date expireDate = barcode.getExpireDate();
if (expireDate != null) { if (expireDate != null) {
if (System.currentTimeMillis() > expireDate.getTime()) { if (System.currentTimeMillis() > expireDate.getTime()) {
......
...@@ -224,6 +224,7 @@ public class LiteOrderCache implements ITaskListener { ...@@ -224,6 +224,7 @@ public class LiteOrderCache implements ITaskListener {
order.setTaskReelCount(order.getTaskReelCount() - 1); order.setTaskReelCount(order.getTaskReelCount() - 1);
order.setTotalTaskReelCount(order.getTotalTaskReelCount() - 1); order.setTotalTaskReelCount(order.getTotalTaskReelCount() - 1);
log.info("工单[" + orderNo + "]的任务" + task.getPartNumber() + "[" + task.getBarcode() + "]已取消,任务数-1=" + order.getFinishedReelCount() + "/" + order.getTaskReelCount()); log.info("工单[" + orderNo + "]的任务" + task.getPartNumber() + "[" + task.getBarcode() + "]已取消,任务数-1=" + order.getFinishedReelCount() + "/" + order.getTaskReelCount());
taskService.removeFinishedTask(task);
} else if (task.isFinished()) { } else if (task.isFinished()) {
order.setFinishedReelCount(order.getFinishedReelCount() + 1); order.setFinishedReelCount(order.getFinishedReelCount() + 1);
order.setTotalFinishedReelCount(order.getTotalFinishedReelCount() + 1); order.setTotalFinishedReelCount(order.getTotalFinishedReelCount() + 1);
...@@ -251,6 +252,7 @@ public class LiteOrderCache implements ITaskListener { ...@@ -251,6 +252,7 @@ public class LiteOrderCache implements ITaskListener {
boolean result = HikApi.orderEndApi(order.getOperateUser(), order.getJobNo()); boolean result = HikApi.orderEndApi(order.getOperateUser(), order.getJobNo());
} }
} }
taskService.removeFinishedTask(task);
} else { } else {
log.error("工单[" + orderNo + "]的任务[" + task.getBarcode() + "]完成时,状态为:" + task.getStatus()); log.error("工单[" + orderNo + "]的任务[" + task.getBarcode() + "]完成时,状态为:" + task.getStatus());
} }
...@@ -490,6 +492,8 @@ public class LiteOrderCache implements ITaskListener { ...@@ -490,6 +492,8 @@ public class LiteOrderCache implements ITaskListener {
} }
} }
log.info("开始挑选["+orderItem.getStation()+"]物料["+pn+"] 可用库存数量:" + posList.size());
int targetNum = needNum; int targetNum = needNum;
List<StoragePos> outPosList = new ArrayList<>(); List<StoragePos> outPosList = new ArrayList<>();
if(cacheOrder.isRepleOrder()){ if(cacheOrder.isRepleOrder()){
......
...@@ -37,6 +37,7 @@ import org.springframework.security.access.prepost.PreAuthorize; ...@@ -37,6 +37,7 @@ import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Comparator;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -55,9 +56,6 @@ public class OrderShortageController { ...@@ -55,9 +56,6 @@ public class OrderShortageController {
private IDataLogManager dataLogManager; private IDataLogManager dataLogManager;
@Autowired @Autowired
private IGroupManager groupManager;
@Autowired
private TaskMapper taskMapper; private TaskMapper taskMapper;
@Autowired @Autowired
...@@ -157,23 +155,12 @@ public class OrderShortageController { ...@@ -157,23 +155,12 @@ public class OrderShortageController {
} }
} }
} }
//判断是否已有在出库中的工单 taskList.sort(new Comparator<DataLog>() {
// Integer[] status = new Integer[]{LITEORDER_STATUS.ADDOUTBOUND}; @Override
// Query query = getQuery(new OrderQueryCondition(), status); public int compare(DataLog o1, DataLog o2) {
// List<LiteOrder> liteOrders = liteOrderManager.findByQuery(query); return o1.getCid().compareTo(o2.getCid());
}
// if (liteOrders.size() > 0) { });
// LiteOrder liteOrder = liteOrders.get(0);
// List<DataLog> allTasks = taskService.getAllTasks();
// for (DataLog datalog : allTasks) {
// if (datalog.isOrderTask() && datalog.getSourceId().equals(liteOrder.getId())) {
// //判断是否是缺料出库
// if (datalog.isAddOutbound()) {
// taskList.add(datalog);
// }
// }
// }
// }
return taskMapper.toDto(taskList); return taskMapper.toDto(taskList);
} }
......
...@@ -15,11 +15,13 @@ public class StorageQueryCriteria { ...@@ -15,11 +15,13 @@ public class StorageQueryCriteria {
@DateTimeFormat(pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd")
private BetweenData<Date> createDate; private BetweenData<Date> createDate;
@QueryCondition @QueryCondition
private String name; private String name;
@QueryCondition @QueryCondition
private String cid; private String cid;
@QueryCondition @QueryCondition
private String type; private String type;
@QueryCondition
private Boolean available;
} }
#配置数据源 #配置数据源
data: spring:
mongodb: data:
host: 10.1.129.59 # 主机地址 mongodb:
port: 27017 # 端口 host: 10.1.129.59 # 主机地址
database: hikvision # 数据库 port: 27017 # 端口
database: hikvision # 数据库
# 登录相关配置 # 登录相关配置
login: login:
......
...@@ -86,7 +86,7 @@ spring: ...@@ -86,7 +86,7 @@ spring:
freemarker: freemarker:
check-template-location: false check-template-location: false
profiles: profiles:
active: 'prod' active: '@package.environment@'
jackson: jackson:
time-zone: GMT+8 time-zone: GMT+8
data: data:
...@@ -94,6 +94,8 @@ spring: ...@@ -94,6 +94,8 @@ spring:
host: localhost # 主机地址 host: localhost # 主机地址
port: 27017 # 端口 port: 27017 # 端口
database: hikvision # 数据库 database: hikvision # 数据库
minConSize: 10
maxConSize: 20
messages: messages:
encoding: utf-8 encoding: utf-8
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!