Browse Source

2025年2月19日17:37:55

纪新园 10 months ago
parent
commit
4896781245

+ 9 - 0
blade-service-api/blade-los-api/src/main/java/org/springblade/los/business/sea/entity/Bills.java

@@ -672,6 +672,7 @@ public class Bills implements Serializable {
 	 * HB/L 发货人提单描述
 	 */
 	@TableField(exist = false)
+	@LosSpecialHandle(massage = "", space = true, conversion = true)
 	private String hshipperDetails;
 	/**
 	 * HB/L 收货人 id
@@ -697,6 +698,7 @@ public class Bills implements Serializable {
 	 * HB/L 收货人提单描述
 	 */
 	@TableField(exist = false)
+	@LosSpecialHandle(massage = "", space = true, conversion = true)
 	private String hconsigneeDetails;
 	/**
 	 * HB/L 通知人 id
@@ -722,6 +724,7 @@ public class Bills implements Serializable {
 	 * HB/L 通知人提单描述
 	 */
 	@TableField(exist = false)
+	@LosSpecialHandle(massage = "", space = true, conversion = true)
 	private String hnotifyDetails;
 	/**
 	 * HB/L 第二通知人 id
@@ -747,6 +750,7 @@ public class Bills implements Serializable {
 	 * HB/L 第二通知人提单描述
 	 */
 	@TableField(exist = false)
+	@LosSpecialHandle(massage = "", space = true, conversion = true)
 	private String hnotify2Details;
 	/**
 	 * MB/L 付款方式 PP=预付, CC=到付, FPA, Other
@@ -784,6 +788,7 @@ public class Bills implements Serializable {
 	 * MB/L 发货人提单描述
 	 */
 	@TableField(exist = false)
+	@LosSpecialHandle(massage = "", space = true, conversion = true)
 	private String mshipperDetails;
 	/**
 	 * MB/L 收货人 id
@@ -809,6 +814,7 @@ public class Bills implements Serializable {
 	 * MB/L 收货人提单描述
 	 */
 	@TableField(exist = false)
+	@LosSpecialHandle(massage = "", space = true, conversion = true)
 	private String mconsigneeDetails;
 	/**
 	 * MB/L 通知人 id
@@ -834,6 +840,7 @@ public class Bills implements Serializable {
 	 * MB/L 通知人提单描述
 	 */
 	@TableField(exist = false)
+	@LosSpecialHandle(massage = "", space = true, conversion = true)
 	private String mnotifyDetails;
 	/**
 	 * MB/L 第二通知人 id
@@ -859,11 +866,13 @@ public class Bills implements Serializable {
 	 * MB/L 第二通知人提单描述
 	 */
 	@TableField(exist = false)
+	@LosSpecialHandle(massage = "", space = true, conversion = true)
 	private String mnotify2Details;
 	/**
 	 * MB/L Forwarder 描述
 	 */
 	@TableField(exist = false)
+	@LosSpecialHandle(massage = "", space = true, conversion = true)
 	private String mforwarderDetails;
 	/**
 	 * 货物类别 dry=普货 danger=危险品 reefer=冻柜

+ 2 - 0
blade-service/blade-los/src/main/java/org/springblade/los/billno/service/IBusinessBillNoService.java

@@ -63,6 +63,8 @@ public interface IBusinessBillNoService extends IService<BusinessBillNo> {
 
 	void deteleBillNo(Bills item);
 
+	void deteleHblNo(Bills item);
+
 	void deteleBillNoAe(AeaBills item);
 
 	/**

+ 53 - 0
blade-service/blade-los/src/main/java/org/springblade/los/billno/service/impl/BusinessBillNoServiceImpl.java

@@ -397,6 +397,59 @@ public class BusinessBillNoServiceImpl extends ServiceImpl<BusinessBillNoMapper,
 	}
 
 	@Override
+	public void deteleHblNo(Bills item) {
+		String branchId = deptUtils.getDeptPid() + "";
+		String hblno = "";
+		if (ObjectUtils.isNotNull(item.getHblno())) {
+			hblno = item.getHblno().replaceAll("\\D", "");
+		}
+		Date date = new Date();
+		//编码开头
+		String head = "";
+		//编码日期格式
+		String yearMmDd = "";
+		//格式化后日期
+		String yyyyMM = "";
+		List<BillNoSerial> billNoSerialList = billNoSerialService.list(new LambdaQueryWrapper<BillNoSerial>()
+			.eq(BillNoSerial::getTenantId, AuthUtil.getTenantId())
+			.eq(BillNoSerial::getIsDeleted, 0)
+			.like(BillNoSerial::getResetValue, hblno));
+		if (!billNoSerialList.isEmpty()) {
+			BusinessBillNo detail = baseMapper.selectById(billNoSerialList.get(0).getPid());
+			//判断编码格式是否为空
+			if (ObjectUtils.isNotNull(detail.getCodeFormat())) {
+				int index = detail.getCodeFormat().indexOf("%");
+				int indexLast = detail.getCodeFormat().indexOf("%", index + 1);
+				head = detail.getCodeFormat().substring(0, index);
+				yearMmDd = detail.getCodeFormat().substring(index + 1, indexLast);
+			} else {
+				throw new RuntimeException("编码格式为空");
+			}
+			//格式化日期
+			if (ObjectUtils.isNotNull(yearMmDd)) {
+				yyyyMM = DateFormatUtils.format(date, yearMmDd);
+			}
+			if (ObjectUtils.isNotNull(detail) && 1 == detail.getIsRecyclable()) {
+				BillNoCenter billNoCenter = new BillNoCenter();
+				billNoCenter.setBusinessType(detail.getBusinessType());
+				billNoCenter.setBusinessTypeId(detail.getBusinessTypeId());
+				billNoCenter.setPid(detail.getId());
+				billNoCenter.setBillId(item.getId());
+				billNoCenter.setBillNo(item.getBillNo());
+				billNoCenter.setResetRule(detail.getResetRule());
+				billNoCenter.setResetValue(head + yyyyMM);
+				billNoCenter.setTenantId(AuthUtil.getTenantId());
+				billNoCenter.setCreateTime(new Date());
+				billNoCenter.setBranchId(branchId);
+				billNoCenter.setCreateUser(AuthUtil.getUserId());
+				billNoCenter.setCreateUserName(AuthUtil.getUserName());
+				billNoCenter.setCreateDept(AuthUtil.getDeptId());
+				billNoCenterService.save(billNoCenter);
+			}
+		}
+	}
+
+	@Override
 	public void deteleBillNoAe(AeaBills item) {
 		String branchId = deptUtils.getDeptPid() + "";
 		String billNo = "";

+ 10 - 0
blade-service/blade-los/src/main/java/org/springblade/los/business/sea/controller/BillsController.java

@@ -450,6 +450,16 @@ public class BillsController extends BladeController {
 	}
 
 	/**
+	 * 删除 HblNo单号
+	 */
+	@GetMapping("/removeHblNo")
+	@RepeatSubmit
+	public R removeHblNo( @RequestParam("id") Long id) {
+		billsService.removeHblNo(id);
+		return R.data("操作成功");
+	}
+
+	/**
 	 * 申请mblNo
 	 */
 	@PostMapping("/getBillNo")

+ 2 - 0
blade-service/blade-los/src/main/java/org/springblade/los/business/sea/service/IBillsService.java

@@ -160,4 +160,6 @@ public interface IBillsService extends IService<Bills> {
 	R revokeTransferOfPledge(Long id);
 
     R retreatPledge(String ids, String type);
+
+	void removeHblNo(Long id);
 }

+ 9 - 1
blade-service/blade-los/src/main/java/org/springblade/los/business/sea/service/impl/BillsServiceImpl.java

@@ -473,7 +473,7 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 		if (ObjectUtils.isNull(bills.getCfsQuantity()) || bills.getCfsQuantity().compareTo(new BigDecimal("0.00")) == 0) {
 			if (ObjectUtils.isNotNull(bills.getPreContainersList())) {
 				for (PreContainers item : bills.getPreContainersList()) {
-					if (ObjectUtils.isNull(item.getCntrTypeCode())){
+					if (ObjectUtils.isNull(item.getCntrTypeCode())) {
 						throw new RuntimeException("箱型不能为空");
 					}
 					item.setPid(bills.getId());
@@ -3325,4 +3325,12 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 		return R.success("操作成功");
 	}
 
+	@Override
+	public void removeHblNo(Long id) {
+		Bills bills = baseMapper.selectById(id);
+		businessBillNoService.deteleHblNo(bills);
+		bills.setHblno("");
+		baseMapper.updateById(bills);
+	}
+
 }

+ 11 - 2
blade-service/blade-los/src/main/java/org/springblade/los/trade/service/impl/AgentServiceImpl.java

@@ -1747,6 +1747,12 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
 				item.setProfit(item.getAmount().subtract(discountAmount));
 				item.setStlExrate(agent.getExchangeRate());
 			}
+			if ("SXF".contains(item.getFeeCode())) {
+				item.setAmount(agent.getExchangeRate().multiply(item.getAmountLoc()).setScale(2, RoundingMode.HALF_UP));
+				item.setPrice(item.getAmount());
+				BigDecimal discountAmount = item.getDiscountExrate().multiply(item.getAmountLoc()).setScale(2, RoundingMode.HALF_UP);
+				item.setProfit(item.getAmount().subtract(discountAmount));
+			}
 		}
 		BigDecimal amountC = feeCenterList.stream().map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
 		if (new BigDecimal("0").compareTo(amountD) != 0 && amount.compareTo(amountD) == 0) {
@@ -1792,7 +1798,7 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
 					advanceCharge.setAdvancePaymentBalance(advanceCharge.getAdvancePaymentBalance().add(amountSub));
 					advanceCharge.setOutOverpaymen(advanceCharge.getOutOverpaymen().add(amountSub.abs()));
 				} else {
-					System.out.println("无差额");
+					System.err.println("无差额");
 				}
 				agent.setPendingPrepayment(amountSub);
 				advanceChargeService.saveOrUpdate(advanceCharge);
@@ -2127,9 +2133,12 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
 			}
 		}
 		feeCenterService.saveOrUpdateBatch(feeCenters1);
