|
|
|
@ -1,7 +1,5 @@
|
|
|
|
|
package com.logpm.factory.receiver; |
|
|
|
|
|
|
|
|
|
import com.logpm.basicdata.entity.BasicdataTrayEntity; |
|
|
|
|
import com.logpm.basicdata.entity.BasicdataWarehouseEntity; |
|
|
|
|
import com.logpm.basicdata.feign.IBasicdataTrayClient; |
|
|
|
|
import com.logpm.basicdata.feign.IBasicdataWarehouseClient; |
|
|
|
|
import com.logpm.factory.comfac.constant.FactoryConstant; |
|
|
|
@ -11,15 +9,10 @@ import com.logpm.factory.oupai.service.IOuPaiFactoryService;
|
|
|
|
|
import com.logpm.factory.pan.service.IPanFactoryDataService; |
|
|
|
|
import com.logpm.factory.zb.service.IZbFactoryDataService; |
|
|
|
|
import com.logpm.oldproject.entity.AdvanceEntity; |
|
|
|
|
import com.logpm.oldproject.entity.TrayEntity; |
|
|
|
|
import com.logpm.oldproject.entity.TrayScanDesEntity; |
|
|
|
|
import com.logpm.oldproject.entity.TrayScanEntity; |
|
|
|
|
import com.logpm.oldproject.feign.IAdvanceClient; |
|
|
|
|
import com.logpm.oldproject.feign.ITrayClient; |
|
|
|
|
import com.logpm.oldproject.feign.ITrayScanClient; |
|
|
|
|
import com.logpm.oldproject.feign.ITrayScanDesClient; |
|
|
|
|
import com.logpm.warehouse.entity.WarehouseTrayGoodsEntity; |
|
|
|
|
import com.logpm.warehouse.entity.WarehouseUpdownGoodsEntity; |
|
|
|
|
import com.logpm.warehouse.feign.*; |
|
|
|
|
import com.rabbitmq.client.Channel; |
|
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
@ -34,7 +27,6 @@ import org.springframework.stereotype.Component;
|
|
|
|
|
|
|
|
|
|
import java.io.IOException; |
|
|
|
|
import java.security.NoSuchAlgorithmException; |
|
|
|
|
import java.util.HashMap; |
|
|
|
|
import java.util.Map; |
|
|
|
|
import java.util.Objects; |
|
|
|
|
|
|
|
|
@ -147,150 +139,150 @@ public class OrderStatusHandler {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
String status = orderStatusDTO.getStatus(); |
|
|
|
|
if("2".equals(status)){ |
|
|
|
|
String currentWarehouse = orderStatusDTO.getCurrentWarehouse(); |
|
|
|
|
BasicdataWarehouseEntity basicdataWarehouseEntity = basicdataWarehouseClient.getWarehouseByOldId(Integer.parseInt(currentWarehouse)); |
|
|
|
|
if(Objects.isNull(basicdataWarehouseEntity)){ |
|
|
|
|
log.warn("####################orderStatusHandler: 仓库信息为空 basicdataWarehouseEntity={}",basicdataWarehouseEntity); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
Long warehouseId = basicdataWarehouseEntity.getId(); |
|
|
|
|
Integer oldId = basicdataWarehouseEntity.getOldId(); |
|
|
|
|
|
|
|
|
|
Integer trayId = orderStatusDTO.getTrayId(); |
|
|
|
|
if(Objects.isNull(trayId)){ |
|
|
|
|
log.warn("####################orderStatusHandler: 托盘id为空 trayId={}",trayId); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
BasicdataTrayEntity basicdataTrayEntity = basicdataTrayClient.getTrayByTrayCode("T" + trayId); |
|
|
|
|
if(Objects.isNull(basicdataTrayEntity)){ |
|
|
|
|
log.info("############syncTrayTypeData: 托盘信息不存在"); |
|
|
|
|
//如果托盘不存在就去同步该托盘
|
|
|
|
|
TrayEntity trayEntity = trayClient.getTrayById(trayId); |
|
|
|
|
basicdataTrayEntity = new BasicdataTrayEntity(); |
|
|
|
|
basicdataTrayEntity.setTenantId("627683"); |
|
|
|
|
basicdataTrayEntity.setCreateUser(1714696768639311873L); |
|
|
|
|
basicdataTrayEntity.setUpdateUser(1714696768639311873L); |
|
|
|
|
basicdataTrayEntity.setCreateDept(1649331096241836033L); |
|
|
|
|
basicdataTrayEntity.setPalletName(trayEntity.getTrayNo()); |
|
|
|
|
basicdataTrayEntity.setPalletCode("T"+trayEntity.getId()); |
|
|
|
|
basicdataTrayEntity.setWarehouseId(warehouseId); |
|
|
|
|
basicdataTrayEntity.setTrayStatus(trayEntity.getStatus()+""); |
|
|
|
|
basicdataTrayEntity.setType(1); |
|
|
|
|
basicdataTrayEntity.setOldId(trayId); |
|
|
|
|
// basicdataTrayEntity.setNowWarehouseId(nowNewWarehouseId);
|
|
|
|
|
Long aLong = basicdataTrayClient.addTray(basicdataTrayEntity); |
|
|
|
|
basicdataTrayEntity.setId(aLong); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
TrayScanDesEntity trayScanDesEntity = trayScanDesClient.findScanTypeId(trayId, unitNo, oldId); |
|
|
|
|
if(Objects.isNull(trayScanDesEntity)){ |
|
|
|
|
log.warn("####################orderStatusHandler: 没有打托数据 trayId={}",trayId); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
Integer trayScanId = trayScanDesEntity.getTrayScanId(); |
|
|
|
|
TrayScanEntity trayScanEntity = trayScanClient.getEntityByTrayScanId(trayScanId); |
|
|
|
|
if(Objects.isNull(trayScanEntity)){ |
|
|
|
|
log.warn("####################orderStatusHandler: 没有打托方式数据 trayScanId={}",trayScanId); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
Integer trayType = trayScanEntity.getType(); |
|
|
|
|
|
|
|
|
|
String newTrayType = "100"; |
|
|
|
|
if(1==trayType){ |
|
|
|
|
newTrayType = "60"; |
|
|
|
|
}else if(2==trayType){ |
|
|
|
|
newTrayType = "30"; |
|
|
|
|
}else if(3==trayType){ |
|
|
|
|
newTrayType = "50"; |
|
|
|
|
}else if(4==trayType){ |
|
|
|
|
newTrayType = "100"; |
|
|
|
|
}else if(5==trayType){ |
|
|
|
|
newTrayType = "10"; |
|
|
|
|
}else if(6==trayType){ |
|
|
|
|
newTrayType = "20"; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//判断托盘是否有上架
|
|
|
|
|
Long allocationId = taryAllocationClient.findAllocationByTrayId(basicdataTrayEntity.getId()); |
|
|
|
|
if(Objects.isNull(allocationId)){ |
|
|
|
|
//没有上架就直接打托
|
|
|
|
|
Map<String,Object> m = new HashMap<>(); |
|
|
|
|
m.put("trayType",newTrayType); |
|
|
|
|
m.put("trayCode","T"+trayId); |
|
|
|
|
m.put("warehouseId",warehouseId); |
|
|
|
|
m.put("orderPackageCode",unitNo); |
|
|
|
|
|
|
|
|
|
R response = warehouseTrayTypeClient.orderScanOrderPackageCodeReturnR(m); |
|
|
|
|
int code = response.getCode(); |
|
|
|
|
if(code == 4001){ |
|
|
|
|
log.info("####################orderStatusHandler: 包件已在当前托盘打托 unitNo={} trayCode={}",unitNo,"T"+trayId); |
|
|
|
|
}else if(code == 4002){ |
|
|
|
|
log.info("####################orderStatusHandler: 包件已在其他托盘打托 unitNo={} ",unitNo); |
|
|
|
|
WarehouseTrayGoodsEntity trayGoodsEntity = warehouseTrayGoodsClient.findTrayCodeByOrderPackageCode(unitNo); |
|
|
|
|
if(Objects.isNull(trayGoodsEntity)){ |
|
|
|
|
log.warn("####################orderStatusHandler: 包件未打托 unitNo={}",unitNo); |
|
|
|
|
}else{ |
|
|
|
|
String oldTrayCode = trayGoodsEntity.getTrayCode(); |
|
|
|
|
Long trayGoodsId = trayGoodsEntity.getId(); |
|
|
|
|
Long wid = trayGoodsEntity.getWarehouseId(); |
|
|
|
|
BasicdataTrayEntity oldTrayEntity = basicdataTrayClient.getTrayByTrayCode(oldTrayCode); |
|
|
|
|
Long oldTrayId = oldTrayEntity.getId(); |
|
|
|
|
//判断托盘是否有上架
|
|
|
|
|
Long oldAllocationId = taryAllocationClient.findAllocationByTrayId(oldTrayId); |
|
|
|
|
if (Objects.isNull(oldAllocationId)){ |
|
|
|
|
//没有上架
|
|
|
|
|
//直接解绑托盘
|
|
|
|
|
warehouseTrayGoodsClient.delTrayGoodsById(trayGoodsId,wid); |
|
|
|
|
}else{ |
|
|
|
|
//有上架
|
|
|
|
|
//下架
|
|
|
|
|
updownTypeClient.downPackage(unitNo,wid); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
boolean b1 = warehouseTrayTypeClient.orderScanOrderPackageCode(m); |
|
|
|
|
if(!b1){ |
|
|
|
|
log.warn("####################orderStatusHandler: 二次打托失败 unitNo={} trayCode={}",unitNo,"T"+trayId); |
|
|
|
|
}else{ |
|
|
|
|
log.info("####################orderStatusHandler: 二次打托成功 unitNo={} trayCode={}",unitNo,"T"+trayId); |
|
|
|
|
} |
|
|
|
|
}else if(code == 4003){ |
|
|
|
|
log.info("####################orderStatusHandler: 包件未打托已上架 unitNo={} ",unitNo); |
|
|
|
|
WarehouseUpdownGoodsEntity updownGoodsEntity = warehouseUpdownGoodsClient.findEntityByOrderPackageCode(unitNo); |
|
|
|
|
if(Objects.isNull(updownGoodsEntity)){ |
|
|
|
|
log.warn("####################orderStatusHandler: 包件未上架 unitNo={}",unitNo); |
|
|
|
|
}else{ |
|
|
|
|
Long wid = updownGoodsEntity.getWarehouseId(); |
|
|
|
|
updownTypeClient.downPackage(unitNo,wid); |
|
|
|
|
} |
|
|
|
|
boolean b1 = warehouseTrayTypeClient.orderScanOrderPackageCode(m); |
|
|
|
|
if(!b1){ |
|
|
|
|
log.warn("####################orderStatusHandler: 二次打托失败 unitNo={} trayCode={}",unitNo,"T"+trayId); |
|
|
|
|
}else{ |
|
|
|
|
log.info("####################orderStatusHandler: 二次打托成功 unitNo={} trayCode={}",unitNo,"T"+trayId); |
|
|
|
|
} |
|
|
|
|
}else if(code == 4004){ |
|
|
|
|
log.info("####################orderStatusHandler: 包件打托方式不正确 unitNo={} ",unitNo); |
|
|
|
|
//先去空置托盘再打托
|
|
|
|
|
warehouseTrayTypeClient.trayToNull("T"+trayId); |
|
|
|
|
boolean b1 = warehouseTrayTypeClient.orderScanOrderPackageCode(m); |
|
|
|
|
if(!b1){ |
|
|
|
|
log.warn("####################orderStatusHandler: 二次打托失败 unitNo={} trayCode={}",unitNo,"T"+trayId); |
|
|
|
|
} |
|
|
|
|
}else{ |
|
|
|
|
String msg1 = r.getMsg(); |
|
|
|
|
int code1 = r.getCode(); |
|
|
|
|
log.warn("######################orderStatusHandler: 打托失败 msg={} code={}",msg1,code1); |
|
|
|
|
log.warn("######################orderStatusHandler: 打托失败 unitNo={} trayCode={}",unitNo,"T"+trayId); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
}else{ |
|
|
|
|
//有上架就上架
|
|
|
|
|
updownTypeClient.upShelfPackage(unitNo,allocationId,warehouseId); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
// String status = orderStatusDTO.getStatus();
|
|
|
|
|
// if("2".equals(status)){
|
|
|
|
|
// String currentWarehouse = orderStatusDTO.getCurrentWarehouse();
|
|
|
|
|
// BasicdataWarehouseEntity basicdataWarehouseEntity = basicdataWarehouseClient.getWarehouseByOldId(Integer.parseInt(currentWarehouse));
|
|
|
|
|
// if(Objects.isNull(basicdataWarehouseEntity)){
|
|
|
|
|
// log.warn("####################orderStatusHandler: 仓库信息为空 basicdataWarehouseEntity={}",basicdataWarehouseEntity);
|
|
|
|
|
// return;
|
|
|
|
|
// }
|
|
|
|
|
// Long warehouseId = basicdataWarehouseEntity.getId();
|
|
|
|
|
// Integer oldId = basicdataWarehouseEntity.getOldId();
|
|
|
|
|
//
|
|
|
|
|
// Integer trayId = orderStatusDTO.getTrayId();
|
|
|
|
|
// if(Objects.isNull(trayId)){
|
|
|
|
|
// log.warn("####################orderStatusHandler: 托盘id为空 trayId={}",trayId);
|
|
|
|
|
// return;
|
|
|
|
|
// }
|
|
|
|
|
// BasicdataTrayEntity basicdataTrayEntity = basicdataTrayClient.getTrayByTrayCode("T" + trayId);
|
|
|
|
|
// if(Objects.isNull(basicdataTrayEntity)){
|
|
|
|
|
// log.info("############syncTrayTypeData: 托盘信息不存在");
|
|
|
|
|
// //如果托盘不存在就去同步该托盘
|
|
|
|
|
// TrayEntity trayEntity = trayClient.getTrayById(trayId);
|
|
|
|
|
// basicdataTrayEntity = new BasicdataTrayEntity();
|
|
|
|
|
// basicdataTrayEntity.setTenantId("627683");
|
|
|
|
|
// basicdataTrayEntity.setCreateUser(1714696768639311873L);
|
|
|
|
|
// basicdataTrayEntity.setUpdateUser(1714696768639311873L);
|
|
|
|
|
// basicdataTrayEntity.setCreateDept(1649331096241836033L);
|
|
|
|
|
// basicdataTrayEntity.setPalletName(trayEntity.getTrayNo());
|
|
|
|
|
// basicdataTrayEntity.setPalletCode("T"+trayEntity.getId());
|
|
|
|
|
// basicdataTrayEntity.setWarehouseId(warehouseId);
|
|
|
|
|
// basicdataTrayEntity.setTrayStatus(trayEntity.getStatus()+"");
|
|
|
|
|
// basicdataTrayEntity.setType(1);
|
|
|
|
|
// basicdataTrayEntity.setOldId(trayId);
|
|
|
|
|
//// basicdataTrayEntity.setNowWarehouseId(nowNewWarehouseId);
|
|
|
|
|
// Long aLong = basicdataTrayClient.addTray(basicdataTrayEntity);
|
|
|
|
|
// basicdataTrayEntity.setId(aLong);
|
|
|
|
|
// }
|
|
|
|
|
//
|
|
|
|
|
// TrayScanDesEntity trayScanDesEntity = trayScanDesClient.findScanTypeId(trayId, unitNo, oldId);
|
|
|
|
|
// if(Objects.isNull(trayScanDesEntity)){
|
|
|
|
|
// log.warn("####################orderStatusHandler: 没有打托数据 trayId={}",trayId);
|
|
|
|
|
// return;
|
|
|
|
|
// }
|
|
|
|
|
// Integer trayScanId = trayScanDesEntity.getTrayScanId();
|
|
|
|
|
// TrayScanEntity trayScanEntity = trayScanClient.getEntityByTrayScanId(trayScanId);
|
|
|
|
|
// if(Objects.isNull(trayScanEntity)){
|
|
|
|
|
// log.warn("####################orderStatusHandler: 没有打托方式数据 trayScanId={}",trayScanId);
|
|
|
|
|
// return;
|
|
|
|
|
// }
|
|
|
|
|
// Integer trayType = trayScanEntity.getType();
|
|
|
|
|
//
|
|
|
|
|
// String newTrayType = "100";
|
|
|
|
|
// if(1==trayType){
|
|
|
|
|
// newTrayType = "60";
|
|
|
|
|
// }else if(2==trayType){
|
|
|
|
|
// newTrayType = "30";
|
|
|
|
|
// }else if(3==trayType){
|
|
|
|
|
// newTrayType = "50";
|
|
|
|
|
// }else if(4==trayType){
|
|
|
|
|
// newTrayType = "100";
|
|
|
|
|
// }else if(5==trayType){
|
|
|
|
|
// newTrayType = "10";
|
|
|
|
|
// }else if(6==trayType){
|
|
|
|
|
// newTrayType = "20";
|
|
|
|
|
// }
|
|
|
|
|
//
|
|
|
|
|
// //判断托盘是否有上架
|
|
|
|
|
// Long allocationId = taryAllocationClient.findAllocationByTrayId(basicdataTrayEntity.getId());
|
|
|
|
|
// if(Objects.isNull(allocationId)){
|
|
|
|
|
// //没有上架就直接打托
|
|
|
|
|
// Map<String,Object> m = new HashMap<>();
|
|
|
|
|
// m.put("trayType",newTrayType);
|
|
|
|
|
// m.put("trayCode","T"+trayId);
|
|
|
|
|
// m.put("warehouseId",warehouseId);
|
|
|
|
|
// m.put("orderPackageCode",unitNo);
|
|
|
|
|
//
|
|
|
|
|
// R response = warehouseTrayTypeClient.orderScanOrderPackageCodeReturnR(m);
|
|
|
|
|
// int code = response.getCode();
|
|
|
|
|
// if(code == 4001){
|
|
|
|
|
// log.info("####################orderStatusHandler: 包件已在当前托盘打托 unitNo={} trayCode={}",unitNo,"T"+trayId);
|
|
|
|
|
// }else if(code == 4002){
|
|
|
|
|
// log.info("####################orderStatusHandler: 包件已在其他托盘打托 unitNo={} ",unitNo);
|
|
|
|
|
// WarehouseTrayGoodsEntity trayGoodsEntity = warehouseTrayGoodsClient.findTrayCodeByOrderPackageCode(unitNo);
|
|
|
|
|
// if(Objects.isNull(trayGoodsEntity)){
|
|
|
|
|
// log.warn("####################orderStatusHandler: 包件未打托 unitNo={}",unitNo);
|
|
|
|
|
// }else{
|
|
|
|
|
// String oldTrayCode = trayGoodsEntity.getTrayCode();
|
|
|
|
|
// Long trayGoodsId = trayGoodsEntity.getId();
|
|
|
|
|
// Long wid = trayGoodsEntity.getWarehouseId();
|
|
|
|
|
// BasicdataTrayEntity oldTrayEntity = basicdataTrayClient.getTrayByTrayCode(oldTrayCode);
|
|
|
|
|
// Long oldTrayId = oldTrayEntity.getId();
|
|
|
|
|
// //判断托盘是否有上架
|
|
|
|
|
// Long oldAllocationId = taryAllocationClient.findAllocationByTrayId(oldTrayId);
|
|
|
|
|
// if (Objects.isNull(oldAllocationId)){
|
|
|
|
|
// //没有上架
|
|
|
|
|
// //直接解绑托盘
|
|
|
|
|
// warehouseTrayGoodsClient.delTrayGoodsById(trayGoodsId,wid);
|
|
|
|
|
// }else{
|
|
|
|
|
// //有上架
|
|
|
|
|
// //下架
|
|
|
|
|
// updownTypeClient.downPackage(unitNo,wid);
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
//
|
|
|
|
|
// boolean b1 = warehouseTrayTypeClient.orderScanOrderPackageCode(m);
|
|
|
|
|
// if(!b1){
|
|
|
|
|
// log.warn("####################orderStatusHandler: 二次打托失败 unitNo={} trayCode={}",unitNo,"T"+trayId);
|
|
|
|
|
// }else{
|
|
|
|
|
// log.info("####################orderStatusHandler: 二次打托成功 unitNo={} trayCode={}",unitNo,"T"+trayId);
|
|
|
|
|
// }
|
|
|
|
|
// }else if(code == 4003){
|
|
|
|
|
// log.info("####################orderStatusHandler: 包件未打托已上架 unitNo={} ",unitNo);
|
|
|
|
|
// WarehouseUpdownGoodsEntity updownGoodsEntity = warehouseUpdownGoodsClient.findEntityByOrderPackageCode(unitNo);
|
|
|
|
|
// if(Objects.isNull(updownGoodsEntity)){
|
|
|
|
|
// log.warn("####################orderStatusHandler: 包件未上架 unitNo={}",unitNo);
|
|
|
|
|
// }else{
|
|
|
|
|
// Long wid = updownGoodsEntity.getWarehouseId();
|
|
|
|
|
// updownTypeClient.downPackage(unitNo,wid);
|
|
|
|
|
// }
|
|
|
|
|
// boolean b1 = warehouseTrayTypeClient.orderScanOrderPackageCode(m);
|
|
|
|
|
// if(!b1){
|
|
|
|
|
// log.warn("####################orderStatusHandler: 二次打托失败 unitNo={} trayCode={}",unitNo,"T"+trayId);
|
|
|
|
|
// }else{
|
|
|
|
|
// log.info("####################orderStatusHandler: 二次打托成功 unitNo={} trayCode={}",unitNo,"T"+trayId);
|
|
|
|
|
// }
|
|
|
|
|
// }else if(code == 4004){
|
|
|
|
|
// log.info("####################orderStatusHandler: 包件打托方式不正确 unitNo={} ",unitNo);
|
|
|
|
|
// //先去空置托盘再打托
|
|
|
|
|
// warehouseTrayTypeClient.trayToNull("T"+trayId);
|
|
|
|
|
// boolean b1 = warehouseTrayTypeClient.orderScanOrderPackageCode(m);
|
|
|
|
|
// if(!b1){
|
|
|
|
|
// log.warn("####################orderStatusHandler: 二次打托失败 unitNo={} trayCode={}",unitNo,"T"+trayId);
|
|
|
|
|
// }
|
|
|
|
|
// }else{
|
|
|
|
|
// String msg1 = r.getMsg();
|
|
|
|
|
// int code1 = r.getCode();
|
|
|
|
|
// log.warn("######################orderStatusHandler: 打托失败 msg={} code={}",msg1,code1);
|
|
|
|
|
// log.warn("######################orderStatusHandler: 打托失败 unitNo={} trayCode={}",unitNo,"T"+trayId);
|
|
|
|
|
// }
|
|
|
|
|
//
|
|
|
|
|
// }else{
|
|
|
|
|
// //有上架就上架
|
|
|
|
|
// updownTypeClient.upShelfPackage(unitNo,allocationId,warehouseId);
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|