Browse Source

2022年10月19日17:15:20

纪新园 3 years ago
parent
commit
ce818df316
14 changed files with 321 additions and 71 deletions
  1. 12 0
      blade-service-api/blade-check-api/src/main/java/org/springblade/check/entity/AuditProecess.java
  2. 2 0
      blade-service-api/blade-client-api/src/main/java/org/springblade/client/goods/enums/RedisKey.java
  3. 5 0
      blade-service-api/trade-purchase-api/src/main/java/com/trade/purchase/order/entity/Order.java
  4. 2 0
      blade-service/blade-check/src/main/java/org/springblade/check/service/impl/AuditProecessServiceImpl.java
  5. 91 44
      blade-service/blade-client/src/main/java/org/springblade/client/RedisClient.java
  6. 5 2
      blade-service/blade-land/src/main/java/org/springblade/land/service/impl/OrderServiceImpl.java
  7. 6 6
      blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/service/impl/OrderServiceImpl.java
  8. 17 3
      blade-service/trade-finance/src/main/java/org/springblade/finance/controller/AccController.java
  9. 1 1
      blade-service/trade-finance/src/main/java/org/springblade/finance/excel/FeeStatisticsExcelJTMC.java
  10. 24 0
      blade-service/trade-purchase/src/main/java/com/trade/purchase/order/controller/WoodHarvestingCloudController.java
  11. 8 0
      blade-service/trade-purchase/src/main/java/com/trade/purchase/order/mapper/OrderMapper.java
  12. 103 0
      blade-service/trade-purchase/src/main/java/com/trade/purchase/order/mapper/OrderMapper.xml
  13. 7 0
      blade-service/trade-purchase/src/main/java/com/trade/purchase/order/service/IOrderService.java
  14. 38 15
      blade-service/trade-purchase/src/main/java/com/trade/purchase/order/service/impl/OrderServiceImpl.java

+ 12 - 0
blade-service-api/blade-check-api/src/main/java/org/springblade/check/entity/AuditProecess.java

@@ -240,4 +240,16 @@ public class AuditProecess implements Serializable {
 	@ApiModelProperty(value = "应付金额")
 	private BigDecimal payAmount;
 
+	/**
+	 * 箱号
+	 */
+	@ApiModelProperty(value = "箱号")
+	private String caseNo;
+
+	/**
+	 * 提单号
+	 */
+	@ApiModelProperty(value = "提单号")
+	private String morderNo;
+
 }

+ 2 - 0
blade-service-api/blade-client-api/src/main/java/org/springblade/client/goods/enums/RedisKey.java

@@ -19,5 +19,7 @@ public class RedisKey {
 	public static final String REDIS_USER = "user";
 	//库存
 	public static final String STOCK_GOODS = "stockGoods";
+	//全部
+	public static final String ALL = "all";
 
 }

+ 5 - 0
blade-service-api/trade-purchase-api/src/main/java/com/trade/purchase/order/entity/Order.java

@@ -866,5 +866,10 @@ public class Order extends OrderBase {
 	 */
 	@ApiModelProperty(value = "是否扫码")
 	private String isScanning;
+	/**
+	 * 出库明细件数
+	 */
+	@ApiModelProperty(value = "出库明细件数")
+	private Integer IssueNumber;
 
 }

+ 2 - 0
blade-service/blade-check/src/main/java/org/springblade/check/service/impl/AuditProecessServiceImpl.java

