Commit 878b5481 zshaohui

1.增加过期报表

1 个父辈 bd25c3f1
......@@ -653,8 +653,8 @@ public class BarcodeRule {
}
b.setDateCode(dateCode);
//设置生产日期
produceDate = ExpireDateUtil.getExpireDate(dateCode, supplier);
b.setProduceDate(produceDate);
//produceDate = ExpireDateUtil.getExpireDate(dateCode, supplier);
//b.setProduceDate(produceDate);
}
if (providerNumber_item.hasThisField()){
......
......@@ -150,7 +150,7 @@ public class CodeResolve {
Date produceDate = barcodeFromRule.getProduceDate();
if(produceDate != null){
//抓取到了生产日期,未抓取到过期日期,重新设置过期日期
if(barcode.getExpireDate() == null){
/*if(barcode.getExpireDate() == null){
if(validDay > 0){
log.info("重新设置"+codeBeanFromRule.getCodeStr()+"生产日期和过期日期");
Date expireDate = DateUtil.addDays(produceDate, validDay);
......@@ -158,7 +158,7 @@ public class CodeResolve {
barcode.setProduceDate(produceDate);
needUpdate = true;
}
}
}*/
}
//判断供应商代码是否为空
String providerNumber = barcodeFromRule.getProviderNumber();
......@@ -186,12 +186,12 @@ public class CodeResolve {
needUpdate = true;
}
//判断是否为空
if (barcodeFromRule.getProduceDate() != null) {
/*if (barcodeFromRule.getProduceDate() != null) {
barcode.setExpireDate(cn.hutool.core.date.DateUtil.offsetMonth(barcodeFromRule.getProduceDate(),12));
needUpdate = true;
} else {
barcode.setExpireDate(null);
}
}*/
//设置label数量
if (barcodeFromRule.getLabelAmount() != barcode.getLabelAmount()) {
barcode.setLabelAmount(barcodeFromRule.getLabelAmount());
......@@ -305,7 +305,7 @@ public class CodeResolve {
if (expiredSetting != null){
barcodeFromRule.setExpireDate(cn.hutool.core.date.DateUtil.offsetMonth(barcodeFromRule.getProduceDate(),expiredSetting.getMonth()));
}*/
barcodeFromRule.setExpireDate(cn.hutool.core.date.DateUtil.offsetMonth(barcodeFromRule.getProduceDate(),12));
//barcodeFromRule.setExpireDate(cn.hutool.core.date.DateUtil.offsetMonth(barcodeFromRule.getProduceDate(),12));
}
......
......@@ -276,7 +276,7 @@ public class LizhenApi extends DefaultSmfApiListener {
}
//保存禁用料记录
Barcode barcodeOri = barcodeManager.findByBarcode(barcode.getBarcode());
/*Barcode barcodeOri = barcodeManager.findByBarcode(barcode.getBarcode());
if (barcodeOri != null){
barcodeOri.setDisableMsg(resultStr);
barcode = barcodeManager.save(barcodeOri);
......@@ -285,7 +285,7 @@ public class LizhenApi extends DefaultSmfApiListener {
storagePos.setBarcode(barcode);
storagePosManager.save(storagePos);
}
}
}*/
if (StringUtils.isNotBlank(resultStr)) {
throw new ValidateException("smfcore.mesApi.inCheck.ng", /*"MES验证失败:" + */barcode.getBarcode() + "验证失败:" + resultStr);
......
......@@ -788,7 +788,7 @@ public class OuterReportController {
public PageData<ExpireDto> expireInfo(ReportQueryCondition queryCondition, Pageable pageable) {
Query query = QueryHelp.getQuery(queryCondition);
Criteria c = Criteria.where("posName").exists(true).ne("").and("partNumber").nin(Arrays.asList("CS", "CM", "CB"));
Criteria c = Criteria.where("posName").exists(true).ne("").and("partNumber").nin(Arrays.asList("C07", "C13", "C15"));
//判断传入的类型
String expireStatus = queryCondition.getExpireStatus();
Date startDate,endDate;
......@@ -802,8 +802,8 @@ public class OuterReportController {
c.and("expireDate").gte(startDate).lt(endDate);
} else if ("2".equals(expireStatus)) {
List<Criteria> orCriList = new ArrayList<>();
orCriList.add(Criteria.where("expireDate").gt(new Date()).and("posName").exists(true).ne("").and("partNumber").nin(Arrays.asList("CS", "CM", "CB")));
orCriList.add(Criteria.where("expireDate").exists(false).and("posName").exists(true).ne("").and("partNumber").nin(Arrays.asList("CS", "CM", "CB")));
orCriList.add(Criteria.where("expireDate").gt(new Date()).and("posName").exists(true).ne("").and("partNumber").nin(Arrays.asList("C07", "C13", "C15")));
orCriList.add(Criteria.where("expireDate").exists(false).and("posName").exists(true).ne("").and("partNumber").nin(Arrays.asList("C07", "C13", "C15")));
c.orOperator(orCriList);
} else if ("3".equals(expireStatus)) {
endDate = new Date();
......@@ -819,7 +819,7 @@ public class OuterReportController {
//提取出来料箱信息
List<String> boxStrList = barcodeList.stream().filter(item -> {
String posName = item.getPosName();
if (posName.startsWith("CS") || posName.startsWith("CM") || posName.startsWith("CB")) {
if (posName.startsWith("C07") || posName.startsWith("C13") || posName.startsWith("C15")) {
if (posName.indexOf("-") != -1) {
return true;
}
......@@ -849,9 +849,9 @@ public class OuterReportController {
} else {
dto.setExpireDays(0);
}
dto.setPlant("W337");
dto.setFactory("B15");
dto.setFloor("1F");
//dto.setPlant("W337");
//dto.setFactory("B15");
//dto.setFloor("1F");
dto.setFirstPutInDate(new Date(barcode.getPutInTime()));
if (StringUtils.isNotBlank(dto.getStorageId())) {
Storage storage = dataCache.getStorageById(dto.getStorageId());
......@@ -877,7 +877,7 @@ public class OuterReportController {
@AnonymousAccess
public void expireInfoDownload(ReportQueryCondition queryCondition, Pageable pageable, HttpServletResponse response) throws IOException {
Query query = QueryHelp.getQuery(queryCondition);
Criteria c = Criteria.where("posName").exists(true).ne("").and("partNumber").nin(Arrays.asList("CS", "CM", "CB"));
Criteria c = Criteria.where("posName").exists(true).ne("").and("partNumber").nin(Arrays.asList("C07", "C13", "C15"));
//判断传入的类型
String expireStatus = queryCondition.getExpireStatus();
......@@ -892,8 +892,8 @@ public class OuterReportController {
c.and("expireDate").gte(startDate).lt(endDate);
} else if ("2".equals(expireStatus)) {
List<Criteria> orCriList = new ArrayList<>();
orCriList.add(Criteria.where("expireDate").gt(new Date()).and("posName").exists(true).ne("").and("partNumber").nin(Arrays.asList("CS", "CM", "CB")));
orCriList.add(Criteria.where("expireDate").exists(false).and("posName").exists(true).ne("").and("partNumber").nin(Arrays.asList("CS", "CM", "CB")));
orCriList.add(Criteria.where("expireDate").gt(new Date()).and("posName").exists(true).ne("").and("partNumber").nin(Arrays.asList("C07", "C13", "C15")));
orCriList.add(Criteria.where("expireDate").exists(false).and("posName").exists(true).ne("").and("partNumber").nin(Arrays.asList("C07", "C13", "C15")));
c.orOperator(orCriList);
} else if ("3".equals(expireStatus)) {
endDate = new Date();
......@@ -905,25 +905,25 @@ public class OuterReportController {
@Override
public List<List<String>> getHeader() {
List<List<String>> header = new ArrayList<>();
header.add(Lists.newArrayList("厂别"));
header.add(Lists.newArrayList("厂区"));
//header.add(Lists.newArrayList("厂别"));
//header.add(Lists.newArrayList("厂区"));
header.add(Lists.newArrayList("库别"));
header.add(Lists.newArrayList("楼层"));
header.add(Lists.newArrayList("储位"));
header.add(Lists.newArrayList("隔口码"));
header.add(Lists.newArrayList("隔口数量"));
header.add(Lists.newArrayList("料号"));
header.add(Lists.newArrayList("物料描述"));
//header.add(Lists.newArrayList("物料描述"));
header.add(Lists.newArrayList("数量"));
header.add(Lists.newArrayList("LOT"));
header.add(Lists.newArrayList("D/C"));
header.add(Lists.newArrayList("ID NO"));
header.add(Lists.newArrayList("厂商"));
header.add(Lists.newArrayList("厂商代码"));
header.add(Lists.newArrayList("keeper"));
//header.add(Lists.newArrayList("keeper"));
header.add(Lists.newArrayList("过期天数"));
header.add(Lists.newArrayList("过期日期"));
header.add(Lists.newArrayList("工号"));
//header.add(Lists.newArrayList("工号"));
header.add(Lists.newArrayList("首次入库时间"));
header.add(Lists.newArrayList("当前入库时间"));
header.add(Lists.newArrayList("来源"));
......@@ -939,7 +939,7 @@ public class OuterReportController {
//提取出来料箱信息
List<String> boxStrList = barcodeList.stream().filter(item -> {
String posName = item.getPosName();
if (posName.startsWith("CS") || posName.startsWith("CM") || posName.startsWith("CB")) {
if (posName.startsWith("C07") || posName.startsWith("C13") || posName.startsWith("C15")) {
if (posName.indexOf("-") != -1) {
return true;
}
......@@ -981,25 +981,25 @@ public class OuterReportController {
dto.setPartitionCount(BoxUtil.getPartitionCount(dto.getPosName(), pidBarcode.getSubCodeList()));
dto.setStoragePosName(pidBarcode.getPosName());
}
data.add(dto.getPlant());
data.add(dto.getFactory());
//data.add(dto.getPlant());
//data.add(dto.getFactory());
data.add(dto.getWarehouseCode());
data.add(dto.getFloor());
data.add(dto.getStoragePosName());
data.add(dto.getPosName());
data.add(dto.getPartitionCount());
data.add(dto.getPartNumber());
data.add(dto.getDescribe());
//data.add(dto.getDescribe());
data.add(dto.getAmount());
data.add(dto.getBatch());
data.add(dto.getDateCode());
data.add(dto.getBarcode());
data.add(dto.getProvider());
data.add(dto.getProviderNumber());
data.add(dto.getKeeperCode());
//data.add(dto.getKeeperCode());
data.add(dto.getExpireDays());
data.add(dto.getExpireDate());
data.add(dto.getCreator());
//data.add(dto.getCreator());
data.add(dto.getFirstPutInDate());
data.add(dto.getPutInDate());
data.add(dto.getSource());
......
......@@ -228,6 +228,19 @@ public class CDeviceController {
soucre = MaterialUtil.getBindGrInfo(materialStr).getGrCode();
}
//设置barcode的过期时间
int days = LuxsanApi.getInDate(new GetInDateRequest(CommonUtil.plantCode, barcode.getPartNumber(), barcode.getProvider(), barcode.getDateCode()));
log.info(barcode.getBarcode()+"的剩余过期时间为:"+days);
if (days > 0) {
Date expireDate = cn.hutool.core.date.DateUtil.offsetDay(new Date(), days);
barcode.setExpireDate(expireDate);
}
if (barcode.getExpireDate() != null){
if (System.currentTimeMillis() > barcode.getExpireDate().getTime()) {
throw new ValidateException("smfcore.error.barcode.expired", "物料已过期,无法入库.");
}
}
//判断料格是否正常
Barcode boxBarcode = null;
......@@ -735,12 +748,13 @@ public class CDeviceController {
}
//清理条码档案信息
log.info(barcode.getBarcode()+"的库位置为空");
barcode.setPosName("");
barcode.setOut(false);
barcode.setOrderId("");
barcode.setOrderItemId("");
barcode.setBarSource("");
barcodeManager.saveBarcode(barcode);
barcodeManager.save(barcode);
Map<String,String> resultMap = new HashMap<>();
resultMap.put("binCode",boxStr);
......
......@@ -27,6 +27,7 @@ import com.neotel.smfcore.core.system.util.TaskService;
import com.neotel.smfcore.custom.lizhen.agvBox.util.BoxUtil;
import com.neotel.smfcore.custom.luxsan.api.LuxsanApi;
import com.neotel.smfcore.custom.luxsan.api.bean.request.BrandQtyRequest;
import com.neotel.smfcore.custom.luxsan.api.bean.request.GetInDateRequest;
import com.neotel.smfcore.custom.luxsan.api.bean.request.NewLabelToCellRequest;
import com.neotel.smfcore.custom.luxsan.api.bean.request.QueryGrStatusRequest;
import com.neotel.smfcore.custom.luxsan.api.bean.result.BrandQtyResult;
......@@ -271,6 +272,7 @@ public class ManualGrPutInController {
return ResultBean.newErrorResult(-1, "", barcode.getBarcode() + "已经存在料格" + barcode.getPosName());
}
//找到box信息
Barcode boxBarcode = null;
StoragePos inPos = null;
......@@ -294,6 +296,20 @@ public class ManualGrPutInController {
barcode.setWarehouseCode(warhouseCode);
int days = LuxsanApi.getInDate(new GetInDateRequest(CommonUtil.plantCode, barcode.getPartNumber(), barcode.getProvider(), barcode.getDateCode()));
log.info(barcode.getBarcode()+"的剩余过期时间为:"+days);
if (days > 0) {
Date expireDate = cn.hutool.core.date.DateUtil.offsetDay(new Date(), days);
barcode.setExpireDate(expireDate);
}
if (barcode.getExpireDate() != null){
if (System.currentTimeMillis() > barcode.getExpireDate().getTime()) {
throw new ValidateException("smfcore.error.barcode.expired", "物料已过期,无法入库.");
}
}
//判断隔口能否放入
if (boxBarcode != null){
......
......@@ -18,6 +18,7 @@ import com.neotel.smfcore.core.system.util.TaskService;
import com.neotel.smfcore.custom.luxsan.api.LuxsanApi;
import com.neotel.smfcore.custom.luxsan.api.bean.request.BackToWarehouseRequest;
import com.neotel.smfcore.custom.luxsan.api.bean.request.BrandQtyRequest;
import com.neotel.smfcore.custom.luxsan.api.bean.request.GetInDateRequest;
import com.neotel.smfcore.custom.luxsan.api.bean.result.BackToWarehouseResult;
import com.neotel.smfcore.custom.luxsan.api.bean.result.BrandQtyResult;
import com.neotel.smfcore.custom.luxsan.factory_c.common.util.CommonUtil;
......@@ -156,6 +157,19 @@ public class ManualReturnTowerController {
//判断在WMS系统中,是否存在
barcode = LuxsanApi.fetchReel(barcode);
int days = LuxsanApi.getInDate(new GetInDateRequest(CommonUtil.plantCode, barcode.getPartNumber(), barcode.getProvider(), barcode.getDateCode()));
log.info(barcode.getBarcode()+"的剩余过期时间为:"+days);
if (days > 0) {
Date expireDate = cn.hutool.core.date.DateUtil.offsetDay(new Date(), days);
barcode.setExpireDate(expireDate);
}
if (barcode.getExpireDate() != null){
if (System.currentTimeMillis() > barcode.getExpireDate().getTime()) {
throw new ValidateException("smfcore.error.barcode.expired", "物料已过期,无法入库.");
}
}
//找到box信息
Barcode boxBarcode = null;
StoragePos inPos = null;
......
......@@ -16,10 +16,7 @@ import com.neotel.smfcore.core.storage.service.po.StoragePos;
import com.neotel.smfcore.core.system.service.po.DataLog;
import com.neotel.smfcore.core.system.util.TaskService;
import com.neotel.smfcore.custom.luxsan.api.LuxsanApi;
import com.neotel.smfcore.custom.luxsan.api.bean.request.BrandQtyRequest;
import com.neotel.smfcore.custom.luxsan.api.bean.request.TicketPickLabelList;
import com.neotel.smfcore.custom.luxsan.api.bean.request.TicketPickRequest;
import com.neotel.smfcore.custom.luxsan.api.bean.request.TicketUpRequest;
import com.neotel.smfcore.custom.luxsan.api.bean.request.*;
import com.neotel.smfcore.custom.luxsan.api.bean.result.BrandQtyResult;
import com.neotel.smfcore.custom.luxsan.api.bean.result.TicketUpResult;
import com.neotel.smfcore.custom.luxsan.factory_c.common.util.CommonUtil;
......@@ -163,6 +160,20 @@ public class ManualTicketReturnController {
//判断是否为禁用料
barcode = smfApi.canPutInAfterResolve(barcode);
int days = LuxsanApi.getInDate(new GetInDateRequest(CommonUtil.plantCode, barcode.getPartNumber(), barcode.getProvider(), barcode.getDateCode()));
log.info(barcode.getBarcode()+"的剩余过期时间为:"+days);
if (days > 0) {
Date expireDate = cn.hutool.core.date.DateUtil.offsetDay(new Date(), days);
barcode.setExpireDate(expireDate);
}
if (barcode.getExpireDate() != null){
if (System.currentTimeMillis() > barcode.getExpireDate().getTime()) {
throw new ValidateException("smfcore.error.barcode.expired", "物料已过期,无法入库.");
}
}
if (StringUtils.isEmpty(barcode.getWarehouseCode())) {
String wareHouse = StringUtils.isNotEmpty(dstWarehouse) ? dstWarehouse : srcWarehouse;
barcode.setWarehouseCode(wareHouse);
......
......@@ -17,10 +17,7 @@ import com.neotel.smfcore.core.storage.service.po.StoragePos;
import com.neotel.smfcore.core.system.service.po.DataLog;
import com.neotel.smfcore.core.system.util.TaskService;
import com.neotel.smfcore.custom.luxsan.api.LuxsanApi;
import com.neotel.smfcore.custom.luxsan.api.bean.request.BrandQtyRequest;
import com.neotel.smfcore.custom.luxsan.api.bean.request.NewLabelToCellRequest;
import com.neotel.smfcore.custom.luxsan.api.bean.request.TicketPickLabelList;
import com.neotel.smfcore.custom.luxsan.api.bean.request.TicketPickRequest;
import com.neotel.smfcore.custom.luxsan.api.bean.request.*;
import com.neotel.smfcore.custom.luxsan.api.bean.result.BrandQtyResult;
import com.neotel.smfcore.custom.luxsan.api.bean.result.NewLabelToCellResult;
import com.neotel.smfcore.custom.luxsan.factory_c.common.util.CommonUtil;
......@@ -171,6 +168,19 @@ public class ManualTicketTransferController {
barcode.setWarehouseCode(dstWarehouse);
int days = LuxsanApi.getInDate(new GetInDateRequest(CommonUtil.plantCode, barcode.getPartNumber(), barcode.getProvider(), barcode.getDateCode()));
log.info(barcode.getBarcode()+"的剩余过期时间为:"+days);
if (days > 0) {
Date expireDate = cn.hutool.core.date.DateUtil.offsetDay(new Date(), days);
barcode.setExpireDate(expireDate);
}
if (barcode.getExpireDate() != null){
if (System.currentTimeMillis() > barcode.getExpireDate().getTime()) {
throw new ValidateException("smfcore.error.barcode.expired", "物料已过期,无法入库.");
}
}
//判断隔口能否放入
if (boxBarcode != null) {
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!