|
|
@@ -53,6 +53,8 @@ import org.springblade.los.business.amends.entity.Amends;
|
|
|
import org.springblade.los.business.amends.mapper.AmendsMapper;
|
|
|
import org.springblade.los.business.files.entity.FilesCenter;
|
|
|
import org.springblade.los.business.files.service.IFilesCenterService;
|
|
|
+import org.springblade.los.business.receipt.entity.Receipt;
|
|
|
+import org.springblade.los.business.receipt.service.IReceiptService;
|
|
|
import org.springblade.los.business.release.entity.SeaReleaseBillItems;
|
|
|
import org.springblade.los.business.sea.dto.WaitingBox;
|
|
|
import org.springblade.los.business.sea.entity.*;
|
|
|
@@ -156,6 +158,8 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
|
|
|
|
|
|
private final AmendsMapper amendsMapper;
|
|
|
|
|
|
+ private final IReceiptService receiptService;
|
|
|
+
|
|
|
@Override
|
|
|
public IPage<Bills> selectBillsPage(IPage<Bills> page, Bills bills) {
|
|
|
return page.setRecords(baseMapper.selectBillsPage(page, bills));
|
|
|
@@ -2752,8 +2756,8 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
|
|
|
bills.setEtd(date1);
|
|
|
} else if ("SI".equals(bills.getBusinessType())) {
|
|
|
bills.setActualEta(date1);
|
|
|
+ bills.setBillDate(date1);
|
|
|
}
|
|
|
- bills.setBillDate(date1);
|
|
|
} catch (ParseException e) {
|
|
|
throw new RuntimeException(e);
|
|
|
}
|
|
|
@@ -4582,6 +4586,7 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
|
|
|
}
|
|
|
copyBills.setSiRemarks("");
|
|
|
copyBills.setBusinessType("SE");
|
|
|
+ copyBills.setActualEtd(detail.getEtd());
|
|
|
copyBills.setBusinessTypes("海运");
|
|
|
copyBills.setSeaType("E");
|
|
|
copyBills.setBillType(billType);
|
|
|
@@ -6202,9 +6207,9 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
|
|
|
if (!feeCenterList.isEmpty()) {
|
|
|
BigDecimal amount = feeCenterList.stream().map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
BigDecimal amountStl = feeCenterList.stream().map(FeeCenter::getStlTtlAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
- if (amount.compareTo(amountStl) != 0) {
|
|
|
+ /*if (amount.compareTo(amountStl) != 0) {
|
|
|
throw new RuntimeException("应收金额:" + amount + "实收金额:" + amountStl + "不等,申请失败");
|
|
|
- }
|
|
|
+ }*/
|
|
|
}
|
|
|
LocalDateTime now = LocalDateTime.now();
|
|
|
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
|
|
@@ -6362,46 +6367,95 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
|
|
|
|
|
|
@Override
|
|
|
public R confirmPaymentCollection(Bills bills) {
|
|
|
- if (bills.getId() == null) {
|
|
|
+ if (bills.getIds() == null) {
|
|
|
throw new RuntimeException("缺少必要参数");
|
|
|
}
|
|
|
- Bills detail = baseMapper.selectById(bills.getId());
|
|
|
- if (detail == null) {
|
|
|
+ List<Bills> billsList = baseMapper.selectList(new LambdaQueryWrapper<Bills>()
|
|
|
+ .eq(Bills::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(Bills::getIsDeleted, 0)
|
|
|
+ .in(Bills::getId, Func.toLongList(bills.getIds())));
|
|
|
+ if (billsList.isEmpty()) {
|
|
|
throw new RuntimeException("未查到单据信息");
|
|
|
}
|
|
|
LocalDateTime now = LocalDateTime.now();
|
|
|
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
|
|
String formatted = now.format(formatter);
|
|
|
- //发送消息
|
|
|
- if (ObjectUtils.isNotNull(bills.getOperatorId())) {
|
|
|
- R<User> userR = userClient.userInfoById(bills.getOperatorId());
|
|
|
- if (userR.isSuccess() && ObjectUtils.isNotNull(userR.getData())) {
|
|
|
- User datum = userR.getData();
|
|
|
- Message sendMessage = new Message();
|
|
|
- sendMessage.setParameter(bills.getId() + "");
|
|
|
- sendMessage.setUserName(AuthUtil.getUserName());
|
|
|
- sendMessage.setUserId(null);
|
|
|
- sendMessage.setToUserId(datum.getId());
|
|
|
- sendMessage.setToUserName(datum.getName());
|
|
|
- sendMessage.setMessageType(1);
|
|
|
- sendMessage.setTenantId(AuthUtil.getTenantId());
|
|
|
- sendMessage.setCreateUser(null);
|
|
|
- sendMessage.setCreateTime(new Date());
|
|
|
- sendMessage.setUrl("/iosBasicData/OceanFreightImport/bills/index");
|
|
|
- sendMessage.setPageLabel("海运进口");
|
|
|
- sendMessage.setMessageBody("您的海运进口换单押箱款已收款,请及时待处理!分单号:" + bills.getHblno() + "时间:" + formatted);
|
|
|
- R save = messageClient.save(sendMessage);
|
|
|
- if (!save.isSuccess()) {
|
|
|
- throw new SecurityException("发送消息失败");
|
|
|
+ Receipt receipt = new Receipt();
|
|
|
+ receipt.setCreateTime(new Date());
|
|
|
+ receipt.setCreateUserName(AuthUtil.getUserName());
|
|
|
+ receipt.setCreateUser(AuthUtil.getUserId());
|
|
|
+ receipt.setBranchId(billsList.get(0).getBranchId());
|
|
|
+ receipt.setBranchName(billsList.get(0).getBranchName());
|
|
|
+ receipt.setAmount(billsList.stream().map(Bills::getBoxPackingAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ receipt.setDate(bills.getHarvestBoxPackingDate());
|
|
|
+ receipt.setCorpName(bills.getCorpName());
|
|
|
+ receipt.setChequeNumber(bills.getChequeNumber());
|
|
|
+ BusinessType businessType = bBusinessTypeService.getOne(new LambdaQueryWrapper<BusinessType>()
|
|
|
+ .select(BusinessType::getId)
|
|
|
+ .eq(BusinessType::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(BusinessType::getIsDeleted, 0)
|
|
|
+ .eq(BusinessType::getStatus, 0)
|
|
|
+ .eq(BusinessType::getCode, "YASJ"));
|
|
|
+ if (businessType == null) {
|
|
|
+ throw new RuntimeException("未找到可用业务类型");
|
|
|
+ }
|
|
|
+ BusinessBillNo businessBillNo = new BusinessBillNo();
|
|
|
+ businessBillNo.setBusinessTypeId(businessType.getId());
|
|
|
+ businessBillNo.setCode("YASJ");
|
|
|
+ businessBillNo.setBranchId(receipt.getBranchId());
|
|
|
+ businessBillNo.setDate(receipt.getDate());
|
|
|
+ R clientBillNo = businessBillNoService.getBillNoLos(businessBillNo);
|
|
|
+ if (!clientBillNo.isSuccess()) {
|
|
|
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
|
|
+ return R.fail(500, "生成订单编号失败");
|
|
|
+ }
|
|
|
+ receipt.setBillNo((String) clientBillNo.getData());
|
|
|
+ StringBuilder mblno = new StringBuilder();
|
|
|
+ StringBuilder hblno = new StringBuilder();
|
|
|
+ for (Bills detail : billsList) {
|
|
|
+ mblno.append(detail.getMblno()).append("/").append(detail.getQuantityCntrDescr()).append(",");
|
|
|
+ if (!"MH".equals(detail.getBillType())){
|
|
|
+ hblno.append(detail.getMblno()).append("/").append(detail.getQuantityCntrDescr()).append(",");
|
|
|
+ }else{
|
|
|
+ hblno.append(detail.getHblno()).append("/").append(detail.getQuantityCntrDescr()).append(",");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ receipt.setMblno(mblno.toString());
|
|
|
+ receipt.setHblno(hblno.toString());
|
|
|
+ receiptService.save(receipt);
|
|
|
+ for (Bills detail : billsList) {
|
|
|
+ //发送消息
|
|
|
+ if (ObjectUtils.isNotNull(bills.getOperatorId())) {
|
|
|
+ R<User> userR = userClient.userInfoById(bills.getOperatorId());
|
|
|
+ if (userR.isSuccess() && ObjectUtils.isNotNull(userR.getData())) {
|
|
|
+ User datum = userR.getData();
|
|
|
+ Message sendMessage = new Message();
|
|
|
+ sendMessage.setParameter(bills.getId() + "");
|
|
|
+ sendMessage.setUserName(AuthUtil.getUserName());
|
|
|
+ sendMessage.setUserId(null);
|
|
|
+ sendMessage.setToUserId(datum.getId());
|
|
|
+ sendMessage.setToUserName(datum.getName());
|
|
|
+ sendMessage.setMessageType(1);
|
|
|
+ sendMessage.setTenantId(AuthUtil.getTenantId());
|
|
|
+ sendMessage.setCreateUser(null);
|
|
|
+ sendMessage.setCreateTime(new Date());
|
|
|
+ sendMessage.setUrl("/iosBasicData/OceanFreightImport/bills/index");
|
|
|
+ sendMessage.setPageLabel("海运进口");
|
|
|
+ sendMessage.setMessageBody("您的海运进口换单押箱款已收款,请及时待处理!分单号:" + bills.getHblno() + "时间:" + formatted);
|
|
|
+ R save = messageClient.save(sendMessage);
|
|
|
+ if (!save.isSuccess()) {
|
|
|
+ throw new SecurityException("发送消息失败");
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
+ detail.setHarvestBoxPackingDate(bills.getHarvestBoxPackingDate());
|
|
|
+ detail.setUpdateTime(new Date());
|
|
|
+ detail.setUpdateUser(AuthUtil.getUserId());
|
|
|
+ detail.setUpdateUserName(AuthUtil.getUserName());
|
|
|
+ detail.setIqNo(receipt.getBillNo());
|
|
|
}
|
|
|
- detail.setHarvestBoxPackingDate(bills.getHarvestBoxPackingDate());
|
|
|
- detail.setUpdateTime(new Date());
|
|
|
- detail.setUpdateUser(AuthUtil.getUserId());
|
|
|
- detail.setUpdateUserName(AuthUtil.getUserName());
|
|
|
- baseMapper.updateById(detail);
|
|
|
- return R.data(detail);
|
|
|
+ this.updateBatchById(billsList);
|
|
|
+ return R.data(billsList);
|
|
|
}
|
|
|
|
|
|
@Override
|