修改业务单bug
This commit is contained in:
@@ -15,7 +15,7 @@ import org.springframework.web.bind.annotation.RequestBody;
|
|||||||
|
|
||||||
import java.util.concurrent.CompletableFuture;
|
import java.util.concurrent.CompletableFuture;
|
||||||
|
|
||||||
@FeignClient(contextId = "OmsService", value = ServiceNameConstants.OMS_SERVICE, url = "http://10.33.0.99:8017", fallbackFactory = RemoteOmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class)
|
@FeignClient(contextId = "OmsService", value = ServiceNameConstants.OMS_SERVICE, fallbackFactory = RemoteOmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class)
|
||||||
public interface OmsServiceFeign {
|
public interface OmsServiceFeign {
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+199
-144
@@ -226,6 +226,7 @@ public class BusinessDocumentOrderImpl extends ServiceImpl<BusinessDocumentOrder
|
|||||||
subOrder.setUnloadPhone(user.getEmergencyContactPhone());
|
subOrder.setUnloadPhone(user.getEmergencyContactPhone());
|
||||||
subOrder.setInvoiceNumber(businessDeliveryDetailsLinkDTO.getInvoiceNumber());
|
subOrder.setInvoiceNumber(businessDeliveryDetailsLinkDTO.getInvoiceNumber());
|
||||||
subOrder.setCustomerNumber(businessDeliveryDetailsLinkDTO.getCustomerNumber());
|
subOrder.setCustomerNumber(businessDeliveryDetailsLinkDTO.getCustomerNumber());
|
||||||
|
subOrder.setRecipientName(user.getUserName());
|
||||||
|
|
||||||
|
|
||||||
businessDocumentOrderMapper.insert(subOrder);
|
businessDocumentOrderMapper.insert(subOrder);
|
||||||
@@ -254,7 +255,7 @@ public class BusinessDocumentOrderImpl extends ServiceImpl<BusinessDocumentOrder
|
|||||||
unloadAddress.setOrganizationName(subOrder.getOrganizationName());
|
unloadAddress.setOrganizationName(subOrder.getOrganizationName());
|
||||||
unloadAddress.setTopOrganizationId(subOrder.getTopOrganizationId());
|
unloadAddress.setTopOrganizationId(subOrder.getTopOrganizationId());
|
||||||
unloadAddress.setOrderId(String.valueOf(subOrder.getId()));
|
unloadAddress.setOrderId(String.valueOf(subOrder.getId()));
|
||||||
unloadAddress.setAreaCode(userAreaAddress);
|
unloadAddress.setAreaCode(userAreaName);
|
||||||
unloadAddress.setAreaName(userAreaName);
|
unloadAddress.setAreaName(userAreaName);
|
||||||
unloadAddress.setAddress(userAreaAddress);
|
unloadAddress.setAddress(userAreaAddress);
|
||||||
unloadAddress.setContactName(user.getEmergencyContactName());
|
unloadAddress.setContactName(user.getEmergencyContactName());
|
||||||
@@ -428,154 +429,52 @@ public class BusinessDocumentOrderImpl extends ServiceImpl<BusinessDocumentOrder
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (ObjectUtil.isNotNull(businessDocumentOrder)){
|
if (ObjectUtil.isNotNull(businessDocumentOrder)){
|
||||||
ExecuteOrder objects = executeOrderMapper.selectOne(new LambdaQueryWrapper<ExecuteOrder>().eq(ExecuteOrder::getBusinessDocumentId, id).eq(ExecuteOrder::getDelFlag,1) .last("LIMIT 1")
|
// 判断是否为拆单-主单(splicingOrderType == 4)
|
||||||
);
|
if (businessDocumentOrder.getSplicingOrderType() != null && businessDocumentOrder.getSplicingOrderType() == 4) {
|
||||||
if (ObjectUtil.isNotNull(objects)) {
|
// 查询所有子单
|
||||||
throw new ServerException("业务单已生成执行单,请先取消执行单");
|
List<BusinessDocumentOrder> subOrders = businessDocumentOrderMapper.selectList(
|
||||||
}
|
new LambdaQueryWrapper<BusinessDocumentOrder>()
|
||||||
|
.eq(BusinessDocumentOrder::getMainOrderId, String.valueOf(id))
|
||||||
// 先创建执行单
|
.eq(BusinessDocumentOrder::getDelFlag, 1)
|
||||||
ExecuteOrderDO executeOrderDO=new ExecuteOrderDO();
|
);
|
||||||
BeanUtils.copyProperties(businessDocumentOrder,executeOrderDO);
|
|
||||||
executeOrderDO.setDocumentDate(businessDocumentOrder.getDocumentDate());
|
|
||||||
executeOrderDO.setLayDate(businessDocumentOrder.getLayDate());
|
|
||||||
executeOrderDO.setBusinessDocumentId(id);
|
|
||||||
executeOrderDO.setBusinessDocumentNumber(businessDocumentOrder.getGoodsNumber());
|
|
||||||
executeOrderDO.setGoodsNumber(businessDocumentOrder.getGoodsNumber());
|
|
||||||
executeOrderDO.setCreateBy(loginUser.getUserid());
|
|
||||||
executeOrderDO.setCreateTime(new Date());
|
|
||||||
executeOrderDO.setCreateByName(loginUser.getWlhyLoginUser().getRealname());
|
|
||||||
executeOrderDO.setUpdateByName(loginUser.getWlhyLoginUser().getRealname());
|
|
||||||
executeOrderDO.setDelFlag(1);
|
|
||||||
executeOrderDO.setOrganizationId(businessDocumentOrder.getOrganizationId());
|
|
||||||
executeOrderDO.setOrgName(businessDocumentOrder.getOrgName());
|
|
||||||
executeOrderDO.setTopOrganizationId(businessDocumentOrder.getTopOrganizationId());
|
|
||||||
executeOrderDO.setReservationOrderNumber(businessDocumentOrder.getReservationOrderNumber());
|
|
||||||
|
|
||||||
Long executeOrderId = executeOrderDomainService.insert(executeOrderDO);
|
|
||||||
|
|
||||||
// 更新业务单状态和执行单信息
|
|
||||||
businessDocumentOrder.setExecuteId(loginUser.getUserid());
|
|
||||||
businessDocumentOrder.setExecuteStatus(2L);
|
|
||||||
businessDocumentOrder.setExecuteTime(new Date());
|
|
||||||
businessDocumentOrder.setExecutor(loginUser.getUsername());
|
|
||||||
businessDocumentOrder.setOrderStatus(2L);
|
|
||||||
businessDocumentOrder.setExecuteOrderId(String.valueOf(executeOrderId));
|
|
||||||
businessDocumentOrder.setExecuteOrderNumber(businessDocumentOrder.getGoodsNumber());
|
|
||||||
businessDocumentOrderMapper.updateById(businessDocumentOrder);
|
|
||||||
|
|
||||||
// 创建执行单后立即下发到TMS
|
|
||||||
ExecuteOrder executeOrder = executeOrderMapper.selectById(executeOrderId);
|
|
||||||
if (ObjectUtil.isNotNull(executeOrder)){
|
|
||||||
executeOrder.setIssueStatus(2L);
|
|
||||||
executeOrder.setIssueTime(new Date());
|
|
||||||
executeOrder.setIssueId(loginUser.getUserid());
|
|
||||||
executeOrder.setIssueName(loginUser.getWlhyLoginUser().getRealname());
|
|
||||||
executeOrder.setUpdateByName(loginUser.getWlhyLoginUser().getRealname());
|
|
||||||
executeOrder.setOrderStatus(1L);
|
|
||||||
executeOrder.setBusinessUnit(orgName);
|
|
||||||
executeOrderMapper.updateById(executeOrder);
|
|
||||||
|
|
||||||
//下发到tms
|
if (subOrders != null && !subOrders.isEmpty()) {
|
||||||
TmsOrderAddDTO tmsOrderAddDTO=new TmsOrderAddDTO();
|
// 执行并下发所有子单
|
||||||
List<TmsCargoInfoDTO> cargoInfoList=new ArrayList<TmsCargoInfoDTO>();
|
for (BusinessDocumentOrder subOrder : subOrders) {
|
||||||
List<TmsAddressMultiDTO> loadingAddressList=new ArrayList<TmsAddressMultiDTO>();
|
// 检查子单是否已生成执行单
|
||||||
List<TmsAddressMultiDTO> unloadAddressList=new ArrayList<TmsAddressMultiDTO>();
|
ExecuteOrder subExecuteOrder = executeOrderMapper.selectOne(
|
||||||
List<TmsOrderAccount> tmsOrderAccountList=new ArrayList<TmsOrderAccount>();
|
new LambdaQueryWrapper<ExecuteOrder>()
|
||||||
|
.eq(ExecuteOrder::getBusinessDocumentId, subOrder.getId())
|
||||||
if(ObjectUtil.isNotNull(businessDocumentOrder)){
|
.eq(ExecuteOrder::getDelFlag, 1)
|
||||||
BeanUtils.copyProperties(businessDocumentOrder,tmsOrderAddDTO);
|
.last("LIMIT 1")
|
||||||
tmsOrderAddDTO.setExecuteOrderId(String.valueOf(executeOrderId));
|
);
|
||||||
tmsOrderAddDTO.setExecuteOrderNumber(executeOrder.getGoodsNumber());
|
|
||||||
|
if (ObjectUtil.isNotNull(subExecuteOrder)) {
|
||||||
//货物信息
|
continue; // 子单已执行,跳过
|
||||||
List<BusinessDocumentCargoMulti> businessDocumentCargoMultiList=businessDocumentCargoMultiMapper.selectList(new QueryWrapper<BusinessDocumentCargoMulti>().lambda()
|
|
||||||
.eq(BusinessDocumentCargoMulti::getOrderId,businessDocumentOrder.getId())
|
|
||||||
.eq(BusinessDocumentCargoMulti::getDelFlag,1));
|
|
||||||
if(ObjectUtil.isNotNull(businessDocumentCargoMultiList)&&businessDocumentCargoMultiList.size()>0){
|
|
||||||
for (BusinessDocumentCargoMulti businessDocumentCargoMulti:businessDocumentCargoMultiList){
|
|
||||||
TmsCargoInfoDTO tmsCargoInfoDTO=new TmsCargoInfoDTO();
|
|
||||||
BeanUtils.copyProperties(businessDocumentCargoMulti,tmsCargoInfoDTO);
|
|
||||||
cargoInfoList.add(tmsCargoInfoDTO);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 执行并下发子单
|
||||||
|
executeAndIssueSingleOrder(subOrder, loginUser, organizationId, orgName);
|
||||||
}
|
}
|
||||||
|
|
||||||
//装货地址信息
|
// 更新主单状态
|
||||||
List<BusinessDocumentAddressMulti> businessDocumentAddressMultiList=businessDocumentAddressMultiMapper.selectList(new QueryWrapper<BusinessDocumentAddressMulti>().lambda()
|
businessDocumentOrder.setExecuteId(loginUser.getUserid());
|
||||||
.eq(BusinessDocumentAddressMulti::getOrderId,businessDocumentOrder.getId())
|
businessDocumentOrder.setExecuteStatus(2L);
|
||||||
.eq(BusinessDocumentAddressMulti::getDelFlag,1)
|
businessDocumentOrder.setExecuteTime(new Date());
|
||||||
.eq(BusinessDocumentAddressMulti::getLayType,1));
|
businessDocumentOrder.setExecutor(loginUser.getUsername());
|
||||||
if(ObjectUtil.isNotNull(businessDocumentAddressMultiList)&&businessDocumentAddressMultiList.size()>0){
|
businessDocumentOrder.setOrderStatus(2L);
|
||||||
for (BusinessDocumentAddressMulti businessDocumentAddressMulti:businessDocumentAddressMultiList){
|
businessDocumentOrderMapper.updateById(businessDocumentOrder);
|
||||||
TmsAddressMultiDTO tmsAddressMultiDTO=new TmsAddressMultiDTO();
|
|
||||||
BeanUtils.copyProperties(businessDocumentAddressMulti,tmsAddressMultiDTO);
|
|
||||||
loadingAddressList.add(tmsAddressMultiDTO);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//卸货货地址信息
|
|
||||||
List<BusinessDocumentAddressMulti> businessDocumentAddressMultiUnloadList=businessDocumentAddressMultiMapper.selectList(new QueryWrapper<BusinessDocumentAddressMulti>().lambda()
|
|
||||||
.eq(BusinessDocumentAddressMulti::getOrderId,businessDocumentOrder.getId())
|
|
||||||
.eq(BusinessDocumentAddressMulti::getDelFlag,1)
|
|
||||||
.eq(BusinessDocumentAddressMulti::getLayType,2));
|
|
||||||
if(ObjectUtil.isNotNull(businessDocumentAddressMultiUnloadList)&&businessDocumentAddressMultiUnloadList.size()>0){
|
|
||||||
for (BusinessDocumentAddressMulti businessDocumentAddressMulti:businessDocumentAddressMultiUnloadList){
|
|
||||||
TmsAddressMultiDTO tmsAddressMultiDTO=new TmsAddressMultiDTO();
|
|
||||||
BeanUtils.copyProperties(businessDocumentAddressMulti,tmsAddressMultiDTO);
|
|
||||||
tmsAddressMultiDTO.setLayType(2);
|
|
||||||
unloadAddressList.add(tmsAddressMultiDTO);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//账单信息
|
|
||||||
List<BusinessOrderAccount> businessOrderAccountList = businessOrderAccountMapper.selectList(new QueryWrapper<BusinessOrderAccount>().lambda()
|
|
||||||
.eq(BusinessOrderAccount::getOrderId, businessDocumentOrder.getId())
|
|
||||||
.eq(BusinessOrderAccount::getIsDelete, 0));
|
|
||||||
if(ObjectUtil.isNotNull(businessOrderAccountList)&&businessOrderAccountList.size()>0){
|
|
||||||
for (BusinessOrderAccount businessOrderAccount:businessOrderAccountList){
|
|
||||||
TmsOrderAccount tmsOrderAccount = new TmsOrderAccount();
|
|
||||||
BeanUtils.copyProperties(businessOrderAccount, tmsOrderAccount);
|
|
||||||
tmsOrderAccountList.add(tmsOrderAccount);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
tmsOrderAddDTO.setAppointShipper(businessDocumentOrder.getAppointShipper());
|
|
||||||
tmsOrderAddDTO.setAppointShipperId(businessDocumentOrder.getAppointShipperId());
|
|
||||||
tmsOrderAddDTO.setCargoInfoList(cargoInfoList);
|
|
||||||
tmsOrderAddDTO.setLoadingAddressList(loadingAddressList);
|
|
||||||
tmsOrderAddDTO.setUnloadAddressList(unloadAddressList);
|
|
||||||
tmsOrderAddDTO.setTmsOrderAccountList(tmsOrderAccountList);
|
|
||||||
tmsOrderAddDTO.setOrderShippingType(businessDocumentOrder.getOrderShippingType().intValue());
|
|
||||||
tmsOrderAddDTO.setPayerType(0);
|
|
||||||
tmsOrderAddDTO.setExecuteOrderNumber(executeOrder.getGoodsNumber());
|
|
||||||
tmsOrderAddDTO.setOrderSource("0");
|
|
||||||
tmsOrderAddDTO.setOrganizationId(organizationId);
|
|
||||||
tmsOrderAddDTO.setLoginUser(loginUser);
|
|
||||||
tmsOrderAddDTO.setOrganizationName(orgName);
|
|
||||||
|
|
||||||
AjaxResult ajaxResult=wlhyServiceFeign.add(tmsOrderAddDTO);
|
|
||||||
if(ajaxResult.get("code").toString().equals("200")){
|
|
||||||
String goodsNumber = (String) ajaxResult.get("data");
|
|
||||||
if(ObjectUtil.isNotEmpty(goodsNumber)){
|
|
||||||
executeOrder.setTmsOrderNumber(goodsNumber);
|
|
||||||
executeOrderMapper.updateById(executeOrder);
|
|
||||||
if (businessDocumentOrder.getInOrderNumber()!=null){
|
|
||||||
ReservationStockInOrder reservationStockInOrder = reservationStockInOrderMapper.selectOne(new LambdaQueryWrapper<ReservationStockInOrder>().eq(ReservationStockInOrder::getInOrderNumber,businessDocumentOrder.getInOrderNumber()));
|
|
||||||
if (ObjectUtil.isNotNull(reservationStockInOrder)) {
|
|
||||||
reservationStockInOrder.setTmsOrderNumber(goodsNumber);
|
|
||||||
reservationStockInOrderMapper.updateById(reservationStockInOrder);
|
|
||||||
}
|
|
||||||
ReservationStockOutOrder reservationStockOutOrder = reservationStockOutOrderMapper.selectOne(new LambdaQueryWrapper<ReservationStockOutOrder>().eq(ReservationStockOutOrder::getOutOrderNumber,businessDocumentOrder.getInOrderNumber()));
|
|
||||||
if (ObjectUtil.isNotNull(reservationStockOutOrder)) {
|
|
||||||
reservationStockOutOrder.setTmsOrderNumber(goodsNumber);
|
|
||||||
reservationStockOutOrderMapper.updateById(reservationStockOutOrder);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}else {
|
|
||||||
throw new ServiceException(ajaxResult.get("msg").toString());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
// 非拆单主单,执行原有逻辑
|
||||||
|
ExecuteOrder objects = executeOrderMapper.selectOne(new LambdaQueryWrapper<ExecuteOrder>().eq(ExecuteOrder::getBusinessDocumentId, id).eq(ExecuteOrder::getDelFlag,1) .last("LIMIT 1")
|
||||||
|
);
|
||||||
|
if (ObjectUtil.isNotNull(objects)) {
|
||||||
|
throw new ServerException("业务单已生成执行单,请先取消执行单");
|
||||||
|
}
|
||||||
|
|
||||||
|
// 执行并下发主单
|
||||||
|
executeAndIssueSingleOrder(businessDocumentOrder, loginUser, organizationId, orgName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -586,6 +485,162 @@ public class BusinessDocumentOrderImpl extends ServiceImpl<BusinessDocumentOrder
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 执行并下发单个业务单
|
||||||
|
*/
|
||||||
|
private void executeAndIssueSingleOrder(BusinessDocumentOrder businessDocumentOrder, LoginUser loginUser, Long organizationId, String orgName) {
|
||||||
|
Long id = businessDocumentOrder.getId();
|
||||||
|
|
||||||
|
// 先创建执行单
|
||||||
|
ExecuteOrderDO executeOrderDO=new ExecuteOrderDO();
|
||||||
|
BeanUtils.copyProperties(businessDocumentOrder,executeOrderDO);
|
||||||
|
executeOrderDO.setDocumentDate(businessDocumentOrder.getDocumentDate());
|
||||||
|
executeOrderDO.setLayDate(businessDocumentOrder.getLayDate());
|
||||||
|
executeOrderDO.setBusinessDocumentId(id);
|
||||||
|
executeOrderDO.setBusinessDocumentNumber(businessDocumentOrder.getGoodsNumber());
|
||||||
|
executeOrderDO.setGoodsNumber(businessDocumentOrder.getGoodsNumber());
|
||||||
|
executeOrderDO.setCreateBy(loginUser.getUserid());
|
||||||
|
executeOrderDO.setCreateTime(new Date());
|
||||||
|
executeOrderDO.setCreateByName(loginUser.getWlhyLoginUser().getRealname());
|
||||||
|
executeOrderDO.setUpdateByName(loginUser.getWlhyLoginUser().getRealname());
|
||||||
|
executeOrderDO.setDelFlag(1);
|
||||||
|
executeOrderDO.setOrganizationId(businessDocumentOrder.getOrganizationId());
|
||||||
|
executeOrderDO.setOrgName(businessDocumentOrder.getOrgName());
|
||||||
|
executeOrderDO.setTopOrganizationId(businessDocumentOrder.getTopOrganizationId());
|
||||||
|
executeOrderDO.setReservationOrderNumber(businessDocumentOrder.getReservationOrderNumber());
|
||||||
|
|
||||||
|
Long executeOrderId = executeOrderDomainService.insert(executeOrderDO);
|
||||||
|
|
||||||
|
// 更新业务单状态和执行单信息
|
||||||
|
businessDocumentOrder.setExecuteId(loginUser.getUserid());
|
||||||
|
businessDocumentOrder.setExecuteStatus(2L);
|
||||||
|
businessDocumentOrder.setExecuteTime(new Date());
|
||||||
|
businessDocumentOrder.setExecutor(loginUser.getUsername());
|
||||||
|
businessDocumentOrder.setOrderStatus(2L);
|
||||||
|
businessDocumentOrder.setExecuteOrderId(String.valueOf(executeOrderId));
|
||||||
|
businessDocumentOrder.setExecuteOrderNumber(businessDocumentOrder.getGoodsNumber());
|
||||||
|
businessDocumentOrderMapper.updateById(businessDocumentOrder);
|
||||||
|
|
||||||
|
// 创建执行单后立即下发到TMS
|
||||||
|
ExecuteOrder executeOrder = executeOrderMapper.selectById(executeOrderId);
|
||||||
|
if (ObjectUtil.isNotNull(executeOrder)){
|
||||||
|
executeOrder.setIssueStatus(2L);
|
||||||
|
executeOrder.setIssueTime(new Date());
|
||||||
|
executeOrder.setIssueId(loginUser.getUserid());
|
||||||
|
executeOrder.setIssueName(loginUser.getWlhyLoginUser().getRealname());
|
||||||
|
executeOrder.setUpdateByName(loginUser.getWlhyLoginUser().getRealname());
|
||||||
|
executeOrder.setOrderStatus(1L);
|
||||||
|
executeOrder.setBusinessUnit(orgName);
|
||||||
|
executeOrderMapper.updateById(executeOrder);
|
||||||
|
|
||||||
|
//下发到tms
|
||||||
|
TmsOrderAddDTO tmsOrderAddDTO=new TmsOrderAddDTO();
|
||||||
|
List<TmsCargoInfoDTO> cargoInfoList=new ArrayList<TmsCargoInfoDTO>();
|
||||||
|
List<TmsAddressMultiDTO> loadingAddressList=new ArrayList<TmsAddressMultiDTO>();
|
||||||
|
List<TmsAddressMultiDTO> unloadAddressList=new ArrayList<TmsAddressMultiDTO>();
|
||||||
|
List<TmsOrderAccount> tmsOrderAccountList=new ArrayList<TmsOrderAccount>();
|
||||||
|
|
||||||
|
BeanUtils.copyProperties(businessDocumentOrder,tmsOrderAddDTO);
|
||||||
|
tmsOrderAddDTO.setExecuteOrderId(String.valueOf(executeOrderId));
|
||||||
|
tmsOrderAddDTO.setExecuteOrderNumber(executeOrder.getGoodsNumber());
|
||||||
|
BusinessDeliveryDetailsLink businessDeliveryDetailsLink = businessDeliveryDetailsLinkMapper.selectOne(new LambdaQueryWrapper<BusinessDeliveryDetailsLink>().eq(BusinessDeliveryDetailsLink::getSubOrderId, businessDocumentOrder.getId()));
|
||||||
|
if (ObjectUtil.isNotNull(businessDeliveryDetailsLink)) {
|
||||||
|
Integer bag = businessDeliveryDetailsLink.getBag();
|
||||||
|
Integer box = businessDeliveryDetailsLink.getBox();
|
||||||
|
//相加
|
||||||
|
tmsOrderAddDTO.setGoodsName(String.valueOf(bag + box));
|
||||||
|
}
|
||||||
|
|
||||||
|
//货物信息
|
||||||
|
List<BusinessDocumentCargoMulti> businessDocumentCargoMultiList=businessDocumentCargoMultiMapper.selectList(new QueryWrapper<BusinessDocumentCargoMulti>().lambda()
|
||||||
|
.eq(BusinessDocumentCargoMulti::getOrderId,businessDocumentOrder.getId())
|
||||||
|
.eq(BusinessDocumentCargoMulti::getDelFlag,1));
|
||||||
|
if(ObjectUtil.isNotNull(businessDocumentCargoMultiList)&&businessDocumentCargoMultiList.size()>0){
|
||||||
|
for (BusinessDocumentCargoMulti businessDocumentCargoMulti:businessDocumentCargoMultiList){
|
||||||
|
TmsCargoInfoDTO tmsCargoInfoDTO=new TmsCargoInfoDTO();
|
||||||
|
BeanUtils.copyProperties(businessDocumentCargoMulti,tmsCargoInfoDTO);
|
||||||
|
cargoInfoList.add(tmsCargoInfoDTO);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//装货地址信息
|
||||||
|
List<BusinessDocumentAddressMulti> businessDocumentAddressMultiList=businessDocumentAddressMultiMapper.selectList(new QueryWrapper<BusinessDocumentAddressMulti>().lambda()
|
||||||
|
.eq(BusinessDocumentAddressMulti::getOrderId,businessDocumentOrder.getId())
|
||||||
|
.eq(BusinessDocumentAddressMulti::getDelFlag,1)
|
||||||
|
.eq(BusinessDocumentAddressMulti::getLayType,1));
|
||||||
|
if(ObjectUtil.isNotNull(businessDocumentAddressMultiList)&&businessDocumentAddressMultiList.size()>0){
|
||||||
|
for (BusinessDocumentAddressMulti businessDocumentAddressMulti:businessDocumentAddressMultiList){
|
||||||
|
TmsAddressMultiDTO tmsAddressMultiDTO=new TmsAddressMultiDTO();
|
||||||
|
BeanUtils.copyProperties(businessDocumentAddressMulti,tmsAddressMultiDTO);
|
||||||
|
loadingAddressList.add(tmsAddressMultiDTO);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//卸货货地址信息
|
||||||
|
List<BusinessDocumentAddressMulti> businessDocumentAddressMultiUnloadList=businessDocumentAddressMultiMapper.selectList(new QueryWrapper<BusinessDocumentAddressMulti>().lambda()
|
||||||
|
.eq(BusinessDocumentAddressMulti::getOrderId,businessDocumentOrder.getId())
|
||||||
|
.eq(BusinessDocumentAddressMulti::getDelFlag,1)
|
||||||
|
.eq(BusinessDocumentAddressMulti::getLayType,2));
|
||||||
|
if(ObjectUtil.isNotNull(businessDocumentAddressMultiUnloadList)&&businessDocumentAddressMultiUnloadList.size()>0){
|
||||||
|
for (BusinessDocumentAddressMulti businessDocumentAddressMulti:businessDocumentAddressMultiUnloadList){
|
||||||
|
TmsAddressMultiDTO tmsAddressMultiDTO=new TmsAddressMultiDTO();
|
||||||
|
BeanUtils.copyProperties(businessDocumentAddressMulti,tmsAddressMultiDTO);
|
||||||
|
tmsAddressMultiDTO.setLayType(2);
|
||||||
|
unloadAddressList.add(tmsAddressMultiDTO);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//账单信息
|
||||||
|
List<BusinessOrderAccount> businessOrderAccountList = businessOrderAccountMapper.selectList(new QueryWrapper<BusinessOrderAccount>().lambda()
|
||||||
|
.eq(BusinessOrderAccount::getOrderId, businessDocumentOrder.getId())
|
||||||
|
.eq(BusinessOrderAccount::getIsDelete, 0));
|
||||||
|
if(ObjectUtil.isNotNull(businessOrderAccountList)&&businessOrderAccountList.size()>0){
|
||||||
|
for (BusinessOrderAccount businessOrderAccount:businessOrderAccountList){
|
||||||
|
TmsOrderAccount tmsOrderAccount = new TmsOrderAccount();
|
||||||
|
BeanUtils.copyProperties(businessOrderAccount, tmsOrderAccount);
|
||||||
|
tmsOrderAccountList.add(tmsOrderAccount);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
tmsOrderAddDTO.setAppointShipper(businessDocumentOrder.getAppointShipper());
|
||||||
|
tmsOrderAddDTO.setAppointShipperId(businessDocumentOrder.getAppointShipperId());
|
||||||
|
tmsOrderAddDTO.setCargoInfoList(cargoInfoList);
|
||||||
|
tmsOrderAddDTO.setLoadingAddressList(loadingAddressList);
|
||||||
|
tmsOrderAddDTO.setUnloadAddressList(unloadAddressList);
|
||||||
|
tmsOrderAddDTO.setTmsOrderAccountList(tmsOrderAccountList);
|
||||||
|
tmsOrderAddDTO.setOrderShippingType(businessDocumentOrder.getOrderShippingType().intValue());
|
||||||
|
tmsOrderAddDTO.setPayerType(0);
|
||||||
|
tmsOrderAddDTO.setExecuteOrderNumber(executeOrder.getGoodsNumber());
|
||||||
|
tmsOrderAddDTO.setOrderSource("0");
|
||||||
|
tmsOrderAddDTO.setOrganizationId(organizationId);
|
||||||
|
tmsOrderAddDTO.setLoginUser(loginUser);
|
||||||
|
tmsOrderAddDTO.setOrganizationName(orgName);
|
||||||
|
|
||||||
|
AjaxResult ajaxResult=wlhyServiceFeign.add(tmsOrderAddDTO);
|
||||||
|
if(ajaxResult.get("code").toString().equals("200")){
|
||||||
|
String goodsNumber = (String) ajaxResult.get("data");
|
||||||
|
if(ObjectUtil.isNotEmpty(goodsNumber)){
|
||||||
|
executeOrder.setTmsOrderNumber(goodsNumber);
|
||||||
|
executeOrderMapper.updateById(executeOrder);
|
||||||
|
if (businessDocumentOrder.getInOrderNumber()!=null){
|
||||||
|
ReservationStockInOrder reservationStockInOrder = reservationStockInOrderMapper.selectOne(new LambdaQueryWrapper<ReservationStockInOrder>().eq(ReservationStockInOrder::getInOrderNumber,businessDocumentOrder.getInOrderNumber()));
|
||||||
|
if (ObjectUtil.isNotNull(reservationStockInOrder)) {
|
||||||
|
reservationStockInOrder.setTmsOrderNumber(goodsNumber);
|
||||||
|
reservationStockInOrderMapper.updateById(reservationStockInOrder);
|
||||||
|
}
|
||||||
|
ReservationStockOutOrder reservationStockOutOrder = reservationStockOutOrderMapper.selectOne(new LambdaQueryWrapper<ReservationStockOutOrder>().eq(ReservationStockOutOrder::getOutOrderNumber,businessDocumentOrder.getInOrderNumber()));
|
||||||
|
if (ObjectUtil.isNotNull(reservationStockOutOrder)) {
|
||||||
|
reservationStockOutOrder.setTmsOrderNumber(goodsNumber);
|
||||||
|
reservationStockOutOrderMapper.updateById(reservationStockOutOrder);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
throw new ServiceException(ajaxResult.get("msg").toString());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public Boolean cancelExecute(List<Long> ids) throws Exception{
|
public Boolean cancelExecute(List<Long> ids) throws Exception{
|
||||||
|
|||||||
+14
-2
@@ -25,6 +25,10 @@ import com.mhd.oms.domain.businessOrderAccount.BusinessOrderAccount;
|
|||||||
import com.mhd.oms.domain.businessOrderAccount.repository.mapper.BusinessOrderAccountMapper;
|
import com.mhd.oms.domain.businessOrderAccount.repository.mapper.BusinessOrderAccountMapper;
|
||||||
import com.mhd.oms.domain.reservationOrder.entity.ReservationOrder;
|
import com.mhd.oms.domain.reservationOrder.entity.ReservationOrder;
|
||||||
import com.mhd.oms.domain.reservationOrder.repository.mapper.ReservationOrderMapper;
|
import com.mhd.oms.domain.reservationOrder.repository.mapper.ReservationOrderMapper;
|
||||||
|
import com.mhd.oms.domain.reservationStockOutOrder.entity.ReservationStockOutOrder;
|
||||||
|
import com.mhd.oms.domain.reservationStockOutOrder.repository.mapper.ReservationStockOutOrderMapper;
|
||||||
|
import com.mhd.oms.domain.reserveStockOutOrder.entity.ReserveStockOutOrder;
|
||||||
|
import com.mhd.oms.domain.reserveStockOutOrder.repository.mapper.ReserveStockOutOrderMapper;
|
||||||
import com.mhd.oms.interfaces.dto.businessDocumentAddressMulti.BusinessAuditDTO;
|
import com.mhd.oms.interfaces.dto.businessDocumentAddressMulti.BusinessAuditDTO;
|
||||||
import com.mhd.oms.interfaces.dto.businessDocumentAddressMulti.BusinessDocumentAddressMultiDTO;
|
import com.mhd.oms.interfaces.dto.businessDocumentAddressMulti.BusinessDocumentAddressMultiDTO;
|
||||||
import com.mhd.oms.interfaces.dto.businessDocumentCargoMulti.BusinessDocumentCargoMultiDTO;
|
import com.mhd.oms.interfaces.dto.businessDocumentCargoMulti.BusinessDocumentCargoMultiDTO;
|
||||||
@@ -76,6 +80,9 @@ public class BusinessDocumentOrderDomainService {
|
|||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private BusinessDeliveryDetailsLinkMapper businessDeliveryDetailsLinkMapper;
|
private BusinessDeliveryDetailsLinkMapper businessDeliveryDetailsLinkMapper;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private ReservationStockOutOrderMapper reservationStockOutOrderMapper;
|
||||||
/**
|
/**
|
||||||
* 分页查询【请填写功能名称】列表
|
* 分页查询【请填写功能名称】列表
|
||||||
*/
|
*/
|
||||||
@@ -221,6 +228,11 @@ public class BusinessDocumentOrderDomainService {
|
|||||||
|
|
||||||
tmsOrder.setGoodsNumber(OrderSequence.getOrderCode());
|
tmsOrder.setGoodsNumber(OrderSequence.getOrderCode());
|
||||||
}
|
}
|
||||||
|
ReservationStockOutOrder reservationStockOutOrder = reservationStockOutOrderMapper.selectOne(new LambdaQueryWrapper<ReservationStockOutOrder>().eq(ReservationStockOutOrder::getOutOrderNumber, tmsOrder.getInOrderNumber()));
|
||||||
|
if (reservationStockOutOrder != null){
|
||||||
|
reservationStockOutOrder.setBusinessNumber(tmsOrder.getGoodsNumber());
|
||||||
|
reservationStockOutOrderMapper.updateById(reservationStockOutOrder);
|
||||||
|
}
|
||||||
List<BusinessDocumentAddressMultiDTO> loadingAddressList = businessDocumentOrderDO.getLoadingAddressList();//装货地信息集合
|
List<BusinessDocumentAddressMultiDTO> loadingAddressList = businessDocumentOrderDO.getLoadingAddressList();//装货地信息集合
|
||||||
List<BusinessDocumentAddressMultiDTO> unloadAddressList = businessDocumentOrderDO.getUnloadAddressList();//卸货地信息集合
|
List<BusinessDocumentAddressMultiDTO> unloadAddressList = businessDocumentOrderDO.getUnloadAddressList();//卸货地信息集合
|
||||||
String loadCityCounty="",unloadCityCounty="";
|
String loadCityCounty="",unloadCityCounty="";
|
||||||
@@ -340,8 +352,8 @@ public class BusinessDocumentOrderDomainService {
|
|||||||
} else {
|
} else {
|
||||||
tmsOrder.setSplicingOrderType(0L); // 普通单
|
tmsOrder.setSplicingOrderType(0L); // 普通单
|
||||||
}
|
}
|
||||||
//一小时候后
|
//一天后
|
||||||
tmsOrder.setDocumentDate(DateUtils.addHours(new Date(), 1));
|
tmsOrder.setDocumentDate(DateUtils.addHours(new Date(), 24));
|
||||||
|
|
||||||
boolean istrue = businessDocumentOrderMapper.insert(tmsOrder) > 0;
|
boolean istrue = businessDocumentOrderMapper.insert(tmsOrder) > 0;
|
||||||
|
|
||||||
|
|||||||
+11
-1
@@ -7,6 +7,8 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|||||||
import com.mhd.common.core.domain.dto.wlhy.TmsAddressMultiDTO;
|
import com.mhd.common.core.domain.dto.wlhy.TmsAddressMultiDTO;
|
||||||
import com.mhd.common.core.domain.dto.wlhy.TmsCargoInfoDTO;
|
import com.mhd.common.core.domain.dto.wlhy.TmsCargoInfoDTO;
|
||||||
import com.mhd.common.core.domain.dto.wlhy.TmsOrderAccount;
|
import com.mhd.common.core.domain.dto.wlhy.TmsOrderAccount;
|
||||||
|
import com.mhd.oms.domain.businessDeliveryDetailsLink.entity.BusinessDeliveryDetailsLink;
|
||||||
|
import com.mhd.oms.domain.businessDeliveryDetailsLink.repository.mapper.BusinessDeliveryDetailsLinkMapper;
|
||||||
import com.mhd.system.api.domain.TmsOrderAddDTO;
|
import com.mhd.system.api.domain.TmsOrderAddDTO;
|
||||||
import com.mhd.common.core.domain.entity.TmsOrder;
|
import com.mhd.common.core.domain.entity.TmsOrder;
|
||||||
import com.mhd.common.core.exception.ServiceException;
|
import com.mhd.common.core.exception.ServiceException;
|
||||||
@@ -69,6 +71,8 @@ public class ExecuteOrderImpl extends ServiceImpl<ExecuteOrderMapper, ExecuteOrd
|
|||||||
private WlhyServiceFeign wlhyServiceFeign;
|
private WlhyServiceFeign wlhyServiceFeign;
|
||||||
@Autowired
|
@Autowired
|
||||||
private BusinessOrderAccountMapper businessOrderAccountMapper;
|
private BusinessOrderAccountMapper businessOrderAccountMapper;
|
||||||
|
@Autowired
|
||||||
|
private BusinessDeliveryDetailsLinkMapper businessDeliveryDetailsLinkMapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询【请填写功能名称】列表
|
* 查询【请填写功能名称】列表
|
||||||
@@ -207,7 +211,13 @@ public class ExecuteOrderImpl extends ServiceImpl<ExecuteOrderMapper, ExecuteOrd
|
|||||||
tmsOrderAddDTO.setOrderSource("0");
|
tmsOrderAddDTO.setOrderSource("0");
|
||||||
tmsOrderAddDTO.setOrganizationId(organizationId);
|
tmsOrderAddDTO.setOrganizationId(organizationId);
|
||||||
tmsOrderAddDTO.setLoginUser(loginUser);
|
tmsOrderAddDTO.setLoginUser(loginUser);
|
||||||
|
BusinessDeliveryDetailsLink businessDeliveryDetailsLink = businessDeliveryDetailsLinkMapper.selectOne(new LambdaQueryWrapper<BusinessDeliveryDetailsLink>().eq(BusinessDeliveryDetailsLink::getSubOrderId, businessDocumentOrder.getId()));
|
||||||
|
if (ObjectUtil.isNotNull(businessDeliveryDetailsLink)) {
|
||||||
|
Integer bag = businessDeliveryDetailsLink.getBag();
|
||||||
|
Integer box = businessDeliveryDetailsLink.getBox();
|
||||||
|
//相加
|
||||||
|
tmsOrderAddDTO.setGoodsName(String.valueOf(bag + box));
|
||||||
|
}
|
||||||
|
|
||||||
tmsOrderAddDTO.setOrganizationName(orgName);
|
tmsOrderAddDTO.setOrganizationName(orgName);
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -216,7 +216,7 @@ public class ExecuteOrderPO extends BaseVOEntity{
|
|||||||
|
|
||||||
@ApiModelProperty("主单业务单号")
|
@ApiModelProperty("主单业务单号")
|
||||||
@Excel(name = "主单业务单号")
|
@Excel(name = "主单业务单号")
|
||||||
private String mainOrderNumber;
|
private String mainOrderNum;
|
||||||
|
|
||||||
@ApiModelProperty("卸货联系人")
|
@ApiModelProperty("卸货联系人")
|
||||||
@Excel(name = "卸货联系人")
|
@Excel(name = "卸货联系人")
|
||||||
|
|||||||
+4
@@ -478,4 +478,8 @@ public class ReservationStockOutOrder extends BaseVOEntity {
|
|||||||
@Excel(name = "退货数量")
|
@Excel(name = "退货数量")
|
||||||
private BigDecimal returnQuantity;
|
private BigDecimal returnQuantity;
|
||||||
|
|
||||||
|
@ApiModelProperty("运输业务单号")
|
||||||
|
@Excel(name = "运输业务单号")
|
||||||
|
private String businessNumber;
|
||||||
|
|
||||||
}
|
}
|
||||||
+4
@@ -492,4 +492,8 @@ public class ReservationStockOutOrderPO extends BaseVOEntity {
|
|||||||
@Excel(name = "退货数量")
|
@Excel(name = "退货数量")
|
||||||
private BigDecimal returnQuantity;
|
private BigDecimal returnQuantity;
|
||||||
private List<ReservationDeliveryDetailsLink> reservationDeliveryDetailsLinkList;
|
private List<ReservationDeliveryDetailsLink> reservationDeliveryDetailsLinkList;
|
||||||
|
|
||||||
|
@ApiModelProperty("运输业务单号")
|
||||||
|
@Excel(name = "运输业务单号")
|
||||||
|
private String businessNumber;
|
||||||
}
|
}
|
||||||
+4
@@ -527,4 +527,8 @@ public class ReservationStockOutOrderDO extends BaseVOEntity {
|
|||||||
@Excel(name = "退货数量")
|
@Excel(name = "退货数量")
|
||||||
private BigDecimal returnQuantity;
|
private BigDecimal returnQuantity;
|
||||||
private List<ReservationDeliveryDetailsLink> reservationDeliveryDetailsLinkList;
|
private List<ReservationDeliveryDetailsLink> reservationDeliveryDetailsLinkList;
|
||||||
|
|
||||||
|
@ApiModelProperty("运输业务单号")
|
||||||
|
@Excel(name = "运输业务单号")
|
||||||
|
private String businessNumber;
|
||||||
}
|
}
|
||||||
+4
@@ -516,4 +516,8 @@ public class ReservationStockOutOrderDTO extends ReservationStockOutOrderBaseDTO
|
|||||||
@Excel(name = "退货数量")
|
@Excel(name = "退货数量")
|
||||||
private BigDecimal returnQuantity;
|
private BigDecimal returnQuantity;
|
||||||
private List<ReservationDeliveryDetailsLink> reservationDeliveryDetailsLinkList;
|
private List<ReservationDeliveryDetailsLink> reservationDeliveryDetailsLinkList;
|
||||||
|
|
||||||
|
@ApiModelProperty("运输业务单号")
|
||||||
|
@Excel(name = "运输业务单号")
|
||||||
|
private String businessNumber;
|
||||||
}
|
}
|
||||||
+9
-1
@@ -726,7 +726,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
select id from NGWL_TEST_WLHY.TMS_ORDER where EXECUTE_ORDER_NUMBER = #{goodsNumber} and SPLICING_ORDER_TYPE = 1
|
select id from NGWL_TEST_WLHY.TMS_ORDER where EXECUTE_ORDER_NUMBER = #{goodsNumber} and SPLICING_ORDER_TYPE = 1
|
||||||
</select>
|
</select>
|
||||||
<select id="getTmsTransportNote" resultType="com.mhd.system.api.domain.TmsTransportNote">
|
<select id="getTmsTransportNote" resultType="com.mhd.system.api.domain.TmsTransportNote">
|
||||||
select * from NGWL_TEST_WLHY.TMS_TRANSPORT_NOTE where ORDER_ID = #{tmsOrderId}
|
SELECT t.*,
|
||||||
|
(
|
||||||
|
SELECT MAIN_ORDER_NUMBER
|
||||||
|
FROM NGWL_TEST_WLHY.TMS_TRANSPORT_NOTE
|
||||||
|
WHERE ORDER_ID = #{tmsOrderId}
|
||||||
|
LIMIT 1
|
||||||
|
) AS MAIN_TRANSPORTATION_NUMBER
|
||||||
|
FROM NGWL_TEST_WLHY.TMS_TRANSPORT_NOTE t
|
||||||
|
WHERE t.ORDER_ID = #{tmsOrderId}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -112,7 +112,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
a.priority_level_name, a.direct_warehouse, a.review, a.annex_url, a.material_quantity, a.quantity, a.weight_limit, a.volume_limit, a.check_quantity, a.cancel_order, a.cancel_remark, a.cancel_by, a.cancel_by_name,
|
a.priority_level_name, a.direct_warehouse, a.review, a.annex_url, a.material_quantity, a.quantity, a.weight_limit, a.volume_limit, a.check_quantity, a.cancel_order, a.cancel_remark, a.cancel_by, a.cancel_by_name,
|
||||||
a.cancel_time, a.close_order, a.close_remark, a.close_by, a.close_by_name, a.close_time, a.check_status,a.BUSINESS_ORDER_NO,
|
a.cancel_time, a.close_order, a.close_remark, a.close_by, a.close_by_name, a.close_time, a.check_status,a.BUSINESS_ORDER_NO,
|
||||||
a.check_task_distribution, a.check_task_distribution_time, a.check_operators_by, a.check_operators_name, a.mobilize_code,
|
a.check_task_distribution, a.check_task_distribution_time, a.check_operators_by, a.check_operators_name, a.mobilize_code,
|
||||||
a.remark, a.create_time, a.create_by, a.create_by_name,
|
a.remark, a.create_time, a.create_by, a.create_by_name,a.business_number,
|
||||||
a.update_time, a.update_by, a.update_by_name, a.del_flag, over_stock_id, over_stock_status, over_stock_type,a."TO",
|
a.update_time, a.update_by, a.update_by_name, a.del_flag, over_stock_id, over_stock_status, over_stock_type,a."TO",
|
||||||
a.CONTACT_PERSON,a.VEHICLE_MODEL_PLATE,a.ENTRUST_NO,a.TEL,a.DRIVER_SIGN,a.FAX,a.DECLARE_CUSTOMS,a.MANUFACTURER,
|
a.CONTACT_PERSON,a.VEHICLE_MODEL_PLATE,a.ENTRUST_NO,a.TEL,a.DRIVER_SIGN,a.FAX,a.DECLARE_CUSTOMS,a.MANUFACTURER,
|
||||||
a.CUSTOMS_DECLARER_INFO,a.DELIVERY_ADDR,a.ENTRY_EXIT_CUSTOMS,a.DEPARTURE_ARRIVAL_COUNTRY,a.CARRIER,a.CONTAINER_NO,a.CONTAINER_NO_NAME,a.OUTBOUND_DATE,
|
a.CUSTOMS_DECLARER_INFO,a.DELIVERY_ADDR,a.ENTRY_EXIT_CUSTOMS,a.DEPARTURE_ARRIVAL_COUNTRY,a.CARRIER,a.CONTAINER_NO,a.CONTAINER_NO_NAME,a.OUTBOUND_DATE,
|
||||||
|
|||||||
Reference in New Issue
Block a user