Browse Source

2024年5月15日17:32:01

纪新园 1 year ago
parent
commit
25b90d5d25

+ 0 - 22
blade-service-api/blade-los-api/src/main/java/org/springblade/los/business/release/entity/SeaReleaseBillItems.java

@@ -309,16 +309,12 @@ public class SeaReleaseBillItems implements Serializable {
 	 * ETD
 	 */
 	@ApiModelProperty(value = "ETD")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
 	@TableField(value = "ETD",updateStrategy = FieldStrategy.IGNORED)
 	private Date etd;
 	/**
 	 * ETA
 	 */
 	@ApiModelProperty(value = "ETA")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
 	@TableField(value = "ETA",updateStrategy = FieldStrategy.IGNORED)
 	private Date eta;
 	/**
@@ -390,16 +386,12 @@ public class SeaReleaseBillItems implements Serializable {
 	 * 签单日期
 	 */
 	@ApiModelProperty(value = "签单日期")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
 	private Date issueDate;
 	/**
 	 * 签单地点
 	 */
 	@ApiModelProperty(value = "签单地点")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
 	private Date issueAt;
 	/**
@@ -426,56 +418,42 @@ public class SeaReleaseBillItems implements Serializable {
 	 * 要求时间,yyyy-MM-dd HH:mm
 	 */
 	@ApiModelProperty(value = "要求时间,yyyy-MM-dd HH:mm")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
 	private Date requireTime;
 	/**
 	 * 提交时间,yyyy-MM-dd HH:mm
 	 */
 	@ApiModelProperty(value = "提交时间,yyyy-MM-dd HH:mm")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
 	private Date applyTime;
 	/**
 	 * 跑单时间,yyyy-MM-dd HH:mm
 	 */
 	@ApiModelProperty(value = "跑单时间,yyyy-MM-dd HH:mm")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
 	private Date runTime;
 	/**
 	 * 操作确认时间,yyyy-MM-dd HH:mm
 	 */
 	@ApiModelProperty(value = "操作确认时间,yyyy-MM-dd HH:mm")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
 	private Date confirmTime;
 	/**
 	 * 调度时间,yyyy-MM-dd HH:mm
 	 */
 	@ApiModelProperty(value = "调度时间,yyyy-MM-dd HH:mm")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
 	private Date dispatchTime;
 	/**
 	 * 放单时间,yyyy-MM-dd HH:mm
 	 */
 	@ApiModelProperty(value = "放单时间,yyyy-MM-dd HH:mm")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
 	private Date releaseTime;
 	/**
 	 * 退回时间,yyyy-MM-dd HH:mm
 	 */
 	@ApiModelProperty(value = "退回时间,yyyy-MM-dd HH:mm")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
 	private Date returnTime;
 	/**

+ 2 - 2
blade-service/blade-land/src/main/java/org/springblade/land/service/impl/OrderServiceImpl.java

@@ -833,9 +833,9 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, LandOrder> implem
 			.eq(ObjectUtil.isNotEmpty(order.getDispatchDept()), LandOrder::getDispatchDept, order.getDispatchDept())//调度部门
 			.eq(ObjectUtil.isNotEmpty(order.getCorpId()), LandOrder::getCorpId, order.getCorpId())//客户id
 			.eq(ObjectUtil.isNotEmpty(order.getFleetId()), LandOrder::getFleetId, order.getFleetId())//车队id
-			.eq(ObjectUtil.isNotEmpty(order.getPlateNo()), LandOrder::getPlateNo, order.getPlateNo())//车号
+			.like(ObjectUtil.isNotEmpty(order.getPlateNo()), LandOrder::getPlateNo, order.getPlateNo())//车号
 			.eq(ObjectUtil.isNotEmpty(order.getDriverId()), LandOrder::getDriverId, order.getDriverId())//司机id
-			.eq(StringUtil.isNotBlank(order.getOrderNo()), LandOrder::getOrderNo, order.getOrderNo())//订单号
+			.like(StringUtil.isNotBlank(order.getOrderNo()), LandOrder::getOrderNo, order.getOrderNo())//订单号
 			.like(StringUtil.isNotBlank(order.getContractNo()), LandOrder::getContractNo, order.getContractNo())//合同号
 			.like(StringUtil.isNotBlank(order.getDispatchNumber()), LandOrder::getDispatchNumber, order.getDispatchNumber())//派车单号
 			.like(StringUtil.isNotBlank(order.getAddressDetail()), LandOrder::getAddressDetail, order.getAddressDetail())//装货地址

+ 0 - 1
blade-service/blade-los/src/main/java/org/springblade/los/basic/cur/service/impl/BCurrencyServiceImpl.java

@@ -110,7 +110,6 @@ public class BCurrencyServiceImpl extends ServiceImpl<CurrencyMapper, BCurrency>
 					.eq(BCurExrate::getExrateMonth, item.getExrateMonth())
 					.eq(BCurExrate::getExrateDay, item.getExrateDay())
 					.eq(BCurExrate::getCode, item.getCode())
-					.eq(BCurExrate::getExrateReceipts, item.getExrateReceipts())
 				);
 				if (bCurExrate != null) {
 					item.setId(bCurExrate.getId());

+ 7 - 0
blade-service/blade-los/src/main/java/org/springblade/los/basic/fees/service/impl/LosBFeesTemplateServiceImpl.java

@@ -130,6 +130,13 @@ public class LosBFeesTemplateServiceImpl extends ServiceImpl<LosBFeesTemplateMap
 		if (ObjectUtils.isNotNull(losBFeesTemplate.getFeesTemplateItemsList())) {
 			for (FeesTemplateItems item : losBFeesTemplate.getFeesTemplateItemsList()) {
 				item.setPid(losBFeesTemplate.getId());
+				if (ObjectUtils.isNotNull(item.getCorpType())){
+					item.setCorpId(0L);
+					item.setCorpCnName("");
+					item.setCorpEnName("");
+				}else{
+					item.setCorpType("");
+				}
 				if (item.getId() == null) {
 					item.setCreateTime(new Date());
 					item.setCreateUser(AuthUtil.getUserId());

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

@@ -65,7 +65,10 @@ import java.math.MathContext;
 import java.math.RoundingMode;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.Objects;
 import java.util.stream.Collectors;
 
 /**
@@ -683,12 +686,12 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 		amountProfitUsd = amountDrUsd.subtract(amountCrUsd);
 		if (amountDrUsd.compareTo(new BigDecimal("0.00")) != 0) {
 			amountDrLoc = amountDrLoc.add(bCurrencyService.converterCny("USD", amountDrUsd, "D", "1")).add(amountDr);
-		}else{
+		} else {
 			amountDrLoc = amountDrLoc.add(amountDr);
 		}
 		if (amountCrUsd.compareTo(new BigDecimal("0.00")) != 0) {
 			amountCrLoc = amountCrLoc.add(bCurrencyService.converterCny("USD", amountCrUsd, "C", "1")).add(amountCr);
-		}else{
+		} else {
 			amountCrLoc = amountCrLoc.add(amountCr);
 		}
 		amountProfitLoc = amountDrLoc.subtract(amountCrLoc);
@@ -1660,7 +1663,6 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 			ObjectUtils.isNull(bills.getVoyageNo()) &&
 			ObjectUtils.isNull(bills.getDestinationId()) &&
 			ObjectUtils.isNull(bills.getPolId()) &&
-			ObjectUtils.isNull(bills.getBusinessType()) &&
 			ObjectUtils.isNull(bills.getCorpId())
 		) {
 			throw new RuntimeException("缺少必要参数");
@@ -1675,12 +1677,23 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 			.eq(ObjectUtils.isNotNull(bills.getDestinationId()), Bills::getDestinationId, bills.getDestinationId())
 			.eq(ObjectUtils.isNotNull(bills.getPolId()), Bills::getPolId, bills.getPolId())
 			.eq(ObjectUtils.isNotNull(bills.getCorpId()), Bills::getCorpId, bills.getCorpId())
-			.eq(ObjectUtils.isNotNull(bills.getIssueStatus()), Bills::getIssueStatus, bills.getIssueStatus())
+			.apply(ObjectUtils.isNotNull(bills.getIssueStatus()),"find_in_set(issue_status,'" + bills.getIssueStatus() + "')")
 			.eq(Bills::getIsDeleted, 0)
 			.eq(Bills::getTenantId, AuthUtil.getTenantId());
 		if (!AuthUtil.getUserRole().contains("admin") && !AuthUtil.getUserRole().contains("财务")) {
 			lambdaQueryWrapper.apply("find_in_set(team_id,'" + AuthUtil.getPostId() + "')");
 		}
+		if ("SE".equals(bills.getBusinessType())) {
+			if (ObjectUtils.isNotNull(bills.getEtdList()) && !bills.getEtdList().isEmpty()) {
+				lambdaQueryWrapper.ge(Bills::getEtd, bills.getEtdList().get(0));
+				lambdaQueryWrapper.le(Bills::getEtd, bills.getEtdList().get(1));
+			}
+		} else if ("SI".equals(bills.getBusinessType())){
+			if (ObjectUtils.isNotNull(bills.getEtaList()) && !bills.getEtaList().isEmpty()) {
+				lambdaQueryWrapper.ge(Bills::getEta, bills.getEtaList().get(0));
+				lambdaQueryWrapper.le(Bills::getEta, bills.getEtaList().get(1));
+			}
+		}
 		if (!AuthUtil.getUserRole().contains("admin")) {
 			lambdaQueryWrapper.eq(Bills::getBranchId, deptUtils.getDeptPid());
 		}

+ 3 - 3
blade-service/blade-los/src/main/java/org/springblade/los/finance/fee/service/impl/FeeCenterServiceImpl.java

@@ -230,9 +230,9 @@ public class FeeCenterServiceImpl extends ServiceImpl<FeeCenterMapper, FeeCenter
 					feeCenter.setSort(count);
 					count++;
 					if ("客户".equals(items.getCorpType())) {
-						feeCenter.setCorpId(items.getCorpId());
-						feeCenter.setCorpCnName(items.getCorpCnName());
-						feeCenter.setCorpEnName(items.getCorpEnName());
+						feeCenter.setCorpId(bills.getCorpId());
+						feeCenter.setCorpCnName(bills.getCorpCnName());
+						feeCenter.setCorpEnName(bills.getCorpEnName());
 					} else if ("船公司".equals(items.getCorpType())) {
 						feeCenter.setCorpId(bills.getCarrierId());
 						feeCenter.setCorpCnName(bills.getCarrierCnName());

+ 36 - 16
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/order/service/impl/OrderServiceImpl.java

@@ -2089,22 +2089,34 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
 			.eq(PjOrderItems::getPid, detail.getId());
 		List<PjOrderItems> list = orderItemsService.list(itemsLambdaQueryWrapper);
 		List<PjOrderItems> pjOrderItemsList = new ArrayList<>();
-		for (PjOrderItems item : list) {
-			PjOrderItems pjOrderItems = new PjOrderItems();
-			BeanUtil.copyProperties(item, pjOrderItems);
-			pjOrderItems.setReturnsNumber(item.getGoodsNum().subtract(item.getReturnsNumber()));
-			pjOrderItems.setReturnsAmount(item.getReturnsNumber().multiply(item.getPrice()));
-			pjOrderItems.setSendNum(new BigDecimal("0.00"));
-			pjOrderItems.setId(null);
-			pjOrderItems.setPid(null);
-			pjOrderItems.setBsType(details.getBsType());
-			pjOrderItems.setSrcItemId(item.getId());
-			pjOrderItems.setCreateDept(null);
-			pjOrderItems.setCreateTime(null);
-			pjOrderItems.setUpdateTime(null);
-			pjOrderItems.setCreateUser(null);
-			pjOrderItems.setUpdateUser(null);
-			pjOrderItemsList.add(pjOrderItems);
+		if (!list.isEmpty()){
+			List<Long> goodsId = list.stream().map(PjOrderItems::getGoodsId).distinct().collect(Collectors.toList());
+			List<PjStockDesc> pjStockDescList = stockDescService.list(new LambdaQueryWrapper<PjStockDesc>()
+				.eq(ObjectUtils.isNotNull(order.getStorageId()), PjStockDesc::getStorageId, order.getStorageId())
+				.eq(PjStockDesc::getTenantId, AuthUtil.getTenantId())
+				.eq(PjStockDesc::getIsDeleted, 0)
+				.in(PjStockDesc::getGoodsId, goodsId));
+			for (PjOrderItems item : list) {
+				PjOrderItems pjOrderItems = new PjOrderItems();
+				BeanUtil.copyProperties(item, pjOrderItems);
+				pjOrderItems.setReturnsNumber(item.getGoodsNum().subtract(item.getReturnsNumber()));
+				pjOrderItems.setReturnsAmount(item.getReturnsNumber().multiply(item.getPrice()));
+				pjOrderItems.setSendNum(new BigDecimal("0.00"));
+				pjOrderItems.setId(null);
+				pjOrderItems.setPid(null);
+				pjOrderItems.setBsType(details.getBsType());
+				pjOrderItems.setSrcItemId(item.getId());
+				pjOrderItems.setCreateDept(null);
+				pjOrderItems.setCreateTime(null);
+				pjOrderItems.setUpdateTime(null);
+				pjOrderItems.setCreateUser(null);
+				pjOrderItems.setUpdateUser(null);
+				PjStockDesc pjStockDesc = pjStockDescList.stream().filter(e -> e.getGoodsId().equals(item.getGoodsId())).findFirst().orElse(null);
+				if (pjStockDesc != null) {
+					pjOrderItems.setInventory(pjStockDesc.getBalanceQuantity());
+				}
+				pjOrderItemsList.add(pjOrderItems);
+			}
 		}
 		details.setOrderItemsList(pjOrderItemsList);
 		return R.data(details);
@@ -2878,6 +2890,14 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
 	@GlobalTransactional(rollbackFor = Exception.class, timeoutMills = 12000000)
 	public PjOrder checkOrder(PjOrder order) {
 		PjOrder declare = baseMapper.selectById(order.getId());
+		List<PjOrder> pjOrderList = baseMapper.selectList(new LambdaQueryWrapper<PjOrder>()
+			.eq(PjOrder::getSrcNo, declare.getOrdNo())
+			.eq(PjOrder::getTenantId, AuthUtil.getTenantId())
+			.eq(PjOrder::getIsDeleted, 0)
+			.eq(PjOrder::getSalesCompanyId, AuthUtil.getDeptId()));
+		if (!pjOrderList.isEmpty()) {
+			throw new RuntimeException("已有退款单,请联系管理员!");
+		}
 		if (!"额度支付".equals(declare.getBusinessSource())) {
 			if (ObjectUtils.isNull(declare.getOldTrxId())) {
 				throw new RuntimeException("线下支付按钮无效");

+ 7 - 3
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/stock/controller/StockDescController.java

@@ -152,11 +152,15 @@ public class StockDescController extends BladeController {
 					if (!pjProductLaunchList.isEmpty()) {
 						List<Long> goodIds = pjProductLaunchList.stream().map(PjProductLaunch::getGoodsId).collect(Collectors.toList());
 						if ("0".equals(stockDesc.getIfGrounding())) {
-							lambdaQueryWrapper.notIn(PjStockDesc::getGoodsId, goodIds);
+//							lambdaQueryWrapper.notIn(PjStockDesc::getGoodsId, goodIds);
+							lambdaQueryWrapper.like(PjStockDesc::getCname, stockDesc.getCname())
+								.notIn(PjStockDesc::getGoodsId, goodIds);
 						} else {
-							lambdaQueryWrapper.in(PjStockDesc::getGoodsId, goodIds);
+//							lambdaQueryWrapper.in(PjStockDesc::getGoodsId, goodIds);
+							lambdaQueryWrapper.and(i -> i.like(PjStockDesc::getCname, stockDesc.getCname())
+								.or().in(PjStockDesc::getGoodsId, goodIds));
 						}
-						lambdaQueryWrapper.like(PjStockDesc::getCname, stockDesc.getCname());
+//						lambdaQueryWrapper.like(PjStockDesc::getCname, stockDesc.getCname());
 					}
 				} else {
 					lambdaQueryWrapper.and(i -> i.like(PjStockDesc::getCname, stockDesc.getCname())