-
 		this.updateBatchById(agentList);
 		agent.setOrderStatus("已确认");
+		agent.setGoodsValue(feeCenters1.stream().filter(e-> "SFK,WK".contains(e.getFeeCode())).map(FeeCenter::getAmount).reduce(BigDecimal.ZERO,BigDecimal::add));
+		agent.setPostElectricFee(feeCenters1.stream().filter(e-> "YDF".equals(e.getFeeCode())).map(FeeCenter::getAmount).reduce(BigDecimal.ZERO,BigDecimal::add));
+		agent.setServiceCharge(feeCenters1.stream().filter(e-> "SFK".equals(e.getFeeCode())).map(FeeCenter::getAmount).reduce(BigDecimal.ZERO,BigDecimal::add));
+		agent.setActualAmount(agent.getGoodsValue().add(agent.getPostElectricFee()).add(agent.getServiceCharge()));
 		updateById(agent);
 		LocalDateTime now = LocalDateTime.now();
 		DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");

+ 8 - 8
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/statistics/service/impl/StatisticsServiceImpl.java

@@ -1062,7 +1062,7 @@ public class StatisticsServiceImpl implements IStatisticsService {
 			.ge(ObjectUtils.isNotNull(saleDetailDto.getBusinesDateStart()), PjOrder::getBusinesDate, saleDetailDto.getBusinesDateStart())
 			.le(ObjectUtils.isNotNull(saleDetailDto.getBusinesDateEnd()), PjOrder::getBusinesDate, saleDetailDto.getBusinesDateEnd())
 			.apply(ObjectUtils.isNotNull(saleDetailDto.getDateStart()), "DATE_FORMAT( delivery_busines_date, '%Y-%m-%d' )  >= '" + saleDetailDto.getDateStart() + "'")
-			.apply(ObjectUtils.isNotNull(saleDetailDto.getDateEnd()), "DATE_FORMAT( delivery_busines_date, '%Y-%m-%d' )  >= '" + saleDetailDto.getDateEnd() + "'");
+			.apply(ObjectUtils.isNotNull(saleDetailDto.getDateEnd()), "DATE_FORMAT( delivery_busines_date, '%Y-%m-%d' )  <= '" + saleDetailDto.getDateEnd() + "'");
 		if ("2".equals(saleDetailDto.getBsType())) {
 			lambdaQueryWrapper.isNotNull(PjOrder::getSalerId);
 			lambdaQueryWrapper.groupBy(PjOrder::getSalerName);
@@ -1089,7 +1089,7 @@ public class StatisticsServiceImpl implements IStatisticsService {
 				.ge(ObjectUtils.isNotNull(saleDetailDto.getBusinesDateStart()), PjOrder::getBusinesDate, saleDetailDto.getBusinesDateStart())
 				.le(ObjectUtils.isNotNull(saleDetailDto.getBusinesDateEnd()), PjOrder::getBusinesDate, saleDetailDto.getBusinesDateEnd())
 				.apply(ObjectUtils.isNotNull(saleDetailDto.getDateStart()), "DATE_FORMAT( delivery_busines_date, '%Y-%m-%d' )  >= '" + saleDetailDto.getDateStart() + "'")
-				.apply(ObjectUtils.isNotNull(saleDetailDto.getDateEnd()), "DATE_FORMAT( delivery_busines_date, '%Y-%m-%d' )  >= '" + saleDetailDto.getDateEnd() + "'");
+				.apply(ObjectUtils.isNotNull(saleDetailDto.getDateEnd()), "DATE_FORMAT( delivery_busines_date, '%Y-%m-%d' )  <= '" + saleDetailDto.getDateEnd() + "'");
 			if ("2".equals(saleDetailDto.getBsType())) {
 				orderLambdaQueryWrapper.apply("find_in_set(saler_name,'" + name + "')");
 			} else {
@@ -1221,8 +1221,8 @@ public class StatisticsServiceImpl implements IStatisticsService {
 			.eq(ObjectUtils.isNotNull(saleDetailDto.getStorageId()), PjOrder::getStorageId, saleDetailDto.getStorageId())
 			.ge(ObjectUtils.isNotNull(saleDetailDto.getBusinesDateStart()), PjOrder::getBusinesDate, saleDetailDto.getBusinesDateStart())
 			.le(ObjectUtils.isNotNull(saleDetailDto.getBusinesDateEnd()), PjOrder::getBusinesDate, saleDetailDto.getBusinesDateEnd())
-			.ge(ObjectUtils.isNotNull(saleDetailDto.getDateStart()), PjOrder::getDeliveryBusinesDate, saleDetailDto.getDateStart())
-			.le(ObjectUtils.isNotNull(saleDetailDto.getDateEnd()), PjOrder::getDeliveryBusinesDate, saleDetailDto.getDateEnd());
+			.apply(ObjectUtils.isNotNull(saleDetailDto.getDateStart()), "DATE_FORMAT( delivery_busines_date, '%Y-%m-%d' )  >= '" + saleDetailDto.getDateStart() + "'")
+			.apply(ObjectUtils.isNotNull(saleDetailDto.getDateEnd()), "DATE_FORMAT( delivery_busines_date, '%Y-%m-%d' )  <= '" + saleDetailDto.getDateEnd() + "'");
 		if ("2".equals(saleDetailDto.getBsType())) {
 			lambdaQueryWrapper.isNotNull(PjOrder::getSalerId);
 			lambdaQueryWrapper.groupBy(PjOrder::getSalerName);
@@ -1246,8 +1246,8 @@ public class StatisticsServiceImpl implements IStatisticsService {
 				.eq(ObjectUtils.isNotNull(saleDetailDto.getStorageId()), PjOrder::getStorageId, saleDetailDto.getStorageId())
 				.ge(ObjectUtils.isNotNull(saleDetailDto.getBusinesDateStart()), PjOrder::getBusinesDate, saleDetailDto.getBusinesDateStart())
 				.le(ObjectUtils.isNotNull(saleDetailDto.getBusinesDateEnd()), PjOrder::getBusinesDate, saleDetailDto.getBusinesDateEnd())
-				.ge(ObjectUtils.isNotNull(saleDetailDto.getDateStart()), PjOrder::getDeliveryBusinesDate, saleDetailDto.getDateStart())
-				.le(ObjectUtils.isNotNull(saleDetailDto.getDateEnd()), PjOrder::getDeliveryBusinesDate, saleDetailDto.getDateEnd());
+				.apply(ObjectUtils.isNotNull(saleDetailDto.getDateStart()), "DATE_FORMAT( delivery_busines_date, '%Y-%m-%d' )  >= '" + saleDetailDto.getDateStart() + "'")
+				.apply(ObjectUtils.isNotNull(saleDetailDto.getDateEnd()), "DATE_FORMAT( delivery_busines_date, '%Y-%m-%d' )  <= '" + saleDetailDto.getDateEnd() + "'");
 			if ("2".equals(saleDetailDto.getBsType())) {
 				orderLambdaQueryWrapper.apply("find_in_set(saler_name,'" + name + "')");
 			} else {
@@ -1359,7 +1359,7 @@ public class StatisticsServiceImpl implements IStatisticsService {
 			.ge(ObjectUtils.isNotNull(saleDetailDto.getBusinesDateStart()), PjOrder::getBusinesDate, saleDetailDto.getBusinesDateStart())
 			.le(ObjectUtils.isNotNull(saleDetailDto.getBusinesDateEnd()), PjOrder::getBusinesDate, saleDetailDto.getBusinesDateEnd())
 			.apply(ObjectUtils.isNotNull(saleDetailDto.getDateStart()), "DATE_FORMAT( delivery_busines_date, '%Y-%m-%d' )  >= '" + saleDetailDto.getDateStart() + "'")
-			.apply(ObjectUtils.isNotNull(saleDetailDto.getDateEnd()), "DATE_FORMAT( delivery_busines_date, '%Y-%m-%d' )  >= '" + saleDetailDto.getDateEnd() + "'");
+			.apply(ObjectUtils.isNotNull(saleDetailDto.getDateEnd()), "DATE_FORMAT( delivery_busines_date, '%Y-%m-%d' )  <= '" + saleDetailDto.getDateEnd() + "'");
 		if ("2".equals(saleDetailDto.getBsType())) {
 			lambdaQueryWrapper.isNotNull(PjOrder::getSalerId);
 			lambdaQueryWrapper.groupBy(PjOrder::getSalerName);
@@ -1385,7 +1385,7 @@ public class StatisticsServiceImpl implements IStatisticsService {
 				.ge(ObjectUtils.isNotNull(saleDetailDto.getBusinesDateStart()), PjOrder::getBusinesDate, saleDetailDto.getBusinesDateStart())
 				.le(ObjectUtils.isNotNull(saleDetailDto.getBusinesDateEnd()), PjOrder::getBusinesDate, saleDetailDto.getBusinesDateEnd())
 				.apply(ObjectUtils.isNotNull(saleDetailDto.getDateStart()), "DATE_FORMAT( delivery_busines_date, '%Y-%m-%d' )  >= '" + saleDetailDto.getDateStart() + "'")
-				.apply(ObjectUtils.isNotNull(saleDetailDto.getDateEnd()), "DATE_FORMAT( delivery_busines_date, '%Y-%m-%d' )  >= '" + saleDetailDto.getDateEnd() + "'");
+				.apply(ObjectUtils.isNotNull(saleDetailDto.getDateEnd()), "DATE_FORMAT( delivery_busines_date, '%Y-%m-%d' )  <= '" + saleDetailDto.getDateEnd() + "'");
 			if ("2".equals(saleDetailDto.getBsType())) {
 				orderLambdaQueryWrapper.apply("find_in_set(saler_name,'" + name + "')");
 			} else {