修改业务单bug
This commit is contained in:
@@ -15,7 +15,7 @@ import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
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 {
|
||||
|
||||
|
||||
|
||||
+199
-144
@@ -226,6 +226,7 @@ public class BusinessDocumentOrderImpl extends ServiceImpl<BusinessDocumentOrder
|
||||
subOrder.setUnloadPhone(user.getEmergencyContactPhone());
|
||||
subOrder.setInvoiceNumber(businessDeliveryDetailsLinkDTO.getInvoiceNumber());
|
||||
subOrder.setCustomerNumber(businessDeliveryDetailsLinkDTO.getCustomerNumber());
|
||||
subOrder.setRecipientName(user.getUserName());
|
||||
|
||||
|
||||
businessDocumentOrderMapper.insert(subOrder);
|
||||
@@ -254,7 +255,7 @@ public class BusinessDocumentOrderImpl extends ServiceImpl<BusinessDocumentOrder
|
||||
unloadAddress.setOrganizationName(subOrder.getOrganizationName());
|
||||
unloadAddress.setTopOrganizationId(subOrder.getTopOrganizationId());
|
||||
unloadAddress.setOrderId(String.valueOf(subOrder.getId()));
|
||||
unloadAddress.setAreaCode(userAreaAddress);
|
||||
unloadAddress.setAreaCode(userAreaName);
|
||||
unloadAddress.setAreaName(userAreaName);
|
||||
unloadAddress.setAddress(userAreaAddress);
|
||||
unloadAddress.setContactName(user.getEmergencyContactName());
|
||||
@@ -428,154 +429,52 @@ public class BusinessDocumentOrderImpl extends ServiceImpl<BusinessDocumentOrder
|
||||
}
|
||||
|
||||
if (ObjectUtil.isNotNull(businessDocumentOrder)){
|
||||
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("业务单已生成执行单,请先取消执行单");
|
||||
}
|
||||
|
||||
// 先创建执行单
|
||||
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);
|
||||
// 判断是否为拆单-主单(splicingOrderType == 4)
|
||||
if (businessDocumentOrder.getSplicingOrderType() != null && businessDocumentOrder.getSplicingOrderType() == 4) {
|
||||
// 查询所有子单
|
||||
List<BusinessDocumentOrder> subOrders = businessDocumentOrderMapper.selectList(
|
||||
new LambdaQueryWrapper<BusinessDocumentOrder>()
|
||||
.eq(BusinessDocumentOrder::getMainOrderId, String.valueOf(id))
|
||||
.eq(BusinessDocumentOrder::getDelFlag, 1)
|
||||
);
|
||||
|
||||
//下发到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>();
|
||||
|
||||
if(ObjectUtil.isNotNull(businessDocumentOrder)){
|
||||
BeanUtils.copyProperties(businessDocumentOrder,tmsOrderAddDTO);
|
||||
tmsOrderAddDTO.setExecuteOrderId(String.valueOf(executeOrderId));
|
||||
tmsOrderAddDTO.setExecuteOrderNumber(executeOrder.getGoodsNumber());
|
||||
|
||||
//货物信息
|
||||
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);
|
||||
if (subOrders != null && !subOrders.isEmpty()) {
|
||||
// 执行并下发所有子单
|
||||
for (BusinessDocumentOrder subOrder : subOrders) {
|
||||
// 检查子单是否已生成执行单
|
||||
ExecuteOrder subExecuteOrder = executeOrderMapper.selectOne(
|
||||
new LambdaQueryWrapper<ExecuteOrder>()
|
||||
.eq(ExecuteOrder::getBusinessDocumentId, subOrder.getId())
|
||||
.eq(ExecuteOrder::getDelFlag, 1)
|
||||
.last("LIMIT 1")
|
||||
);
|
||||
|
||||
if (ObjectUtil.isNotNull(subExecuteOrder)) {
|
||||
continue; // 子单已执行,跳过
|
||||
}
|
||||
|
||||
// 执行并下发子单
|
||||
executeAndIssueSingleOrder(subOrder, loginUser, organizationId, orgName);
|
||||
}
|
||||
|
||||
//装货地址信息
|
||||
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());
|
||||
}
|
||||
// 更新主单状态
|
||||
businessDocumentOrder.setExecuteId(loginUser.getUserid());
|
||||
businessDocumentOrder.setExecuteStatus(2L);
|
||||
businessDocumentOrder.setExecuteTime(new Date());
|
||||
businessDocumentOrder.setExecutor(loginUser.getUsername());
|
||||
businessDocumentOrder.setOrderStatus(2L);
|
||||
businessDocumentOrderMapper.updateById(businessDocumentOrder);
|
||||
}
|
||||
} 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
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
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.reservationOrder.entity.ReservationOrder;
|
||||
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.BusinessDocumentAddressMultiDTO;
|
||||
import com.mhd.oms.interfaces.dto.businessDocumentCargoMulti.BusinessDocumentCargoMultiDTO;
|
||||
@@ -76,6 +80,9 @@ public class BusinessDocumentOrderDomainService {
|
||||
|
||||
@Resource
|
||||
private BusinessDeliveryDetailsLinkMapper businessDeliveryDetailsLinkMapper;
|
||||
|
||||
@Resource
|
||||
private ReservationStockOutOrderMapper reservationStockOutOrderMapper;
|
||||
/**
|
||||
* 分页查询【请填写功能名称】列表
|
||||
*/
|
||||
@@ -221,6 +228,11 @@ public class BusinessDocumentOrderDomainService {
|
||||
|
||||
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> unloadAddressList = businessDocumentOrderDO.getUnloadAddressList();//卸货地信息集合
|
||||
String loadCityCounty="",unloadCityCounty="";
|
||||
@@ -340,8 +352,8 @@ public class BusinessDocumentOrderDomainService {
|
||||
} else {
|
||||
tmsOrder.setSplicingOrderType(0L); // 普通单
|
||||
}
|
||||
//一小时候后
|
||||
tmsOrder.setDocumentDate(DateUtils.addHours(new Date(), 1));
|
||||
//一天后
|
||||
tmsOrder.setDocumentDate(DateUtils.addHours(new Date(), 24));
|
||||
|
||||
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.TmsCargoInfoDTO;
|
||||
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.common.core.domain.entity.TmsOrder;
|
||||
import com.mhd.common.core.exception.ServiceException;
|
||||
@@ -69,6 +71,8 @@ public class ExecuteOrderImpl extends ServiceImpl<ExecuteOrderMapper, ExecuteOrd
|
||||
private WlhyServiceFeign wlhyServiceFeign;
|
||||
@Autowired
|
||||
private BusinessOrderAccountMapper businessOrderAccountMapper;
|
||||
@Autowired
|
||||
private BusinessDeliveryDetailsLinkMapper businessDeliveryDetailsLinkMapper;
|
||||
|
||||
/**
|
||||
* 查询【请填写功能名称】列表
|
||||
@@ -207,7 +211,13 @@ public class ExecuteOrderImpl extends ServiceImpl<ExecuteOrderMapper, ExecuteOrd
|
||||
tmsOrderAddDTO.setOrderSource("0");
|
||||
tmsOrderAddDTO.setOrganizationId(organizationId);
|
||||
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);
|
||||
|
||||
|
||||
+1
-1
@@ -216,7 +216,7 @@ public class ExecuteOrderPO extends BaseVOEntity{
|
||||
|
||||
@ApiModelProperty("主单业务单号")
|
||||
@Excel(name = "主单业务单号")
|
||||
private String mainOrderNumber;
|
||||
private String mainOrderNum;
|
||||
|
||||
@ApiModelProperty("卸货联系人")
|
||||
@Excel(name = "卸货联系人")
|
||||
|
||||
+4
@@ -478,4 +478,8 @@ public class ReservationStockOutOrder extends BaseVOEntity {
|
||||
@Excel(name = "退货数量")
|
||||
private BigDecimal returnQuantity;
|
||||
|
||||
@ApiModelProperty("运输业务单号")
|
||||
@Excel(name = "运输业务单号")
|
||||
private String businessNumber;
|
||||
|
||||
}
|
||||
+4
@@ -492,4 +492,8 @@ public class ReservationStockOutOrderPO extends BaseVOEntity {
|
||||
@Excel(name = "退货数量")
|
||||
private BigDecimal returnQuantity;
|
||||
private List<ReservationDeliveryDetailsLink> reservationDeliveryDetailsLinkList;
|
||||
|
||||
@ApiModelProperty("运输业务单号")
|
||||
@Excel(name = "运输业务单号")
|
||||
private String businessNumber;
|
||||
}
|
||||
+4
@@ -527,4 +527,8 @@ public class ReservationStockOutOrderDO extends BaseVOEntity {
|
||||
@Excel(name = "退货数量")
|
||||
private BigDecimal returnQuantity;
|
||||
private List<ReservationDeliveryDetailsLink> reservationDeliveryDetailsLinkList;
|
||||
|
||||
@ApiModelProperty("运输业务单号")
|
||||
@Excel(name = "运输业务单号")
|
||||
private String businessNumber;
|
||||
}
|
||||
+4
@@ -516,4 +516,8 @@ public class ReservationStockOutOrderDTO extends ReservationStockOutOrderBaseDTO
|
||||
@Excel(name = "退货数量")
|
||||
private BigDecimal returnQuantity;
|
||||
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>
|
||||
<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>
|
||||
|
||||
|
||||
|
||||
+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.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.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.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,
|
||||
|
||||
Reference in New Issue
Block a user