Forráskód Böngészése

2023年7月6日08:25:53

纪新园 2 éve
szülő
commit
987c9ac772

+ 6 - 0
blade-service-api/blade-sales-part-api/src/main/java/org/springblade/salesPart/entity/PjOrder.java

@@ -243,6 +243,12 @@ public class PjOrder implements Serializable {
 	private Date dueDate;
 
 	/**
+	 * 应结日期
+	 */
+	@TableField(exist = false)
+	private List<String> dueDateList;
+
+	/**
 	 * 所属公司id
 	 */
 	@ApiModelProperty(value = "所属公司id")

+ 1 - 2
blade-service-api/blade-sales-part-api/src/main/java/org/springblade/salesPart/entity/PjStockDesc.java

@@ -215,8 +215,7 @@ public class PjStockDesc implements Serializable {
 	 * 版本
 	 */
 	@ApiModelProperty(value = "版本")
-	/*@Version
-	@TableField(value = "version", fill = FieldFill.INSERT_UPDATE)*/
+	@Version
 	private int version;
 
 	@TableField(exist = false)

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

@@ -304,6 +304,11 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, A
 						"" + auditProecessDTO.getBillNo() + ",请审核。"
 						+ " 提交人:" + auditProecessDTO.getSendName() + "  " + "提交时间" + simpleDateFormat.format(auditProecessDTO.getSendTime())
 					);
+				}else if ("采购审核".equals(auditProecessDTO.getProcessType())) {
+					message.setMessageBody("您有新的采购审核,客户名:" + corpName + "," + "订单号:" +
+						"" + auditProecessDTO.getBillNo() + ",请审核。"
+						+ " 提交人:" + auditProecessDTO.getSendName() + "  " + "提交时间" + simpleDateFormat.format(auditProecessDTO.getSendTime())
+					);
 				}
 
 				message.setUrl("/approveData/index");

+ 21 - 0
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/config/MyBatisPulsConfig.java

@@ -0,0 +1,21 @@
+package org.springblade.salesPart.config;
+
+import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
+import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * @author :jixinyuan
+ * @date : 2023/7/4
+ */
+@Configuration
+public class MyBatisPulsConfig {
+
+	@Bean
+	public MybatisPlusInterceptor mybatisPlusInterceptor() {
+		MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor();
+		mybatisPlusInterceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor());
+		return mybatisPlusInterceptor;
+	}
+}

+ 4 - 0
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/order/controller/OrderController.java

