瀏覽代碼

2022年10月8日18:18:54

纪新园 3 年之前
父節點
當前提交
1d489b307c

+ 1 - 1
blade-service-api/trade-purchase-api/src/main/java/com/trade/purchase/order/enums/OrderTypeEnum.java

@@ -99,7 +99,7 @@ public enum OrderTypeEnum {
 	/**
 	 * 采木云
 	 */
-	WOOD_HARVESTING_CLOUD("CMY"),
+	WOOD_HARVESTING_CLOUD("JTMC"),
 
 	/**
 	 * 采木云(入库)

+ 0 - 2
blade-service-api/trade-purchase-api/src/main/java/com/trade/purchase/order/feign/IFinancingClient.java

@@ -1,9 +1,7 @@
 package com.trade.purchase.order.feign;
 
-import com.trade.purchase.order.entity.Order;
 import org.springblade.core.tool.api.R;
 import org.springframework.cloud.openfeign.FeignClient;
-import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 

+ 4 - 0
blade-service-api/trade-purchase-api/src/main/java/com/trade/purchase/order/feign/IOrderDescClient.java

@@ -21,6 +21,7 @@ public interface  IOrderDescClient {
 	String PASS_CHECK=API_PREFIX+"/passCheck";
 	String PASS_CANCEL=API_PREFIX+"/passCancel";
 	String UNDER_REVIEW=API_PREFIX+"/underReview";
+	String ORDER_COUNT=API_PREFIX+"/orderCount";
 
 	/**
 	 * 修改采购订单状态
@@ -42,4 +43,7 @@ public interface  IOrderDescClient {
 	@PostMapping(UNDER_REVIEW)
 	R underReview(@RequestParam("id") Long id,@RequestParam("times") int times);
 
+	@PostMapping(ORDER_COUNT)
+	int count(@RequestParam("type") String type,@RequestParam("orderStartDate") String orderStartDate,@RequestParam("orderEndDate") String orderEndDate,@RequestParam("businessType") String businessType);
+
 }

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

@@ -1515,6 +1515,12 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 				monthSales.setYieldRate(BigDecimal.ZERO);
 			}
 		} else {
+			if (StringUtils.isBlank(order.getTradeType())){
+				throw new SecurityException("缺少贸易类型");
+			}
+			if (StringUtils.isBlank(order.getBillType())){
+				throw new SecurityException("缺少订单类型");
+			}
 			if (StringUtils.isBlank(order.getTenantId())) {
 				order.setTenantId(SecureUtil.getTenantId());
 			}

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

@@ -133,7 +133,7 @@ public class AccController extends BladeController {
 			.eq(acc.getCreateUser() != null, Acc::getCreateUser, acc.getCreateUser())
 			.eq(acc.getSrcParentId() != null, Acc::getSrcParentId, acc.getSrcParentId())
 			.eq(StringUtils.isNotBlank(acc.getDc()), Acc::getDc, acc.getDc());
-		if ("CMY".equals(acc.getType())) {
+		if ("JTMC".equals(acc.getType())) {
 			accLambdaQueryWrapper.eq(Acc::getSettlementAmount, 0);
 		} else {
 			accLambdaQueryWrapper.gt(acc.getCheckStatus() != null && acc.getCheckStatus() == 1, Acc::getCheckAmount, 0)

+ 7 - 2
blade-service/trade-finance/src/main/java/org/springblade/finance/service/impl/SettlementServiceImpl.java

@@ -322,6 +322,11 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 		List<Files> filesList = settlementDTO.getFilesList();
 		List<Items> itemsList = settlementDTO.getItemsList();
 		model.setItemsList(itemsList);
+
+		if ("673511".equals(SecureUtil.getTenantId()) && itemsList.size() > 0) {
+			model.setBillNo(itemsList.get(0).getBillNo());
+		}
+
 		//如果id=null, 无论主表还是从表, 必然都是新增
 		//国内财务需要判断溢付款
 		if ("681169".equals(settlement.getTenantId())) {
@@ -495,7 +500,7 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 		}
 		accMapper.updateById(acc);
 
-		if (acc.getTradeType().equals("CMY")) {
+		if (acc.getTradeType().equals("JTMC")) {
 			Long srcFeesId = acc.getSrcFeesId();
 			if (srcFeesId == null) {
 				throw new SecurityException("操作失败,未获取到原业务信息");
@@ -632,7 +637,7 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 			throw new SecurityException("结算金额超过账单明细总金额");
 		}*/
 
-		if (acc.getTradeType().equals("CMY")) {
+		if (acc.getTradeType().equals("JTMC")) {
 			Long srcFeesId = acc.getSrcFeesId();
 			if (srcFeesId == null) {
 				throw new SecurityException("操作失败,未获取到原业务信息");

+ 3 - 3
blade-service/trade-purchase/src/main/java/com/trade/purchase/financing/controller/FinancingController.java

@@ -171,7 +171,7 @@ public class FinancingController extends BladeController {
 	@PostMapping("checkFinancing")
 	public R checkOrder(@RequestBody Financing financing) {
 		financingService.checkFinancing(financing);
-		return R.data("操作成功");
+		return R.data(financing);
 	}
 
 	/**
@@ -217,7 +217,7 @@ public class FinancingController extends BladeController {
 			QueryWrapper<Financing> queryWrapper = new QueryWrapper<>();
 			queryWrapper.eq("is_deleted", 0);
 			queryWrapper.eq("tenant_id", AuthUtil.getTenantId());
-			queryWrapper.eq("status", 3);
+			queryWrapper.eq("status", 5);
 			queryWrapper.eq("corp_id", financing.getCorpId());
 			if (ObjectUtils.isNull(financing.getFinancingDate())) {
 				queryWrapper.apply("date_format(financing_date,'%Y-%m') = date_format(now(),'%Y-%m')");
@@ -297,7 +297,7 @@ public class FinancingController extends BladeController {
 				}
 				QueryWrapper<Financing> queryWrapper = new QueryWrapper<>();
 				queryWrapper.eq("is_deleted", 0);
-				queryWrapper.eq("status", 3);
+				queryWrapper.eq("status", 5);
 				queryWrapper.eq("tenant_id", AuthUtil.getTenantId());
 				queryWrapper.eq("corp_id", financings.getCorpId());
 				if (ObjectUtils.isNull(financing.getFinancingDate())) {

+ 28 - 6
blade-service/trade-purchase/src/main/java/com/trade/purchase/order/controller/WoodHarvestingCloudController.java

@@ -103,11 +103,11 @@ public class WoodHarvestingCloudController {
 	@ApiOperationSupport(order = 2)
 	@ApiOperation(value = "查询所有", notes = "传入order")
 	public R<IPage<Order>> list(Order order, Query query) {
-		redisClient.selectItemsIdGoods("goods");
-		redisClient.selectItemsIdGoods("corps");
-		redisClient.selectItemsIdGoods("storageType");
-		redisClient.selectItemsIdGoods("storageDesc");
-		redisClient.selectItemsIdGoods("user");
+//		redisClient.selectItemsIdGoods("goods");
+//		redisClient.selectItemsIdGoods("corps");
+//		redisClient.selectItemsIdGoods("storageType");
+//		redisClient.selectItemsIdGoods("storageDesc");
+//		redisClient.selectItemsIdGoods("user");
 		IPage<Order> pages = orderService.selectOrderList(order, query);
 		return R.data(pages);
 	}
@@ -390,7 +390,20 @@ public class WoodHarvestingCloudController {
 	@GetMapping("/scanningCodeAddPc")
 	@ApiOperationSupport(order = 7)
 	@ApiOperation(value = "Pc添加明细", notes = "billNo")
-	public R pcSubmit(@RequestParam(value = "purchaserId") Long purchaserId, @RequestParam(value = "storageId") Long storageId, Query query, @RequestParam(value = "billNo") String billNo) {
+	public R pcSubmit(Query query,
+					  @RequestParam(value = "purchaserId") Long purchaserId,
+					  @RequestParam(value = "storageId") Long storageId,
+					  @RequestParam(value = "billNo",required = false) String billNo,
+					  @RequestParam(value = "mainBillNo",required = false) String mainBillNo,
+					  @RequestParam(value = "itemId",required = false) Long itemId,
+					  @RequestParam(value = "length",required = false) String length,
+					  @RequestParam(value = "thickness",required = false) String thickness,
+					  @RequestParam(value = "grade",required = false) String grade,
+					  @RequestParam(value = "cntrNo",required = false) String cntrNo,
+					  @RequestParam(value = "itemType",required = false) String itemType,
+					  @RequestParam(value = "stockTimeStart",required = false) String stockTimeStart,
+					  @RequestParam(value = "stockTimeEnd",required = false) String stockTimeEnd
+	) {
 		if (ObjectUtils.isNull(purchaserId) || ObjectUtils.isNull(storageId)) {
 			return R.fail("缺少必要参数");
 		}
@@ -399,8 +412,17 @@ public class WoodHarvestingCloudController {
 			.eq(OrderItems::getIsDeleted, 0)
 			.eq(OrderItems::getPurchaserId, purchaserId)
 			.eq(OrderItems::getIsIssue, "3")
+			.eq(OrderItems::getBillType, OrderTypeEnum.WAREHOUSING.getType())
 			.eq(OrderItems::getScanningComparison, "N")
 			.like(ObjectUtils.isNotNull(billNo), OrderItems::getBillNo, billNo)
+			.eq(ObjectUtils.isNotNull(itemId), OrderItems::getItemId, itemId)
+			.eq(ObjectUtils.isNotNull(length), OrderItems::getLength, length)
+			.eq(ObjectUtils.isNotNull(thickness), OrderItems::getThickness, thickness)
+			.eq(ObjectUtils.isNotNull(grade), OrderItems::getGrade, grade)
+			.eq(ObjectUtils.isNotNull(cntrNo), OrderItems::getCntrNo, cntrNo)
+			.eq(ObjectUtils.isNotNull(itemType), OrderItems::getItemType, itemType)
+			.ge(ObjectUtils.isNotNull(stockTimeStart), OrderItems::getStockTime, stockTimeStart)
+			.le(ObjectUtils.isNotNull(stockTimeEnd), OrderItems::getStockTime, stockTimeEnd)
 			.eq(OrderItems::getWarehouseId, storageId);
 		IPage<OrderItems> pages = orderItemsService.page(Condition.getPage(query), lambdaQueryWrapper);
 		return R.data(pages);

+ 86 - 15
blade-service/trade-purchase/src/main/java/com/trade/purchase/order/feign/OrderDescClient.java

@@ -2,14 +2,21 @@ package com.trade.purchase.order.feign;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.trade.purchase.order.entity.Order;
+import com.trade.purchase.order.enums.OrderTypeEnum;
 import com.trade.purchase.order.service.IOrderService;
 import lombok.AllArgsConstructor;
 import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.secure.utils.SecureUtil;
+import org.springblade.core.tenant.annotation.NonDS;
 import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.Func;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RestController;
+import springfox.documentation.annotations.ApiIgnore;
 
+@NonDS
+@ApiIgnore()
 @RestController
 @AllArgsConstructor
 public class OrderDescClient implements IOrderDescClient {
@@ -17,11 +24,8 @@ public class OrderDescClient implements IOrderDescClient {
 	private final IOrderService iOrderService;
 
 	@Override
-	@Transactional
-	public R updateOrder(Order order)
-	{
-		if(order.getId()==null)
-		{
+	public R updateOrder(Order order) {
+		if (order.getId() == null) {
 			throw new SecurityException("修改状态失败");
 		}
 		iOrderService.updateById(order);
@@ -30,28 +34,95 @@ public class OrderDescClient implements IOrderDescClient {
 
 	@Override
 	@GetMapping(GET_BY_ORDER_NO)
-	public Order getByOrder(String orderNo)
-	{
-		LambdaQueryWrapper<Order> orderLambdaQueryWrapper=new LambdaQueryWrapper<>();
+	public Order getByOrder(String orderNo) {
+		LambdaQueryWrapper<Order> orderLambdaQueryWrapper = new LambdaQueryWrapper<>();
 		orderLambdaQueryWrapper.eq(Order::getTenantId, AuthUtil.getTenantId());
 		orderLambdaQueryWrapper.eq(Order::getIsDeleted, 0);
-		orderLambdaQueryWrapper.eq(Order::getOrderNo,orderNo);
+		orderLambdaQueryWrapper.eq(Order::getOrderNo, orderNo);
 		return iOrderService.getOne(orderLambdaQueryWrapper, false);
 	}
 
 	@Override
-	public R passCheck(Long id,int times) {
-		return iOrderService.passCheck(id,times);
+	public R passCheck(Long id, int times) {
+		return iOrderService.passCheck(id, times);
 	}
 
 	@Override
-	public R passCancel(Long id,int times) {
-		return iOrderService.passCancel(id,times);
+	public R passCancel(Long id, int times) {
+		return iOrderService.passCancel(id, times);
 	}
 
 	@Override
-	public R underReview(Long id,int times) {
-		return iOrderService.underReview(id,times);
+	public R underReview(Long id, int times) {
+		return iOrderService.underReview(id, times);
+	}
+
+
+	@Override
+	public int count(String type, String orderStartDate, String orderEndDate, String businessType) {
+		if ("check".equals(businessType)) {
+			if (OrderTypeEnum.WAREHOUSING.getType().equals(type)) {
+				//入库待审核
+				LambdaQueryWrapper<Order> RkOrderLambdaQueryWrapper = new LambdaQueryWrapper<>();
+				RkOrderLambdaQueryWrapper.eq(Order::getTenantId, AuthUtil.getTenantId())
+					.eq(Order::getBillType, OrderTypeEnum.WAREHOUSING.getType())
+					.eq(Order::getTradeType, OrderTypeEnum.WOOD_HARVESTING_CLOUD.getType())
+					.ge(Func.isNotEmpty(orderStartDate), Order::getStockTime, orderStartDate)//订单日期开始
+					.le(Func.isNotEmpty(orderEndDate), Order::getStockTime, orderEndDate)//订单日期结束
+					.eq(Order::getIsDeleted, 0)
+					.eq(Order::getStatus, 3);
+				return iOrderService.count(RkOrderLambdaQueryWrapper);
+			} else if (OrderTypeEnum.OUT_WAREHOUSING.getType().equals(type)) {
+				//出库待审核
+				LambdaQueryWrapper<Order> CkOrderLambdaQueryWrapper = new LambdaQueryWrapper<>();
+				CkOrderLambdaQueryWrapper.eq(Order::getTenantId, AuthUtil.getTenantId())
+					.eq(Order::getBillType, OrderTypeEnum.OUT_WAREHOUSING.getType())
+					.eq(Order::getTradeType, OrderTypeEnum.WOOD_HARVESTING_CLOUD.getType())
+					.ge(Func.isNotEmpty(orderStartDate), Order::getStockTime, orderStartDate)//订单日期开始
+					.le(Func.isNotEmpty(orderEndDate), Order::getStockTime, orderEndDate)//订单日期结束
+					.eq(Order::getIsDeleted, 0)
+					.eq(Order::getStatus, 3).or().eq(Order::getStatus, 6);
+				return iOrderService.count(CkOrderLambdaQueryWrapper);
+			} else if (OrderTypeEnum.INVENTORY.getType().equals(type)) {
+				//盘点待审核
+				LambdaQueryWrapper<Order> PDOrderLambdaQueryWrapper = new LambdaQueryWrapper<>();
+				PDOrderLambdaQueryWrapper.eq(Order::getTenantId, AuthUtil.getTenantId())
+					.eq(Order::getBillType, OrderTypeEnum.INVENTORY.getType())
+					.eq(Order::getTradeType, OrderTypeEnum.WOOD_HARVESTING_CLOUD.getType())
+					.ge(Func.isNotEmpty(orderStartDate), Order::getStockTime, orderStartDate)//订单日期开始
+					.le(Func.isNotEmpty(orderEndDate), Order::getStockTime, orderEndDate)//订单日期结束
+					.eq(Order::getIsDeleted, 0)
+					.eq(Order::getStatus, 3);
+				return iOrderService.count(PDOrderLambdaQueryWrapper);
+			} else {
+				return 0;
+			}
+		} else {
+			if (OrderTypeEnum.WAREHOUSING.getType().equals(type)) {
+				//入库
+				LambdaQueryWrapper<Order> RkOrderLambdaQueryWrapper = new LambdaQueryWrapper<>();
+				RkOrderLambdaQueryWrapper.eq(Order::getIsDeleted, 0);
+				RkOrderLambdaQueryWrapper.eq(Order::getTenantId, SecureUtil.getTenantId());
+				RkOrderLambdaQueryWrapper.eq(Order::getTradeType, OrderTypeEnum.WOOD_HARVESTING_CLOUD.getType());
+				RkOrderLambdaQueryWrapper.eq(Order::getBillType, type);
+				RkOrderLambdaQueryWrapper.ge(Func.isNotEmpty(orderStartDate), Order::getStockTime, orderStartDate);//订单日期开始
+				RkOrderLambdaQueryWrapper.le(Func.isNotEmpty(orderEndDate), Order::getStockTime, orderEndDate);//订单日期结束
+				return iOrderService.count(RkOrderLambdaQueryWrapper);
+			} else if (OrderTypeEnum.OUT_WAREHOUSING.getType().equals(type)) {
+				//出库
+				LambdaQueryWrapper<Order> CkOrderLambdaQueryWrapper = new LambdaQueryWrapper<>();
+				CkOrderLambdaQueryWrapper.eq(Order::getIsDeleted, 0);
+				CkOrderLambdaQueryWrapper.eq(Order::getTenantId, SecureUtil.getTenantId());
+				CkOrderLambdaQueryWrapper.eq(Order::getTradeType, OrderTypeEnum.WOOD_HARVESTING_CLOUD.getType());
+				CkOrderLambdaQueryWrapper.eq(Order::getBillType, type);
+				CkOrderLambdaQueryWrapper.ge(Func.isNotEmpty(orderStartDate), Order::getStockTime, orderStartDate);//订单日期开始
+				CkOrderLambdaQueryWrapper.le(Func.isNotEmpty(orderEndDate), Order::getStockTime, orderEndDate);//订单日期结束
+				return iOrderService.count(CkOrderLambdaQueryWrapper);
+			} else {
+				return 0;
+			}
+		}
+
 	}
 
 

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

@@ -4,12 +4,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.trade.purchase.excel.GeneralLedgerExcel;
 import com.trade.purchase.excel.PurchaseOrderExcel;
-import com.trade.purchase.order.vo.OrderDTO;
-import com.trade.purchase.order.vo.OrderTotalDTO;
-import org.apache.ibatis.annotations.Param;
 import com.trade.purchase.order.entity.Order;
+import com.trade.purchase.order.vo.OrderTotalDTO;
 import com.trade.purchase.order.vo.OrderVO;
-import org.springblade.core.mp.support.Query;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 import java.util.Map;
@@ -35,17 +33,19 @@ public interface OrderMapper extends BaseMapper<Order> {
 
 	/**
 	 * 库存总账
+	 *
 	 * @param page
 	 * @param order
 	 * @return
 	 */
-    List<GeneralLedgerExcel> generalLedgerList(IPage page, @Param("Order") OrderTotalDTO order);
+	List<GeneralLedgerExcel> generalLedgerList(IPage page, @Param("Order") OrderTotalDTO order);
 
 	/**
 	 * 库存总账(商品)
+	 *
 	 * @return
 	 */
 	List<Map<String, Object>> generalLedgerListByGoods(@Param("tenantId") String tenantId);
 
-    List<Map<String, Object>> salesTrends(@Param("tenantId") String tenantId,@Param("year") String year);
+	List<Map<String, Object>> salesTrends(@Param("tenantId") String tenantId, @Param("year") String year);
 }

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

@@ -372,8 +372,8 @@
         boi.id AS id,
         boi.item_id AS itemId,
         bgd.cname AS goodsName,
-        bgd.brand AS itemType,
-        bgd.place_production AS itemProp,
+        boi.item_type AS itemType,
+        boi.item_prop AS itemProp,
         boi.length AS length,
         boi.width AS width,
         boi.width_item AS widthItem,
@@ -405,7 +405,7 @@
         AND bo.is_deleted = 0
         and bo.status = 5
         and bo.bill_type = 'RK'
-        and bo.trade_type = 'CMY'
+        and bo.trade_type = 'JTMC'
         <if test="Order.sysNo!=null and Order.sysNo != ''">
             and bo.sys_no=#{Order.sysNo}
         </if>
@@ -460,7 +460,12 @@
         <if test="Order.unit!=null and Order.unit != ''">
             and boi.unit = #{Order.unit}
         </if>
-        and (boi.is_Issue = '3' or boi.is_Issue = '4' or boi.is_Issue = '5' or boi.is_Issue = '6')
+        <if test="Order.isIssue!=null and Order.isIssue != ''">
+            and boi.is_Issue = #{Order.isIssue}
+        </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>
 
@@ -475,8 +480,8 @@
           AND bo.is_deleted = 0
           AND bo.status = 5
           AND bo.bill_type = 'RK'
-          AND bo.trade_type = 'CMY'
-          and (boi.is_Issue = '3' or boi.is_Issue = '4' or boi.is_Issue = '5' or boi.is_Issue = '6')
+          AND bo.trade_type = 'JTMC'
+          and boi.is_Issue = '3'
           and boi.tenant_id = #{tenantId}
         GROUP BY boi.item_id
     </select>
@@ -489,7 +494,7 @@
           AND bo.is_deleted = 0
           AND bo.status = 5
           AND bo.bill_type = 'RK'
-          AND bo.trade_type = 'CMY'
+          AND bo.trade_type = 'JTMC'
           and boi.is_Issue = '7'
           and boi.tenant_id = #{tenantId}
         <if test="year!=null and year != ''">

+ 47 - 40
blade-service/trade-purchase/src/main/java/com/trade/purchase/order/service/impl/OrderServiceImpl.java

@@ -1086,6 +1086,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 					items.setId(orderItems.getSrcItemId());
 					items.setIsIssue("4");
 					orderItemsMapper.updateById(items);
+				}else if (OrderTypeEnum.INVENTORY.getType().equals(submitDto.getBillType())) {
+					orderItems.setBillType(OrderTypeEnum.INVENTORY.getType());
 				}
 				orderItems.setPurchaserId(submitDto.getPurchaserId());
 				orderItems.setWarehouseId(submitDto.getStorageId());
@@ -1099,7 +1101,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 				orderItemsMapper.insert(orderItems);
 				balanceNumber = balanceNumber.add(orderItems.getStorageInQuantity());
 				balanceMoney = balanceMoney.add(orderItems.getBalanceMoney());
-				goodsName.add(orderItems.getGoodsName());
+				goodsName.add(orderItems.getCname());
 			}
 		}
 		//明细品名去重
@@ -1170,6 +1172,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 						items.setIsIssue("4");
 						orderItemsMapper.updateById(items);
 					}
