Commit 7a31efad zshaohui

出入库报表更新

1 个父辈 0e0c5a7e
......@@ -3,6 +3,7 @@ package com.neotel.smfcore.core.report;
import com.neotel.smfcore.common.utils.DateUtil;
import com.neotel.smfcore.common.utils.SecurityUtils;
import com.neotel.smfcore.common.utils.StringUtils;
import com.neotel.smfcore.core.device.enums.OP;
import com.neotel.smfcore.core.device.util.DataCache;
import com.neotel.smfcore.core.report.bean.ChartItem;
......@@ -15,6 +16,7 @@ import com.neotel.smfcore.core.storage.bean.UsageItem;
import com.neotel.smfcore.core.storage.service.manager.IStorageManager;
import com.neotel.smfcore.core.storage.service.po.Storage;
import com.neotel.smfcore.core.system.service.manager.IDataLogManager;
import com.neotel.smfcore.core.system.service.po.DataLog;
import com.neotel.smfcore.security.service.manager.IGroupManager;
import com.neotel.smfcore.security.service.manager.IUserManager;
import com.neotel.smfcore.security.service.po.Group;
......@@ -146,33 +148,98 @@ public class ReportController {
//得到白班的开始与结束时间
Date dayStartDate = DateUtil.addHours(date, 0);
Date dayEndDate = DateUtil.addHours(dayStartDate, 12);
//得到白班的入库数据
int dayInCount = dataLogManager.getInOutData(dayStartDate,dayEndDate, OP.PUT_IN,query.getPn(),-1,"");
//得到白班的出库库数据
int dayOutCount = dataLogManager.getInOutData(dayStartDate,dayEndDate, OP.CHECKOUT,query.getPn(),-1,"");
List<DataLog> dayAllList = dataLogManager.getNotBoxInOutDataList(dayStartDate, dayEndDate,query.getPn());
//得到夜班的开始与结束时间
Date nightStartDate = dayEndDate;
Date nightEndDate = DateUtil.addHours(nightStartDate, 12);
//得到夜班班的入库数据
int nightInCount = dataLogManager.getInOutData(nightStartDate,nightEndDate, OP.PUT_IN,query.getPn(),-1,"");
//得到白班的出库库数据
int nightOutCount = dataLogManager.getInOutData(nightStartDate,nightEndDate, OP.CHECKOUT,query.getPn(),-1,"");
List<DataLog> nightAllList = dataLogManager.getNotBoxInOutDataList(nightStartDate, nightEndDate,query.getPn());
//构造返回数据
List<String> labelList = new ArrayList<>();
labelList.add("白班");
labelList.add("夜班");
List<String> typeLabelList = new ArrayList<>();
typeLabelList.add("手动");
typeLabelList.add("分拣机");
typeLabelList.add("手动");
typeLabelList.add("分拣机");
typeLabelList.add("手动");
typeLabelList.add("分拣器");
typeLabelList.add("手动");
typeLabelList.add("分拣机");
int dayManaulPutInCount = 0;
int dayMachinePutInCount = 0;
int dayManaulCheckOutCount = 0;
int dayMachineCheckOutCount = 0;
if (dayAllList != null && !dayAllList.isEmpty()) {
for (DataLog dataLog : dayAllList) {
if (dataLog.isPutInTask()) {
if (StringUtils.isNotEmpty(dataLog.getOperator())) {
dayManaulPutInCount++;
} else {
dayMachinePutInCount++;
}
} else {
if (StringUtils.isEmpty(dataLog.getSubSourceId())) {
dayManaulCheckOutCount++;
} else {
dayMachineCheckOutCount++;
}
}
}
}
int nightManaulPutInCount = 0;
int nightMachinePutInCount = 0;
int nightManaulCheckOutCount = 0;
int nightMachineCheckOutCount = 0;
if (nightAllList != null && !nightAllList.isEmpty()) {
for (DataLog dataLog : nightAllList) {
if (dataLog.isPutInTask()) {
if (StringUtils.isNotEmpty(dataLog.getOperator())) {
nightManaulPutInCount++;
} else {
nightMachinePutInCount++;
}
} else {
if (StringUtils.isEmpty(dataLog.getSubSourceId())) {
nightManaulCheckOutCount++;
} else {
nightMachineCheckOutCount++;
}
}
}
}
List<Integer> putInValueList = new ArrayList<>();
putInValueList.add(dayInCount);
putInValueList.add(nightInCount);
putInValueList.add(dayManaulPutInCount);
putInValueList.add(dayMachinePutInCount);
putInValueList.add(nightManaulPutInCount);
putInValueList.add(nightMachinePutInCount);
List<Integer> checkOutValueList = new ArrayList<>();
checkOutValueList.add(dayOutCount);
checkOutValueList.add(nightOutCount);
checkOutValueList.add(dayManaulCheckOutCount);
checkOutValueList.add(dayMachineCheckOutCount);
checkOutValueList.add(nightManaulCheckOutCount);
checkOutValueList.add(nightMachineCheckOutCount);
InoutDataDto inoutDataDto = new InoutDataDto();
inoutDataDto.setLabelList(labelList);
inoutDataDto.setTypeLabelList(typeLabelList);
inoutDataDto.setPutInValueList(putInValueList);
inoutDataDto.setCheckOutValueList(checkOutValueList);
return inoutDataDto;
}
......
......@@ -14,12 +14,16 @@ public class InoutDataDto implements Serializable {
labelList = new ArrayList<>();
putInValueList = new ArrayList<>();
checkOutValueList = new ArrayList<>();
typeLabelList = new ArrayList<>();
}
@ApiModelProperty("日期")
private List<String> labelList;
@ApiModelProperty("按类型分类日期")
private List<String> typeLabelList;
@ApiModelProperty("入库量")
private List<Integer> putInValueList;
......
......@@ -24,4 +24,6 @@ public interface IDataLogManager extends IBaseManager<DataLog> {
DataLog getOutReelInfo(String barcode);
DataLog findOne(Query with);
List<DataLog> getNotBoxInOutDataList(Date dayStartDate, Date dayEndDate, String pn);
}
......@@ -144,4 +144,20 @@ public class DataLogManagerImpl implements IDataLogManager {
public DataLog findOne(Query query) {
return dataLogDao.findOne(query);
}
@Override
public List<DataLog> getNotBoxInOutDataList(Date startDate, Date dayEndDate, String pn) {
Query query = new Query();
Criteria criteria = new Criteria().andOperator(Criteria.where("updateDate").gte(startDate),
Criteria.where("updateDate").lt(dayEndDate))/*.and("type").is(type)*/;
criteria.and("status").in(OP_STATUS.END.name(), OP_STATUS.FINISHED.name());
if (StringUtils.isNotEmpty(pn)){
criteria.and("partNumber").is(pn);
} else {
criteria.and("partNumber").nin("C07","C13","C15");
}
query.addCriteria(criteria);
query.fields().include("barcode", "operator","type","partNumber","subSourceId");
return dataLogDao.findByQuery(query);
}
}
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!