@@ -105,6 +105,10 @@ public class OrderController extends BladeController {
 			.ne(ObjectUtils.isNotEmpty(order.getActualPaymentStatus()), PjOrder::getActualPaymentStatus, order.getActualPaymentStatus())//来源单号
 			.like(ObjectUtils.isNotEmpty(order.getBusinessSource()), PjOrder::getBusinessSource, order.getBusinessSource())//来源
 			.apply(ObjectUtils.isNotEmpty(order.getStatus()),"find_in_set(status,'"+order.getStatus()+"')");
+		if (order.getDueDateList() != null && order.getDueDateList().size() > 1) {//创建日期
+			lambdaQueryWrapper.ge(PjOrder::getDueDate, order.getDueDateList().get(0));
+			lambdaQueryWrapper.le(PjOrder::getDueDate, order.getDueDateList().get(1));
+		}
 		if (order.getCreateTimeList() != null && order.getCreateTimeList().size() > 1) {//创建日期
 			lambdaQueryWrapper.ge(PjOrder::getCreateTime, order.getCreateTimeList().get(0));
 			lambdaQueryWrapper.le(PjOrder::getCreateTime, order.getCreateTimeList().get(1));

+ 3 - 3
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/settlement/controller/SettlementController.java

@@ -101,9 +101,9 @@ public class SettlementController extends BladeController {
 		lambdaQueryWrapper.eq(ObjectUtils.isNotNull(settlement.getSettlementDate()), PjSettlement::getSettlementDate, settlement.getSettlementDate());
 		lambdaQueryWrapper.eq(ObjectUtils.isNotNull(settlement.getSalesCompanyId()), PjSettlement::getSalesCompanyId, settlement.getSalesCompanyId());
 		lambdaQueryWrapper.eq(ObjectUtils.isNotNull(settlement.getDc()), PjSettlement::getDc, settlement.getDc());
-		if (ObjectUtils.isNotNull(settlement.getSettlementItemsList()) && settlement.getSettlementItemsList().size()>0){
-			lambdaQueryWrapper.le(PjSettlement::getDueDate,settlement.getSettlementItemsList().get(0));
-			lambdaQueryWrapper.ge(PjSettlement::getDueDate,settlement.getSettlementItemsList().get(1));
+		if (ObjectUtils.isNotNull(settlement.getSettlementDateList()) && settlement.getSettlementDateList().size()>0){
+			lambdaQueryWrapper.le(PjSettlement::getDueDate,settlement.getSettlementDateList().get(0));
+			lambdaQueryWrapper.ge(PjSettlement::getDueDate,settlement.getSettlementDateList().get(1));
 		}
 		IPage<PjSettlement> pages = settlementService.page(Condition.getPage(query), lambdaQueryWrapper);
 		for (PjSettlement item : pages.getRecords()) {

+ 5 - 5
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/settlement/service/impl/SettlementServiceImpl.java

@@ -83,7 +83,7 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, PjSettl
 			settlement.setCreateUser(AuthUtil.getUserId());
 			settlement.setTenantId(AuthUtil.getTenantId());
 			settlement.setSalesCompanyId(Long.parseLong(AuthUtil.getDeptId()));
-			if ("D".equals(settlement.getDc())) {
+			if ("d".equals(settlement.getDc())) {
 				settlement.setFinanceStatus(OrderTypeEnum.WAITPAYMENTD.getType());
 			}else{
 				settlement.setFinanceStatus(OrderTypeEnum.WAITPAYMENTC.getType());
@@ -157,7 +157,7 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, PjSettl
 				pjAccountManagement.setId(settlement.getAccountId());
 				pjAccountManagement.setUpdateTime(new Date());
 				pjAccountManagement.setUpdateUser(AuthUtil.getUserId());
-				if ("D".equals(settlement.getDc())) {
+				if ("d".equals(settlement.getDc())) {
 					if (ObjectUtils.isNotNull(pjAccountManagement.getAccountBalance())) {
 						pjAccountManagement.setAccountBalance(pjAccountManagement.getAccountBalance().add(thisAmount));
 					} else {
@@ -173,7 +173,7 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, PjSettl
 				accountManagementService.updateById(pjAccountManagement);
 			}
 		}
-		if ("D".equals(settlement.getDc())) {
+		if ("d".equals(settlement.getDc())) {
 			settlement.setFinanceStatus(OrderTypeEnum.PAIDD.getType());
 		}else{
 			settlement.setFinanceStatus(OrderTypeEnum.PAIDC.getType());
@@ -224,7 +224,7 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, PjSettl
 				pjAccountManagement.setId(settlement.getAccountId());
 				pjAccountManagement.setUpdateTime(new Date());
 				pjAccountManagement.setUpdateUser(AuthUtil.getUserId());
-				if ("D".equals(settlement.getDc())) {
+				if ("d".equals(settlement.getDc())) {
 					if (ObjectUtils.isNotNull(pjAccountManagement.getAccountBalance())) {
 						pjAccountManagement.setAccountBalance(pjAccountManagement.getAccountBalance().subtract(thisAmount));
 					} else {
@@ -236,7 +236,7 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, PjSettl
 				accountManagementService.updateById(pjAccountManagement);
 			}
 		}
-		if ("D".equals(settlement.getDc())) {
+		if ("d".equals(settlement.getDc())) {
 			settlement.setFinanceStatus(OrderTypeEnum.WAITPAYMENTD.getType());
 		}else{
 			settlement.setFinanceStatus(OrderTypeEnum.WAITPAYMENTC.getType());

+ 1 - 0
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/ship/controller/ShipController.java

@@ -102,6 +102,7 @@ public class ShipController extends BladeController {
 			.eq(ObjectUtil.isNotEmpty(ship.getStatusName()), PjShip::getStatusName, ship.getStatusName())//状态
 			.eq(ObjectUtil.isNotEmpty(ship.getStockClerkName()), PjShip::getStockClerkName, ship.getStockClerkName())//库管
 			.eq(ObjectUtil.isNotEmpty(ship.getStockClerkId()), PjShip::getStockClerkId, ship.getStockClerkId())//库管
+			.eq(ObjectUtil.isNotEmpty(ship.getBsType()), PjShip::getBsType, ship.getBsType())//库管
 			.like(ObjectUtil.isNotEmpty(ship.getCustomerName()), PjShip::getCustomerName, ship.getCustomerName())
 			//单据类型
 			.apply(ObjectUtil.isNotEmpty(ship.getBizTypeName()),"find_in_set(biz_type_name,'" + ship.getBizTypeName() + "')");

+ 26 - 4
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/ship/service/impl/ShipServiceImpl.java

@@ -42,6 +42,7 @@ import org.springblade.salesPart.productLaunch.service.IProductLaunchService;
 import org.springblade.salesPart.ship.mapper.ShipMapper;
 import org.springblade.salesPart.ship.service.IShipItemsService;
 import org.springblade.salesPart.ship.service.IShipService;
+import org.springblade.salesPart.stock.mapper.StockDescMapper;
 import org.springblade.salesPart.stock.service.IStockDescService;
 import org.springblade.salesPart.storage.mapper.StorageDescMapper;
 import org.springblade.salesPart.vo.ShipVO;
@@ -380,6 +381,11 @@ public class ShipServiceImpl extends ServiceImpl<ShipMapper, PjShip> implements
 					stockOne.setBalanceQuantity(stockOne.getBalanceQuantity().subtract(item.getSendNum()));
 					stockOne.setStoreInventory(stockOne.getBalanceQuantity());
 					stockOne.setInventoryAmount(stockOne.getInventoryAmount().subtract(item.getSendNum().multiply(stockOne.getInventoryCostPrice())));
+					stockOne.setVersion(stockOne.getVersion());
+					boolean count = iStockDescService.updateById(stockOne);
+					if (!count){
+						throw new RuntimeException(stockOne.getCname()+"该产品库存正在操作,请稍后刷新在进行操作!");
+					}
 					pjStockDescArrayList.add(stockOne);
 				} else {
 					throw new RuntimeException("未查到库存账");
@@ -387,7 +393,7 @@ public class ShipServiceImpl extends ServiceImpl<ShipMapper, PjShip> implements
 			}
 			shipItemsService.saveOrUpdateBatch(shipItemsList);
 			orderItemsService.updateBatchById(pjOrderItemsList);
-			iStockDescService.updateBatchById(pjStockDescArrayList);
+//			iStockDescService.updateBatchById(pjStockDescArrayList);
 			ship.setShipItemsList(ship.getShipItemsList());
 			ship.setNumberRows(ship.getShipItemsList().size());
 			//修改任务发货数量
@@ -479,7 +485,12 @@ public class ShipServiceImpl extends ServiceImpl<ShipMapper, PjShip> implements
 					stockOne.setBalanceQuantity(stockOne.getBalanceQuantity().add(item.getSendNum()));
 					stockOne.setStoreInventory(stockOne.getBalanceQuantity());
 					stockOne.setInventoryAmount(stockOne.getInventoryAmount().add(item.getSendNum().multiply(stockOne.getInventoryCostPrice())));
+					stockOne.setVersion(stockOne.getVersion());
 					pjStockDescArrayList.add(stockOne);
+					boolean count = iStockDescService.updateById(stockOne);
+					if (!count){
+						throw new RuntimeException(stockOne.getCname()+"该产品库存正在操作,请稍后刷新在进行操作!");
+					}
 				} else {
 					throw new RuntimeException("未查到库存账");
 				}
@@ -487,7 +498,7 @@ public class ShipServiceImpl extends ServiceImpl<ShipMapper, PjShip> implements
 			}
 			shipItemsService.updateBatchById(itemsList);
 			orderItemsService.updateBatchById(pjOrderItemsList);
-			iStockDescService.updateBatchById(pjStockDescArrayList);
+//			iStockDescService.updateBatchById(pjStockDescArrayList);
 			ship.setShipItemsList(ship.getShipItemsList());
 			ship.setNumberRows(ship.getShipItemsList().size());
 
@@ -720,11 +731,16 @@ public class ShipServiceImpl extends ServiceImpl<ShipMapper, PjShip> implements
 					stockDesc.setInventoryAmount(item.getSendNum().multiply(item.getPrice()));
 					stockDesc.setInventoryAmount(stockDesc.getInventoryAmount().add(stockOne.getInventoryAmount()));
 					stockDesc.setInventoryCostPrice(stockDesc.getInventoryAmount().divide(stockDesc.getBalanceQuantity(), MathContext.DECIMAL32).setScale(2, RoundingMode.HALF_UP));
+					stockDesc.setVersion(stockOne.getVersion());
+				}
+				boolean count = iStockDescService.saveOrUpdate(stockDesc);
+				if (!count){
+					throw new RuntimeException(stockOne.getCname()+"该产品库存正在操作,请稍后刷新在进行操作!");
 				}
 				pjStockDescArrayList.add(stockDesc);
 			});
 			shipItemsService.saveOrUpdateBatch(shipItemsList);
-			iStockDescService.saveOrUpdateBatch(pjStockDescArrayList);
+//			iStockDescService.saveOrUpdateBatch(pjStockDescArrayList);
 			orderItemsService.updateBatchById(pjOrderItemsList);
 			for (PjShipItems item : ship.getShipItemsList()) {
 				number = number.add(item.getSendNum());
@@ -1028,10 +1044,16 @@ public class ShipServiceImpl extends ServiceImpl<ShipMapper, PjShip> implements
 					} else {
 						stockOne.setInventoryCostPrice(stockOne.getInventoryAmount().divide(stockOne.getBalanceQuantity(), MathContext.DECIMAL32).setScale(2, RoundingMode.HALF_UP));
 					}
+					stockOne.setVersion(stockOne.getVersion());
+//					iStockDescService.updateById(stockOne);
+					boolean count = iStockDescService.updateById(stockOne);
+					if (!count){
+						throw new RuntimeException(stockOne.getCname()+"该产品库存正在操作,请稍后刷新在进行操作!");
+					}
 					pjStockDescArrayList.add(stockOne);
 				}
 			});
-			iStockDescService.updateBatchById(pjStockDescArrayList);
+//			iStockDescService.updateBatchById(pjStockDescArrayList);
 			List<PjProductLaunch> pjProductLaunchList = new ArrayList<>();
 			ship.getShipItemsList().forEach(item -> {
 				/** ----------------------修改上架库存---------------------- */

+ 4 - 2
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/stock/mapper/StockDescMapper.xml

@@ -62,7 +62,8 @@
         inventory_amount,
         inventory_cost_price,
         inventory_alert,
-        goods_type_name
+        goods_type_name,
+        version
         FROM pjpf_stock_desc
         <where>
              is_deleted = 0
@@ -130,7 +131,8 @@
             store_inventory,
             inventory_amount,
             inventory_cost_price,
-            inventory_alert
+            inventory_alert,
+            version
         FROM pjpf_stock_desc
         <where>
             tenant_id = #{stockDesc.tenantId}

+ 5 - 0
blade-service/trade-purchase/src/main/java/com/trade/purchase/excel/GeneralLedgerExcel.java

@@ -125,5 +125,10 @@ public class GeneralLedgerExcel {
 	@ExcelProperty(value = "出库日期")
 	private String deliveryDate;
 
+	/**
+	 * 入库日期
+	 */
+	private String stockDate;
+
 
 }

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

@@ -393,7 +393,8 @@
         bo.sys_no AS sysNo,
         boi.is_Issue AS status,
         boi.container_no AS containerNo,
-        DATE_FORMAT(boi.delivery_date, '%Y-%m-%d') AS deliveryDate
+        DATE_FORMAT(boi.delivery_date, '%Y-%m-%d') AS deliveryDate,
+        DATE_FORMAT(bo.busines_date, '%Y-%m-%d') AS stockDate
         FROM
         business_order bo
         LEFT JOIN business_order_items boi ON boi.pid = bo.id