|
|
@@ -801,36 +801,48 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
|
|
|
boolean statusAtd = false;
|
|
|
boolean statusAta = false;
|
|
|
if ("SE".equals(bills.getBusinessType())) {
|
|
|
+ if (ObjectUtils.isNull(details.getEtd()) && ObjectUtils.isNotNull(bills.getEtd())){
|
|
|
+ statusEtd = true;
|
|
|
+ }
|
|
|
if (ObjectUtils.isNotNull(details.getEtd()) && !details.getEtd().equals(bills.getEtd())) {
|
|
|
statusEtd = true;
|
|
|
}
|
|
|
+ if (ObjectUtils.isNull(details.getActualEtd()) && ObjectUtils.isNotNull(bills.getActualEtd())){
|
|
|
+ statusEtd = true;
|
|
|
+ }
|
|
|
if (ObjectUtils.isNotNull(details.getActualEtd()) && !details.getActualEtd().equals(bills.getActualEtd())) {
|
|
|
statusAtd = true;
|
|
|
}
|
|
|
} else if ("SI".equals(bills.getBusinessType())) {
|
|
|
+ if (ObjectUtils.isNull(details.getEta()) && ObjectUtils.isNotNull(bills.getEta())){
|
|
|
+ statusEtd = true;
|
|
|
+ }
|
|
|
if (ObjectUtils.isNotNull(details.getEta()) && !details.getEta().equals(bills.getEta())) {
|
|
|
statusEta = true;
|
|
|
}
|
|
|
+ if (ObjectUtils.isNull(details.getActualEta()) && ObjectUtils.isNotNull(bills.getActualEta())){
|
|
|
+ statusEtd = true;
|
|
|
+ }
|
|
|
if (ObjectUtils.isNotNull(details.getActualEta()) && !details.getActualEta().equals(bills.getActualEta())) {
|
|
|
statusAta = true;
|
|
|
}
|
|
|
}
|
|
|
- boolean statusVessel = ObjectUtils.isNotNull(details.getVesselId()) && !details.getVesselId().equals(bills.getVesselId());
|
|
|
- boolean statusVoyageNo = ObjectUtils.isNotNull(details.getVoyageNo()) && !details.getVoyageNo().equals(bills.getVoyageNo());
|
|
|
- boolean statusMblno = ObjectUtils.isNotNull(details.getMblno()) && !details.getMblno().equals(bills.getMblno());
|
|
|
- boolean statusPolId = ObjectUtils.isNotNull(details.getPolId()) && !details.getPolId().equals(bills.getPolId());
|
|
|
- boolean statusPodId = ObjectUtils.isNotNull(details.getPodId()) && !details.getPodId().equals(bills.getPodId());
|
|
|
- boolean statusCyTrailerTime = ObjectUtils.isNotNull(details.getCyTrailerTime()) && !details.getCyTrailerTime().equals(bills.getCyTrailerTime());
|
|
|
- boolean statusCyReturnTime = ObjectUtils.isNotNull(details.getCyReturnTime()) && !details.getCyReturnTime().equals(bills.getCyReturnTime());
|
|
|
- boolean bookingDate = ObjectUtils.isNotNull(details.getBookingDate()) && !details.getBookingDate().equals(bills.getBookingDate());
|
|
|
- boolean statusLineId = ObjectUtils.isNotNull(details.getLineId()) && !details.getLineId().equals(bills.getLineId());
|
|
|
- boolean statusForwarding = ObjectUtils.isNotNull(details.getForwarding()) && !details.getForwarding().equals(bills.getForwarding());
|
|
|
- boolean statusBookingAgentId = ObjectUtils.isNotNull(details.getBookingAgentId()) && !details.getBookingAgentId().equals(bills.getBookingAgentId());
|
|
|
- boolean shippingAgencyId = ObjectUtils.isNotNull(details.getShippingAgencyId()) && !details.getShippingAgencyId().equals(bills.getShippingAgencyId());
|
|
|
- boolean carrierId = ObjectUtils.isNotNull(details.getCarrierId()) && !details.getCarrierId().equals(bills.getCarrierId());
|
|
|
- boolean foreignAgencyId = ObjectUtils.isNotNull(details.getForeignAgencyId()) && !details.getForeignAgencyId().equals(bills.getForeignAgencyId());
|
|
|
- boolean issueDate = ObjectUtils.isNotNull(details.getIssueDate()) && !details.getIssueDate().equals(bills.getIssueDate());
|
|
|
- boolean boxBelongsTo = ObjectUtils.isNotNull(details.getBoxBelongsTo()) && !details.getBoxBelongsTo().equals(bills.getBoxBelongsTo());
|
|
|
+ boolean statusVessel = ObjectUtils.isNotNull(bills.getVesselId()) && !bills.getVesselId().equals(details.getVesselId());
|
|
|
+ boolean statusVoyageNo = ObjectUtils.isNotNull(bills.getVoyageNo()) && !bills.getVoyageNo().equals(details.getVoyageNo());
|
|
|
+ boolean statusMblno = ObjectUtils.isNotNull(bills.getMblno()) && !bills.getMblno().equals(details.getMblno());
|
|
|
+ boolean statusPolId = ObjectUtils.isNotNull(bills.getPolId()) && !bills.getPolId().equals(details.getPolId());
|
|
|
+ boolean statusPodId = ObjectUtils.isNotNull(bills.getPodId()) && !bills.getPodId().equals(details.getPodId());
|
|
|
+ boolean statusCyTrailerTime = ObjectUtils.isNotNull(bills.getCyTrailerTime()) && !bills.getCyTrailerTime().equals(details.getCyTrailerTime());
|
|
|
+ boolean statusCyReturnTime = ObjectUtils.isNotNull(bills.getCyReturnTime()) && !bills.getCyReturnTime().equals(details.getCyReturnTime());
|
|
|
+ boolean bookingDate = ObjectUtils.isNotNull(bills.getBookingDate()) && !bills.getBookingDate().equals(details.getBookingDate());
|
|
|
+ boolean statusLineId = ObjectUtils.isNotNull(bills.getLineId()) && !bills.getLineId().equals(details.getLineId());
|
|
|
+ boolean statusForwarding = ObjectUtils.isNotNull(bills.getForwarding()) && !bills.getForwarding().equals(details.getForwarding());
|
|
|
+ boolean statusBookingAgentId = ObjectUtils.isNotNull(bills.getBookingAgentId()) && !bills.getBookingAgentId().equals(details.getBookingAgentId());
|
|
|
+ boolean shippingAgencyId = ObjectUtils.isNotNull(bills.getShippingAgencyId()) && !bills.getShippingAgencyId().equals(details.getShippingAgencyId());
|
|
|
+ boolean carrierId = ObjectUtils.isNotNull(bills.getCarrierId()) && !bills.getCarrierId().equals(details.getCarrierId());
|
|
|
+ boolean foreignAgencyId = ObjectUtils.isNotNull(bills.getForeignAgencyId()) && !bills.getForeignAgencyId().equals(details.getForeignAgencyId());
|
|
|
+ boolean issueDate = ObjectUtils.isNotNull(bills.getIssueDate()) && !bills.getIssueDate().equals(details.getIssueDate());
|
|
|
+ boolean boxBelongsTo = ObjectUtils.isNotNull(bills.getBoxBelongsTo()) && !bills.getBoxBelongsTo().equals(details.getBoxBelongsTo());
|
|
|
if (statusEtd || statusEta || statusAtd || statusAta || statusVessel || statusVoyageNo || statusMblno || statusPolId
|
|
|
|| statusPodId || statusCyTrailerTime || statusCyReturnTime || statusLineId || statusForwarding || statusBookingAgentId
|
|
|
|| shippingAgencyId || bookingDate || carrierId || foreignAgencyId || issueDate || boxBelongsTo) {
|
|
|
@@ -2631,6 +2643,23 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
|
|
|
detail.setShippingStaffId(bills.getShippingStaffId());
|
|
|
detail.setShippingStaffName(bills.getShippingStaffName());
|
|
|
baseMapper.updateById(detail);
|
|
|
+ if ("MM".equals(detail.getBillType())){
|
|
|
+ List<Bills> billsList = baseMapper.selectList(new LambdaQueryWrapper<Bills>()
|
|
|
+ .eq(Bills::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(Bills::getIsDeleted, 0)
|
|
|
+ .eq(Bills::getMasterId, bills.getId()));
|
|
|
+ if (!billsList.isEmpty()){
|
|
|
+ for (Bills item : billsList){
|
|
|
+ item.setLogisticsStatus("已提交");
|
|
|
+ item.setUpdateUser(AuthUtil.getUserId());
|
|
|
+ item.setUpdateUserName(AuthUtil.getUserName());
|
|
|
+ item.setUpdateTime(new Date());
|
|
|
+ item.setShippingStaffId(bills.getShippingStaffId());
|
|
|
+ item.setShippingStaffName(bills.getShippingStaffName());
|
|
|
+ }
|
|
|
+ this.updateBatchById(billsList);
|
|
|
+ }
|
|
|
+ }
|
|
|
LocalDateTime now = LocalDateTime.now();
|
|
|
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
|
|
String formatted = now.format(formatter);
|
|
|
@@ -2707,6 +2736,23 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
|
|
|
detail.setShippingStaffId(null);
|
|
|
detail.setShippingStaffName("");
|
|
|
baseMapper.updateById(detail);
|
|
|
+ if ("MM".equals(detail.getBillType())){
|
|
|
+ List<Bills> billsList = baseMapper.selectList(new LambdaQueryWrapper<Bills>()
|
|
|
+ .eq(Bills::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(Bills::getIsDeleted, 0)
|
|
|
+ .eq(Bills::getMasterId, bills.getId()));
|
|
|
+ if (!billsList.isEmpty()){
|
|
|
+ for (Bills item : billsList){
|
|
|
+ item.setLogisticsStatus("录入");
|
|
|
+ item.setUpdateUser(AuthUtil.getUserId());
|
|
|
+ item.setUpdateUserName(AuthUtil.getUserName());
|
|
|
+ item.setUpdateTime(new Date());
|
|
|
+ item.setShippingStaffId(null);
|
|
|
+ item.setShippingStaffName("");
|
|
|
+ }
|
|
|
+ this.updateBatchById(billsList);
|
|
|
+ }
|
|
|
+ }
|
|
|
return R.data(detail);
|
|
|
}
|
|
|
|
|
|
@@ -2858,6 +2904,17 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
|
|
|
.eq(Bills::getIsDeleted, 0)
|
|
|
.eq(Bills::getMasterId, bills.getId()));
|
|
|
if (!details.isEmpty()) {
|
|
|
+ for (Bills item : details){
|
|
|
+ item.setTransferOrderStatus("已转单");
|
|
|
+ item.setUpdateUser(AuthUtil.getUserId());
|
|
|
+ item.setUpdateUserName(AuthUtil.getUserName());
|
|
|
+ item.setUpdateTime(new Date());
|
|
|
+ item.setPodCompanyId(bills.getPodCompanyId());
|
|
|
+ item.setPodCompanyName(bills.getPodCompanyName());
|
|
|
+ item.setPodStaffId(bills.getPodStaffId());
|
|
|
+ item.setPodStaffName(bills.getPodStaffName());
|
|
|
+ }
|
|
|
+ this.updateBatchById(details);
|
|
|
List<Bills> billsList = new ArrayList<>();
|
|
|
for (Bills item : details) {
|
|
|
item.setOperatorId(bills.getPodStaffId());
|
|
|
@@ -3191,6 +3248,7 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
public R revokeTransferOrder(Bills bills) {
|
|
|
if (bills.getId() == null) {
|
|
|
throw new RuntimeException("缺少必要参数");
|
|
|
@@ -3214,7 +3272,20 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
|
|
|
this.removeItemList(billsJk.getId());
|
|
|
baseMapper.deleteById(billsJk.getId());
|
|
|
//主单应加上分单费用
|
|
|
- if ("MM".equals(billsJk.getBillType())) {
|
|
|
+ if ("MM".equals(detail.getBillType())) {
|
|
|
+ List<Bills> details1 = baseMapper.selectList(new LambdaQueryWrapper<Bills>()
|
|
|
+ .eq(Bills::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(Bills::getIsDeleted, 0)
|
|
|
+ .eq(Bills::getMasterId, detail.getId()));
|
|
|
+ if (!details1.isEmpty()) {
|
|
|
+ for (Bills item : details1) {
|
|
|
+ item.setTransferOrderStatus("录入");
|
|
|
+ item.setUpdateUser(AuthUtil.getUserId());
|
|
|
+ item.setUpdateUserName(AuthUtil.getUserName());
|
|
|
+ item.setUpdateTime(new Date());
|
|
|
+ }
|
|
|
+ this.updateBatchById(details1);
|
|
|
+ }
|
|
|
List<Bills> details = baseMapper.selectList(new LambdaQueryWrapper<Bills>()
|
|
|
.eq(Bills::getTenantId, AuthUtil.getTenantId())
|
|
|
.eq(Bills::getIsDeleted, 0)
|
|
|
@@ -3272,13 +3343,43 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
|
|
|
detail.setUpdateUserName(AuthUtil.getUserName());
|
|
|
detail.setUpdateTime(new Date());
|
|
|
baseMapper.updateById(detail);
|
|
|
- Bills bills1 = baseMapper.selectById(bills.getSrcBusId());
|
|
|
+ Bills bills1 = baseMapper.selectById(detail.getSrcBusId());
|
|
|
if (bills1 != null) {
|
|
|
bills1.setReceiveStatus("已接收");
|
|
|
bills1.setUpdateUser(AuthUtil.getUserId());
|
|
|
bills1.setUpdateUserName(AuthUtil.getUserName());
|
|
|
bills1.setUpdateTime(new Date());
|
|
|
baseMapper.updateById(bills1);
|
|
|
+ if ("MM".equals(bills1.getBillType())){
|
|
|
+ List<Bills> billsList1 = baseMapper.selectList(new LambdaQueryWrapper<Bills>()
|
|
|
+ .eq(Bills::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(Bills::getIsDeleted, 0)
|
|
|
+ .eq(Bills::getMasterId, bills1.getId()));
|
|
|
+ if (!billsList1.isEmpty()){
|
|
|
+ for (Bills item : billsList1){
|
|
|
+ item.setReceiveStatus("已接收");
|
|
|
+ item.setUpdateUser(AuthUtil.getUserId());
|
|
|
+ item.setUpdateUserName(AuthUtil.getUserName());
|
|
|
+ item.setUpdateTime(new Date());
|
|
|
+ }
|
|
|
+ this.updateBatchById(billsList1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if ("MM".equals(detail.getBillType())){
|
|
|
+ List<Bills> billsList = baseMapper.selectList(new LambdaQueryWrapper<Bills>()
|
|
|
+ .eq(Bills::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(Bills::getIsDeleted, 0)
|
|
|
+ .eq(Bills::getMasterId, bills.getId()));
|
|
|
+ if (!billsList.isEmpty()){
|
|
|
+ for (Bills item : billsList){
|
|
|
+ item.setReceiveStatus("已接收");
|
|
|
+ item.setUpdateUser(AuthUtil.getUserId());
|
|
|
+ item.setUpdateUserName(AuthUtil.getUserName());
|
|
|
+ item.setUpdateTime(new Date());
|
|
|
+ }
|
|
|
+ this.updateBatchById(billsList);
|
|
|
+ }
|
|
|
}
|
|
|
return R.data(detail);
|
|
|
}
|
|
|
@@ -3305,6 +3406,36 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
|
|
|
bills1.setUpdateUserName(AuthUtil.getUserName());
|
|
|
bills1.setUpdateTime(new Date());
|
|
|
baseMapper.updateById(bills1);
|
|
|
+ if ("MM".equals(bills1.getBillType())){
|
|
|
+ List<Bills> billsList = baseMapper.selectList(new LambdaQueryWrapper<Bills>()
|
|
|
+ .eq(Bills::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(Bills::getIsDeleted, 0)
|
|
|
+ .eq(Bills::getMasterId, bills1.getId()));
|
|
|
+ if (!billsList.isEmpty()){
|
|
|
+ for (Bills item : billsList){
|
|
|
+ item.setReceiveStatus("录入");
|
|
|
+ item.setUpdateUser(AuthUtil.getUserId());
|
|
|
+ item.setUpdateUserName(AuthUtil.getUserName());
|
|
|
+ item.setUpdateTime(new Date());
|
|
|
+ }
|
|
|
+ this.updateBatchById(billsList);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if ("MM".equals(detail.getBillType())){
|
|
|
+ List<Bills> billsList = baseMapper.selectList(new LambdaQueryWrapper<Bills>()
|
|
|
+ .eq(Bills::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(Bills::getIsDeleted, 0)
|
|
|
+ .eq(Bills::getMasterId, bills.getId()));
|
|
|
+ if (!billsList.isEmpty()){
|
|
|
+ for (Bills item : billsList){
|
|
|
+ item.setReceiveStatus("录入");
|
|
|
+ item.setUpdateUser(AuthUtil.getUserId());
|
|
|
+ item.setUpdateUserName(AuthUtil.getUserName());
|
|
|
+ item.setUpdateTime(new Date());
|
|
|
+ }
|
|
|
+ this.updateBatchById(billsList);
|
|
|
+ }
|
|
|
}
|
|
|
return R.data(detail);
|
|
|
}
|
|
|
@@ -3332,6 +3463,26 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
|
|
|
detail.setUpdateTime(new Date());
|
|
|
detail.setChangeOrderDate(new Date());
|
|
|
baseMapper.updateById(detail);
|
|
|
+ if ("MM".equals(detail.getBillType())){
|
|
|
+ List<Bills> billsList = baseMapper.selectList(new LambdaQueryWrapper<Bills>()
|
|
|
+ .eq(Bills::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(Bills::getIsDeleted, 0)
|
|
|
+ .eq(Bills::getMasterId, bills.getId()));
|
|
|
+ if (!billsList.isEmpty()){
|
|
|
+ for (Bills item : billsList){
|
|
|
+ if ("录入".equals(item.getChangeOrdersStatus())) {
|
|
|
+ item.setChangeOrdersStatus("可换单");
|
|
|
+ } else {
|
|
|
+ item.setChangeOrdersStatus("已换单");
|
|
|
+ }
|
|
|
+ item.setUpdateUser(AuthUtil.getUserId());
|
|
|
+ item.setUpdateUserName(AuthUtil.getUserName());
|
|
|
+ item.setUpdateTime(new Date());
|
|
|
+ item.setChangeOrderDate(new Date());
|
|
|
+ }
|
|
|
+ this.updateBatchById(billsList);
|
|
|
+ }
|
|
|
+ }
|
|
|
return R.data(detail);
|
|
|
}
|
|
|
|
|
|
@@ -3358,6 +3509,26 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
|
|
|
detail.setUpdateTime(new Date());
|
|
|
detail.setChangeOrderDate(null);
|
|
|
baseMapper.updateById(detail);
|
|
|
+ if ("MM".equals(detail.getBillType())){
|
|
|
+ List<Bills> billsList = baseMapper.selectList(new LambdaQueryWrapper<Bills>()
|
|
|
+ .eq(Bills::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(Bills::getIsDeleted, 0)
|
|
|
+ .eq(Bills::getMasterId, bills.getId()));
|
|
|
+ if (!billsList.isEmpty()){
|
|
|
+ for (Bills item : billsList){
|
|
|
+ if ("可换单".equals(item.getChangeOrdersStatus())) {
|
|
|
+ item.setChangeOrdersStatus("录入");
|
|
|
+ } else {
|
|
|
+ item.setChangeOrdersStatus("可换单");
|
|
|
+ }
|
|
|
+ item.setUpdateUser(AuthUtil.getUserId());
|
|
|
+ item.setUpdateUserName(AuthUtil.getUserName());
|
|
|
+ item.setUpdateTime(new Date());
|
|
|
+ item.setChangeOrderDate(null);
|
|
|
+ }
|
|
|
+ this.updateBatchById(billsList);
|
|
|
+ }
|
|
|
+ }
|
|
|
return R.data(detail);
|
|
|
}
|
|
|
|
|
|
@@ -3414,11 +3585,15 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public R checkBillsBatch(String billsIds, String url, String pageStatus, String pageLabel) {
|
|
|
- List<Bills> billsList = baseMapper.selectList(new LambdaQueryWrapper<Bills>()
|
|
|
+ LambdaQueryWrapper<Bills> lambdaQueryWrapper = new LambdaQueryWrapper<Bills>()
|
|
|
.eq(Bills::getTenantId, AuthUtil.getTenantId())
|
|
|
.eq(Bills::getIsDeleted, 0)
|
|
|
.eq(Bills::getBranchId, AuthUtil.getDeptId())
|
|
|
- .apply("find_in_set(id,'" + billsIds + "')"));
|
|
|
+ .apply("find_in_set(id,'" + billsIds + "')");
|
|
|
+ if (!AuthUtil.getUserRole().contains("总部") && !AuthUtil.getUserRole().contains("admin")) {
|
|
|
+ lambdaQueryWrapper.eq(Bills::getBranchId, AuthUtil.getDeptId());
|
|
|
+ }
|
|
|
+ List<Bills> billsList = baseMapper.selectList(lambdaQueryWrapper);
|
|
|
if (billsList.isEmpty()) {
|
|
|
throw new RuntimeException("未查到单据信息");
|
|
|
}
|