@@ -154,6 +154,8 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, A
 		pathsLevelsList.forEach(e -> {
 
 			AuditProecess auditProecess = new AuditProecess();
+			auditProecess.setCaseNo(auditProecessDTO.getCaseNo());
+			auditProecess.setMorderNo(auditProecessDTO.getMorderNo());
 			auditProecess.setActId(auditProecessDTO.getActId());
 			//绑定业务主表id
 			auditProecess.setBillId(auditProecessDTO.getBillId());

+ 91 - 44
blade-service/blade-client/src/main/java/org/springblade/client/RedisClient.java

@@ -24,6 +24,7 @@ import springfox.documentation.annotations.ApiIgnore;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.concurrent.TimeUnit;
 
 @Slf4j
 @NonDS
@@ -42,71 +43,117 @@ public class RedisClient implements IRedisClient {
 
 	@Override
 	public boolean basicData(String type) {
-
-
+		if (ObjectUtils.isNull(type)){
+			type = RedisKey.ALL;
+		}
 		//redis缓存基础资料数据
 		//判断key是否存在
-		//用户
-		if (RedisKey.REDIS_USER.equals(type)) {
-			if (redisTemplate.hasKey(type)) {
-				redisTemplate.opsForValue().set(type, userClient.selectUserAll());
-				redisTemplate.persist(type);
+		//全部
+		if (RedisKey.ALL.equals(type)) {
+			//用户
+			if (redisTemplate.hasKey(RedisKey.REDIS_USER)) {
+				redisTemplate.opsForValue().set(RedisKey.REDIS_USER, userClient.selectUserAll(), 30, TimeUnit.DAYS);
 			} else {
-				redisTemplate.opsForValue().getAndSet(type, userClient.selectUserAll());
+				redisTemplate.opsForValue().getAndSet(RedisKey.REDIS_USER, userClient.selectUserAll());
 			}
-		}
-		//商品
-		if (RedisKey.REDIS_GOODS.equals(type)) {
-			if (redisTemplate.hasKey(type)) {
-				redisTemplate.opsForValue().set(type, goodsDescClient.selectGoodsDescAll());
-				redisTemplate.persist(type);
+			//商品
+			if (redisTemplate.hasKey(RedisKey.REDIS_GOODS)) {
+				redisTemplate.opsForValue().set(RedisKey.REDIS_GOODS, goodsDescClient.selectGoodsDescAll(), 30, TimeUnit.DAYS);
 			} else {
-				redisTemplate.opsForValue().getAndSet(type, goodsDescClient.selectGoodsDescAll());
+				redisTemplate.opsForValue().getAndSet(RedisKey.REDIS_GOODS, goodsDescClient.selectGoodsDescAll());
 			}
-		}
 
-		//客户
-		if (RedisKey.REDIS_CORPS.equals(type)) {
+			//客户
 			CorpsDesc corpsDesc = new CorpsDesc();
 			corpsDesc.setTenantId(AuthUtil.getTenantId());
 			List<CorpsDesc> list = corpsDescClient.getCorp(corpsDesc);
 			if (ObjectUtils.isNotNull(list)) {
-				if (redisTemplate.hasKey(type)) {
-					redisTemplate.opsForValue().set(type, list);
-					redisTemplate.persist(type);
+				if (redisTemplate.hasKey(RedisKey.REDIS_CORPS)) {
+					redisTemplate.opsForValue().set(RedisKey.REDIS_CORPS, list, 30, TimeUnit.DAYS);
 				} else {
-					redisTemplate.opsForValue().getAndSet(type, list);
+					redisTemplate.opsForValue().getAndSet(RedisKey.REDIS_CORPS, list);
 				}
 			}
-		}
-		//仓库
-		if (RedisKey.REDIS_STORAGE_TYPE.equals(type)) {
-			if (redisTemplate.hasKey(type)) {
-				redisTemplate.opsForValue().set(type, iStorageClient.selectStorageTypeAll());
-				redisTemplate.persist(type);
+			//仓库
+			if (redisTemplate.hasKey(RedisKey.REDIS_STORAGE_TYPE)) {
+				redisTemplate.opsForValue().set(RedisKey.REDIS_STORAGE_TYPE, iStorageClient.selectStorageTypeAll(), 30, TimeUnit.DAYS);
 			} else {
-				redisTemplate.opsForValue().getAndSet(type, iStorageClient.selectStorageTypeAll());
+				redisTemplate.opsForValue().getAndSet(RedisKey.REDIS_STORAGE_TYPE, iStorageClient.selectStorageTypeAll());
 			}
-		}
-		//库区
-		if (RedisKey.REDIS_STORAGE_DESC.equals(type)) {
-			if (redisTemplate.hasKey(type)) {
-				redisTemplate.opsForValue().set(type, iStorageClient.selectStorageDescAll());
-				redisTemplate.persist(type);
+			//库区
+			if (redisTemplate.hasKey(RedisKey.REDIS_STORAGE_DESC)) {
+				redisTemplate.opsForValue().set(RedisKey.REDIS_STORAGE_DESC, iStorageClient.selectStorageDescAll(), 30, TimeUnit.DAYS);
 			} else {
-				redisTemplate.opsForValue().getAndSet(type, iStorageClient.selectStorageDescAll());
+				redisTemplate.opsForValue().getAndSet(RedisKey.REDIS_STORAGE_DESC, iStorageClient.selectStorageDescAll());
 			}
-		}
-		//库存
-		if (RedisKey.STOCK_GOODS.equals(type)) {
-			if (redisTemplate.hasKey(type)) {
-				redisTemplate.opsForValue().set(type, stockGoodsClient.selectStockGoodsAll());
-				redisTemplate.persist(type);
+			//库存
+			if (redisTemplate.hasKey(RedisKey.STOCK_GOODS)) {
+				redisTemplate.opsForValue().set(RedisKey.STOCK_GOODS, stockGoodsClient.selectStockGoodsAll(), 30, TimeUnit.DAYS);
 			} else {
-				redisTemplate.opsForValue().getAndSet(type, stockGoodsClient.selectStockGoodsAll());
+				redisTemplate.opsForValue().getAndSet(RedisKey.STOCK_GOODS, stockGoodsClient.selectStockGoodsAll());
+			}
+		} else {
+			//用户
+			if (RedisKey.REDIS_USER.equals(type)) {
+				if (redisTemplate.hasKey(type)) {
+					redisTemplate.opsForValue().set(type, userClient.selectUserAll(), 30, TimeUnit.DAYS);
+					redisTemplate.persist(type);
+				} else {
+					redisTemplate.opsForValue().getAndSet(type, userClient.selectUserAll());
+				}
+			}
+			//商品
+			if (RedisKey.REDIS_GOODS.equals(type)) {
+				if (redisTemplate.hasKey(type)) {
+					redisTemplate.opsForValue().set(type, goodsDescClient.selectGoodsDescAll(), 30, TimeUnit.DAYS);
+					redisTemplate.persist(type);
+				} else {
+					redisTemplate.opsForValue().getAndSet(type, goodsDescClient.selectGoodsDescAll());
+				}
 			}
-		}
 
+			//客户
+			if (RedisKey.REDIS_CORPS.equals(type)) {
+				CorpsDesc corpsDesc = new CorpsDesc();
+				corpsDesc.setTenantId(AuthUtil.getTenantId());
+				List<CorpsDesc> list = corpsDescClient.getCorp(corpsDesc);
+				if (ObjectUtils.isNotNull(list)) {
+					if (redisTemplate.hasKey(type)) {
+						redisTemplate.opsForValue().set(type, list, 30, TimeUnit.DAYS);
+						redisTemplate.persist(type);
+					} else {
+						redisTemplate.opsForValue().getAndSet(type, list);
+					}
+				}
+			}
+			//仓库
+			if (RedisKey.REDIS_STORAGE_TYPE.equals(type)) {
+				if (redisTemplate.hasKey(type)) {
+					redisTemplate.opsForValue().set(type, iStorageClient.selectStorageTypeAll(), 30, TimeUnit.DAYS);
+					redisTemplate.persist(type);
+				} else {
+					redisTemplate.opsForValue().getAndSet(type, iStorageClient.selectStorageTypeAll());
+				}
+			}
+			//库区
+			if (RedisKey.REDIS_STORAGE_DESC.equals(type)) {
+				if (redisTemplate.hasKey(type)) {
+					redisTemplate.opsForValue().set(type, iStorageClient.selectStorageDescAll(), 30, TimeUnit.DAYS);
+					redisTemplate.persist(type);
+				} else {
+					redisTemplate.opsForValue().getAndSet(type, iStorageClient.selectStorageDescAll());
+				}
+			}
+			//库存
+			if (RedisKey.STOCK_GOODS.equals(type)) {
+				if (redisTemplate.hasKey(type)) {
+					redisTemplate.opsForValue().set(type, stockGoodsClient.selectStockGoodsAll(), 30, TimeUnit.DAYS);
+					redisTemplate.persist(type);
+				} else {
+					redisTemplate.opsForValue().getAndSet(type, stockGoodsClient.selectStockGoodsAll());
+				}
+			}
+		}
 		System.out.println("商品:" + redisTemplate.opsForValue().get("goods"));
 		System.out.println("客户:" + redisTemplate.opsForValue().get("corps"));
 		System.out.println("仓库:" + redisTemplate.opsForValue().get("storageType"));

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

@@ -535,8 +535,11 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 		LambdaQueryWrapper<Order> orderQueryWrapper = new LambdaQueryWrapper<>();
 		orderQueryWrapper.eq(Order::getTenantId, AuthUtil.getTenantId())
 			.eq(Order::getShippingMode, "散货")
-			.eq(Order::getIsDeleted, 0)
-			.between(StringUtil.isNotBlank(order.getBeginArrivalTime()) && StringUtil.isNotBlank(order.getEndArrivalTime()), Order::getArrivalTime, order.getBeginArrivalTime(), order.getEndArrivalTime());
+			.eq(Order::getIsDeleted, 0);
+		if (AuthUtil.getUserRole().equals(LandConst.MOLD_MANAGER)) {
+			orderQueryWrapper.eq(Order::getCorpId, 1508356683997454337l);
+		}
+		orderQueryWrapper.between(StringUtil.isNotBlank(order.getBeginArrivalTime()) && StringUtil.isNotBlank(order.getEndArrivalTime()), Order::getArrivalTime, order.getBeginArrivalTime(), order.getEndArrivalTime());
 		;
 
 		String userRole = AuthUtil.getUserRole();

+ 6 - 6
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/service/impl/OrderServiceImpl.java

@@ -1499,7 +1499,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 	 * @return
 	 */
 	@Override
-	public Map<String,BigDecimal> calculationDomesticFees(Order order) {
+	public Map<String, BigDecimal> calculationDomesticFees(Order order) {
 
 		//客户
 		List<CorpsDesc> corpsDescList = castToList(redisTemplate.opsForValue().get("corps"), CorpsDesc.class);
@@ -1523,8 +1523,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 				Long corpId = orderItemsList.get(0).getCorpId();
 				//货权人
 				CorpsDesc corpsDesc = corpsDescList.stream().filter(corps -> corps.getId().equals(corpId)).findFirst().orElse(null);
-				if (ObjectUtils.isNotNull(corpsDesc)) {
-					itemLambdaQueryWrapper.eq(OrderCostItem::getDeparture, corpsDesc.getBelongtoarea());//明细供应商所在地址
+				if (ObjectUtils.isNotNull(corpsDesc) && ObjectUtils.isNotNull(corpsDesc.getBelongtoarea())) {
+					itemLambdaQueryWrapper.apply("find_in_set(departure,'" + corpsDesc.getBelongtoarea() + "')");//明细供应商所在地址
 				}
 			}
 			itemLambdaQueryWrapper.eq(OrderCostItem::getStatus, 0)
@@ -1582,9 +1582,9 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 		amountF = amountF.setScale(2, BigDecimal.ROUND_HALF_UP);
 		amount = amount.setScale(2, BigDecimal.ROUND_HALF_UP);
 
-		Map<String,BigDecimal> map = new HashMap<>();
-		map.put("amount",amount);
-		map.put("amountF",amountF);
+		Map<String, BigDecimal> map = new HashMap<>();
+		map.put("amount", amount);
+		map.put("amountF", amountF);
 
 		return map;
 	}

+ 17 - 3
blade-service/trade-finance/src/main/java/org/springblade/finance/controller/AccController.java

@@ -177,7 +177,10 @@ public class AccController extends BladeController {
 			//客户名称
 			if (e.getCorpId() != null) {
 				if (ObjectUtil.isNotEmpty(corpsDescList)) {
-					e.setCorpName(corpsDescList.stream().filter(d -> d.getId().equals(e.getCorpId())).findFirst().get().getCname());
+					CorpsDesc corpsDesc = corpsDescList.stream().filter(d -> d.getId().equals(e.getCorpId())).findFirst().orElse(null);
+					if (ObjectUtils.isNotNull(corpsDesc)){
+						e.setCorpName(corpsDesc.getCname());
+					}
 				}
 			}
 			e.setOutstandingAmount(e.getAmount().subtract(e.getSettlementAmount()));
@@ -459,6 +462,11 @@ public class AccController extends BladeController {
 		}
 		List<CorpsDesc> corpsDescList = corpsDescClient.selectByCorpIds(corpIds);
 		pages.forEach(e -> {
+			if (e.getDc().equals("d")){
+				e.setDc("收费");
+			}else{
+				e.setDc("付费");
+			}
 			//录入人
 			e.setCreateUserName(iUserClient.userInfoById(e.getCreateUser()).getData().getRealName());
 			//费用名称
@@ -471,13 +479,19 @@ public class AccController extends BladeController {
 			//客户名称
 			if (e.getCorpId() != null) {
 				if (ObjectUtil.isNotEmpty(corpsDescList)) {
-					e.setCorpName(corpsDescList.stream().filter(d -> d.getId().equals(e.getCorpId())).findFirst().get().getCname());
+					CorpsDesc corpsDesc = corpsDescList.stream().filter(d -> d.getId().equals(e.getCorpId())).findFirst().orElse(null);
+					if (ObjectUtils.isNotNull(corpsDesc)){
+						e.setCorpName(corpsDesc.getCname());
+					}
 				}
 			}
 			//客户名称
 			if (e.getCompanyid() != null) {
 				if (ObjectUtil.isNotEmpty(corpsDescList)) {
-					e.setCompany(corpsDescList.stream().filter(d -> d.getId().equals(e.getCompanyid())).findFirst().get().getCname());
+					CorpsDesc corpsDesc = corpsDescList.stream().filter(d -> d.getId().equals(e.getCompanyid())).findFirst().orElse(null);
+					if (ObjectUtils.isNotNull(corpsDesc)){
+						e.setCompany(corpsDesc.getCname());
+					}
 				}
 			}
 			e.setOutstandingAmount(e.getAmount().subtract(e.getSettlementAmount()));

+ 1 - 1
blade-service/trade-finance/src/main/java/org/springblade/finance/excel/FeeStatisticsExcelJTMC.java

@@ -55,7 +55,7 @@ public class FeeStatisticsExcelJTMC implements Serializable {
 	 * 费用名称
 	 */
 	@ExcelProperty(value = "费用名称")
-	private String costType;
+	private String itemName;
 	/**
 	 * 账单金额
 	 */

+ 24 - 0
blade-service/trade-purchase/src/main/java/com/trade/purchase/order/controller/WoodHarvestingCloudController.java

@@ -515,4 +515,28 @@ public class WoodHarvestingCloudController {
 		return R.data(map);
 	}
 
+	/**
+	 * 库存总账(合计)
+	 */
+	@GetMapping("/generalLedgerTotal")
+	@ApiOperationSupport(order = 2)
+	@ApiOperation(value = "库存总账", notes = "传入order")
+	public R<Map<String, Object>> generalLedgerTotal(OrderTotalDTO order) {
+		order.setTenantId(AuthUtil.getTenantId());
+		List<GeneralLedgerExcel> generalLedgerExcelList = orderService.generalLedgerTotal(order);
+		BigDecimal balanceMoney = new BigDecimal(0);
+		BigDecimal sliceNumber = new BigDecimal(0);
+		BigDecimal balanceNumber = new BigDecimal(0);
+		Map<String, Object> map = new HashMap<>();
+		if (ObjectUtils.isNotNull(generalLedgerExcelList)) {
+			balanceMoney = balanceMoney.add(generalLedgerExcelList.stream().map(GeneralLedgerExcel::getBalanceMoney).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
+			sliceNumber = sliceNumber.add(generalLedgerExcelList.stream().map(GeneralLedgerExcel::getSliceNumber).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
+			balanceNumber = balanceNumber.add(generalLedgerExcelList.stream().map(GeneralLedgerExcel::getBalanceNumber).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
+		}
+		map.put("balanceMoney", balanceMoney);
+		map.put("sliceNumber", sliceNumber);
+		map.put("balanceNumber", balanceNumber);
+		return R.data(map);
+	}
+
 }

+ 8 - 0
blade-service/trade-purchase/src/main/java/com/trade/purchase/order/mapper/OrderMapper.java

@@ -41,6 +41,14 @@ public interface OrderMapper extends BaseMapper<Order> {
 	List<GeneralLedgerExcel> generalLedgerList(IPage page, @Param("Order") OrderTotalDTO order);
 
 	/**
+	 * 库存总账
+	 *
+	 * @param order
+	 * @return
+	 */
+	List<GeneralLedgerExcel> generalLedgerTotal(@Param("Order") OrderTotalDTO order);
+
+	/**
 	 * 库存总账(商品)
 	 *
 	 * @return

+ 103 - 0
blade-service/trade-purchase/src/main/java/com/trade/purchase/order/mapper/OrderMapper.xml

@@ -503,4 +503,107 @@
         </if>
         GROUP BY boi.item_id
     </select>
+    <select id="generalLedgerTotal" resultType="com.trade.purchase.excel.GeneralLedgerExcel">
+        SELECT
+        boi.id AS id,
+        boi.item_id AS itemId,
+        bgd.cname AS goodsName,
+        boi.item_type AS itemType,
+        boi.item_prop AS itemProp,
+        boi.length AS length,
+        boi.width AS width,
+        boi.width_item AS widthItem,
+        boi.thickness AS thickness,
+        boi.bill_no AS billNo,
+        boi.slice_number AS sliceNumber,
+        boi.balance_number AS balanceNumber,
+        boi.price AS price,
+        boi.balance_money AS balanceMoney,
+        bst.cname AS warehouse,
+        bsc.cname AS storageName,
+        boi.grade AS grade,
+        bcd.cname AS corpName,
+        bo.vehicle_ship_number AS vehicleShipNumber,
+        bcd1.cname AS purchaser,
+        bo.bill_no AS morderNo,
+        bo.sys_no AS sysNo,
+        boi.is_Issue AS status,
+        boi.container_no AS containerNo
+        FROM
+        business_order bo
+        LEFT JOIN business_order_items boi ON boi.pid = bo.id
+        LEFT JOIN basic_storage_type bst ON bo.storage_id = bst.id
+        LEFT JOIN basic_storage_desc bsc ON boi.storage_id = bsc.id
+        LEFT JOIN basic_goods_desc bgd ON boi.item_id = bgd.id
+        LEFT JOIN basic_corps_desc bcd ON bo.corp_id = bcd.id
+        LEFT JOIN basic_corps_desc bcd1 ON bo.purchaser_id = bcd1.id
+        WHERE
+        boi.is_deleted = 0
+        AND bo.is_deleted = 0
+        and bo.trade_type = 'JTMC'
+        <if test="Order.sysNo!=null and Order.sysNo != ''">
+            and bo.sys_no=#{Order.sysNo}
+        </if>
+        <if test="Order.morderNo!=null and Order.morderNo != ''">
+            and bo.bill_no = #{Order.morderNo}
+        </if>
+        <if test="Order.businesStartDate!=null">
+            and bo.busines_date &gt; #{businesStartDate}
+        </if>
+        <if test="Order.businesEndDate!=null">
+            and bo.busines_date &lt;= #{businesEndDate}
+        </if>
+        <if test="Order.corpId!=null">
+            and bo.corp_id=#{Order.corpId}
+        </if>
+        <if test="Order.billNo!=null and Order.billNo != ''">
+            and boi.bill_no like CONCAT(CONCAT('%', #{Order.billNo}), '%')
+        </if>
+        <if test="Order.purchaserId!=null">
+            and bo.purchaser_id = #{Order.purchaserId}
+        </if>
+        <if test="Order.warehouseId!=null">
+            and bo.storage_id = #{Order.warehouseId}
+        </if>
+        <if test="Order.tenantId!=null and Order.tenantId != ''">
+            and bo.tenant_id = #{Order.tenantId}
+        </if>
+        <if test="Order.itemId!=null and Order.itemId != ''">
+            and boi.item_id = #{Order.itemId}
+        </if>
+        <if test="Order.length!=null  and Order.length != ''">
+            and boi.length = #{Order.length}
+        </if>
+        <if test="Order.width!=null and Order.width != ''">
+            and boi.width = #{Order.width}
+        </if>
+        <if test="Order.thickness!=null and Order.thickness != ''">
+            and boi.thickness = #{Order.thickness}
+        </if>
+        <if test="Order.vehicleShipNumber!=null and Order.vehicleShipNumber != ''">
+            and bo.vehicle_ship_number like CONCAT(CONCAT('%', #{Order.vehicleShipNumber}), '%')
+        </if>
+        <if test="Order.itemType!=null and Order.itemType != ''">
+            and boi.item_type=#{Order.itemType}
+        </if>
+        <if test="Order.grade!=null and Order.grade != ''">
+            and boi.grade = #{Order.grade}
+        </if>
+        <if test="Order.storageId!=null">
+            and boi.storage_id = #{Order.storageId}
+        </if>
+        <if test="Order.unit!=null and Order.unit != ''">
+            and boi.unit = #{Order.unit}
+        </if>
+        <if test="Order.isIssue!=null and Order.isIssue != ''">
+            and boi.is_Issue = #{Order.isIssue}
+        </if>
+        <if test="Order.containerNo!=null and Order.containerNo != ''">
+            and boi.container_no = #{Order.containerNo}
+        </if>
+        <if test="Order.isIssue == null and Order.isIssue == ''">
+            and (boi.is_Issue = '3' or boi.is_Issue = '4' or boi.is_Issue = '5' or boi.is_Issue = '6')
+        </if>
+        order by bo.busines_date
+    </select>
 </mapper>

+ 7 - 0
blade-service/trade-purchase/src/main/java/com/trade/purchase/order/service/IOrderService.java

@@ -253,4 +253,11 @@ public interface IOrderService extends IService<Order> {
 	 * @return
 	 */
     List<Map<String, Object>> salesTrends(String year);
+
+	/**
+	 *
+	 * @param order
+	 * @return
+	 */
+	List<GeneralLedgerExcel> generalLedgerTotal(OrderTotalDTO order);
 }

+ 38 - 15
blade-service/trade-purchase/src/main/java/com/trade/purchase/order/service/impl/OrderServiceImpl.java

@@ -114,6 +114,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 	private FinancingServiceImpl financingService;//融资
 	private IDictBizClient dictBizClient;//字典
 	private final RedisTemplate<String, Object> redisTemplate;
+	private IRedisClient redisClient;
 
 
 	@Override
@@ -208,6 +209,12 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 	public R<OrderVO> getOrderMessage(String id) {
 		//客户
 		List<CorpsDesc> corpsDescList = castToList(redisTemplate.opsForValue().get("corps"), CorpsDesc.class);
+		if (ObjectUtils.isNull(corpsDescList)){
+			CorpsDesc corpsDesc = new CorpsDesc();
+			corpsDesc.setTenantId(AuthUtil.getTenantId());
+			corpsDescList = corpsDescClient.getCorp(corpsDesc);
+			redisClient.basicData("all");
+		}
 		//仓库
 		List<StorageType> storageTypeList = castToList(redisTemplate.opsForValue().get("storageType"), StorageType.class);
 		//用户
@@ -1056,6 +1063,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 		submitDto.setCreateTime(new Date());
 		submitDto.setTenantId(AuthUtil.getTenantId());
 		submitDto.setBusinesDate(submitDto.getStockTime());
+		submitDto.setIssueNumber(orderItemsList.size());
 		baseMapper.insert(submitDto);
 		//结余数量
 		BigDecimal balanceNumber = new BigDecimal(0);
@@ -1219,6 +1227,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 		submitDto.setStorageQuantity(balanceNumber);//入库量
 		submitDto.setStorageAmount(balanceMoney);//入库量
 		submitDto.setSpecialRemarks(String.join(",", goodsName));//明细品名
+		submitDto.setIssueNumber(orderItemsList.size());
 		baseMapper.updateById(submitDto);
 		return R.data(submitDto);
 	}
@@ -1347,6 +1356,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 		submitDto.setStorageQuantity(balanceNumber);//入库量
 		submitDto.setStorageAmount(balanceMoney);//入库量
 		submitDto.setSpecialRemarks(String.join(",", goodsName));//明细品名
+		submitDto.setIssueNumber(orderItemsList.size());
 		baseMapper.updateById(submitDto);
 		return R.data(submitDto);
 	}
@@ -1523,6 +1533,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 				}
 			}
 			//审批数据
+			auditProecessDTO.setCaseNo(salesOrder.getCaseNo());
+			auditProecessDTO.setMorderNo(salesOrder.getBillNo());
 			auditProecessDTO.setOrderQuantity(salesOrder.getStorageQuantity());
 			auditProecessDTO.setAmount(salesOrder.getStorageAmount());
 			auditProecessDTO.setOrderRemark(salesOrder.getOrderRemark());
@@ -1719,13 +1731,13 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 			//出库审批驳回
 		} else if (OrderTypeEnum.OUT_WAREHOUSING.getType().equals(order.getBillType())) {
 			//出库明细
-			LambdaQueryWrapper<OrderItems> CKOrderItemsLambdaQueryWrapper = new LambdaQueryWrapper<>();
+			/*LambdaQueryWrapper<OrderItems> CKOrderItemsLambdaQueryWrapper = new LambdaQueryWrapper<>();
 			CKOrderItemsLambdaQueryWrapper
 				.eq(OrderItems::getIsDeleted, 0)
 				.eq(OrderItems::getPid, order.getId())
 				.eq(OrderItems::getBillType, OrderTypeEnum.WAREHOUSING.getType())
 				.eq(OrderItems::getTenantId, AuthUtil.getTenantId());
-			List<OrderItems> CKOrderItemsList = orderItemsMapper.selectList(CKOrderItemsLambdaQueryWrapper);
+			List<OrderItems> CKOrderItemsList = orderItemsMapper.selectList(CKOrderItemsLambdaQueryWrapper);*/
 			int isIssue = 4;
 			//判断第几次出库审核
 			if (0 == times) {
@@ -1743,14 +1755,14 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 				order.setOrderStatus("已确认");
 				isIssue = 7;
 			}
-			for (OrderItems orderItems : CKOrderItemsList) {
+			/*for (OrderItems orderItems : CKOrderItemsList) {
 				OrderItems RKOrderItems = new OrderItems();
 				RKOrderItems.setId(orderItems.getSrcItemId());
 				RKOrderItems.setIsIssue(isIssue + "");
 				orderItems.setIsIssue(isIssue + "");
 				orderItemsMapper.updateById(RKOrderItems);
 				orderItemsMapper.updateById(orderItems);
-			}
+			}*/
 			//盘点审批驳回
 		} else if (OrderTypeEnum.INVENTORY.getType().equals(order.getBillType())) {
 			if (order.getStatus() == 0) {
@@ -1936,7 +1948,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 
 		//入库审批撤销
 		if (OrderTypeEnum.WAREHOUSING.getType().equals(order.getBillType())) {
-			for (OrderItems orderItems : orderItemsVOList) {
+			/*for (OrderItems orderItems : orderItemsVOList) {
 				if (orderItems.getIsIssue().equals("4")) {
 					throw new SecurityException("捆包号:" + orderItems.getBillNo() + "已生成出库单,撤回失败");
 				}
@@ -1957,7 +1969,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 					throw new SecurityException("删除文件失败");
 				}
 				orderItemsMapper.updateById(orderItems);
-			}
+			}*/
 			order.setStatus(2);
 			order.setOrderStatus("录入");
 			//出库审批撤销
@@ -1979,22 +1991,22 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 				order.setOrderStatus("已确认");
 				isIssue = 7;
 			}
-			for (OrderItems orderItems : orderItemsVOList) {
+			/*for (OrderItems orderItems : orderItemsVOList) {
 				OrderItems RKOrderItems = new OrderItems();
 				RKOrderItems.setId(orderItems.getSrcItemId());
 				RKOrderItems.setIsIssue(isIssue + "");
 				orderItems.setIsIssue(isIssue + "");
 				orderItemsMapper.updateById(RKOrderItems);
 				orderItemsMapper.updateById(orderItems);
-			}
+			}*/
 			//盘点审批撤销
 		} else if (OrderTypeEnum.INVENTORY.getType().equals(order.getBillType())) {
-			QueryWrapper<OrderItems> queryWrapper = new QueryWrapper<>();
+			/*QueryWrapper<OrderItems> queryWrapper = new QueryWrapper<>();
 			queryWrapper.eq("pid", RKOrder.getId());
 			queryWrapper.eq("tenant_id", AuthUtil.getTenantId());
 			queryWrapper.eq("bill_Type", OrderTypeEnum.WAREHOUSING.getType());
 			queryWrapper.eq("is_deleted", 0);
-			List<OrderItems> RkOrderItemsList = orderItemsMapper.selectList(queryWrapper);
+			List<OrderItems> RkOrderItemsList = orderItemsMapper.selectList(queryWrapper);*/
 			for (OrderItems orderItems : orderItemsVOList) {
 				OrderItems RKOrderItems = new OrderItems();
 				RKOrderItems.setId(orderItems.getSrcItemId());
@@ -2134,6 +2146,12 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 	public IPage<Order> selectOrderList(Order order, Query query) {
 		//客户
 		List<CorpsDesc> corpsDescList = castToList(redisTemplate.opsForValue().get("corps"), CorpsDesc.class);
+		if (ObjectUtils.isNull(corpsDescList)){
+			CorpsDesc corpsDesc = new CorpsDesc();
+			corpsDesc.setTenantId(AuthUtil.getTenantId());
+			corpsDescList = corpsDescClient.getCorp(corpsDesc);
+			redisClient.basicData("all");
+		}
 		//仓库
 		List<StorageType> storageTypeList = castToList(redisTemplate.opsForValue().get("storageType"), StorageType.class);
 		//用户
@@ -2176,17 +2194,17 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 			}
 		}
 		queryWrapper.like(ObjectUtils.isNotNull(order.getOrderRemark()), "order_remark", order.getOrderRemark());
-		/*if (ObjectUtils.isNotNull(order.getStatuss())) {
+		if (ObjectUtils.isNotNull(order.getStatuss())) {
 			String[] arrs = order.getStatuss().split(",");
-			for (int i = 0; i < arrs.length; i++) {
+			/*for (int i = 0; i < arrs.length; i++) {
 				if (i > 0) {
 					queryWrapper.or().eq("status", arrs[i]);
 				} else {
 					queryWrapper.eq("status", arrs[i]);
 				}
-			}
-		}*/
-		queryWrapper.in(ObjectUtils.isNotNull(order.getStatuss()),"status",order.getStatuss());
+			}*/
+			queryWrapper.in(ObjectUtils.isNotNull(arrs),"status",arrs);
+		}
 		queryWrapper.apply(ObjectUtils.isNotNull(order.getCreateStartTime()), "DATE_FORMAT(stock_time,'%Y-%m-%d') >= DATE_FORMAT('" + order.getCreateStartTime() + "','%Y-%m-%d')")
 			.apply(ObjectUtils.isNotNull(order.getCreateEndTime()), "DATE_FORMAT(stock_time,'%Y-%m-%d') <= DATE_FORMAT('" + order.getCreateEndTime() + "','%Y-%m-%d')")
 			.orderByDesc("stock_time");
@@ -2344,6 +2362,11 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 		return baseMapper.salesTrends(AuthUtil.getTenantId(), year);
 	}
 
+	@Override
+	public List<GeneralLedgerExcel> generalLedgerTotal(OrderTotalDTO order) {
+		return baseMapper.generalLedgerTotal(order);
+	}
+
 	/**
 	 * 订单生成账单 并且推送财务消息
 	 *