+				}else if (OrderTypeEnum.INVENTORY.getType().equals(submitDto.getBillType())) {
+					orderItems.setBillType(OrderTypeEnum.INVENTORY.getType());
 				}
 				orderItems.setPurchaserId(submitDto.getPurchaserId());
 				orderItems.setWarehouseId(submitDto.getStorageId());
@@ -1191,7 +1195,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 				}
 				balanceNumber = balanceNumber.add(orderItems.getStorageInQuantity());
 				balanceMoney = balanceMoney.add(orderItems.getBalanceMoney());
-				goodsName.add(orderItems.getGoodsName());
+				goodsName.add(orderItems.getCname());
 			}
 		}
 		//明细品名去重
@@ -1289,6 +1293,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 					items.setId(orderItems.getSrcItemId());
 					items.setIsIssue("4");
 					orderItemsMapper.updateById(items);
+				} else if (OrderTypeEnum.INVENTORY.getType().equals(submitDto.getBillType())) {
+					orderItems.setBillType(OrderTypeEnum.INVENTORY.getType());
 				}
 				//判断明细id是否为空  true 新增  false修改
 				if (ObjectUtils.isNotNull(orderItems.getId())) {
@@ -1304,7 +1310,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 				}
 				balanceNumber = balanceNumber.add(orderItems.getStorageInQuantity());
 				balanceMoney = balanceMoney.add(orderItems.getBalanceMoney());
