From 6bbed1ea6b36af4eb0b234bec9d6e42d56f0cd00 Mon Sep 17 00:00:00 2001
From: shiyunteng <shiyunteng@example.com>
Date: 星期三, 30 九月 2026 16:12:49 +0800
Subject: [PATCH] feat:合同新增关联单位  开票可根据甲方或关联单位选择开票单位  收款去掉强制确认 收款只关联合同甲方或关联单位

---
 platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/controller/ProductController.java |   64 ++++++++++++++++++++++---------
 1 files changed, 45 insertions(+), 19 deletions(-)

diff --git a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/controller/ProductController.java b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/controller/ProductController.java
index 47f7e8e..f4fdbac 100644
--- a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/controller/ProductController.java
+++ b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/controller/ProductController.java
@@ -11,6 +11,8 @@
 import com.by4cloud.platformx.admin.api.vo.DeptExcelVO;
 import com.by4cloud.platformx.business.dto.ProductAddDTO;
 import com.by4cloud.platformx.business.dto.ProductQueryDTO;
+import com.by4cloud.platformx.business.dto.SyncProductDTO;
+import com.by4cloud.platformx.business.entity.BusinessCustomer;
 import com.by4cloud.platformx.business.vo.ProductExcelVO;
 import com.by4cloud.platformx.business.vo.ProductTreeVo;
 import com.by4cloud.platformx.common.core.util.R;
@@ -19,6 +21,11 @@
 import com.by4cloud.platformx.business.entity.Product;
 import com.by4cloud.platformx.business.service.ProductService;
 import com.by4cloud.platformx.common.security.annotation.Inner;
+import com.by4cloud.platformx.common.security.util.SecurityUtils;
+import com.github.yulichang.query.MPJLambdaQueryWrapper;
+import com.github.yulichang.query.MPJQueryWrapper;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.security.access.prepost.PreAuthorize;
 import com.by4cloud.platformx.common.excel.annotation.ResponseExcel;
 import io.swagger.v3.oas.annotations.security.SecurityRequirement;
@@ -59,24 +66,33 @@
     @GetMapping("/page" )
     @PreAuthorize("@pms.hasPermission('business_product_view')" )
     public R getProductPage(@ParameterObject Page page, @ParameterObject Product product) {
-        LambdaQueryWrapper<Product> wrapper = Wrappers.lambdaQuery();
-        wrapper.eq(product.getParentId()!=null,Product::getParentId,product.getParentId());
-        wrapper.like(StrUtil.isNotEmpty(product.getProductName()),Product::getProductName,product.getProductName());
-        wrapper.like(StrUtil.isNotEmpty(product.getMainCode()),Product::getMainCode,product.getMainCode());
-        wrapper.like(StrUtil.isNotEmpty(product.getErpCode()),Product::getErpCode,product.getErpCode());
-		wrapper.orderByDesc(Product::getCreateTime);
-        Page<Product> page1 = productService.pageByScope(page, wrapper);
-        List<Product> list = page1.getRecords();
-        for(Product product1 : list){
-            Product  parent = productService.getById(product1.getParentId());
-            if(parent==null){
-                product1.setParentName("鏍圭骇浜у搧");
-            }else {
-                product1.setParentName(parent.getProductName());
-            }
-        }
-        page1.setRecords(list);
-        return R.ok(page1);
+//		if (StrUtil.equals(SecurityUtils.getUser().getCompId() + "", smj) || StrUtil.equals(SecurityUtils.getUser().getCompId() + "", smjhw)) {
+//			MPJLambdaWrapper<Product> wrapper =new MPJLambdaWrapper<Product>()
+//					.selectAll(Product.class)
+//							.selectAs("ifnull((select product_name from product t1 where t1.id = t.parent_id),'鏍圭骇浜у搧')",Product::getParentName)
+//							.eq(product.getParentId()!=null,Product::getParentId,product.getParentId())
+//							.like(StrUtil.isNotEmpty(product.getProductName()),Product::getProductName,product.getProductName())
+//							.like(StrUtil.isNotEmpty(product.getMainCode()),Product::getMainCode,product.getMainCode())
+//							.like(StrUtil.isNotEmpty(product.getErpCode()),Product::getErpCode,product.getErpCode());
+//			List<String> smjList = new ArrayList<>();
+//			smjList.add(smj);
+////			smjList.add(smjsc);
+////			smjList.add(smjzt);
+//			smjList.add(smjhw);
+//			wrapper.in(Product::getCompId, smjList);
+//			wrapper.orderByDesc(Product::getCreateTime);
+//			return R.ok(productService.page(page, wrapper));
+//		}
+//		MPJLambdaWrapper<Product> wrapper =new MPJLambdaWrapper<Product>()
+//				.selectAll(Product.class)
+//				.selectAs("ifnull((select product_name from product t1 where t1.id = parent_id),'鏍圭骇浜у搧')",Product::getParentName)
+//				.eq(product.getParentId()!=null,Product::getParentId,product.getParentId())
+//				.like(StrUtil.isNotEmpty(product.getProductName()),Product::getProductName,product.getProductName())
+//				.like(StrUtil.isNotEmpty(product.getMainCode()),Product::getMainCode,product.getMainCode())
+//				.like(StrUtil.isNotEmpty(product.getErpCode()),Product::getErpCode,product.getErpCode());
+////				.eq(Product::getCompId,SecurityUtils.getUser().getCompId());
+//        return R.ok(productService.pageByScope(page, wrapper));
+		return R.ok(productService.pageScope(page,product));
     }
 
     /**
@@ -146,7 +162,7 @@
     @PostMapping
     @PreAuthorize("@pms.hasPermission('business_product_add')" )
     public R save(@RequestBody Product product) {
-		if (ArrayUtil.isNotEmpty(productService.listByScope(Wrappers.lambdaQuery(product).eq(Product::getErpCode,product.getErpCode())).toArray())){
+		if (CollUtil.isNotEmpty(productService.listByScope(Wrappers.lambdaQuery(product).eq(Product::getErpCode,product.getErpCode())))){
 			return R.failed("浜у搧Erp缂栫爜宸插瓨鍦�");
 		}
         return R.ok(productService.save(product));
@@ -214,4 +230,14 @@
 	public R importProduct(@RequestExcel List<ProductExcelVO> excelVOList, BindingResult bindingResult) {
 		return productService.importProduct(excelVOList, bindingResult);
 	}
+
+	/**
+	 * 鐭崇叅鏈轰骇鍝佸悓姝�
+	 * @return
+	 */
+	@Inner(value = false)
+	@GetMapping("/syncSMJByDate")
+	public R syncSMJByDate(@ParameterObject SyncProductDTO dto) {
+		return productService.syncSMJByDate(dto);
+	}
 }
\ No newline at end of file

--
Gitblit v1.9.1