|
|
@@ -409,6 +409,14 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ public List<OrderAcctVO> getBulkLoadPage(OrderAcctVO acctVO) {
|
|
|
+ acctVO.setTenantId(AuthUtil.getTenantId());
|
|
|
+ List<OrderAcctVO> acctList = baseMapper.selectBulkLoadList(null, acctVO);
|
|
|
+ calculateAcct(acctList);
|
|
|
+ return acctList;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
public Map<String, Object> getCount(Order order) {
|
|
|
long all = 0;
|
|
|
long last = 0;
|
|
|
@@ -483,15 +491,20 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
orderIdList = baseMapper.selectList(orderQueryWrapper);
|
|
|
if (CollectionUtil.isNotEmpty(orderIdList)) {
|
|
|
all = orderIdList.size();
|
|
|
- zero = orderIdList.stream().filter(item -> item.getStatus() == 0).count();
|
|
|
- one = orderIdList.stream().filter(item -> item.getStatus() == 1).count();
|
|
|
- two = orderIdList.stream().filter(item -> item.getStatus() == 2).count();
|
|
|
- three = orderIdList.stream().filter(item -> item.getStatus() != 0 && item.getStatus() != 1 && item.getStatus() != 2 && item.getStatus() != 4).count();
|
|
|
- four = orderIdList.stream().filter(item -> item.getStatus() == 4).count();
|
|
|
+ last = orderIdList.stream().filter(item -> item.getStatus() == 0).count();
|
|
|
+ zero = orderIdList.stream().filter(item -> item.getStatus() == 1).count();
|
|
|
+ one = orderIdList.stream().filter(item -> item.getStatus() == 2).count();
|
|
|
+ two = orderIdList.stream().filter(item -> item.getStatus() == 3).count();
|
|
|
+ //three = orderIdList.stream().filter(item -> item.getStatus() == 4).count();
|
|
|
+ four = orderIdList.stream().filter(item -> item.getStatus() == 5).count();
|
|
|
+ three = orderIdList.stream().filter(item -> item.getStatus() != 0
|
|
|
+ && item.getStatus() != 1 && item.getStatus() != 2
|
|
|
+ && item.getStatus() != 3 && item.getStatus() != 5).count();
|
|
|
+
|
|
|
}
|
|
|
|
|
|
Map<String, Object> data = new HashMap<>();
|
|
|
- data.put("all", all + last);
|
|
|
+ data.put("all", all);
|
|
|
data.put("last", last);
|
|
|
data.put("zero", zero);
|
|
|
data.put("one", one);
|
|
|
@@ -566,7 +579,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
}
|
|
|
|
|
|
StringBuilder addressDetail = new StringBuilder();
|
|
|
- dealExtraInfo(order, addressDetail);
|
|
|
+ StringBuilder unloadingPlace = new StringBuilder();
|
|
|
+ dealExtraInfo(order, addressDetail, unloadingPlace);
|
|
|
|
|
|
if (CollectionUtil.isNotEmpty(itemList)) {
|
|
|
order.setArrivalTime(itemList.get(0).getArrivalTime());
|
|
|
@@ -575,15 +589,14 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
order.setFreight(freight);
|
|
|
if (addressDetail.length() > 0) {
|
|
|
if(order.getShippingMode().equals("散货")){
|
|
|
- String address = addressDetail.deleteCharAt(addressDetail.lastIndexOf("\n")).toString();
|
|
|
- String[] addressList = address.split(",");
|
|
|
- order.setAddressDetail(addressList[0]);
|
|
|
- order.setUnloadingPlace(addressList[1]);
|
|
|
+ order.setAddressDetail(addressDetail.deleteCharAt(addressDetail.lastIndexOf("\n")).toString());
|
|
|
order.setArrivalTime(order.getLoadingAddressList().get(0).getFreightTime());
|
|
|
} else {
|
|
|
order.setAddressDetail(addressDetail.deleteCharAt(addressDetail.lastIndexOf("\n")).toString());
|
|
|
}
|
|
|
-
|
|
|
+ }
|
|
|
+ if (unloadingPlace.length() > 0){
|
|
|
+ order.setUnloadingPlace(unloadingPlace.deleteCharAt(unloadingPlace.lastIndexOf("\n")).toString());
|
|
|
}
|
|
|
|
|
|
baseMapper.updateById(order);
|
|
|
@@ -594,12 +607,13 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
* 提交 陆运散货提交
|
|
|
*/
|
|
|
@Override
|
|
|
- public Long submitBulkLoad(Order order) {
|
|
|
- if (ObjectUtil.isEmpty(order.getId())) {
|
|
|
- order.setStatus(1);
|
|
|
- baseMapper.updateById(order);
|
|
|
- }
|
|
|
- return order.getId();
|
|
|
+ public Boolean submitBulkLoad(Long id) {
|
|
|
+ Order order = new Order();
|
|
|
+ order.setId(id);
|
|
|
+ order.setStatus(1);
|
|
|
+ order.setTenantId(AuthUtil.getTenantId());
|
|
|
+ baseMapper.updateById(order);
|
|
|
+ return true;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -614,6 +628,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
.eq(ObjectUtil.isNotEmpty(order.getSalesman()), Order::getSalesman, order.getSalesman())
|
|
|
.eq(ObjectUtil.isNotEmpty(order.getDispatchDept()), Order::getDispatchDept, order.getDispatchDept())
|
|
|
.eq(StringUtil.isNotBlank(order.getShippingMode()), Order::getShippingMode, order.getShippingMode())
|
|
|
+ .in(StringUtil.isNotBlank(order.getStatusIds()), Order::getStatus, Func.toIntList(order.getStatusIds()))
|
|
|
.eq(ObjectUtil.isNotEmpty(order.getCorpId()), Order::getCorpId, order.getCorpId())
|
|
|
.eq(ObjectUtil.isNotEmpty(order.getFleetId()), Order::getFleetId, order.getFleetId())
|
|
|
.eq(ObjectUtil.isNotEmpty(order.getPlateNo()), Order::getPlateNo, order.getPlateNo())
|
|
|
@@ -624,7 +639,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
.like(StringUtil.isNotBlank(order.getAddressDetail()), Order::getAddressDetail, order.getAddressDetail())
|
|
|
.like(StringUtil.isNotBlank(order.getUnloadingPlace()),Order::getUnloadingPlace, order.getUnloadingPlace())
|
|
|
.between(StringUtil.isNotBlank(order.getBeginArrivalTime()) && StringUtil.isNotBlank(order.getEndArrivalTime()), Order::getArrivalTime, order.getBeginArrivalTime(), order.getEndArrivalTime())
|
|
|
- .between(StringUtil.isNotBlank(order.getBeginCrateTime()) && StringUtil.isNotBlank(order.getEndCrateTime()), Order::getCreateTime, order.getBeginCrateTime(), order.getEndCrateTime());
|
|
|
+ .between(StringUtil.isNotBlank(order.getBeginCrateTime()) && StringUtil.isNotBlank(order.getEndCrateTime()), Order::getCreateTime, order.getBeginCrateTime(), order.getEndCrateTime())
|
|
|
+ .orderByDesc(Order::getArrivalTime);
|
|
|
|
|
|
IPage<Order> pages = baseMapper.selectPage(Condition.getPage(query), orderQueryWrapper);
|
|
|
pages.getRecords().forEach(record -> {
|
|
|
@@ -664,6 +680,35 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
record.setDispatchDeptName(dept.getData());
|
|
|
}
|
|
|
}
|
|
|
+ //车队
|
|
|
+ if (!ObjectUtil.isEmpty(record.getFleetId())){
|
|
|
+ R<CorpsDesc> fleetMessage = corpsDescClient.getCorpMessage(record.getFleetId());
|
|
|
+ if (fleetMessage.isSuccess() && fleetMessage.getData() != null) {
|
|
|
+ record.setFleetName(fleetMessage.getData().getCname());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //司机
|
|
|
+ if (!ObjectUtil.isEmpty(record.getDriverId())){
|
|
|
+ LandDriver driver = landDriverClient.getDriver(record.getDriverId());
|
|
|
+ if (ObjectUtil.isNotEmpty(driver)) {
|
|
|
+ record.setDriverName(driver.getName());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //装货地址货物体积总和
|
|
|
+ LambdaQueryWrapper<OrderAddress> orderLambdaQueryWrapper = new LambdaQueryWrapper<OrderAddress>();
|
|
|
+ orderLambdaQueryWrapper.eq(OrderAddress::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(OrderAddress::getIsDeleted, 0)
|
|
|
+ .eq(OrderAddress::getBillType, 1)
|
|
|
+ .eq(OrderAddress::getOrderId, record.getId());
|
|
|
+ List<OrderAddress> orderList = orderAddressMapper.selectList(orderLambdaQueryWrapper);
|
|
|
+ record.setVolumeSum(0.0);
|
|
|
+ if (!ObjectUtil.isEmpty(orderList)){
|
|
|
+ orderList.forEach(list -> {
|
|
|
+ if (ObjectUtil.isNotEmpty(list.getVolume())){
|
|
|
+ record.setVolumeSum(record.getVolumeSum()+list.getVolume());
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
});
|
|
|
return pages;
|
|
|
}
|
|
|
@@ -745,7 +790,14 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
if (ObjectUtil.isNotEmpty(id)) {
|
|
|
order.setId(id);
|
|
|
order.setStatus(status);
|
|
|
+ if (status == 4){
|
|
|
+ order.setReachTime(new Date());
|
|
|
+ }else if (status == 0){
|
|
|
+ order.setReachTime(null);
|
|
|
+ }
|
|
|
baseMapper.updateById(order);
|
|
|
+ }else {
|
|
|
+ throw new SecurityException("发送失败 请联系管理员!");
|
|
|
}
|
|
|
return order.getId();
|
|
|
}
|
|
|
@@ -847,7 +899,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
});
|
|
|
|
|
|
StringBuilder addressDetail = new StringBuilder();
|
|
|
- dealExtraInfo(order, addressDetail);
|
|
|
+ StringBuilder unloadingPlace = new StringBuilder();
|
|
|
+ dealExtraInfo(order, addressDetail, unloadingPlace);
|
|
|
|
|
|
if (CollectionUtil.isNotEmpty(itemList)) {
|
|
|
order.setArrivalTime(itemList.get(0).getArrivalTime());
|
|
|
@@ -1071,7 +1124,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private void dealExtraInfo(Order order, StringBuilder addressDetail) {
|
|
|
+ private void dealExtraInfo(Order order, StringBuilder addressDetail, StringBuilder unloadingPlace) {
|
|
|
int i = 1;
|
|
|
if (order.getShippingMode().equals("集装箱")) {
|
|
|
for (OrderAddress address : order.getOrderAddressList()) {
|
|
|
@@ -1113,6 +1166,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
}
|
|
|
}else if (order.getShippingMode().equals("散货")){
|
|
|
//装货
|
|
|
+ int sort = 1;
|
|
|
for (OrderAddress address : order.getLoadingAddressList()){
|
|
|
if (ObjectUtil.isEmpty(address.getId())) {
|
|
|
address.setOrderId(order.getId());
|
|
|
@@ -1120,13 +1174,15 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
address.setCreateUser(AuthUtil.getUserId());
|
|
|
address.setBillType(1);
|
|
|
address.setCreateTime(new Date());
|
|
|
+ address.setSort(sort);
|
|
|
orderAddressMapper.insert(address);
|
|
|
} else {
|
|
|
address.setUpdateUser(AuthUtil.getUserId());
|
|
|
address.setUpdateTime(new Date());
|
|
|
+ address.setSort(sort);
|
|
|
orderAddressMapper.updateById(address);
|
|
|
}
|
|
|
-
|
|
|
+ sort++;
|
|
|
if (ObjectUtil.isNotEmpty(address.getCorpId()) || StringUtil.isNotBlank(address.getContacts())
|
|
|
|| StringUtil.isNotBlank(address.getTel()) || StringUtil.isNotBlank(address.getAddress())) {
|
|
|
if (ObjectUtil.isNotEmpty(address.getCorpId()) && StringUtil.isNotBlank(address.getCorpName())) {
|
|
|
@@ -1150,9 +1206,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- addressDetail.append(",");
|
|
|
-
|
|
|
i = 1;
|
|
|
+ sort = 1;
|
|
|
|
|
|
//卸货
|
|
|
for (OrderAddress address : order.getUnloadedAddressList()){
|
|
|
@@ -1162,31 +1217,33 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
address.setCreateUser(AuthUtil.getUserId());
|
|
|
address.setBillType(2);
|
|
|
address.setCreateTime(new Date());
|
|
|
+ address.setSort(sort);
|
|
|
orderAddressMapper.insert(address);
|
|
|
} else {
|
|
|
address.setUpdateUser(AuthUtil.getUserId());
|
|
|
address.setUpdateTime(new Date());
|
|
|
+ address.setSort(sort);
|
|
|
orderAddressMapper.updateById(address);
|
|
|
}
|
|
|
|
|
|
if (ObjectUtil.isNotEmpty(address.getCorpId()) || StringUtil.isNotBlank(address.getContacts())
|
|
|
|| StringUtil.isNotBlank(address.getTel()) || StringUtil.isNotBlank(address.getAddress())) {
|
|
|
if (ObjectUtil.isNotEmpty(address.getCorpId()) && StringUtil.isNotBlank(address.getCorpName())) {
|
|
|
- addressDetail.append(i).append(".").append(address.getCorpName()).append("(");
|
|
|
+ unloadingPlace.append(i).append(".").append(address.getCorpName()).append("(");
|
|
|
} else {
|
|
|
- addressDetail.append(i).append(".").append("(");
|
|
|
+ unloadingPlace.append(i).append(".").append("(");
|
|
|
}
|
|
|
|
|
|
if (StringUtil.isNotBlank(address.getContacts())) {
|
|
|
- addressDetail.append(address.getContacts());
|
|
|
+ unloadingPlace.append(address.getContacts());
|
|
|
}
|
|
|
if (StringUtil.isNotBlank(address.getTel())) {
|
|
|
- addressDetail.append(" ").append(address.getTel());
|
|
|
+ unloadingPlace.append(" ").append(address.getTel());
|
|
|
}
|
|
|
if (StringUtil.isNotBlank(address.getAddress())) {
|
|
|
- addressDetail.append(") ").append(address.getAddress()).append("\n");
|
|
|
+ unloadingPlace.append(") ").append(address.getAddress()).append("\n");
|
|
|
} else {
|
|
|
- addressDetail.append(") ").append("\n");
|
|
|
+ unloadingPlace.append(") ").append("\n");
|
|
|
}
|
|
|
i++;
|
|
|
}
|