|
|
@@ -747,6 +747,24 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
|
|
|
}
|
|
|
seaContainerNumberItemService.saveOrUpdateBatch(bills.getContainerNumberItemList());
|
|
|
}
|
|
|
+ if (ObjectUtils.isNotNull(bills.getContainersList())) {
|
|
|
+ for (Containers item : bills.getContainersList()) {
|
|
|
+ item.setPid(bills.getId());
|
|
|
+ if (item.getId() == null) {
|
|
|
+ item.setCreateTime(new Date());
|
|
|
+ item.setCreateUser(AuthUtil.getUserId());
|
|
|
+ item.setCreateUserName(AuthUtil.getUserName());
|
|
|
+ if (ObjectUtils.isNotNull(AuthUtil.getDeptId())) {
|
|
|
+ item.setCreateDeptName(deptName);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ item.setUpdateUser(AuthUtil.getUserId());
|
|
|
+ item.setUpdateTime(new Date());
|
|
|
+ item.setUpdateUserName(AuthUtil.getUserName());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ containersService.saveOrUpdateBatch(bills.getContainersList());
|
|
|
+ }
|
|
|
//应结日期计算
|
|
|
if ("SE".equals(bills.getBusinessType())) {
|
|
|
bills.setDueDate(this.dueDate(bills));
|
|
|
@@ -1270,9 +1288,9 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
|
|
|
BigDecimal amountDrLoc = bills.getAmountDrLoc();
|
|
|
BigDecimal amountCrLoc = bills.getAmountCrLoc();
|
|
|
BigDecimal amountProfitLoc = bills.getAmountProfitLoc();*/
|
|
|
- BigDecimal grossWeight = bills.getGrossWeight();
|
|
|
- BigDecimal quantity = bills.getQuantity();
|
|
|
- BigDecimal measurement = bills.getMeasurement();
|
|
|
+ BigDecimal grossWeight = new BigDecimal("0.00");
|
|
|
+ BigDecimal quantity = new BigDecimal("0.00");
|
|
|
+ BigDecimal measurement = new BigDecimal("0.00");
|
|
|
Integer teuTotal = bills.getTeuTotal();
|
|
|
String marks = "";
|
|
|
String commodityDescr = "";
|
|
|
@@ -1304,6 +1322,15 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
|
|
|
bills.setAmountDrLoc(amountDrLoc);
|
|
|
bills.setAmountCrLoc(amountCrLoc);
|
|
|
bills.setAmountProfitLoc(amountProfitLoc);*/
|
|
|
+ List<Bills> billsListF = baseMapper.selectList(new LambdaQueryWrapper<Bills>()
|
|
|
+ .eq(Bills::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(Bills::getIsDeleted, 0)
|
|
|
+ .eq(Bills::getMasterId, id));
|
|
|
+ if (!billsListF.isEmpty()){
|
|
|
+ grossWeight = grossWeight.add(billsListF.stream().map(Bills::getGrossWeight).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ quantity = quantity.add(billsListF.stream().map(Bills::getQuantity).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ measurement = measurement.add(billsListF.stream().map(Bills::getMeasurement).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ }
|
|
|
bills.setGrossWeight(grossWeight);
|
|
|
bills.setQuantity(quantity);
|
|
|
bills.setMeasurement(measurement);
|
|
|
@@ -4128,6 +4155,7 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
|
|
|
Bills copyBills = new Bills();
|
|
|
BeanUtil.copyProperties(detail, copyBills);
|
|
|
copyBills.setTemporaryId(detail.getId());
|
|
|
+ copyBills.setTemporaryNo(detail.getBillNo());
|
|
|
copyBills.setId(null);
|
|
|
BusinessBillNo businessBillNo = new BusinessBillNo();
|
|
|
businessBillNo.setBusinessTypeId(businessType.getId());
|
|
|
@@ -4551,6 +4579,94 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
|
|
|
return R.data("操作成功");
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public Bills copyBillsBooking(Bills bills) {
|
|
|
+ if (bills.getId() == null) {
|
|
|
+ throw new SecurityException("缺少必要参数");
|
|
|
+ }
|
|
|
+ Bills detail = baseMapper.selectById(bills.getId());
|
|
|
+ SeaBillsDetail seaBillsDetail = seaBillsDetailService.getOne(new LambdaQueryWrapper<SeaBillsDetail>()
|
|
|
+ .eq(SeaBillsDetail::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(SeaBillsDetail::getPid, detail.getId()));
|
|
|
+ if (seaBillsDetail != null) {
|
|
|
+ seaBillsDetail.setId(null);
|
|
|
+ } else {
|
|
|
+ seaBillsDetail = new SeaBillsDetail();
|
|
|
+ }
|
|
|
+ detail.setDetail(seaBillsDetail);
|
|
|
+ List<PreContainers> preContainersList = preContainersService.list(new LambdaQueryWrapper<PreContainers>()
|
|
|
+ .eq(PreContainers::getIsDeleted, 0)
|
|
|
+ .eq(PreContainers::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(PreContainers::getPid, detail.getId()));
|
|
|
+ for (PreContainers item : preContainersList) {
|
|
|
+ item.setPid(null);
|
|
|
+ item.setId(null);
|
|
|
+ item.setContainerNumberStatus("录入");
|
|
|
+ }
|
|
|
+ Bills copyBills = new Bills();
|
|
|
+ BeanUtil.copyProperties(detail, copyBills);
|
|
|
+ copyBills.setId(null);
|
|
|
+ copyBills.setIssueStatus("0");
|
|
|
+ copyBills.setBillNo("");
|
|
|
+ copyBills.setMblno("");
|
|
|
+ copyBills.setHblno("");
|
|
|
+ copyBills.setRefno("");
|
|
|
+ copyBills.setBookingNo("");
|
|
|
+ copyBills.setMasterBillNo(null);
|
|
|
+ copyBills.setMasterId(null);
|
|
|
+ copyBills.setSplitOrderSum(0);
|
|
|
+ copyBills.setTeuTotal(0);
|
|
|
+ copyBills.setStatus(0);
|
|
|
+ copyBills.setBillStatus(0);
|
|
|
+ copyBills.setBillingStatus(0);
|
|
|
+ copyBills.setWhetherSail(null);
|
|
|
+ copyBills.setLogisticsStatus(null);
|
|
|
+ copyBills.setWhetherReachHarbor(null);
|
|
|
+ copyBills.setWhetherCancel(null);
|
|
|
+ copyBills.setTransferOrderStatus(null);
|
|
|
+ copyBills.setChangeOrderDate(null);
|
|
|
+ copyBills.setReturnDate(null);
|
|
|
+ copyBills.setReturnEmptyDate(null);
|
|
|
+ copyBills.setClearanceDate(null);
|
|
|
+ copyBills.setReceiveStatus(null);
|
|
|
+ copyBills.setChangeOrdersStatus(null);
|
|
|
+ copyBills.setReturningSecurityMoneyStatus(null);
|
|
|
+ copyBills.setAmountDr(new BigDecimal("0.00"));
|
|
|
+ copyBills.setAmountCr(new BigDecimal("0.00"));
|
|
|
+ copyBills.setAmountProfit(new BigDecimal("0.00"));
|
|
|
+ copyBills.setAmountDrUsd(new BigDecimal("0.00"));
|
|
|
+ copyBills.setAmountCrUsd(new BigDecimal("0.00"));
|
|
|
+ copyBills.setAmountProfitUsd(new BigDecimal("0.00"));
|
|
|
+ copyBills.setAmountDrLoc(new BigDecimal("0.00"));
|
|
|
+ copyBills.setAmountCrLoc(new BigDecimal("0.00"));
|
|
|
+ copyBills.setAmountProfitLoc(new BigDecimal("0.00"));
|
|
|
+ copyBills.setCheckDrStatus(0);
|
|
|
+ copyBills.setCheckDrStatusDescr("未对账");
|
|
|
+ copyBills.setCheckCrStatus(0);
|
|
|
+ copyBills.setCheckCrStatusDescr("未申请");
|
|
|
+ copyBills.setStlDrStatus(0);
|
|
|
+ copyBills.setStlDrStatusDescr("未结");
|
|
|
+ copyBills.setStlCrStatus(0);
|
|
|
+ copyBills.setStlCrStatusDescr("未结");
|
|
|
+ copyBills.setInvoiceDrStatus(0);
|
|
|
+ copyBills.setInvoiceDrStatusDescr("未开");
|
|
|
+ copyBills.setInvoiceCrStatus(0);
|
|
|
+ copyBills.setInvoiceCrStatusDescr("未开");
|
|
|
+ copyBills.setBillStatus(0);
|
|
|
+ copyBills.setAccountStatus(0);
|
|
|
+ copyBills.setSplitOrderSum(0);
|
|
|
+ copyBills.setPreContainersList(preContainersList);
|
|
|
+ copyBills.setCfsQuantity(new BigDecimal("0.00"));
|
|
|
+ copyBills.setCfsGrossWeight(new BigDecimal("0.00"));
|
|
|
+ copyBills.setCfsMeasurement(new BigDecimal("0.00"));
|
|
|
+ copyBills.setContainersList(new ArrayList<>());
|
|
|
+ copyBills.setContainersReportsList(new ArrayList<>());
|
|
|
+ copyBills.setWaitingBoxList(new ArrayList<>());
|
|
|
+ copyBills.setFeeCenterList(new ArrayList<>());
|
|
|
+ copyBills.setFeeCenterAmendList(new ArrayList<>());
|
|
|
+ return copyBills;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 删除海运进出口明细表
|
|
|
*
|