-				goodsName.add(orderItems.getGoodsName());
+				goodsName.add(orderItems.getCname());
 			}
 		}
 		//明细品名去重
@@ -1474,9 +1480,9 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 				receivableLambdaQueryWrapper.eq(OrderFees::getPid, order.getId());
 				receivableLambdaQueryWrapper.eq(OrderFees::getFeesType, 2);
 				List<OrderFees> receivableOrderFeesList = orderFeesService.list(receivableLambdaQueryWrapper);
-				if (ObjectUtils.isNotNull(receivableOrderFeesList)){
+				if (ObjectUtils.isNotNull(receivableOrderFeesList)) {
 					auditProecessDTO.setPayAmount(receivableOrderFeesList.stream().map(OrderFees::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
-				}else{
+				} else {
 					auditProecessDTO.setPayAmount(new BigDecimal(0));
 				}
 				//应收
@@ -1486,9 +1492,9 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 				payLambdaQueryWrapper.eq(OrderFees::getPid, order.getId());
 				payLambdaQueryWrapper.eq(OrderFees::getFeesType, 1);
 				List<OrderFees> payOrderFeesList = orderFeesService.list(payLambdaQueryWrapper);
-				if (ObjectUtils.isNotNull(receivableOrderFeesList)){
+				if (ObjectUtils.isNotNull(receivableOrderFeesList)) {
 					auditProecessDTO.setReceivableAmount(payOrderFeesList.stream().map(OrderFees::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
-				}else{
+				} else {
 					auditProecessDTO.setReceivableAmount(new BigDecimal(0));
 				}
 			}
@@ -1524,26 +1530,6 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 		if (order == null) {
 			throw new SecurityException("审批通过失败");
 		}
-		//获取入库数据
-		LambdaQueryWrapper<Order> RKOrderLambdaQueryWrapper = new LambdaQueryWrapper<>();
-		RKOrderLambdaQueryWrapper
-			.eq(Order::getIsDeleted, 0)
-			.eq(Order::getOrderNo, order.getOrderNo())
-			.eq(Order::getBillType, OrderTypeEnum.WAREHOUSING.getType())
-			.eq(Order::getTenantId, AuthUtil.getTenantId());
-		Order RKOrder = baseMapper.selectOne(RKOrderLambdaQueryWrapper);
-		if (RKOrder == null) {
-			throw new SecurityException("更新入库数据失败");
-		}
-		//入库明细
-		LambdaQueryWrapper<OrderItems> RKOrderItemsLambdaQueryWrapper = new LambdaQueryWrapper<>();
-		RKOrderItemsLambdaQueryWrapper
-			.eq(OrderItems::getIsDeleted, 0)
-			.eq(OrderItems::getPid, RKOrder.getId())
-			.eq(OrderItems::getBillType, OrderTypeEnum.WAREHOUSING.getType())
-			.eq(OrderItems::getTenantId, AuthUtil.getTenantId());
-		List<OrderItems> RKOrderItemsList = orderItemsMapper.selectList(RKOrderItemsLambdaQueryWrapper);
-
 		//入库审批通过
 		if (OrderTypeEnum.WAREHOUSING.getType().equals(order.getBillType())) {
 			if (order.getStatus() == 5) {
@@ -1585,14 +1571,6 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 					orderItemsMapper.updateById(orderItems);
 				}
 			}
-			long count = RKOrderItemsList.stream().filter(R -> R.getIsIssue().equals("7")).count();
-			//判断入库明细是否已全部出库 true 修改入库主表总状态为已出库
-			if (count == RKOrderItemsList.size()) {
-				order.setSpecialCheckStatus(1);
-				RKOrder.setSpecialCheckStatus(1);
-				//修改入库状态
-				baseMapper.updateById(RKOrder);
-			}
 			//判断第几次出库审核
 			if (0 == times) {//第一次审批
 				order.setStatus(8);
@@ -1601,6 +1579,32 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 				order.setStatus(5);
 				order.setConfirmStatus("1");
 				order.setOrderStatus("财务审批通过");
+
+				List<Long> srcItemIds = CkOrderItemsList.stream().map(OrderItems::getSrcItemId).distinct().collect(Collectors.toList());
+				List<OrderItems> orderItemsList = new ArrayList<>();
+				for (Long srcItemId :srcItemIds) {
+					orderItemsList.add(orderItemsMapper.selectById(srcItemId));
+				}
+				List<Long> pIds = orderItemsList.stream().map(OrderItems::getPid).distinct().collect(Collectors.toList());
+				for (Long pId :pIds) {
+					LambdaQueryWrapper<OrderItems> RKOrderItemsLambdaQueryWrapper = new LambdaQueryWrapper<>();
+					RKOrderItemsLambdaQueryWrapper
+						.eq(OrderItems::getIsDeleted, 0)
+						.eq(OrderItems::getPid, pId)
+						.eq(OrderItems::getTenantId, AuthUtil.getTenantId());
+					//入库明细
+					List<OrderItems> RkOrderItemsList = orderItemsMapper.selectList(RKOrderItemsLambdaQueryWrapper);
+					long count = RkOrderItemsList.stream().filter(R -> R.getIsIssue().equals("7")).count();
+					//判断入库明细是否已全部出库 true 修改入库主表总状态为已出库
+					if (count == RkOrderItemsList.size()) {
+						Order RKOrder = new Order();
+						RKOrder.setId(pId);
+						RKOrder.setSpecialCheckStatus(1);
+						//修改入库状态
+						baseMapper.updateById(RKOrder);
+					}
+				}
+				order.setSpecialCheckStatus(1);
 			}
 			financeClient.updateByOrderId(order.getId());
 			//盘点审批通过
@@ -2319,7 +2323,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 	 */
 	@Override
 	public List<Map<String, Object>> salesTrends(String year) {
-		return baseMapper.salesTrends(AuthUtil.getTenantId(),year);
+		return baseMapper.salesTrends(AuthUtil.getTenantId(), year);
 	}
 
 	/**
@@ -2541,10 +2545,13 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 							date = date - (agreementitems.getEnDays() - agreementitems.getFromDays() + 1);
 							text.append(orderItems.getStorageInQuantity()).append("*").append(agreementitems.getPrice()).append("*").append(agreementitems.getEnDays() - agreementitems.getFromDays() + 1).append("+");
 						} else {
-							if (agreementitems.getPrice().compareTo(new BigDecimal(0)) > 0) {
-								//业务天数乘以单价 = 剩余所需收费金额
-								amount = amount.add((new BigDecimal(date + 2)).multiply(agreementitems.getPrice(), MathContext.UNLIMITED).multiply(orderItems.getStorageInQuantity()));
-								text.append(order.getStorageQuantity()).append("*").append(agreementitems.getPrice()).append("*").append(date + 2);
+							if (date > 0) {
+								if (agreementitems.getPrice().compareTo(new BigDecimal(0)) > 0) {
+									//业务天数乘以单价 = 剩余所需收费金额
+									amount = amount.add((new BigDecimal(date + 2)).multiply(agreementitems.getPrice(), MathContext.UNLIMITED).multiply(orderItems.getStorageInQuantity()));
+									text.append(order.getStorageQuantity()).append("*").append(agreementitems.getPrice()).append("*").append(date + 2);
+									date = date - (agreementitems.getEnDays() - agreementitems.getFromDays() + 1);
+								}
 							}
 						}
 						count++;