Commit 91b8e2e4 authored by Allen Chen's avatar Allen Chen

commit

parent cd7c3657
......@@ -86,12 +86,13 @@ public class PddLocalController {
/*待拆包查询*/
@PostMapping("/packageScan")
public Map<String, Object> packageScan(HttpServletRequest request, @RequestBody MailNoRequest mailNoRequest) {
List<LogOrderMailDetailEntity> list = logOrderMailDetailImpl.getListByCode(mailNoRequest.getMailNo());
if (list.isEmpty()) {
LogOrderMailDetailEntity mailDetailEntity = logOrderMailDetailImpl.getByMailNo(mailNoRequest.getMailNo());
if (mailDetailEntity == null) {
return JsonResponse.generateLocalCommonFailedResponse("-1", "信息获取失败,请检查上传信息");
}
LogOrderEntity logOrderEntity = logOrderImpl.getByOrderCode(list.get(0).getLogisticsOrderCode());
LogOrderEntity logOrderEntity = logOrderImpl.getByOrderCode(mailDetailEntity.getLogisticsOrderCode());
List<LogOrderMailDetailEntity> list = logOrderMailDetailImpl.getListByCode(logOrderEntity.getLogisticsOrderCode());
Map<String, Object> map = new HashMap<>();
map.put("logOrder", logOrderEntity);
......@@ -163,14 +164,24 @@ public class PddLocalController {
@PostMapping("/mailNoSelectAll")
public Map<String, Object> mailNoSelectAll(HttpServletRequest request, @RequestBody MailNoRequest mailNoRequest) {
Map<String, Object> map = new HashMap<>();
CollectMailDetailEntity collectMailDetail = collectMailDetailImpl.getByMailNo(mailNoRequest.getMailNo());
if (collectMailDetail == null) {
return JsonResponse.generateLocalCommonFailedResponse("-1", "该包裹不存在出库信息");
}
List<CollectMailDetailEntity> list = collectMailDetailImpl.getListByOrderCode(collectMailDetail.getOrderCode());
CollectOrderResponse collectOrderResponse = collectOrderImpl.getByOrderCode(collectMailDetail.getOrderCode());
map.put("collectMailDetail", collectMailDetail);
map.put("list", list);
map.put("collectOrder", collectOrderResponse);
CollectOutMailDetailEntity collectOutMailDetail = collectOutMailDetailImpl.getInfoByMailNo(mailNoRequest.getMailNo());
List<CollectOutMailDetailResponse> list = collectOutMailDetailImpl.getListByOrderCode(collectOutMailDetail.getOrderCode());
CollectOrderResponse collectOrderResponse = collectOrderImpl.getByOrderCode(collectOutMailDetail.getOrderCode());
// CollectOutMailDetailEntity collectOutMailDetail = collectOutMailDetailImpl.getInfoByMailNo(mailNoRequest.getMailNo());
// List<CollectOutMailDetailResponse> list = collectOutMailDetailImpl.getListByOrderCode(collectOutMailDetail.getOrderCode());
map.put("list", list);
map.put("collectOutMailDetail", collectOutMailDetail);
// CollectOrderResponse collectOrderResponse = collectOrderImpl.getByOrderCode(collectOutMailDetail.getOrderCode());
// map.put("list", list);
// map.put("collectOutMailDetail", collectOutMailDetail);
return JsonResponse.generateLocalCommonSuccessResponse(map);
}
......@@ -209,7 +220,7 @@ public class PddLocalController {
notifyRequest.setPackageInfo(new PddServiceConsoFirstBizActionNotifyRequest.PackageInfo());
notifyRequest.getPackageInfo().setWeight(receiveRequest.getWeight());
notifyRequest.getPackageInfo().setActualWeight(receiveRequest.getActualWeight());
notifyRequest.getPackageInfo().setActualWeight(receiveRequest.getWeight());
notifyRequest.getPackageInfo().setLength(receiveRequest.getLength());
notifyRequest.getPackageInfo().setWidth(receiveRequest.getWidth());
notifyRequest.getPackageInfo().setHeight(receiveRequest.getHeight());
......@@ -300,7 +311,7 @@ public class PddLocalController {
notifyRequest.getPackageInfo().setHeight(inBoundRequest.getHeight());
notifyRequest.getPackageInfo().setWeight(inBoundRequest.getWeight());
notifyRequest.getPackageInfo().setActualWeight((long) PddJYPriceTool.calculateWeight(inBoundRequest.getLength().intValue(), inBoundRequest.getWidth().intValue(), inBoundRequest.getHeight().intValue(), inBoundRequest.getWeight().intValue(), true));
notifyRequest.getPackageInfo().setGoodsType("NORMAL");
notifyRequest.getPackageInfo().setGoodsType(inBoundRequest.getGoodsType());
notifyRequest.setResult(new PddServiceConsoInboundRequest.Result());
notifyRequest.getResult().setCode(0);
......@@ -473,11 +484,7 @@ public class PddLocalController {
} else if (("finish_unpack").equals(finishUnpackRequest.getAction())) {
PackageNoticeEntity packageNoticeEntity = packageNoticeImpl.getByOrderCode(finishUnpackRequest.getOrderCode());
if (packageNoticeEntity == null) {
return JsonResponse.generateLocalCommonFailedResponse("-1", "未查到拆包信息,请检查参数");
}
LogOrderEntity logOrderEntity = logOrderImpl.getByOrderCode(finishUnpackRequest.getOrderCode());
......@@ -519,9 +526,14 @@ public class PddLocalController {
logOrderEntity.setStatus(logOrderMailDetailIoEntity.getStatus());
logOrderImpl.updateById(logOrderEntity);
PackageNoticeEntity packageNoticeEntity = packageNoticeImpl.getByOrderCode(finishUnpackRequest.getOrderCode());
if (packageNoticeEntity != null) {
packageNoticeEntity.setStatus("" + logOrderMailDetailIoEntity.getStatus());
packageNoticeImpl.updateById(packageNoticeEntity);
}
}
}
notifyRequest.setResult(new PddServiceConsoCoBizActionNotifyRequest.Result());
......@@ -599,8 +611,8 @@ public class PddLocalController {
notifyRequest.setBizActionDesc("开始拣货");
notifyResult.setCode(0);
} else if (action.equals("finish_pick")) {
}
else if (action.equals("finish_pick")) {
collectOrderEntity = collectOrderImpl.getAllInfoByOrderCode(finishUnpackRequest.getOrderCode());
if (collectOrderEntity == null) {
......@@ -611,21 +623,12 @@ public class PddLocalController {
notifyRequest.setBizActionDesc("拣货完成");
notifyResult.setCode(0);
} else if (action.equals("finish_unpack")) {
PackageNoticeEntity packageNoticeEntity = packageNoticeImpl.getByOrderCode(finishUnpackRequest.getOrderCode());
if (packageNoticeEntity == null) {
return JsonResponse.generateLocalCommonFailedResponse("-1", "未查到拆包信息,请检查参数");
}
else if (action.equals("finish_unpack")) {
LogOrderEntity logOrderEntity = logOrderImpl.getByOrderCode(finishUnpackRequest.getOrderCode());
if (logOrderEntity == null) {
return JsonResponse.generateLocalCommonFailedResponse("-1", "未查到集运单信息,请检查参数");
}
logOrderMailDetailIoEntity.setStatus(StatusEnum.FINISHUNPACK.getCode());
notifyRequest.setBizActionDesc("拆包完成");
......@@ -662,8 +665,13 @@ public class PddLocalController {
logOrderEntity.setStatus(logOrderMailDetailIoEntity.getStatus());
logOrderImpl.updateById(logOrderEntity);
PackageNoticeEntity packageNoticeEntity = packageNoticeImpl.getByOrderCode(finishUnpackRequest.getOrderCode());
if (packageNoticeEntity != null) {
packageNoticeEntity.setStatus("" + logOrderMailDetailIoEntity.getStatus());
packageNoticeImpl.updateById(packageNoticeEntity);
}
}
......@@ -788,16 +796,16 @@ public class PddLocalController {
// TODO 此处异常,需要处理
//获取所有可出库订单
List<CollectOutMailDetailResponse> list = collectOutMailDetailImpl.getListByOrderCode(outBoundRequest.getOrderCode());
List<CollectMailDetailEntity> list = collectMailDetailImpl.getListByOrderCode(outBoundRequest.getOrderCode());
if (list != null && !list.isEmpty()) {
// 拆单操作
// 存储需要删除的元素
List<CollectOutMailDetailResponse> toRemoveList = new ArrayList<>();
List<CollectMailDetailEntity> toRemoveList = new ArrayList<>();
List<OutBoundRequest.OutBoundList> toRemoveOutBound = new ArrayList<>();
for (CollectOutMailDetailResponse lists : list) {
for (CollectMailDetailEntity lists : list) {
for (OutBoundRequest.OutBoundList outBoundLists : outBoundList) {
if (lists.getMailNo().equals(outBoundLists.getMailNo())) {
toRemoveList.add(lists);
......@@ -830,15 +838,19 @@ public class PddLocalController {
notifyRequest.setIsSplitOut("N");
notifyRequest.setPackageInfos(new ArrayList<>());
for (OutBoundRequest.OutPackage outPackage : outBoundRequest.getOutPackageList()) {
PddServiceConsoOutboundRequest.PackageInfo packageInfo = new PddServiceConsoOutboundRequest.PackageInfo();
notifyRequest.getPackageInfos().add(packageInfo);
packageInfo.setOutboundMailNo(outBoundRequest.getMailNo());
packageInfo.setExpressCode(outBoundRequest.getExpressCode());
packageInfo.setPackageType(outBoundRequest.getPackageType());
packageInfo.setLength(outBoundRequest.getLength());
packageInfo.setWidth(outBoundRequest.getWidth());
packageInfo.setHeight(outBoundRequest.getHeight());
packageInfo.setWeight(outBoundRequest.getWeight());
packageInfo.setOutboundMailNo(outPackage.getMailNo());
packageInfo.setExpressCode(outPackage.getExpressCode());
packageInfo.setPackageType(outPackage.getPackageType());
packageInfo.setLength(outPackage.getLength());
packageInfo.setWidth(outPackage.getWidth());
packageInfo.setHeight(outPackage.getHeight());
packageInfo.setWeight(outPackage.getWeight());
}
notifyRequest.setSenderDetail(new PddServiceConsoOutboundRequest.SenderDetail());
......@@ -880,11 +892,12 @@ public class PddLocalController {
requestModel.setSign(PddSignTool.generateSign(requestModel, PddAPIConfig.CLIENT_SECRET));
String resp = PddHttpTool.sendJsonPost(requestModel);
for (OutBoundRequest.OutPackage outPackage : outBoundRequest.getOutPackageList()) {
LogOrderMailDetailIoEntity logOrderMailDetailIoEntity = new LogOrderMailDetailIoEntity();
logOrderMailDetailIoEntity.setMailNo(outBoundRequest.getMailNo());
logOrderMailDetailIoEntity.setExpressCode(outBoundRequest.getExpressCode());
logOrderMailDetailIoEntity.setMailNo(outPackage.getMailNo());
logOrderMailDetailIoEntity.setExpressCode(outPackage.getExpressCode());
logOrderMailDetailIoEntity.setLogisticsOrderCode(outBoundRequest.getOrderCode());
logOrderMailDetailIoEntity.setExpressCode(outBoundRequest.getExpressCode());
logOrderMailDetailIoEntity.setExpressCode(outPackage.getExpressCode());
logOrderMailDetailIoEntity.setStatus(StatusEnum.FINISHOUTBOUND.getCode());
logOrderMailDetailIoEntity.setReq(JSON.toJSONString(requestModel));
logOrderMailDetailIoEntity.setResp(resp);
......@@ -892,9 +905,13 @@ public class PddLocalController {
logOrderMailDetailIoImpl.save(logOrderMailDetailIoEntity);
//更新collect_mail_detail
for (CollectOutMailDetailResponse lists : list) {
for (CollectMailDetailEntity lists : list) {
Boolean result = collectMailDetailImpl.updateByMailNo(lists.getMailNo(), logOrderMailDetailIoEntity.getStatus());
}
}
return JsonResponse.generateLocalCommonSuccessResponse(true);
}
......
......@@ -140,9 +140,12 @@ public class PddOpenController {
int rentFee = 0;
int weight = 0;
List<String> orderCodes = queryRequest.getLogisticsOrderCodes();
List<PddServiceConsoFeeQueryRequest.MailDetail> queryList = queryRequest.getMailDetails();
for (String orderCode : orderCodes) {
log.info("已合包,开始处理 {}", orderCode);
LogOrderEntity logOrderEntity = orderImpl.getByOrderCode(orderCode);
if (logOrderEntity.getStatus() >= 50) {
log.info("已合包,开始处理");
// 已合包
// 每个计算重量,每个计算运费
List<LogOrderMailDetailEntity> mailDetailEntityList = orderMailDetailImpl.getNewPackListByCode(orderCode);
......@@ -153,13 +156,14 @@ public class PddOpenController {
mailDetailEntity.getWeight(),
"SENDTORECEVER".equals(queryRequest.getSegmentCode()));
long currFee = PddJYPriceTool.calculateFreightFee(currWeight,
queryRequest.getGoodsType(),
mailDetailEntity.getPackageType(),
1,
"SENDTORECEVER".equals(queryRequest.getSegmentCode())
);
log.info("mailNo:{} weight:{}, fee:{}", mailDetailEntity.getMailNo(), currWeight, currFee);
weight += currWeight;
freightFee += currFee;
}
} else {
......@@ -167,7 +171,8 @@ public class PddOpenController {
// 按照所有包裹计算重量,计算运费
List<LogOrderMailDetailEntity> mailDetailEntityList = orderMailDetailImpl.getListByCode(orderCode);
for (LogOrderMailDetailEntity mailDetailEntity : mailDetailEntityList) {
for (PddServiceConsoFeeQueryRequest.MailDetail mailDetail : queryList) {
if (mailDetail.getMailNo().equals(mailDetailEntity.getMailNo())) {
log.info("mailNo:{} weight:{}", mailDetailEntity.getMailNo(), mailDetailEntity.getWeight());
long currWeight = PddJYPriceTool.calculateWeight(mailDetailEntity.getLength(),
mailDetailEntity.getWidth(),
......@@ -177,6 +182,8 @@ public class PddOpenController {
log.info("mailNo:{} weight:{}, fee:{}", mailDetailEntity.getMailNo(), currWeight);
weight += currWeight;
}
}
}
freightFee = PddJYPriceTool.calculateFreightFee(weight,
queryRequest.getGoodsType(),
1,
......
......@@ -70,4 +70,7 @@ public class LogOrderMailDetailEntity {
@TableField(value = "enterTime")
private String enterTime;
@TableField(value = "packageType")
private String packageType;
}
......@@ -11,6 +11,21 @@ public class OutBoundRequest {
private String orderCode;
private List<OutPackage> outPackageList;
/**
* 包裹详情
*/
@Data
public static class OutBoundList {
private String mailNo;
}
@Data
public static class OutPackage {
private Long length;
private Long width;
......@@ -24,15 +39,6 @@ public class OutBoundRequest {
private String mailNo;
private String expressCode;
/**
* 包裹详情
*/
@Data
public static class OutBoundList {
private String mailNo;
}
}
......@@ -291,7 +291,7 @@ public class CommonTest {
*/
@Test
public void finishPick() {
String LogisticsOrderCode = "PP25110414221207143137527";
String LogisticsOrderCode = "PP25110920956210797423271";
String action = "finish_pick";
PddServiceConsoCoBizActionNotifyRequest notifyRequest = new PddServiceConsoCoBizActionNotifyRequest();
notifyRequest.setProviderCode(PddAPIConfig.PROVIDER_CODE);
......@@ -331,9 +331,9 @@ public class CommonTest {
@Test
public void outBound() {
String mailNo = "BK-25110414221207143137527";
String expressCode = "KR_JD";
String orderCode = "PP25110414221207143137527";
String mailNo = "KRJDV329857683219";
String expressCode = "KRJDV";
String orderCode = "PP25111014321660730023271";
// String segmentCode = "RETURNSELLER";
String segmentCode = "SENDTORECEVER";
......@@ -355,21 +355,21 @@ public class CommonTest {
packageInfo0.setOutboundMailNo(mailNo + "1");
packageInfo0.setExpressCode(expressCode);
packageInfo0.setPackageType("2");
packageInfo0.setLength(30L);
packageInfo0.setLength(60L);
packageInfo0.setWidth(30L);
packageInfo0.setHeight(30L);
packageInfo0.setWeight(1000L);
// packageInfo0.setInboundMailDetails(new ArrayList<>());
// PddServiceConsoOutboundRequest.InboundMailDetail inboundMailDetail0 = new PddServiceConsoOutboundRequest.InboundMailDetail();
// packageInfo0.getInboundMailDetails().add(inboundMailDetail0);
// inboundMailDetail0.setMailNo("773608936457954");
// inboundMailDetail0.setExpressCode("STO");
// PddServiceConsoOutboundRequest.InboundMailDetail inboundMailDetail1 = new PddServiceConsoOutboundRequest.InboundMailDetail();
// packageInfo0.getInboundMailDetails().add(inboundMailDetail1);
// inboundMailDetail1.setMailNo("773010635902734");
// inboundMailDetail1.setExpressCode("STO");
packageInfo0.setWeight(2000L);
packageInfo0.setInboundMailDetails(new ArrayList<>());
PddServiceConsoOutboundRequest.InboundMailDetail inboundMailDetail0 = new PddServiceConsoOutboundRequest.InboundMailDetail();
packageInfo0.getInboundMailDetails().add(inboundMailDetail0);
inboundMailDetail0.setMailNo("SF3279615820942");
inboundMailDetail0.setExpressCode("SF");
PddServiceConsoOutboundRequest.InboundMailDetail inboundMailDetail1 = new PddServiceConsoOutboundRequest.InboundMailDetail();
packageInfo0.getInboundMailDetails().add(inboundMailDetail1);
inboundMailDetail1.setMailNo("SF3298576832192");
inboundMailDetail1.setExpressCode("SF");
/*
PddServiceConsoOutboundRequest.PackageInfo packageInfo = new PddServiceConsoOutboundRequest.PackageInfo();
notifyRequest.getPackageInfos().add(packageInfo);
packageInfo.setOutboundMailNo(mailNo + "2");
......@@ -378,13 +378,13 @@ public class CommonTest {
packageInfo.setLength(30L);
packageInfo.setWidth(30L);
packageInfo.setHeight(30L);
packageInfo.setWeight(1500L);
packageInfo.setWeight(1000L);
packageInfo.setInboundMailDetails(new ArrayList<>());
PddServiceConsoOutboundRequest.InboundMailDetail inboundMailDetail2 = new PddServiceConsoOutboundRequest.InboundMailDetail();
packageInfo.getInboundMailDetails().add(inboundMailDetail2);
inboundMailDetail2.setMailNo("TT773010635902734");
inboundMailDetail2.setExpressCode("STO");
*/
inboundMailDetail2.setMailNo("SF3298576832194");
inboundMailDetail2.setExpressCode("SF");
notifyRequest.setSenderDetail(new PddServiceConsoOutboundRequest.SenderDetail());
notifyRequest.getSenderDetail().setName("海际集货仓");
......@@ -396,13 +396,13 @@ public class CommonTest {
notifyRequest.getSenderDetail().setDetailAddress("山东省临沂市兰山区横九路与纵十路交汇兰山财金智慧云仓五期二层二号仓");
notifyRequest.setReceiverDetail(new PddServiceConsoOutboundRequest.ReceiverDetail());
notifyRequest.getReceiverDetail().setName("김명");
notifyRequest.getReceiverDetail().setName("김명");
notifyRequest.getReceiverDetail().setTelePhone("01012345678");
notifyRequest.getReceiverDetail().setCountry("KR");
notifyRequest.getReceiverDetail().setProvince("서울특별시");
notifyRequest.getReceiverDetail().setCity("강북구");
notifyRequest.getReceiverDetail().setDistrict("강북구");
notifyRequest.getReceiverDetail().setDetailAddress("护照1号");
notifyRequest.getReceiverDetail().setProvince("인천광역시");
notifyRequest.getReceiverDetail().setCity("미추홀구");
notifyRequest.getReceiverDetail().setDistrict("주안동");
notifyRequest.getReceiverDetail().setDetailAddress("符合");
notifyRequest.setResult(new PddServiceConsoOutboundRequest.Result());
notifyRequest.getResult().setCode(0);
......@@ -431,7 +431,7 @@ public class CommonTest {
*/
@Test
public void finishUnpack() {
String LogisticsOrderCode = "PP25110415653142528037527";
String LogisticsOrderCode = "PP25111014321660729723271";
String action = "finish_unpack";
PddServiceConsoCoBizActionNotifyRequest notifyRequest = new PddServiceConsoCoBizActionNotifyRequest();
notifyRequest.setProviderCode(PddAPIConfig.PROVIDER_CODE);
......@@ -447,15 +447,25 @@ public class CommonTest {
notifyRequest.setUnpackRemark("");
notifyResult.setCode(0);
notifyRequest.setPackageInfos(new ArrayList<>());
PddServiceConsoCoBizActionNotifyRequest.PackageInfo packageInfo0 = new PddServiceConsoCoBizActionNotifyRequest.PackageInfo();
notifyRequest.getPackageInfos().add(packageInfo0);
packageInfo0.setWeight(600L);
packageInfo0.setWidth(30L);
packageInfo0.setHeight(30L);
packageInfo0.setLength(30L);
packageInfo0.setActualWeight(600L);
packageInfo0.setConsoType("SEA");
packageInfo0.setGoodsType("NORMAL");
PddServiceConsoCoBizActionNotifyRequest.PackageInfo packageInfo1 = new PddServiceConsoCoBizActionNotifyRequest.PackageInfo();
notifyRequest.getPackageInfos().add(packageInfo1);
packageInfo1.setWeight(2000L);
packageInfo1.setWidth(30L);
packageInfo1.setHeight(30L);
packageInfo1.setLength(30L);
packageInfo1.setActualWeight(2000L);
packageInfo1.setConsoType("SEA");
packageInfo1.setGoodsType("SPECIAL");
// PddServiceConsoCoBizActionNotifyRequest.PackageInfo packageInfo0 = new PddServiceConsoCoBizActionNotifyRequest.PackageInfo();
// notifyRequest.getPackageInfos().add(packageInfo0);
// packageInfo0.setWeight(1000L);
// packageInfo0.setWidth(30L);
// packageInfo0.setHeight(30L);
// packageInfo0.setLength(30L);
// packageInfo0.setActualWeight(1000L);
// packageInfo0.setConsoType("SEA");
// packageInfo0.setGoodsType("SPECIAL");
notifyRequest.setResult(notifyResult);
......@@ -481,9 +491,9 @@ public class CommonTest {
*/
@Test
public void dereliction() {
String mailNo = "TT773010635902734";
String expressCode = "STO";
String dereRecogCode = "51103HHF52832";
String mailNo = "SF3298576832194";
String expressCode = "SF";
String dereRecogCode = "51110ANK19872";
PddServiceConsoDerelictionRequest notifyRequest = new PddServiceConsoDerelictionRequest();
notifyRequest.setProviderCode(PddAPIConfig.PROVIDER_CODE);
notifyRequest.setExecuteTime(getNowString());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment