Commit b39a71c3 张少辉

1.缺料报表优化

1 个父辈 b5f3ea4a
......@@ -409,6 +409,12 @@ public class LiteOrderItem extends BasePo implements Serializable ,Comparable<Li
private String mg;
private String describe = "";
private int calculateIssuedNum = 0;
private String remark = "";
/**
* 工单开始时间
*/
......
......@@ -111,10 +111,8 @@ public class ReportQueryCondition {
private String expireStatus;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private BetweenData<Date> startDate;
private BetweenData<Date> createDate;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private BetweenData<Date> finishDate;
private int page;
......
......@@ -191,25 +191,14 @@ public class OuterReportController {
Collection<LiteOrder> liteOrders = liteOrderCache.getAllLiteOrder();
for (LiteOrder order : liteOrders) {
if (order.isTaskFinished() || order.isOutTails()) {
BetweenData<Date> startDate = queryCondition.getStartDate();
if (startDate != null && startDate.getFrom() != null) {
if (order.getStartDate() == null || order.getStartDate().before(startDate.getFrom())) {
BetweenData<Date> createDate = queryCondition.getCreateDate();
if (createDate != null && createDate.getFrom() != null) {
if (order.getCreateDate() == null || order.getCreateDate().before(createDate.getFrom())) {
continue;
}
}
if (startDate != null && startDate.getTo() != null) {
if (order.getStartDate() == null || order.getStartDate().after(startDate.getTo())) {
continue;
}
}
BetweenData<Date> finishDate = queryCondition.getFinishDate();
if (finishDate != null && finishDate.getFrom() != null) {
if (order.getFinishDate() == null || order.getFinishDate().before(finishDate.getFrom())) {
continue;
}
}
if (finishDate != null && finishDate.getTo() != null) {
if (order.getFinishDate() == null || order.getFinishDate().after(finishDate.getTo())) {
if (createDate != null && createDate.getTo() != null) {
if (order.getCreateDate() == null || order.getCreateDate().after(createDate.getTo())) {
continue;
}
}
......@@ -223,12 +212,7 @@ public class OuterReportController {
String pn = queryCondition.getPn();
String orderNo = queryCondition.getOrderNo();
String warehouseCode = queryCondition.getWarehouseCode();
Criteria lackOrCriteria = new Criteria().orOperator(
Criteria.where("lackNum").gt(0),
Criteria.where("lackReel").gt(0)
);
Criteria criteria = Criteria.where("orderNo").in(orderList)
.orOperator(lackOrCriteria);
Criteria criteria = Criteria.where("orderNo").in(orderList).and("lackNum").gt(0);
if (StringUtils.isNotEmpty(pn)) {
criteria.andOperator(Criteria.where("pn").is(pn));
}
......@@ -244,9 +228,11 @@ public class OuterReportController {
for (LiteOrderItem orderItem : pageData.getContent()) {
LiteOrder liteOrder = liteOrderCache.getLiteOrder(orderItem.getOrderNo());
if (liteOrder != null) {
orderItem.setLine(liteOrder.getLine());
orderItem.setStartDate(liteOrder.getStartDate());
orderItem.setEndDate(liteOrder.getEndDate());
orderItem.setFinishDate(liteOrder.getFinishDate());
orderItem.setCalculateIssuedNum(orderItem.getNeedNum()-orderItem.getLackNum());
}
}
}
......@@ -261,25 +247,14 @@ public class OuterReportController {
Collection<LiteOrder> liteOrders = liteOrderCache.getAllLiteOrder();
for (LiteOrder order : liteOrders) {
if (order.isTaskFinished() || order.isOutTails()) {
BetweenData<Date> startDate = queryCondition.getStartDate();
if (startDate != null && startDate.getFrom() != null) {
if (order.getStartDate() == null || order.getStartDate().before(startDate.getFrom())) {
BetweenData<Date> createDate = queryCondition.getCreateDate();
if (createDate != null && createDate.getFrom() != null) {
if (order.getCreateDate() == null || order.getCreateDate().before(createDate.getFrom())) {
continue;
}
}
if (startDate != null && startDate.getTo() != null) {
if (order.getStartDate() == null || order.getStartDate().after(startDate.getTo())) {
continue;
}
}
BetweenData<Date> finishDate = queryCondition.getFinishDate();
if (finishDate != null && finishDate.getFrom() != null) {
if (order.getFinishDate() == null || order.getFinishDate().before(finishDate.getFrom())) {
continue;
}
}
if (finishDate != null && finishDate.getTo() != null) {
if (order.getFinishDate() == null || order.getFinishDate().after(finishDate.getTo())) {
if (createDate != null && createDate.getTo() != null) {
if (order.getCreateDate() == null || order.getCreateDate().after(createDate.getTo())) {
continue;
}
}
......@@ -293,12 +268,7 @@ public class OuterReportController {
String pn = queryCondition.getPn();
String orderNo = queryCondition.getOrderNo();
String warehouseCode = queryCondition.getWarehouseCode();
Criteria lackOrCriteria = new Criteria().orOperator(
Criteria.where("lackNum").gt(0),
Criteria.where("lackReel").gt(0)
);
Criteria criteria = Criteria.where("orderNo").in(orderList)
.orOperator(lackOrCriteria);
Criteria criteria = Criteria.where("orderNo").in(orderList).and("lackNum").gt(0);
if (StringUtils.isNotEmpty(pn)) {
criteria.andOperator(Criteria.where("pn").is(pn));
}
......@@ -314,24 +284,19 @@ public class OuterReportController {
@Override
public List<List<String>> getHeader() {
List<List<String>> headerList = new ArrayList<>();
headerList.add(Arrays.asList("厂区"));
headerList.add(Arrays.asList("行号"));
headerList.add(Arrays.asList("替代料分组"));
headerList.add(Arrays.asList("优先级"));
headerList.add(Arrays.asList("线别"));
headerList.add(Arrays.asList("日期"));
headerList.add(Arrays.asList("挑料单号"));
headerList.add(Arrays.asList("料号"));
headerList.add(Arrays.asList("库别"));
headerList.add(Arrays.asList("工单号"));
headerList.add(Arrays.asList("机种"));
headerList.add(Arrays.asList("库别"));
headerList.add(Arrays.asList("料号"));
headerList.add(Arrays.asList("物料描述"));
headerList.add(Arrays.asList("需求数量"));
headerList.add(Arrays.asList("需求卷数"));
headerList.add(Arrays.asList("面别"));
headerList.add(Arrays.asList("批次"));
headerList.add(Arrays.asList("制造商"));
headerList.add(Arrays.asList("计算应发数量"));
headerList.add(Arrays.asList("实发数量"));
headerList.add(Arrays.asList("缺料数量"));
headerList.add(Arrays.asList("缺料卷数"));
headerList.add(Arrays.asList("计算开始时间"));
headerList.add(Arrays.asList("计算结束时间"));
headerList.add(Arrays.asList("工单完成时间"));
headerList.add(Arrays.asList("备注"));
return headerList;
}
......@@ -344,34 +309,30 @@ public class OuterReportController {
for (LiteOrderItem orderItem : dtos) {
LiteOrder liteOrder = liteOrderCache.getLiteOrder(orderItem.getOrderNo());
if (liteOrder != null) {
orderItem.setLine(liteOrder.getLine());
orderItem.setStartDate(liteOrder.getStartDate());
orderItem.setEndDate(liteOrder.getEndDate());
orderItem.setFinishDate(liteOrder.getFinishDate());
orderItem.setCalculateIssuedNum(orderItem.getNeedNum()-orderItem.getLackNum());
}
}
}
if (dtos != null && !dtos.isEmpty()) {
for (LiteOrderItem orderItem : dtos) {
List<Object> rowList = new ArrayList<>();
rowList.add(getData(orderItem.getPlantCode()));
rowList.add(getData(orderItem.getItemId()));
rowList.add(getData(orderItem.getMg()));
rowList.add(getData(orderItem.getPriority()));
rowList.add(getData(orderItem.getPickingId()));
rowList.add(getData(orderItem.getPn()));
rowList.add(getData(orderItem.getWarehouse()));
rowList.add(getData(orderItem.getLine()));
rowList.add(getData(orderItem.getCreateDate()));
rowList.add(getData(orderItem.getOrderNo()));
rowList.add(getData(orderItem.getMo()));
rowList.add(getData(orderItem.getModel()));
rowList.add(getData(orderItem.getReqQty()));
rowList.add(getData(orderItem.getReqReel()));
rowList.add(getData(orderItem.getFace()));
rowList.add(getData(orderItem.getBatchCode()));
rowList.add(getData(orderItem.getBrand()));
rowList.add(getData(orderItem.getWarehouse()));
rowList.add(getData(orderItem.getPn()));
rowList.add(getData(orderItem.getDescribe()));
rowList.add(getData(orderItem.getNeedNum()));
rowList.add(getData(orderItem.getCalculateIssuedNum()));
rowList.add(getData(orderItem.getTotalOutNum()));
rowList.add(getData(orderItem.getLackNum()));
rowList.add(getData(orderItem.getLackReel()));
rowList.add(getData(orderItem.getStartDate()));
rowList.add(getData(orderItem.getEndDate()));
rowList.add(getData(orderItem.getFinishDate()));
rowList.add(getData(orderItem.getRemark()));
resultList.add(rowList);
}
}
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!