From 67460d9dd51a5185dc0f7cb872dce43789d54643 Mon Sep 17 00:00:00 2001
From: chengf <cgf12138@163.com>
Date: 星期四, 29 一月 2026 11:56:43 +0800
Subject: [PATCH] 上词掉词逻辑更新-cgf

---
 jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/demo/customer/controller/CustomerController.java |   64 +++++++++++++++++++++++++++++++-
 1 files changed, 62 insertions(+), 2 deletions(-)

diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/demo/customer/controller/CustomerController.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/demo/customer/controller/CustomerController.java
index 9c0ec4d..e42ac02 100644
--- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/demo/customer/controller/CustomerController.java
+++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/demo/customer/controller/CustomerController.java
@@ -15,6 +15,7 @@
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.system.query.QueryRuleEnum;
 import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.modules.demo.contract.controller.ContractController;
 import org.jeecg.modules.demo.contract.entity.Contract;
 import org.jeecg.modules.demo.contract.entity.ContractFile;
 import org.jeecg.modules.demo.contract.entity.SemanticWord;
@@ -32,6 +33,7 @@
 
 import org.jeecg.modules.system.controller.SysUserController;
 import org.jeecg.modules.system.entity.SysUser;
+import org.jeecg.modules.system.service.ISysUserService;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.entity.ExportParams;
@@ -64,7 +66,9 @@
 public class CustomerController extends JeecgController<Customer, ICustomerService> {
 	@Autowired
 	private ICustomerService customerService;
-	
+
+     @Autowired
+     private ISysUserService sysUserService;
 	/**
 	 * 鍒嗛〉鍒楄〃鏌ヨ
 	 *
@@ -90,6 +94,9 @@
             queryWrapper.eq(Customer::getAgentsName,customer.getAgentsNameToCustomer());
             queryWrapper.or();
             queryWrapper.eq(Customer::getCreateBy,customer.getAgentsNameToCustomer());
+            queryWrapper.or();
+            queryWrapper.exists("SELECT 1 FROM contract WHERE contract.agents_name = {0} AND contract.customer_name = customer.enterprise_name",
+                    customer.getAgentsNameToCustomer());
 
             // 2. 鏌ヨ瀛楁鍊硷紝杩斿洖Object鍒楄〃
             List<Object> objList = customerService.listObjs(queryWrapper);
@@ -108,6 +115,49 @@
 		IPage<Customer> pageList = customerService.page(page, queryWrapper);
 		return Result.OK(pageList);
 	}
+
+     @Operation(summary="瀹㈡埛琛�-鏌ヨ鎬诲鎴锋暟")
+     @GetMapping(value = "/count")
+     public Result<IPage<Customer>> count(Customer customer,
+                                          @RequestParam(name="role", defaultValue="鏃�") String role,
+                                          @RequestParam(name="user", defaultValue="鏃�") String user,
+                                                  HttpServletRequest req) {
+         if (customer.getAgentsNameToCustomer() != null) {
+             // 1. 鏋勫缓Lambda鏌ヨ鏉′欢锛屾寚瀹氭煡璇nterpriseName瀛楁骞跺幓閲�
+             LambdaQueryWrapper<Customer> queryWrapper = new LambdaQueryWrapper<Customer>()
+                     .select(Customer::getEnterpriseName); // 鍏宠仈瀹炰綋鐨刧etter鏂规硶
+
+             // 鍙�夛細娣诲姞鍘熸湁鏉′欢锛堝agentsName涓嶄负绌猴級
+             queryWrapper.eq(Customer::getAgentsName,customer.getAgentsNameToCustomer());
+             queryWrapper.or();
+             queryWrapper.eq(Customer::getCreateBy,customer.getAgentsNameToCustomer());
+             queryWrapper.or();
+             queryWrapper.exists("SELECT 1 FROM contract WHERE contract.agents_name = {0} AND contract.customer_name = customer.enterprise_name",
+                     customer.getAgentsNameToCustomer());
+
+             // 2. 鏌ヨ瀛楁鍊硷紝杩斿洖Object鍒楄〃
+             List<Object> objList = customerService.listObjs(queryWrapper);
+
+             // 3. 杞崲涓篠tring绫诲瀷锛屽苟杩囨护null鍊�
+             if (CollectionUtils.isEmpty(objList)) {
+                 return Result.ok(List.of().toString());
+             }
+             return Result.ok(objList.stream()
+                     .filter(Objects::nonNull) // 杩囨护null鍊�
+                     .map(Object::toString) // 杞崲涓篠tring
+                     .collect(Collectors.toList()).toString());
+         }
+         QueryWrapper<Customer> queryWrapper = QueryGenerator.initQueryWrapper(customer, req.getParameterMap());
+
+         if (!user.equals("鏃�")){
+             QueryWrapper qw = new QueryWrapper<SysUser>();
+             qw.eq("id", user);
+             String userName = ((SysUser)((Page) sysUserService.queryPageList(req, qw, 1, 1).getResult()).getRecords().get(0)).getUsername();
+             queryWrapper.eq("create_by", userName);
+         }
+         long count = customerService.count(queryWrapper);
+         return Result.OK(count+"");
+     }
 
      @Operation(summary="瀹㈡埛琛�-鍒嗛〉鍒楄〃鏌ヨ")
      @GetMapping(value = "/listAgents")
@@ -254,6 +304,9 @@
      @Autowired
      private ISemanticWordService semanticWordService;
 
+     @Autowired
+     private ContractController  contractController;
+
      @RequiresPermissions("customer:customer:importCustomerContractWord")
      @RequestMapping(value = "/importCustomerContractWord", method = RequestMethod.POST)
      public Result<String> importCustomerContractWord(@RequestBody Customer customer) {
@@ -315,11 +368,17 @@
         }
          Customer one = customerService.getOne(queryWrapper);
          customer.getContract().setCustomerName(one.getEnterpriseName());
-         contractService.save(customer.getContract());
+
 
          QueryWrapper<Contract> queryWrapper1 = new  QueryWrapper<>();
          queryWrapper1.eq("customer_name",customer.getContract().getCustomerName());
          queryWrapper1.eq("contract_name",customer.getContract().getContractName());
+
+         if(contractService.count(queryWrapper1) != 0) {
+             return Result.error("璇ュ悎鍚屽凡瀛樺湪");
+         }
+         contractService.save(customer.getContract());
+
          Contract one1 = contractService.getOne(queryWrapper1);
          for (SemanticWord semanticWord : customer.getSemanticWordList()){
              semanticWord.setContractId(one1.getId());
@@ -331,6 +390,7 @@
              contractFileService.save(contractFile);
          }
 
+         contractController.addContract(customer.getContract(),customer.getSemanticWordList());
          return Result.OK("娣诲姞鎴愬姛锛�");
      }
 }

--
Gitblit v1.8.0