Browse Source

1月3日从513导出

lw 1 year ago
parent
commit
ac27c1165e
39 changed files with 1375 additions and 973 deletions
  1. 159 0
      jeecg-boot-base-core/src/main/java/org/jeecg/common/system/vo/LoginUser.java
  2. 1 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/config/init/CodeTemplateInitListener.java
  3. 0 1
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/LoginController.java
  4. 0 1
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementController.java
  5. 3 3
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java
  6. 5 0
      jeecg-module-system/jeecg-system-start/src/main/resources/application-prod.yml
  7. 2 2
      jeecg-module-system/jeecg-system-start/src/main/resources/logback-spring.xml
  8. 4 6
      module_kzks/src/main/java/org/jeecg/dataSync/task/DepartDataSync.java
  9. 34 44
      module_kzks/src/main/java/org/jeecg/dataSync/task/MaterialProcurementDataSync.java
  10. 13 17
      module_kzks/src/main/java/org/jeecg/dataSync/task/UserDataSync.java
  11. 2 0
      module_kzks/src/main/java/org/jeecg/modules/Index/controller/IndexController.java
  12. 2 5
      module_kzks/src/main/java/org/jeecg/modules/Index/service/IndexService.java
  13. 3 1
      module_kzks/src/main/java/org/jeecg/modules/Index/service/impl/IndexServiceImpl.java
  14. 1 1
      module_kzks/src/main/java/org/jeecg/modules/Index/service/impl/IndexZcbServiceImpl.java
  15. 5 2
      module_kzks/src/main/java/org/jeecg/modules/Index/util/CommonMethod.java
  16. 51 50
      module_kzks/src/main/java/org/jeecg/modules/costModelClPrice/controller/CostModelClPriceController.java
  17. 0 207
      module_kzks/src/main/java/org/jeecg/modules/costModelClPrice/entity/CostModelClPrice.java
  18. 553 0
      module_kzks/src/main/java/org/jeecg/modules/costModelClPrice/entity/KzksCostModelClPrice.java
  19. 0 35
      module_kzks/src/main/java/org/jeecg/modules/costModelClPrice/mapper/CostModelClPriceMapper.java
  20. 29 0
      module_kzks/src/main/java/org/jeecg/modules/costModelClPrice/mapper/KzksCostModelClPriceMapper.java
  21. 0 89
      module_kzks/src/main/java/org/jeecg/modules/costModelClPrice/mapper/xml/CostModelClPriceMapper.xml
  22. 57 0
      module_kzks/src/main/java/org/jeecg/modules/costModelClPrice/mapper/xml/KzksCostModelClPriceMapper.xml
  23. 7 11
      module_kzks/src/main/java/org/jeecg/modules/costModelClPrice/service/ICostModelClPriceService.java
  24. 0 52
      module_kzks/src/main/java/org/jeecg/modules/costModelClPrice/service/impl/CostModelClPriceServiceImpl.java
  25. 46 0
      module_kzks/src/main/java/org/jeecg/modules/costModelClPrice/service/impl/KzksCostModelClPriceServiceImpl.java
  26. 13 13
      module_kzks/src/main/java/org/jeecg/modules/costModelClPrice/vo/CostModelClPriceExportVO.java
  27. 0 9
      module_kzks/src/main/java/org/jeecg/modules/costModelList/service/ICostModelListService.java
  28. 6 17
      module_kzks/src/main/java/org/jeecg/modules/costModelList/service/impl/CostModelListServiceImpl.java
  29. 2 2
      module_kzks/src/main/java/org/jeecg/modules/costModelXmxqCl/controller/CostModelXmxqClController.java
  30. 2 3
      module_kzks/src/main/java/org/jeecg/modules/costModelXmxqCl/service/impl/CostModelXmxqClServiceImpl.java
  31. 0 1
      module_kzks/src/main/java/org/jeecg/modules/costModelXmxqWx/service/impl/CostModelXmxqWxServiceImpl.java
  32. 1 1
      module_kzks/src/main/java/org/jeecg/modules/logSummaryHandleLog/service/impl/KzksSummaryHandleLogServiceImpl.java
  33. 50 73
      module_kzks/src/main/java/org/jeecg/modules/projectCostHuiji/controller/ProjectCostHuijiController.java
  34. 309 289
      module_kzks/src/main/java/org/jeecg/modules/projectPushList/service/impl/ProjectPushListServiceImpl.java
  35. 2 0
      module_kzks/src/main/java/org/jeecg/modules/projectPushSet/service/impl/ProjectPushSetServiceImpl.java
  36. 1 1
      module_kzks/src/main/java/org/jeecg/modules/visibleClient/controller.java
  37. 1 0
      module_kzks/src/main/java/org/jeecg/modules/wzOutboundOrder/controller/WzOutboundOrderHController.java
  38. 9 37
      module_kzks/src/main/java/org/jeecg/modules/wzOutboundOrder/mapper/xml/WzOutboundOrderHMapper.xml
  39. 2 0
      module_kzks/src/main/java/org/jeecg/modules/xmcbDetail/mapper/ComContractInfoExchangeMapper.java

+ 159 - 0
jeecg-boot-base-core/src/main/java/org/jeecg/common/system/vo/LoginUser.java

@@ -127,4 +127,163 @@ public class LoginUser {
 	/**设备id uniapp推送用*/
 	private String clientId;
 
+	public String getId() {
+		return id;
+	}
+
+	public void setId(String id) {
+		this.id = id;
+	}
+
+	public String getUsername() {
+		return username;
+	}
+
+	public void setUsername(String username) {
+		this.username = username;
+	}
+
+	public String getRealname() {
+		return realname;
+	}
+
+	public void setRealname(String realname) {
+		this.realname = realname;
+	}
+
+	public String getPassword() {
+		return password;
+	}
+
+	public void setPassword(String password) {
+		this.password = password;
+	}
+
+	public String getOrgCode() {
+		return orgCode;
+	}
+
+	public void setOrgCode(String orgCode) {
+		this.orgCode = orgCode;
+	}
+
+	public String getAvatar() {
+		return avatar;
+	}
+
+	public void setAvatar(String avatar) {
+		this.avatar = avatar;
+	}
+
+	public Date getBirthday() {
+		return birthday;
+	}
+
+	public void setBirthday(Date birthday) {
+		this.birthday = birthday;
+	}
+
+	public Integer getSex() {
+		return sex;
+	}
+
+	public void setSex(Integer sex) {
+		this.sex = sex;
+	}
+
+	public String getEmail() {
+		return email;
+	}
+
+	public void setEmail(String email) {
+		this.email = email;
+	}
+
+	public String getPhone() {
+		return phone;
+	}
+
+	public void setPhone(String phone) {
+		this.phone = phone;
+	}
+
+	public Integer getStatus() {
+		return status;
+	}
+
+	public void setStatus(Integer status) {
+		this.status = status;
+	}
+
+	public Integer getDelFlag() {
+		return delFlag;
+	}
+
+	public void setDelFlag(Integer delFlag) {
+		this.delFlag = delFlag;
+	}
+
+	public Integer getActivitiSync() {
+		return activitiSync;
+	}
+
+	public void setActivitiSync(Integer activitiSync) {
+		this.activitiSync = activitiSync;
+	}
+
+	public Date getCreateTime() {
+		return createTime;
+	}
+
+	public void setCreateTime(Date createTime) {
+		this.createTime = createTime;
+	}
+
+	public Integer getUserIdentity() {
+		return userIdentity;
+	}
+
+	public void setUserIdentity(Integer userIdentity) {
+		this.userIdentity = userIdentity;
+	}
+
+	public String getDepartIds() {
+		return departIds;
+	}
+
+	public void setDepartIds(String departIds) {
+		this.departIds = departIds;
+	}
+
+	public String getPost() {
+		return post;
+	}
+
+	public void setPost(String post) {
+		this.post = post;
+	}
+
+	public String getTelephone() {
+		return telephone;
+	}
+
+	public void setTelephone(String telephone) {
+		this.telephone = telephone;
+	}
+
+	public String getRelTenantIds() {
+		return relTenantIds;
+	}
+
+	public void setRelTenantIds(String relTenantIds) {
+		this.relTenantIds = relTenantIds;
+	}
+
+	public String getClientId() {
+		return clientId;
+	}
+
+	public void setClientId(String clientId) {
+		this.clientId = clientId;
+	}
 }

+ 1 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/config/init/CodeTemplateInitListener.java

@@ -43,6 +43,7 @@ public class CodeTemplateInitListener implements ApplicationListener<Application
         String configPath = System.getProperty("user.dir") + File.separator + "config" + File.separator;
         PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
         Resource[] resources = resolver.getResources("classpath*:jeecg/code-template-online/**/*");
+        //Resource[] resources = resolver.getResources("D:/server/config/jeecg/code-template-online/**/*");
         for (Resource re : resources) {
             URL url = re.getURL();
             String filepath = url.getPath();

+ 0 - 1
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/LoginController.java

@@ -29,7 +29,6 @@ import org.jeecg.modules.system.service.impl.SysBaseApiImpl;
 import org.jeecg.modules.system.util.RandImageUtil;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;

+ 0 - 1
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementController.java

@@ -1,6 +1,5 @@
 package org.jeecg.modules.system.controller;
 
-import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;

+ 3 - 3
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java

@@ -97,7 +97,7 @@ public class SysBaseApiImpl implements ISysBaseAPI {
 	@Autowired
 	private ThirdAppDingtalkServiceImpl dingtalkService;
 	@Autowired
-	ISysCategoryService sysCategoryService;
+    ISysCategoryService sysCategoryService;
 	@Autowired
 	private ISysUserService sysUserService;
 	@Autowired
@@ -181,7 +181,7 @@ public class SysBaseApiImpl implements ISysBaseAPI {
 				List<SysPermissionDataRule> temp = sysPermissionDataRuleService.queryPermissionDataRules(username, sysPermission.getId());
 				if(temp!=null && temp.size()>0) {
 					//dataRules.addAll(temp);
-					dataRules = oConvertUtils.entityListToModelList(temp,SysPermissionDataRuleModel.class);
+					dataRules = oConvertUtils.entityListToModelList(temp, SysPermissionDataRuleModel.class);
 				}
 				// update-end--Author:scott Date:20191119 for:数据权限规则编码不规范,项目存在相同包名和类名 #722
 			}
@@ -591,7 +591,7 @@ public class SysBaseApiImpl implements ISysBaseAPI {
 	@Override
 	public List<SysCategoryModel> queryAllSysCategory() {
 		List<SysCategory> ls = categoryMapper.selectList(null);
-		List<SysCategoryModel> res = oConvertUtils.entityListToModelList(ls,SysCategoryModel.class);
+		List<SysCategoryModel> res = oConvertUtils.entityListToModelList(ls, SysCategoryModel.class);
 		return res;
 	}
 

+ 5 - 0
jeecg-module-system/jeecg-system-start/src/main/resources/application-prod.yml

@@ -140,6 +140,11 @@ spring:
           username: root
           password: Xinxi513513
           driver-class-name: com.mysql.cj.jdbc.Driver
+        datax: # 第三个数据源
+          url: jdbc:mysql://127.0.0.1:3306/datax_web?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
+          username: root
+          password: Xinxi513513
+          driver-class-name: com.mysql.cj.jdbc.Driver
           # 多数据源配置
           #multi-datasource1:
           #url: jdbc:mysql://localhost:3306/jeecg-boot2?useUnicode=true&characterEncoding=utf8&autoReconnect=true&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai

+ 2 - 2
jeecg-module-system/jeecg-system-start/src/main/resources/logback-spring.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration debug="false">
 	<!--定义日志文件的存储地址 -->
-	<property name="LOG_HOME" value="../logs" />
+	<property name="LOG_HOME" value="D:/server/kezhikeshi/logs" />
 
 	<!--<property name="COLOR_PATTERN" value="%black(%contextName-) %red(%d{yyyy-MM-dd HH:mm:ss}) %green([%thread]) %highlight(%-5level) %boldMagenta( %replace(%caller{1}){'\t|Caller.{1}0|\r\n', ''})- %gray(%msg%xEx%n)" />-->
 	<!-- 控制台输出 -->
@@ -74,4 +74,4 @@
 		<appender-ref ref="FILE_HTML" />
 	</root>
 
-</configuration>
+</configuration>

+ 4 - 6
module_kzks/src/main/java/org/jeecg/dataSync/task/DepartDataSync.java

@@ -41,18 +41,16 @@ public class DepartDataSync implements Job {
         instance.set(Calendar.HOUR, 0);
         instance.set(Calendar.MINUTE, 0);
         instance.set(Calendar.SECOND, 0);
-        Date startDate = instance.getTime();
+        //Date startDate = instance.getTime();
         instance.set(Calendar.HOUR, 24);
-        Date endDate = instance.getTime();
+       //Date endDate = instance.getTime();
 
 
         if (list.isEmpty()) return;
 
         ArrayList<SysDepart> sysDeparts = new ArrayList<>();
 
-        for (int i = 0; i < list.size(); i++) {
-            Map<String, Object> item = list.get(i);
-
+        for (Map<String, Object> item : list) {
             SysDepart depart = new SysDepart();
             if (!(ObjectUtils.isEmpty(item.get("department_id")))) {
                 depart.setId(String.valueOf((int) item.get("department_id")));
@@ -75,7 +73,7 @@ public class DepartDataSync implements Job {
         recursion(0, sysDeparts, new ArrayList<SysDepart>(),new HashMap<String,String>());
 
         /*将非今天导入的部门数据的部门状态更改为非启用*/
-        sysDepartService.updateStatus(startDate, endDate);
+        //sysDepartService.updateStatus(startDate, endDate);
 
     }
 

+ 34 - 44
module_kzks/src/main/java/org/jeecg/dataSync/task/MaterialProcurementDataSync.java

@@ -3,8 +3,8 @@ package org.jeecg.dataSync.task;
 import com.alibaba.fastjson2.JSONObject;
 import com.alibaba.fastjson2.TypeReference;
 import org.apache.commons.lang3.ObjectUtils;
-import org.jeecg.modules.costModelClPrice.entity.CostModelClPrice;
-import org.jeecg.modules.costModelClPrice.service.ICostModelClPriceService;
+import org.jeecg.modules.costModelClPrice.entity.KzksCostModelClPrice;
+import org.jeecg.modules.costModelClPrice.service.IKzksCostModelClPriceService;
 import org.quartz.Job;
 import org.quartz.JobExecutionContext;
 import org.quartz.JobExecutionException;
@@ -27,7 +27,7 @@ public class MaterialProcurementDataSync implements Job {
     private RestTemplate restTemplate;
 
     @Autowired
-    private ICostModelClPriceService costModelClPriceService;
+    private IKzksCostModelClPriceService kzksCostModelClPriceService;
 
     private static long begin = System.currentTimeMillis();
     private static boolean hasMore = true;
@@ -45,17 +45,13 @@ public class MaterialProcurementDataSync implements Job {
     }
 
     public void initMethod() throws InterruptedException {
-        if (offset == 0) costModelClPriceService.truncateTable();
+        kzksCostModelClPriceService.truncateTable();
         try {
             method();
+        }finally {
             hasMore = true;
             offset = 0L;
             length = 1000L;
-        } catch (Exception e) {
-            Thread.sleep(1000L * 60);
-            long end = System.currentTimeMillis();
-            if (end - begin > 1000L * 60 * 60 * 2) return;
-            initMethod();
         }
     }
 
@@ -70,7 +66,7 @@ public class MaterialProcurementDataSync implements Job {
             List<Map<String, Object>> items = JSONObject.parseObject(jsonString, new TypeReference<List<Map<String, Object>>>() {
             });
 
-            ArrayList<CostModelClPrice> list = new ArrayList<>();
+            ArrayList<KzksCostModelClPrice> list = new ArrayList<>();
 
             for (Map<String, Object> item : items) {
                 String uniqueId = (String) item.get("unique_id");  //物料唯一码
@@ -79,65 +75,60 @@ public class MaterialProcurementDataSync implements Job {
                 String wlmc = (String) item.get("wlmc"); //物料名称
                 String ggpp = (String) item.get("ggpp"); //规格型号
                 String qualitygrade = (String) item.get("qualitygrade"); //质量等级
-                Date htdate = (Date) item.get("ht_date"); //合同签署日期
+                String htdate = (String) item.get("ht_date"); //合同签署日期
 
                 Object inputhtye = item.get("htye"); //合同余额
-                String htye = null;
+                BigDecimal htye = null;
                 if (inputhtye instanceof Integer) {
                     Integer casthtye = (Integer) inputhtye;
-                    htye = String.valueOf(casthtye);
+                    htye = BigDecimal.valueOf(casthtye);
                 } else if (inputhtye instanceof BigDecimal) {
-                    BigDecimal inputhtye1 = (BigDecimal) inputhtye;
-                    htye = inputhtye1.toString();
+                    htye = (BigDecimal) inputhtye;
                 }
 
 
-                Date fpDate = (Date) item.get("fp_date"); //发票开票时间
+                String fpDate = (String) item.get("fp_date"); //发票开票时间
                 String jldw = (String) item.get("jldw"); //计量单位
                 String dfhth = (String) item.get("dfhth"); //对方合同号
                 String sl = (String) item.get("sl"); //数量
 
                 Object inputfpje = item.get("fpje"); //发票金额
-                String fpje = null;
+                BigDecimal fpje = null;
                 if (inputfpje instanceof Integer) {
                     Integer castfpje = (Integer) inputfpje;
-                    fpje = String.valueOf(castfpje);
+                    fpje = BigDecimal.valueOf(castfpje);
                 } else if (inputfpje instanceof BigDecimal) {
-                    BigDecimal inputfpje1 = (BigDecimal) inputfpje;
-                    fpje = inputfpje1.toString();
+                    fpje = (BigDecimal) inputfpje;
                 }
 
                 String gys = (String) item.get("gys"); //供应商
 
                 Object inputpzje = item.get("pzje"); //凭证金额
-                String pzje = null;
+                BigDecimal pzje = null;
                 if (inputpzje instanceof Integer) {
                     Integer castpzje = (Integer) inputpzje;
-                    pzje = String.valueOf(castpzje);
+                    pzje = BigDecimal.valueOf(castpzje);
                 } else if (inputpzje instanceof BigDecimal) {
-                    BigDecimal inputpzje1 = (BigDecimal) inputpzje;
-                    pzje = inputpzje1.toString();
+                    pzje = (BigDecimal) inputpzje;
                 }
 
                 Object inputbxdje = item.get("bxd_je"); //报销单金额
-                String bxdje = null;
+                BigDecimal bxdje = null;
                 if (inputbxdje instanceof Integer) {
                     Integer castbxdje = (Integer) inputbxdje;
-                    bxdje = String.valueOf(castbxdje);
+                    bxdje = BigDecimal.valueOf(castbxdje);
                 } else if (inputbxdje instanceof BigDecimal) {
-                    BigDecimal inputbxdje1 = (BigDecimal) inputbxdje;
-                    bxdje = inputbxdje1.toString();
+                    bxdje = (BigDecimal) inputbxdje;
                 }
 
 
                 Object inputhtje = item.get("ht_je"); //合同金额
-                String htje = null;
+                BigDecimal htje = null;
                 if (inputhtje instanceof Integer) {
                     Integer casthtje = (Integer) inputhtje;
-                    htje = String.valueOf(casthtje);
+                    htje = BigDecimal.valueOf(casthtje);
                 } else if (inputhtje instanceof BigDecimal) {
-                    BigDecimal inputhtje1 = (BigDecimal) inputhtje;
-                    htje = inputhtje1.toString();
+                    htje = (BigDecimal) inputhtje;
                 }
 
 
@@ -151,28 +142,27 @@ public class MaterialProcurementDataSync implements Job {
                 String fylb = (String) item.get("fylb"); //费用类别
                 String pzbh = (String) item.get("pzbh"); //凭证编号
                 String yhhdbh = (String) item.get("yhhd_bh"); //银行流水号
-                String fjht = (String) item.get("fj_ht"); //合同附件
-                String fjpz = (String) item.get("fj_pz"); //凭证附件
-                String fjbxd = (String) item.get("fj_bxd"); //报销单附件
-                String fjyhhd = (String) item.get("fj_yhhd"); //回单附件
-                String fjrkd = (String) item.get("fj_rkd"); //入库单附件
+                Integer fjht = (Integer) item.get("fj_ht"); //合同附件
+                Integer fjpz = (Integer) item.get("fj_pz"); //凭证附件
+                Integer fjbxd = (Integer) item.get("fj_bxd"); //报销单附件
+                Integer fjyhhd = (Integer) item.get("fj_yhhd"); //回单附件
+                Integer fjrkd = (Integer) item.get("fj_rkd"); //入库单附件
                 String fjfp = (String) item.get("fj_fp"); //发票附件
 
                 Object intputdj = item.get("dj"); //单价
-                String dj;
+                BigDecimal dj;
                 if (intputdj instanceof Integer) {
                     Integer castdj = (Integer) intputdj;
-                    dj = String.valueOf(castdj);
+                    dj = BigDecimal.valueOf(castdj);
                 } else {
-                    BigDecimal intputdj1 = (BigDecimal) intputdj;
-                    dj = intputdj1.toString();
+                    dj = (BigDecimal) intputdj;
                 }
 
 
                 String wzpch = (String) item.get("wz_pch"); //批次号
                 String wzgyspch = (String) item.get("wz_gys_pch"); //供应商批次号
 
-                CostModelClPrice  price = new CostModelClPrice();
+                KzksCostModelClPrice price = new KzksCostModelClPrice();
                 price.setId(null);
                 if (ObjectUtils.isNotEmpty(uniqueId)) price.setUniqueId(uniqueId);
                 if (ObjectUtils.isNotEmpty(wlbh)) price.setWlbm(wlbh);
@@ -194,7 +184,7 @@ public class MaterialProcurementDataSync implements Job {
                 if (ObjectUtils.isNotEmpty(totalje)) price.setTotalJe(totalje);
                 if (ObjectUtils.isNotEmpty(billno)) price.setBillno(billno);
                 if (ObjectUtils.isNotEmpty(hth)) price.setHth(hth);
-                if (ObjectUtils.isNotEmpty(tyear)) price.setTYear(tyear);
+                if (ObjectUtils.isNotEmpty(tyear)) price.settYear(tyear);
                 if (ObjectUtils.isNotEmpty(fph)) price.setFph(fph);
                 if (ObjectUtils.isNotEmpty(bxdbh)) price.setBxdBh(bxdbh);
                 if (ObjectUtils.isNotEmpty(pzrq)) price.setPzrq(pzrq);
@@ -216,7 +206,7 @@ public class MaterialProcurementDataSync implements Job {
                 list.add(price);
 
             }
-            costModelClPriceService.saveBatch(list);
+            kzksCostModelClPriceService.saveBatch(list);
             offset += length;
             hasMore = JSONObject.parseObject(JSONObject.toJSONString(stringObjectMap.get("hasMore")), Boolean.class);
         }

+ 13 - 17
module_kzks/src/main/java/org/jeecg/dataSync/task/UserDataSync.java

@@ -9,7 +9,6 @@ import org.jeecg.config.sign.util.HttpUtils;
 import org.jeecg.dataSync.config.HrConfigurer;
 import org.jeecg.modules.system.entity.SysUser;
 import org.jeecg.modules.system.entity.SysUserRole;
-import org.jeecg.modules.system.service.ISysUserDepartService;
 import org.jeecg.modules.system.service.ISysUserRoleService;
 import org.jeecg.modules.system.service.ISysUserService;
 import org.quartz.Job;
@@ -25,7 +24,7 @@ import java.util.List;
 import java.util.Map;
 
 @Component
-public class    UserDataSync implements Job {
+public class UserDataSync implements Job {
 
     @Autowired
     private HrConfigurer hrConfigurer;
@@ -34,9 +33,6 @@ public class    UserDataSync implements Job {
     private ISysUserService sysUserService;
 
     @Autowired
-    private ISysUserDepartService sysUserDepartService;
-
-    @Autowired
     private ISysUserRoleService sysUserRoleService;
 
     private static final Logger logger = LoggerFactory.getLogger(UserDataSync.class);
@@ -60,18 +56,18 @@ public class    UserDataSync implements Job {
                 }
                 //查询是否存在
                 SysUser user = sysUserService.selectUSerByUsername((String)item.get("login"));
-                if (user != null && user.getId() != null) {
-                    //更新
-                    user.setRealname(item.get("employee_name").toString()); //姓名
-                    user.setDepartIds(item.get("department_id") == null ? "0" : item.get("department_id").toString()); //部门id
-                    user.setPost(item.get("job_name").toString()); //职位名称
-                    int state = item.get("state") == null ? 1 : (int) item.get("state");
-                    user.setStatus(state); //item.state = 1 or 2    在职 or 离职
-                    user.setUsername(item.get("login").toString());//账号
-                    user.setEmail(item.get("login").toString() + "@c513.cast.casc");//邮箱
-                    sysUserService.updateById(user);
-
-                } else {
+                if (user == null ) {
+//                    //更新
+//                    user.setRealname(item.get("employee_name").toString()); //姓名
+//                    //user.setDepartIds(item.get("department_id") == null ? "0" : item.get("department_id").toString()); //部门id
+//                    user.setPost(item.get("job_name").toString()); //职位名称
+//                    int state = item.get("state") == null ? 1 : (int) item.get("state");
+//                    user.setStatus(state); //item.state = 1 or 2    在职 or 离职
+//                    user.setUsername(item.get("login").toString());//账号
+//                    user.setEmail(item.get("login").toString() + "@c513.cast.casc");//邮箱
+//                    sysUserService.updateById(user);
+//
+//                } else {
                     //新增
                     if (Integer.parseInt(item.get("state").toString()) == 2) return;
                     SysUser sysUser = new SysUser();

+ 2 - 0
module_kzks/src/main/java/org/jeecg/modules/Index/controller/IndexController.java

@@ -19,6 +19,7 @@ import org.jeecg.modules.Index.service.IndexService;
 import org.jeecg.modules.Index.service.IndexZcbService;
 import org.jeecg.modules.Index.util.AuthMark;
 import org.jeecg.modules.Index.util.CommonMethod;
+import org.jeecg.modules.dataSourceSwitch.annotation.TargetDataSource;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -50,6 +51,7 @@ public class IndexController {
 
     @ApiOperation(value = "首页一层汇总", notes = "首页一层汇总")
     @PostMapping("getCollect")
+    @TargetDataSource
     public Result<Map<String, Object>> getCollect(@RequestBody(required = false) List<String> departNameList,HttpServletRequest request) {
         String userNameByToken = JwtUtil.getUserNameByToken(request);
         LoginUser sysUser = sysBaseApi.getUserByName(userNameByToken);

+ 2 - 5
module_kzks/src/main/java/org/jeecg/modules/Index/service/IndexService.java

@@ -1,12 +1,9 @@
 package org.jeecg.modules.Index.service;
 
-import io.swagger.annotations.ApiOperation;
-import org.apache.poi.ss.formula.functions.T;
-import org.jeecg.common.api.vo.Result;
+
 import org.jeecg.modules.Index.entity.dto.IndexInfoParamDto;
 import org.jeecg.modules.Index.entity.vo.*;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestBody;
+
 
 import javax.servlet.http.HttpServletRequest;
 import java.math.BigDecimal;

+ 3 - 1
module_kzks/src/main/java/org/jeecg/modules/Index/service/impl/IndexServiceImpl.java

@@ -19,6 +19,7 @@ import org.jeecg.modules.Index.entity.pojo.ContractAmount;
 import org.jeecg.modules.Index.entity.vo.*;
 import org.jeecg.modules.Index.service.IndexService;
 import org.jeecg.modules.Index.util.CommonMethod;
+import org.jeecg.modules.dataSourceSwitch.annotation.TargetDataSource;
 import org.jeecg.modules.kyTaskInfo.service.IKyTaskInfoService;
 import org.jeecg.modules.projectCost.entity.ProjectCost;
 import org.jeecg.modules.projectCost.mapper.ProjectCostMapper;
@@ -41,6 +42,7 @@ import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.ExecutionException;
 
 @Service
+@TargetDataSource
 public class IndexServiceImpl implements IndexService {
     @Autowired
     private ISysBaseAPI sysBaseApi;
@@ -114,7 +116,7 @@ public class IndexServiceImpl implements IndexService {
     public IndexTotalVo getTotalIncome(HttpServletRequest request, List<String> departNameList) {
         String userNameByToken = JwtUtil.getUserNameByToken(request);
         LoginUser sysUser = sysBaseApi.getUserByName(userNameByToken);
-        String role = commonMethod.getRole(userNameByToken);
+        String role = commonMethod.getRole(sysUser.getUsername());
         if (departNameList != null && !departNameList.isEmpty() && AuthMark.BOSS.equals(role))
             role = AuthMark.DEPT_LEADER;
         //首页收入渲染对象

+ 1 - 1
module_kzks/src/main/java/org/jeecg/modules/Index/service/impl/IndexZcbServiceImpl.java

@@ -95,7 +95,7 @@ public class IndexZcbServiceImpl implements IndexZcbService {
         }else {
             SysUser sysUser1 = sysUserMapper.selectUserById(sysUser.getId());
             String[] deptIds = sysUser1.getDepartIds().split(",");
-            deptList = sysDepartMapper.getDepNameByIds(deptIds);
+            deptList = Arrays.asList(deptIds);
         }
         // 根据用户名查询对应的部门
 

+ 5 - 2
module_kzks/src/main/java/org/jeecg/modules/Index/util/CommonMethod.java

@@ -1,6 +1,8 @@
 package org.jeecg.modules.Index.util;
 
+
 import org.jeecg.common.system.api.ISysBaseAPI;
+import org.jeecg.modules.dataSourceSwitch.annotation.UseMasterDataSource;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
@@ -8,14 +10,15 @@ import java.util.ArrayList;
 import java.util.List;
 
 @Component
+@UseMasterDataSource
 public class CommonMethod {
 
     @Autowired
-    private ISysBaseAPI sysBaseApi;
+    private ISysBaseAPI sysBaseAPI;
 
     public String getRole(String userName){
         String role = null;
-        List<String> roleCodes = sysBaseApi.getRolesByUsername(userName);
+        List<String> roleCodes = sysBaseAPI.getRolesByUsername(userName);
         ArrayList<String> roles = new ArrayList<>();
         roles.add(AuthMark.BOSS);
         roles.add(AuthMark.DEPT_LEADER);

+ 51 - 50
module_kzks/src/main/java/org/jeecg/modules/costModelClPrice/controller/CostModelClPriceController.java

@@ -1,88 +1,89 @@
 package org.jeecg.modules.costModelClPrice.controller;
 
+import java.util.Arrays;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.query.QueryGenerator;
+
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
-import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.aspect.annotation.AutoLog;
+
+import org.jeecg.modules.costModelClPrice.entity.KzksCostModelClPrice;
+import org.jeecg.modules.costModelClPrice.service.IKzksCostModelClPriceService;
 import org.jeecg.common.system.base.controller.JeecgController;
-import org.jeecg.common.system.query.QueryGenerator;
-import org.jeecg.modules.costModelClPrice.entity.CostModelClPrice;
-import org.jeecg.modules.costModelClPrice.service.ICostModelClPriceService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.servlet.ModelAndView;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.jeecg.common.aspect.annotation.AutoLog;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.util.Arrays;
-
-/**
- * @Description: 材料价格库
+ /**
+ * @Description: kzks_cost_model_cl_price
  * @Author: jeecg-boot
- * @Date:   2023-09-11
+ * @Date:   2023-09-18
  * @Version: V1.0
  */
-@Api(tags="...材料价格库")
+@Api(tags="cost_model_cl_price")
 @RestController
 @RequestMapping("/costModelClPrice/costModelClPrice")
 @Slf4j
-public class CostModelClPriceController extends JeecgController<CostModelClPrice, ICostModelClPriceService> {
+public class KzksCostModelClPriceController extends JeecgController<KzksCostModelClPrice, IKzksCostModelClPriceService> {
 	@Autowired
-	private ICostModelClPriceService costModelClPriceService;
+	private IKzksCostModelClPriceService kzksCostModelClPriceService;
 
 	/**
 	 * 分页列表查询
 	 *
-	 * @param costModelClPrice
+	 * @param kzksCostModelClPrice
 	 * @param pageNo
 	 * @param pageSize
 	 * @param req
 	 * @return
 	 */
-	//@AutoLog(value = "材料价格库-分页列表查询")
-	@ApiOperation(value="材料价格库-分页列表查询", notes="材料价格库-分页列表查询")
+	//@AutoLog(value = "kzks_cost_model_cl_price-分页列表查询")
+	@ApiOperation(value="cost_model_cl_price-分页列表查询", notes="cost_model_cl_price-分页列表查询")
 	@GetMapping(value = "/list")
-	public Result<IPage<CostModelClPrice>> queryPageList(CostModelClPrice costModelClPrice,
+	public Result<IPage<KzksCostModelClPrice>> queryPageList(KzksCostModelClPrice kzksCostModelClPrice,
 								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
 								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
 								   HttpServletRequest req) {
-		QueryWrapper<CostModelClPrice> queryWrapper = QueryGenerator.initQueryWrapper(costModelClPrice, req.getParameterMap());
-		Page<CostModelClPrice> page = new Page<CostModelClPrice>(pageNo, pageSize);
-		IPage<CostModelClPrice> pageList = costModelClPriceService.page(page, queryWrapper);
+		QueryWrapper<KzksCostModelClPrice> queryWrapper = QueryGenerator.initQueryWrapper(kzksCostModelClPrice, req.getParameterMap());
+		Page<KzksCostModelClPrice> page = new Page<KzksCostModelClPrice>(pageNo, pageSize);
+		IPage<KzksCostModelClPrice> pageList = kzksCostModelClPriceService.page(page, queryWrapper);
 		return Result.OK(pageList);
 	}
 
 	/**
 	 *   添加
 	 *
-	 * @param costModelClPrice
+	 * @param kzksCostModelClPrice
 	 * @return
 	 */
-	@AutoLog(value = "材料价格库-添加")
-	@ApiOperation(value="材料价格库-添加", notes="材料价格库-添加")
+	@AutoLog(value = "cost_model_cl_price-添加")
+	@ApiOperation(value="cost_model_cl_price-添加", notes="cost_model_cl_price-添加")
 	//@RequiresPermissions("org.jeecg.modules:kzks_cost_model_cl_price:add")
 	@PostMapping(value = "/add")
-	public Result<String> add(@RequestBody CostModelClPrice costModelClPrice) {
-		costModelClPriceService.save(costModelClPrice);
+	public Result<String> add(@RequestBody KzksCostModelClPrice kzksCostModelClPrice) {
+		kzksCostModelClPriceService.save(kzksCostModelClPrice);
 		return Result.OK("添加成功!");
 	}
 
 	/**
 	 *  编辑
 	 *
-	 * @param costModelClPrice
+	 * @param kzksCostModelClPrice
 	 * @return
 	 */
-	@AutoLog(value = "材料价格库-编辑")
-	@ApiOperation(value="材料价格库-编辑", notes="材料价格库-编辑")
+	@AutoLog(value = "cost_model_cl_price-编辑")
+	@ApiOperation(value="cost_model_cl_price-编辑", notes="cost_model_cl_price-编辑")
 	//@RequiresPermissions("org.jeecg.modules:kzks_cost_model_cl_price:edit")
 	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
-	public Result<String> edit(@RequestBody CostModelClPrice costModelClPrice) {
-		costModelClPriceService.updateById(costModelClPrice);
+	public Result<String> edit(@RequestBody KzksCostModelClPrice kzksCostModelClPrice) {
+		kzksCostModelClPriceService.updateById(kzksCostModelClPrice);
 		return Result.OK("编辑成功!");
 	}
 
@@ -92,12 +93,12 @@ public class CostModelClPriceController extends JeecgController<CostModelClPrice
 	 * @param id
 	 * @return
 	 */
-	@AutoLog(value = "材料价格库-通过id删除")
-	@ApiOperation(value="材料价格库-通过id删除", notes="材料价格库-通过id删除")
+	@AutoLog(value = "cost_model_cl_price-通过id删除")
+	@ApiOperation(value="cost_model_cl_price-通过id删除", notes="cost_model_cl_price-通过id删除")
 	//@RequiresPermissions("org.jeecg.modules:kzks_cost_model_cl_price:delete")
 	@DeleteMapping(value = "/delete")
 	public Result<String> delete(@RequestParam(name="id",required=true) String id) {
-		costModelClPriceService.removeById(id);
+		kzksCostModelClPriceService.removeById(id);
 		return Result.OK("删除成功!");
 	}
 
@@ -107,12 +108,12 @@ public class CostModelClPriceController extends JeecgController<CostModelClPrice
 	 * @param ids
 	 * @return
 	 */
-	@AutoLog(value = "材料价格库-批量删除")
-	@ApiOperation(value="材料价格库-批量删除", notes="材料价格库-批量删除")
+	@AutoLog(value = "cost_model_cl_price-批量删除")
+	@ApiOperation(value="cost_model_cl_price-批量删除", notes="cost_model_cl_price-批量删除")
 	//@RequiresPermissions("org.jeecg.modules:kzks_cost_model_cl_price:deleteBatch")
 	@DeleteMapping(value = "/deleteBatch")
 	public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
-		this.costModelClPriceService.removeByIds(Arrays.asList(ids.split(",")));
+		this.kzksCostModelClPriceService.removeByIds(Arrays.asList(ids.split(",")));
 		return Result.OK("批量删除成功!");
 	}
 
@@ -122,27 +123,27 @@ public class CostModelClPriceController extends JeecgController<CostModelClPrice
 	 * @param id
 	 * @return
 	 */
-	//@AutoLog(value = "材料价格库-通过id查询")
-	@ApiOperation(value="材料价格库-通过id查询", notes="材料价格库-通过id查询")
+	//@AutoLog(value = "kzks_cost_model_cl_price-通过id查询")
+	@ApiOperation(value="cost_model_cl_price-通过id查询", notes="cost_model_cl_price-通过id查询")
 	@GetMapping(value = "/queryById")
-	public Result<CostModelClPrice> queryById(@RequestParam(name="id",required=true) String id) {
-		CostModelClPrice costModelClPrice = costModelClPriceService.getById(id);
-		if(costModelClPrice==null) {
+	public Result<KzksCostModelClPrice> queryById(@RequestParam(name="id",required=true) String id) {
+		KzksCostModelClPrice kzksCostModelClPrice = kzksCostModelClPriceService.getById(id);
+		if(kzksCostModelClPrice==null) {
 			return Result.error("未找到对应数据");
 		}
-		return Result.OK(costModelClPrice);
+		return Result.OK(kzksCostModelClPrice);
 	}
 
     /**
     * 导出excel
     *
     * @param request
-    * @param costModelClPrice
+    * @param kzksCostModelClPrice
     */
     //@RequiresPermissions("org.jeecg.modules:kzks_cost_model_cl_price:exportXls")
     @RequestMapping(value = "/exportXls")
-    public ModelAndView exportXls(HttpServletRequest request, CostModelClPrice costModelClPrice) {
-        return super.exportXls(request, costModelClPrice, CostModelClPrice.class, "材料价格库");
+    public ModelAndView exportXls(HttpServletRequest request, KzksCostModelClPrice kzksCostModelClPrice) {
+        return super.exportXls(request, kzksCostModelClPrice, KzksCostModelClPrice.class, "kzks_cost_model_cl_price");
     }
 
     /**
@@ -155,7 +156,7 @@ public class CostModelClPriceController extends JeecgController<CostModelClPrice
     //@RequiresPermissions("kzks_cost_model_cl_price:importExcel")
     @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
     public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
-        return super.importExcel(request, response, CostModelClPrice.class);
+        return super.importExcel(request, response, KzksCostModelClPrice.class);
     }
 
 }

+ 0 - 207
module_kzks/src/main/java/org/jeecg/modules/costModelClPrice/entity/CostModelClPrice.java

@@ -1,207 +0,0 @@
-package org.jeecg.modules.costModelClPrice.entity;
-
-import java.io.Serializable;
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import lombok.Data;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import org.springframework.format.annotation.DateTimeFormat;
-import org.jeecgframework.poi.excel.annotation.Excel;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
-
-/**
- * @Description: 材料价格库
- * @Author: jeecg-boot
- * @Date:   2023-09-11
- * @Version: V1.0
- */
-@Data
-@TableName("kzks_cost_model_cl_price")
-@Accessors(chain = true)
-@EqualsAndHashCode(callSuper = false)
-@ApiModel(value="kzks_cost_model_cl_price对象", description="材料价格库")
-public class CostModelClPrice implements Serializable {
-    private static final long serialVersionUID = 1L;
-
-    /**id*/
-    @TableId(type = IdType.ASSIGN_ID)
-    @ApiModelProperty(value = "id")
-    private java.lang.String id;
-    /**物料编码*/
-    @Excel(name = "物料编码", width = 15)
-    @ApiModelProperty(value = "物料编码")
-    private java.lang.String wlbm;
-    /**规格型号*/
-    @Excel(name = "规格型号", width = 15)
-    @ApiModelProperty(value = "规格型号")
-    private java.lang.String ggxh;
-    /**质量等级*/
-    @Excel(name = "质量等级", width = 15)
-    @ApiModelProperty(value = "质量等级")
-    private java.lang.String zlLevel;
-    /**单价*/
-    @Excel(name = "单价", width = 15)
-    @ApiModelProperty(value = "单价")
-    private java.lang.String danjia;
-    /**批次号*/
-    @Excel(name = "批次号", width = 15)
-    @ApiModelProperty(value = "批次号")
-    private java.lang.String pici;
-    /**创建人*/
-    @ApiModelProperty(value = "创建人")
-    private java.lang.String createBy;
-    /**供应商批次号*/
-    @Excel(name = "供应商批次号", width = 15)
-    @ApiModelProperty(value = "供应商批次号")
-    private java.lang.String wzGysPch;
-    /**合同签署日期*/
-    @Excel(name = "合同签署日期", width = 15, format = "yyyy-MM-dd")
-    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
-    @DateTimeFormat(pattern="yyyy-MM-dd")
-    @ApiModelProperty(value = "合同签署日期")
-    private java.util.Date htDate;
-    /**合同余额*/
-    @Excel(name = "合同余额", width = 15)
-    @ApiModelProperty(value = "合同余额")
-    private java.lang.String htye;
-    /**发票开票时间*/
-    @Excel(name = "发票开票时间", width = 15, format = "yyyy-MM-dd")
-    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
-    @DateTimeFormat(pattern="yyyy-MM-dd")
-    @ApiModelProperty(value = "发票开票时间")
-    private java.util.Date fpDate;
-    /**计量单位*/
-    @Excel(name = "计量单位", width = 15)
-    @ApiModelProperty(value = "计量单位")
-    private java.lang.String jldw;
-    /**DFHTH*/
-    @Excel(name = "DFHTH", width = 15)
-    @ApiModelProperty(value = "DFHTH")
-    private java.lang.String dfhth;
-    /**数量*/
-    @Excel(name = "数量", width = 15)
-    @ApiModelProperty(value = "数量")
-    private java.lang.String sl;
-    /**发票金额*/
-    @Excel(name = "发票金额", width = 15)
-    @ApiModelProperty(value = "发票金额")
-    private java.lang.String fpje;
-    /**供应商*/
-    @Excel(name = "供应商", width = 15)
-    @ApiModelProperty(value = "供应商")
-    private java.lang.String gys;
-    /**凭证金额*/
-    @Excel(name = "凭证金额", width = 15)
-    @ApiModelProperty(value = "凭证金额")
-    private java.lang.String pzje;
-    /**报销单金额*/
-    @Excel(name = "报销单金额", width = 15)
-    @ApiModelProperty(value = "报销单金额")
-    private java.lang.String bxdJe;
-    /**合同金额*/
-    @Excel(name = "合同金额", width = 15)
-    @ApiModelProperty(value = "合同金额")
-    private java.lang.String htJe;
-    /**入库单金额*/
-    @Excel(name = "入库单金额", width = 15)
-    @ApiModelProperty(value = "入库单金额")
-    private java.lang.String totalJe;
-    /**入库单号*/
-    @Excel(name = "入库单号", width = 15)
-    @ApiModelProperty(value = "入库单号")
-    private java.lang.String billno;
-    /**合同号*/
-    @Excel(name = "合同号", width = 15)
-    @ApiModelProperty(value = "合同号")
-    private java.lang.String hth;
-    /**合同年份*/
-    @Excel(name = "合同年份", width = 15)
-    @ApiModelProperty(value = "合同年份")
-    private java.lang.String tYear;
-    /**发票号*/
-    @Excel(name = "发票号", width = 15)
-    @ApiModelProperty(value = "发票号")
-    private java.lang.String fph;
-    /**报销单号*/
-    @Excel(name = "报销单号", width = 15)
-    @ApiModelProperty(value = "报销单号")
-    private java.lang.String bxdBh;
-    /**凭证日期*/
-    @Excel(name = "凭证日期", width = 15)
-    @ApiModelProperty(value = "凭证日期")
-    private java.lang.String pzrq;
-    /**费用类别*/
-    @Excel(name = "费用类别", width = 15)
-    @ApiModelProperty(value = "费用类别")
-    private java.lang.String fylb;
-    /**凭证编号*/
-    @Excel(name = "凭证编号", width = 15)
-    @ApiModelProperty(value = "凭证编号")
-    private java.lang.String pzbh;
-    /**银行流水号*/
-    @Excel(name = "银行流水号", width = 15)
-    @ApiModelProperty(value = "银行流水号")
-    private java.lang.String yhhdBh;
-    /**合同附件*/
-    @Excel(name = "合同附件", width = 15)
-    @ApiModelProperty(value = "合同附件")
-    private java.lang.String fjHt;
-    /**凭证附件*/
-    @Excel(name = "凭证附件", width = 15)
-    @ApiModelProperty(value = "凭证附件")
-    private java.lang.String fjPz;
-    /**报销单附件*/
-    @Excel(name = "报销单附件", width = 15)
-    @ApiModelProperty(value = "报销单附件")
-    private java.lang.String fjBxd;
-    /**回单附件*/
-    @Excel(name = "回单附件", width = 15)
-    @ApiModelProperty(value = "回单附件")
-    private java.lang.String fjYhhd;
-    /**入库单附件*/
-    @Excel(name = "入库单附件", width = 15)
-    @ApiModelProperty(value = "入库单附件")
-    private java.lang.String fjRkd;
-    /**发票附件*/
-    @Excel(name = "发票附件", width = 15)
-    @ApiModelProperty(value = "发票附件")
-    private java.lang.String fjFp;
-    /**物料名称*/
-    @Excel(name = "物料名称", width = 15)
-    @ApiModelProperty(value = "物料名称")
-    private java.lang.String wlmc;
-    /**凭证唯一码*/
-    @Excel(name = "凭证唯一码", width = 15)
-    @ApiModelProperty(value = "凭证唯一码")
-    private java.lang.String pzCode;
-    /**Unique Id(物料唯一码)*/
-    @Excel(name = "Unique Id(物料唯一码)", width = 15)
-    @ApiModelProperty(value = "Unique Id(物料唯一码)")
-    private java.lang.String uniqueId;
-    /**创建日期*/
-    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
-    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
-    @ApiModelProperty(value = "创建日期")
-    private java.util.Date createTime;
-    /**更新人*/
-    @ApiModelProperty(value = "更新人")
-    private java.lang.String updateBy;
-    /**更新日期*/
-    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
-    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
-    @ApiModelProperty(value = "更新日期")
-    private java.util.Date updateTime;
-    /**所属部门*/
-    @ApiModelProperty(value = "所属部门")
-    private java.lang.String sysOrgCode;
-    /**采购日期*/
-    @Excel(name = "采购日期", width = 15, format = "yyyy-MM-dd")
-    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
-    @DateTimeFormat(pattern="yyyy-MM-dd")
-    @ApiModelProperty(value = "采购日期")
-    private java.util.Date caigouTime;
-}

+ 553 - 0
module_kzks/src/main/java/org/jeecg/modules/costModelClPrice/entity/KzksCostModelClPrice.java

@@ -0,0 +1,553 @@
+package org.jeecg.modules.costModelClPrice.entity;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.math.BigDecimal;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * @Description: kzks_cost_model_cl_price
+ * @Author: jeecg-boot
+ * @Date:   2023-09-18
+ * @Version: V1.0
+ */
+@Data
+@TableName("kzks_cost_model_cl_price")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="kzks_cost_model_cl_price对象", description="kzks_cost_model_cl_price")
+public class KzksCostModelClPrice implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+	/**id*/
+	@TableId(type = IdType.AUTO)
+    @ApiModelProperty(value = "id")
+    private Integer id;
+	/**物料编码*/
+	@Excel(name = "物料编码", width = 15)
+    @ApiModelProperty(value = "物料编码")
+    private String wlbm;
+	/**规格型号*/
+	@Excel(name = "规格型号", width = 15)
+    @ApiModelProperty(value = "规格型号")
+    private String ggxh;
+	/**质量等级*/
+	@Excel(name = "质量等级", width = 15)
+    @ApiModelProperty(value = "质量等级")
+    private String zlLevel;
+	/**单价*/
+	@Excel(name = "单价", width = 15)
+    @ApiModelProperty(value = "单价")
+    private BigDecimal danjia;
+	/**批次号*/
+	@Excel(name = "批次号", width = 15)
+    @ApiModelProperty(value = "批次号")
+    private String pici;
+	/**供应商批次号*/
+	@Excel(name = "供应商批次号", width = 15)
+    @ApiModelProperty(value = "供应商批次号")
+    private String wzGysPch;
+	/**合同签署日期*/
+	@Excel(name = "合同签署日期", width = 15)
+    @ApiModelProperty(value = "合同签署日期")
+    private String htDate;
+	/**合同余额*/
+	@Excel(name = "合同余额", width = 15)
+    @ApiModelProperty(value = "合同余额")
+    private BigDecimal htye;
+	/**发票开票时间*/
+	@Excel(name = "发票开票时间", width = 15)
+    @ApiModelProperty(value = "发票开票时间")
+    private String fpDate;
+	/**计量单位*/
+	@Excel(name = "计量单位", width = 15)
+    @ApiModelProperty(value = "计量单位")
+    private String jldw;
+	/**对方合同号*/
+	@Excel(name = "对方合同号", width = 15)
+    @ApiModelProperty(value = "对方合同号")
+    private String dfhth;
+	/**数量*/
+	@Excel(name = "数量", width = 15)
+    @ApiModelProperty(value = "数量")
+    private String sl;
+	/**发票金额*/
+	@Excel(name = "发票金额", width = 15)
+    @ApiModelProperty(value = "发票金额")
+    private BigDecimal fpje;
+	/**供应商*/
+	@Excel(name = "供应商", width = 15)
+    @ApiModelProperty(value = "供应商")
+    private String gys;
+	/**凭证金额*/
+	@Excel(name = "凭证金额", width = 15)
+    @ApiModelProperty(value = "凭证金额")
+    private BigDecimal pzje;
+	/**报销单金额*/
+	@Excel(name = "报销单金额", width = 15)
+    @ApiModelProperty(value = "报销单金额")
+    private BigDecimal bxdJe;
+	/**合同金额*/
+	@Excel(name = "合同金额", width = 15)
+    @ApiModelProperty(value = "合同金额")
+    private BigDecimal htJe;
+	/**入库单金额*/
+	@Excel(name = "入库单金额", width = 15)
+    @ApiModelProperty(value = "入库单金额")
+    private String totalJe;
+	/**入库单号*/
+	@Excel(name = "入库单号", width = 15)
+    @ApiModelProperty(value = "入库单号")
+    private String billno;
+	/**合同号*/
+	@Excel(name = "合同号", width = 15)
+    @ApiModelProperty(value = "合同号")
+    private String hth;
+	/**合同年份*/
+	@Excel(name = "合同年份", width = 15)
+    @ApiModelProperty(value = "合同年份")
+    private String tYear;
+	/**发票号*/
+	@Excel(name = "发票号", width = 15)
+    @ApiModelProperty(value = "发票号")
+    private String fph;
+	/**报销单号*/
+	@Excel(name = "报销单号", width = 15)
+    @ApiModelProperty(value = "报销单号")
+    private String bxdBh;
+	/**凭证日期*/
+	@Excel(name = "凭证日期", width = 15)
+    @ApiModelProperty(value = "凭证日期")
+    private String pzrq;
+	/**费用类别*/
+	@Excel(name = "费用类别", width = 15)
+    @ApiModelProperty(value = "费用类别")
+    private String fylb;
+	/**凭证编号*/
+	@Excel(name = "凭证编号", width = 15)
+    @ApiModelProperty(value = "凭证编号")
+    private String pzbh;
+	/**银行流水号*/
+	@Excel(name = "银行流水号", width = 15)
+    @ApiModelProperty(value = "银行流水号")
+    private String yhhdBh;
+	/**合同附件*/
+	@Excel(name = "合同附件", width = 15)
+    @ApiModelProperty(value = "合同附件")
+    private Integer fjHt;
+	/**凭证附件*/
+	@Excel(name = "凭证附件", width = 15)
+    @ApiModelProperty(value = "凭证附件")
+    private Integer fjPz;
+	/**报销单附件*/
+	@Excel(name = "报销单附件", width = 15)
+    @ApiModelProperty(value = "报销单附件")
+    private Integer fjBxd;
+	/**回单附件*/
+	@Excel(name = "回单附件", width = 15)
+    @ApiModelProperty(value = "回单附件")
+    private Integer fjYhhd;
+	/**入库单附件*/
+	@Excel(name = "入库单附件", width = 15)
+    @ApiModelProperty(value = "入库单附件")
+    private Integer fjRkd;
+	/**发票附件*/
+	@Excel(name = "发票附件", width = 15)
+    @ApiModelProperty(value = "发票附件")
+    private String fjFp;
+	/**物料名称*/
+	@Excel(name = "物料名称", width = 15)
+    @ApiModelProperty(value = "物料名称")
+    private String wlmc;
+	/**凭证唯一码*/
+	@Excel(name = "凭证唯一码", width = 15)
+    @ApiModelProperty(value = "凭证唯一码")
+    private String pzCode;
+	/**物料唯一码*/
+	@Excel(name = "物料唯一码", width = 15)
+    @ApiModelProperty(value = "物料唯一码")
+    private String uniqueId;
+	/**创建人*/
+    @ApiModelProperty(value = "创建人")
+    private String createBy;
+	/**创建日期*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    @ApiModelProperty(value = "创建日期")
+    private Date createTime;
+	/**更新人*/
+    @ApiModelProperty(value = "更新人")
+    private String updateBy;
+	/**更新日期*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    @ApiModelProperty(value = "更新日期")
+    private Date updateTime;
+	/**所属部门*/
+    @ApiModelProperty(value = "所属部门")
+    private String sysOrgCode;
+	/**采购日期*/
+	@Excel(name = "采购日期", width = 15)
+    @ApiModelProperty(value = "采购日期")
+    private String caigouTime;
+
+    public static long getSerialVersionUID() {
+        return serialVersionUID;
+    }
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public String getWlbm() {
+        return wlbm;
+    }
+
+    public void setWlbm(String wlbm) {
+        this.wlbm = wlbm;
+    }
+
+    public String getGgxh() {
+        return ggxh;
+    }
+
+    public void setGgxh(String ggxh) {
+        this.ggxh = ggxh;
+    }
+
+    public String getZlLevel() {
+        return zlLevel;
+    }
+
+    public void setZlLevel(String zlLevel) {
+        this.zlLevel = zlLevel;
+    }
+
+    public BigDecimal getDanjia() {
+        return danjia;
+    }
+
+    public void setDanjia(BigDecimal danjia) {
+        this.danjia = danjia;
+    }
+
+    public String getPici() {
+        return pici;
+    }
+
+    public void setPici(String pici) {
+        this.pici = pici;
+    }
+
+    public String getWzGysPch() {
+        return wzGysPch;
+    }
+
+    public void setWzGysPch(String wzGysPch) {
+        this.wzGysPch = wzGysPch;
+    }
+
+    public String getHtDate() {
+        return htDate;
+    }
+
+    public void setHtDate(String htDate) {
+        this.htDate = htDate;
+    }
+
+
+    public String getFpDate() {
+        return fpDate;
+    }
+
+    public void setFpDate(String fpDate) {
+        this.fpDate = fpDate;
+    }
+
+    public String getJldw() {
+        return jldw;
+    }
+
+    public void setJldw(String jldw) {
+        this.jldw = jldw;
+    }
+
+    public String getDfhth() {
+        return dfhth;
+    }
+
+    public void setDfhth(String dfhth) {
+        this.dfhth = dfhth;
+    }
+
+    public String getSl() {
+        return sl;
+    }
+
+    public void setSl(String sl) {
+        this.sl = sl;
+    }
+
+
+    public String getGys() {
+        return gys;
+    }
+
+    public void setGys(String gys) {
+        this.gys = gys;
+    }
+
+    public BigDecimal getPzje() {
+        return pzje;
+    }
+
+    public void setPzje(BigDecimal pzje) {
+        this.pzje = pzje;
+    }
+
+    public BigDecimal getBxdJe() {
+        return bxdJe;
+    }
+
+    public void setBxdJe(BigDecimal bxdJe) {
+        this.bxdJe = bxdJe;
+    }
+
+    public String getTotalJe() {
+        return totalJe;
+    }
+
+    public void setTotalJe(String totalJe) {
+        this.totalJe = totalJe;
+    }
+
+    public String getBillno() {
+        return billno;
+    }
+
+    public void setBillno(String billno) {
+        this.billno = billno;
+    }
+
+    public String getHth() {
+        return hth;
+    }
+
+    public void setHth(String hth) {
+        this.hth = hth;
+    }
+
+    public String gettYear() {
+        return tYear;
+    }
+
+    public void settYear(String tYear) {
+        this.tYear = tYear;
+    }
+
+    public String getFph() {
+        return fph;
+    }
+
+    public void setFph(String fph) {
+        this.fph = fph;
+    }
+
+    public String getBxdBh() {
+        return bxdBh;
+    }
+
+    public void setBxdBh(String bxdBh) {
+        this.bxdBh = bxdBh;
+    }
+
+    public String getPzrq() {
+        return pzrq;
+    }
+
+    public void setPzrq(String pzrq) {
+        this.pzrq = pzrq;
+    }
+
+    public String getFylb() {
+        return fylb;
+    }
+
+    public void setFylb(String fylb) {
+        this.fylb = fylb;
+    }
+
+    public String getPzbh() {
+        return pzbh;
+    }
+
+    public void setPzbh(String pzbh) {
+        this.pzbh = pzbh;
+    }
+
+    public String getYhhdBh() {
+        return yhhdBh;
+    }
+
+    public void setYhhdBh(String yhhdBh) {
+        this.yhhdBh = yhhdBh;
+    }
+
+    public Integer getFjHt() {
+        return fjHt;
+    }
+
+    public void setFjHt(Integer fjHt) {
+        this.fjHt = fjHt;
+    }
+
+    public Integer getFjPz() {
+        return fjPz;
+    }
+
+    public void setFjPz(Integer fjPz) {
+        this.fjPz = fjPz;
+    }
+
+    public Integer getFjBxd() {
+        return fjBxd;
+    }
+
+    public void setFjBxd(Integer fjBxd) {
+        this.fjBxd = fjBxd;
+    }
+
+    public Integer getFjYhhd() {
+        return fjYhhd;
+    }
+
+    public void setFjYhhd(Integer fjYhhd) {
+        this.fjYhhd = fjYhhd;
+    }
+
+    public Integer getFjRkd() {
+        return fjRkd;
+    }
+
+    public void setFjRkd(Integer fjRkd) {
+        this.fjRkd = fjRkd;
+    }
+
+    public String getFjFp() {
+        return fjFp;
+    }
+
+    public void setFjFp(String fjFp) {
+        this.fjFp = fjFp;
+    }
+
+    public String getWlmc() {
+        return wlmc;
+    }
+
+    public void setWlmc(String wlmc) {
+        this.wlmc = wlmc;
+    }
+
+    public String getPzCode() {
+        return pzCode;
+    }
+
+    public void setPzCode(String pzCode) {
+        this.pzCode = pzCode;
+    }
+
+    public String getUniqueId() {
+        return uniqueId;
+    }
+
+    public void setUniqueId(String uniqueId) {
+        this.uniqueId = uniqueId;
+    }
+
+    public String getCreateBy() {
+        return createBy;
+    }
+
+    public void setCreateBy(String createBy) {
+        this.createBy = createBy;
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public String getUpdateBy() {
+        return updateBy;
+    }
+
+    public void setUpdateBy(String updateBy) {
+        this.updateBy = updateBy;
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    public String getSysOrgCode() {
+        return sysOrgCode;
+    }
+
+    public void setSysOrgCode(String sysOrgCode) {
+        this.sysOrgCode = sysOrgCode;
+    }
+
+    public String getCaigouTime() {
+        return caigouTime;
+    }
+
+    public BigDecimal getHtye() {
+        return htye;
+    }
+
+    public void setHtye(BigDecimal htye) {
+        this.htye = htye;
+    }
+
+    public BigDecimal getFpje() {
+        return fpje;
+    }
+
+    public void setFpje(BigDecimal fpje) {
+        this.fpje = fpje;
+    }
+
+    public BigDecimal getHtJe() {
+        return htJe;
+    }
+
+    public void setHtJe(BigDecimal htJe) {
+        this.htJe = htJe;
+    }
+
+    public void setCaigouTime(String caigouTime) {
+        this.caigouTime = caigouTime;
+    }
+}

+ 0 - 35
module_kzks/src/main/java/org/jeecg/modules/costModelClPrice/mapper/CostModelClPriceMapper.java

@@ -1,35 +0,0 @@
-package org.jeecg.modules.costModelClPrice.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import org.apache.ibatis.annotations.Delete;
-import org.apache.ibatis.annotations.Param;
-import org.apache.ibatis.annotations.Select;
-import org.jeecg.modules.costModelClPrice.entity.CostModelClPrice;
-import org.jeecg.modules.costModelXmxqCl.entity.CostModelXmxqCl;
-import org.jeecg.modules.costModelXmxqWx.entity.CostModelXmxqWx;
-
-import java.util.List;
-
-/**
- * @Description: 材料价格库
- * @Author: jeecg-boot
- * @Date:   2023-09-11
- * @Version: V1.0
- */
-public interface CostModelClPriceMapper extends BaseMapper<CostModelClPrice> {
-
-    /**查询*/
-    public CostModelXmxqCl selectClPriceValue(CostModelXmxqCl cl);
-
-    /**查询*/
-    public CostModelXmxqCl selectClPriceValue2(CostModelXmxqCl cl);
-
-    /**成本模型——材料费详情——根据物料编码、规格型号、质量等级、批次查询*/
-//    @Select("select danjia, HT_DATE from kzks_cost_model_cl_price where wlbm = #{wlbm} and ggxh=#{ggxh} and zl_level=#{zlLevel} and pici=#{pici}")
-//    public List<CostModelClPrice> getCLPDetailList(@Param("wlbm") String wlbm, @Param("ggxh") String ggxh, @Param("zlLevel") String zlLevel, @Param("pici") String pici);
-    public List<CostModelClPrice> getCLPDetailList(CostModelXmxqCl cl);
-
-    @Delete("truncate table kzks_cost_model_cl_price")
-    void truncateTable();
-
-}

+ 29 - 0
module_kzks/src/main/java/org/jeecg/modules/costModelClPrice/mapper/KzksCostModelClPriceMapper.java

@@ -0,0 +1,29 @@
+package org.jeecg.modules.costModelClPrice.mapper;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Update;
+import org.jeecg.modules.costModelXmxqCl.entity.CostModelXmxqCl;
+import org.jeecg.modules.costModelClPrice.entity.KzksCostModelClPrice;
+
+import java.util.List;
+
+
+/**
+ * @Description: kzks_cost_model_cl_price
+ * @Author: jeecg-boot
+ * @Date:   2023-09-18
+ * @Version: V1.0
+ *
+ */
+@Mapper
+public interface KzksCostModelClPriceMapper extends BaseMapper<KzksCostModelClPrice> {
+
+    @Update("truncate table kzks_cost_model_cl_price;")
+     void truncateTable();
+
+    CostModelXmxqCl selectClPriceValue(CostModelXmxqCl cl);
+
+    List<KzksCostModelClPrice> getCLPDetailList(CostModelXmxqCl cl);
+}

+ 0 - 89
module_kzks/src/main/java/org/jeecg/modules/costModelClPrice/mapper/xml/CostModelClPriceMapper.xml

@@ -1,89 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="org.jeecg.modules.costModelClPrice.mapper.CostModelClPriceMapper">
-
-    <select id="selectClPriceValue" parameterType="org.jeecg.modules.costModelXmxqCl.entity.CostModelXmxqCl" resultType="org.jeecg.modules.costModelXmxqCl.entity.CostModelXmxqCl">
-        select ifnull(max(CONVERT(danjia, DECIMAL)),0) as maxDanjia,
-               ifnull(min(CONVERT(danjia, DECIMAL)),0) as minDanjia,
-               round(ifnull(avg(CONVERT(danjia, DECIMAL)),0),2) as aveDanjia,
-               ifnull((select danjia from kzks_cost_model_cl_price
-            <where>
-                <if test="wlbm != null  and wlbm != ''">and wlbm = #{wlbm}</if>
-                <if test="ggxh != null  and ggxh != ''">and ggxh = #{ggxh}</if>
-                <if test="zlLevel != null  and zlLevel != ''">and zl_level = #{zlLevel}</if>
-                <if test="pici != null  and pici != ''">and pici = #{pici}</if>
-            </where>
-               ORDER BY HT_DATE DESC limit 1),0) as recentDanjia,
-               ifnull(max(CONVERT(danjia, DECIMAL)),0) * #{number} as maxPrice,
-               ifnull(min(CONVERT(danjia, DECIMAL)),0) * #{number} as minPrice,
-               round(ifnull(avg(CONVERT(danjia, DECIMAL)),0) * #{number},2) as avePrice,
-               ifnull((select danjia from kzks_cost_model_cl_price
-            <where>
-                <if test="wlbm != null  and wlbm != ''">and wlbm = #{wlbm}</if>
-                <if test="ggxh != null  and ggxh != ''">and ggxh = #{ggxh}</if>
-                <if test="zlLevel != null  and zlLevel != ''">and zl_level = #{zlLevel}</if>
-                <if test="pici != null  and pici != ''">and pici = #{pici}</if>
-            </where>
-               ORDER BY HT_DATE DESC limit 1),0) * #{number} as recentPrice,
-               HT_DATE as caigouTime,
-               #{xiangmuId} as xiangmuId,
-               #{xiangmuName} as xiangmuName,
-               #{number} as number,
-               #{wlbm} as wlbm,
-               #{ggxh} as ggxh,
-               #{zlLevel} as zlLevel,
-               #{pici} as pici
-        from kzks_cost_model_cl_price
-        <where>
-            <if test="wlbm != null  and wlbm != ''">and wlbm = #{wlbm}</if>
-            <if test="ggxh != null  and ggxh != ''">and ggxh = #{ggxh}</if>
-            <if test="zlLevel != null  and zlLevel != ''">and zl_level = #{zlLevel}</if>
-            <if test="pici != null  and pici != ''">and pici = #{pici}</if>
-        </where>
-    </select>
-
-
-    <select id="selectClPriceValue2" parameterType="org.jeecg.modules.costModelXmxqCl.entity.CostModelXmxqCl" resultType="org.jeecg.modules.costModelXmxqCl.entity.CostModelXmxqCl">
-        select ifnull(max(CONVERT(danjia, DECIMAL)),0) as maxDanjia,
-        ifnull(min(CONVERT(danjia, DECIMAL)),0) as minDanjia,
-        round(ifnull(avg(CONVERT(danjia, DECIMAL)),0),2) as aveDanjia,
-        ifnull((select danjia from kzks_cost_model_cl_price
-        <where>
-            <if test="ggxh != null  and ggxh != ''">and ggxh = #{ggxh}</if>
-        </where>
-        ORDER BY HT_DATE DESC limit 1),0) as recentDanjia,
-        ifnull(max(CONVERT(danjia, DECIMAL)),0) * #{number} as maxPrice,
-        ifnull(min(CONVERT(danjia, DECIMAL)),0) * #{number} as minPrice,
-        round(ifnull(avg(CONVERT(danjia, DECIMAL)),0) * #{number},2) as avePrice,
-        ifnull((select danjia from kzks_cost_model_cl_price
-        <where>
-            <if test="ggxh != null  and ggxh != ''">and ggxh = #{ggxh}</if>
-        </where>
-        ORDER BY HT_DATE DESC limit 1),0) * #{number} as recentPrice,
-        HT_DATE as caigouTime,
-        #{xiangmuId} as xiangmuId,
-        #{xiangmuName} as xiangmuName,
-        #{number} as number,
-        #{wlbm} as wlbm,
-        #{ggxh} as ggxh,
-        #{zlLevel} as zlLevel,
-        #{pici} as pici
-        from kzks_cost_model_cl_price
-        <where>
-            <if test="ggxh != null  and ggxh != ''">and ggxh = #{ggxh}</if>
-        </where>
-    </select>
-
-    <select id="getCLPDetailList" parameterType="org.jeecg.modules.costModelXmxqCl.entity.CostModelXmxqCl" resultType="org.jeecg.modules.costModelClPrice.entity.CostModelClPrice">
-    select wlbm, ggxh, zl_level, pici, danjia, HT_DATE FROM kzks_cost_model_cl_price
-        <where>
-            <if test="wlbm != null  and wlbm != ''">and wlbm = #{wlbm}</if>
-            <if test="ggxh != null  and ggxh != ''">and ggxh = #{ggxh}</if>
-<!--            <if test="ggxh is null">and ggxh IS NULL</if>-->
-<!--            <if test="ggxh == ''">and ggxh = ''</if>-->
-            <if test="zlLevel != null  and zlLevel != ''">and zl_level = #{zlLevel}</if>
-            <if test="pici != null  and pici != ''">and pici = #{pici}</if>
-        </where>
-    </select>
-
-</mapper>

+ 57 - 0
module_kzks/src/main/java/org/jeecg/modules/costModelClPrice/mapper/xml/KzksCostModelClPriceMapper.xml

@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.jeecg.modules.costModelClPrice.mapper.KzksCostModelClPriceMapper">
+
+    <select id="selectClPriceValue" parameterType="org.jeecg.modules.costModelXmxqCl.entity.CostModelXmxqCl" resultType="org.jeecg.modules.costModelXmxqCl.entity.CostModelXmxqCl">
+        select ifnull(max(CONVERT(danjia, DECIMAL)),0) as maxDanjia,
+        ifnull(min(CONVERT(danjia, DECIMAL)),0) as minDanjia,
+        round(ifnull(avg(CONVERT(danjia, DECIMAL)),0),2) as aveDanjia,
+        ifnull((select danjia from kzks_cost_model_cl_price
+        <where>
+            <if test="wlbm != null  and wlbm != ''">and wlbm = #{wlbm}</if>
+            <if test="ggxh != null  and ggxh != ''">and ggxh = #{ggxh}</if>
+            <if test="zlLevel != null  and zlLevel != ''">and zl_level = #{zlLevel}</if>
+            <if test="pici != null  and pici != ''">and pici = #{pici}</if>
+        </where>
+        ORDER BY HT_DATE DESC limit 1),0) as recentDanjia,
+        ifnull(max(CONVERT(danjia, DECIMAL)),0) * #{number} as maxPrice,
+        ifnull(min(CONVERT(danjia, DECIMAL)),0) * #{number} as minPrice,
+        round(ifnull(avg(CONVERT(danjia, DECIMAL)),0) * #{number},2) as avePrice,
+        ifnull((select danjia from kzks_cost_model_cl_price
+        <where>
+            <if test="wlbm != null  and wlbm != ''">and wlbm = #{wlbm}</if>
+            <if test="ggxh != null  and ggxh != ''">and ggxh = #{ggxh}</if>
+            <if test="zlLevel != null  and zlLevel != ''">and zl_level = #{zlLevel}</if>
+            <if test="pici != null  and pici != ''">and pici = #{pici}</if>
+        </where>
+        ORDER BY HT_DATE DESC limit 1),0) * #{number} as recentPrice,
+        HT_DATE as caigouTime,
+        #{xiangmuId} as xiangmuId,
+        #{xiangmuName} as xiangmuName,
+        #{number} as number,
+        #{wlbm} as wlbm,
+        #{ggxh} as ggxh,
+        #{zlLevel} as zlLevel,
+        #{pici} as pici
+        from kzks_cost_model_cl_price
+        <where>
+            <if test="wlbm != null  and wlbm != ''">and wlbm = #{wlbm}</if>
+            <if test="ggxh != null  and ggxh != ''">and ggxh = #{ggxh}</if>
+            <if test="zlLevel != null  and zlLevel != ''">and zl_level = #{zlLevel}</if>
+            <if test="pici != null  and pici != ''">and pici = #{pici}</if>
+        </where>
+    </select>
+
+    <select id="getCLPDetailList" parameterType="org.jeecg.modules.costModelXmxqCl.entity.CostModelXmxqCl" resultType="org.jeecg.modules.costModelClPrice.entity.KzksCostModelClPrice">
+        select wlbm, ggxh, zl_level, pici, danjia, HT_DATE FROM kzks_cost_model_cl_price
+        <where>
+            <if test="wlbm != null  and wlbm != ''">and wlbm = #{wlbm}</if>
+            <if test="ggxh != null  and ggxh != ''">and ggxh = #{ggxh}</if>
+            <!--            <if test="ggxh is null">and ggxh IS NULL</if>-->
+            <!--            <if test="ggxh == ''">and ggxh = ''</if>-->
+            <if test="zlLevel != null  and zlLevel != ''">and zl_level = #{zlLevel}</if>
+            <if test="pici != null  and pici != ''">and pici = #{pici}</if>
+        </where>
+    </select>
+
+</mapper>

+ 7 - 11
module_kzks/src/main/java/org/jeecg/modules/costModelClPrice/service/ICostModelClPriceService.java

@@ -1,31 +1,27 @@
 package org.jeecg.modules.costModelClPrice.service;
 
+
 import com.baomidou.mybatisplus.extension.service.IService;
-import org.apache.ibatis.annotations.Param;
-import org.apache.ibatis.annotations.Select;
-import org.jeecg.modules.costModelClPrice.entity.CostModelClPrice;
 import org.jeecg.modules.costModelXmxqCl.entity.CostModelXmxqCl;
+import org.jeecg.modules.costModelClPrice.entity.KzksCostModelClPrice;
 
 import java.util.List;
 
 /**
- * @Description: 材料价格库
+ * @Description: kzks_cost_model_cl_price
  * @Author: jeecg-boot
- * @Date:   2023-09-11
+ * @Date:   2023-09-18
  * @Version: V1.0
  */
-public interface ICostModelClPriceService extends IService<CostModelClPrice> {
+public interface IKzksCostModelClPriceService extends IService<KzksCostModelClPrice> {
 
-    /**查询*/
-    public CostModelXmxqCl selectClPriceValue(CostModelXmxqCl cl);
 
     /**查询*/
-    public CostModelXmxqCl selectClPriceValue2(CostModelXmxqCl cl);
+    public CostModelXmxqCl selectClPriceValue(CostModelXmxqCl cl);
 
     /**成本模型——材料费详情——根据物料编码、规格型号、质量等级、批次查询*/
 //   public List<CostModelClPrice> getCLPDetailList(String wlbm, String ggxh, String zlLevel, String pici);
-   public List<CostModelClPrice> getCLPDetailList(CostModelXmxqCl cl);
-
+    public List<KzksCostModelClPrice> getCLPDetailList(CostModelXmxqCl cl);
 
     void truncateTable();
 

+ 0 - 52
module_kzks/src/main/java/org/jeecg/modules/costModelClPrice/service/impl/CostModelClPriceServiceImpl.java

@@ -1,52 +0,0 @@
-package org.jeecg.modules.costModelClPrice.service.impl;
-
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.jeecg.modules.costModelClPrice.entity.CostModelClPrice;
-import org.jeecg.modules.costModelClPrice.mapper.CostModelClPriceMapper;
-import org.jeecg.modules.costModelClPrice.service.ICostModelClPriceService;
-import org.jeecg.modules.costModelXmxqCl.entity.CostModelXmxqCl;
-import org.jeecg.modules.dataSourceSwitch.annotation.TargetDataSource;
-import org.jeecg.modules.dataSourceSwitch.enums.DataSourceType;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
-
-/**
- * @Description: 材料价格库
- * @Author: jeecg-boot
- * @Date:   2023-09-11
- * @Version: V1.0
- */
-@Service
-//@TargetDataSource
-public class CostModelClPriceServiceImpl extends ServiceImpl<CostModelClPriceMapper, CostModelClPrice> implements ICostModelClPriceService {
-
-    @Autowired
-    @SuppressWarnings("all")
-    private CostModelClPriceMapper clPriceMapper;
-
-    /**查询*/
-    public CostModelXmxqCl selectClPriceValue(CostModelXmxqCl cl){
-        return clPriceMapper.selectClPriceValue(cl);
-    }
-
-    /**查询*/
-    public CostModelXmxqCl selectClPriceValue2(CostModelXmxqCl cl){
-        return clPriceMapper.selectClPriceValue2(cl);
-    }
-
-    /**成本模型——材料费详情——根据物料编码、规格型号、质量等级、批次查询*/
-//    public List<CostModelClPrice> getCLPDetailList(String wlbm, String ggxh, String zlLevel, String pici){
-//        return clPriceMapper.getCLPDetailList(wlbm, ggxh, zlLevel, pici);
-//    }
-    public List<CostModelClPrice> getCLPDetailList(CostModelXmxqCl cl){
-        return clPriceMapper.getCLPDetailList(cl);
-    }
-
-    @Override
-    public void truncateTable() {
-        clPriceMapper.truncateTable();
-    }
-
-}

+ 46 - 0
module_kzks/src/main/java/org/jeecg/modules/costModelClPrice/service/impl/KzksCostModelClPriceServiceImpl.java

@@ -0,0 +1,46 @@
+package org.jeecg.modules.costModelClPrice.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.jeecg.modules.costModelXmxqCl.entity.CostModelXmxqCl;
+import org.jeecg.modules.costModelClPrice.entity.KzksCostModelClPrice;
+import org.jeecg.modules.costModelClPrice.mapper.KzksCostModelClPriceMapper;
+import org.jeecg.modules.costModelClPrice.service.IKzksCostModelClPriceService;
+import org.jeecg.modules.dataSourceSwitch.annotation.UseMasterDataSource;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+
+/**
+ * @Description: kzks_cost_model_cl_price
+ * @Author: jeecg-boot
+ * @Date:   2023-09-18
+ * @Version: V1.0
+ */
+@Service
+@UseMasterDataSource
+public class KzksCostModelClPriceServiceImpl extends ServiceImpl<KzksCostModelClPriceMapper, KzksCostModelClPrice> implements IKzksCostModelClPriceService {
+
+    @Autowired
+    private KzksCostModelClPriceMapper kzksCostModelClPriceMapper;
+
+    /**查询*/
+    public CostModelXmxqCl selectClPriceValue(CostModelXmxqCl cl){
+        return kzksCostModelClPriceMapper.selectClPriceValue(cl);
+    }
+
+    /**成本模型——材料费详情——根据物料编码、规格型号、质量等级、批次查询*/
+//    public List<CostModelClPrice> getCLPDetailList(String wlbm, String ggxh, String zlLevel, String pici){
+//        return clPriceMapper.getCLPDetailList(wlbm, ggxh, zlLevel, pici);
+//    }
+    public List<KzksCostModelClPrice> getCLPDetailList(CostModelXmxqCl cl){
+        return kzksCostModelClPriceMapper.getCLPDetailList(cl);
+    }
+
+
+    @Override
+    public void truncateTable() {
+        kzksCostModelClPriceMapper.truncateTable();
+    }
+}

+ 13 - 13
module_kzks/src/main/java/org/jeecg/modules/costModelClPrice/vo/CostModelClPriceExportVO.java

@@ -24,10 +24,10 @@ public class CostModelClPriceExportVO {
     /**id*/
 //    @TableId(type = IdType.ASSIGN_ID)
     @ApiModelProperty(value = "id")
-    private java.lang.String id;
+    private String id;
     /**创建人*/
     @ApiModelProperty(value = "创建人")
-    private java.lang.String createBy;
+    private String createBy;
     /**创建日期*/
     @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
     @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@@ -35,7 +35,7 @@ public class CostModelClPriceExportVO {
     private java.util.Date createTime;
     /**更新人*/
     @ApiModelProperty(value = "更新人")
-    private java.lang.String updateBy;
+    private String updateBy;
     /**更新日期*/
     @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
     @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@@ -43,44 +43,44 @@ public class CostModelClPriceExportVO {
     private java.util.Date updateTime;
     /**所属部门*/
     @ApiModelProperty(value = "所属部门")
-    private java.lang.String sysOrgCode;
+    private String sysOrgCode;
     /**项目ID*/
 //	@Excel(name = "项目ID", width = 15)
     @ApiModelProperty(value = "项目ID")
-    private java.lang.String xiangmuId;
+    private String xiangmuId;
     /**项目名称*/
     @Excel(name = "项目名称", width = 15)
     @ApiModelProperty(value = "项目名称")
-    private java.lang.String xiangmuName;
+    private String xiangmuName;
     /**物料编码*/
     @Excel(name = "物料编码", width = 15)
     @ApiModelProperty(value = "物料编码")
-    private java.lang.String wlbm;
+    private String wlbm;
     /**规格型号*/
     @Excel(name = "规格型号", width = 15)
     @ApiModelProperty(value = "规格型号")
-    private java.lang.String ggxh;
+    private String ggxh;
     /**质量等级*/
     @Excel(name = "质量等级", width = 15)
     @ApiModelProperty(value = "质量等级")
-    private java.lang.String zlLevel;
+    private String zlLevel;
     /**批次*/
     @Excel(name = "批次", width = 15)
     @ApiModelProperty(value = "批次")
-    private java.lang.String pici;
+    private String pici;
     /**合同签署日期*/
     @Excel(name = "合同签署日期", width = 15, format = "yyyy-MM-dd")
     @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
     @DateTimeFormat(pattern="yyyy-MM-dd")
     @ApiModelProperty(value = "合同签署日期")
-    private java.util.Date htDate;
+    private java.lang.String htDate;
     /**数量*/
 //    @Excel(name = "数量", width = 15)
     @ApiModelProperty(value = "数量")
-    private java.lang.String number;
+    private String number;
     /**单价*/
     @Excel(name = "单价", width = 15)
     @ApiModelProperty(value = "单价")
-    private java.lang.String danjia;
+    private java.math.BigDecimal danjia;
 
 }

+ 0 - 9
module_kzks/src/main/java/org/jeecg/modules/costModelList/service/ICostModelListService.java

@@ -1,18 +1,9 @@
 package org.jeecg.modules.costModelList.service;
 
-import org.apache.ibatis.annotations.Param;
-import org.apache.ibatis.annotations.Select;
-import org.jeecg.modules.costModelClPrice.entity.CostModelClPrice;
 import org.jeecg.modules.costModelList.entity.CostModelList;
 import com.baomidou.mybatisplus.extension.service.IService;
-import org.jeecg.modules.costModelWxPrice.mapper.CostModelWxPriceMapper;
-import org.jeecg.modules.costModelXmxqCl.entity.CostModelXmxqCl;
-import org.jeecg.modules.costModelXmxqWx.entity.CostModelXmxqWx;
-import org.jeecg.modules.costModelXmxqWx.mapper.CostModelXmxqWxMapper;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.servlet.ModelAndView;
 
-import javax.servlet.http.HttpServletRequest;
 import java.util.List;
 
 /**

+ 6 - 17
module_kzks/src/main/java/org/jeecg/modules/costModelList/service/impl/CostModelListServiceImpl.java

@@ -1,36 +1,25 @@
 package org.jeecg.modules.costModelList.service.impl;
 
-import org.apache.ibatis.annotations.Param;
-import org.apache.ibatis.annotations.Select;
-import org.apache.poi.ss.usermodel.CellStyle;
-import org.apache.poi.ss.usermodel.Sheet;
 import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.system.vo.LoginUser;
-import org.jeecg.modules.costModelClPrice.entity.CostModelClPrice;
-import org.jeecg.modules.costModelClPrice.mapper.CostModelClPriceMapper;
-import org.jeecg.modules.costModelClPrice.service.ICostModelClPriceService;
-import org.jeecg.modules.costModelClPrice.service.impl.CostModelClPriceServiceImpl;
-import org.jeecg.modules.costModelClPrice.vo.CostModelClPriceExportVO;
 import org.jeecg.modules.costModelList.entity.CostModelList;
 import org.jeecg.modules.costModelList.mapper.CostModelListMapper;
 import org.jeecg.modules.costModelList.service.ICostModelListService;
 import org.jeecg.modules.costModelXmxqCl.entity.CostModelXmxqCl;
-import org.jeecg.modules.costModelXmxqCl.mapper.CostModelXmxqClMapper;
 import org.jeecg.modules.costModelXmxqCl.service.ICostModelXmxqClService;
-import org.jeecg.modules.costModelXmxqWx.entity.CostModelXmxqWx;
-import org.jeecg.modules.costModelXmxqWx.mapper.CostModelXmxqWxMapper;
 import org.jeecg.modules.costModelXmxqWx.service.ICostModelXmxqWxService;
+import org.jeecg.modules.costModelClPrice.entity.KzksCostModelClPrice;
+import org.jeecg.modules.costModelClPrice.service.IKzksCostModelClPriceService;
+import org.jeecg.modules.costModelClPrice.vo.CostModelClPriceExportVO;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.entity.ExportParams;
 import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Repository;
 import org.springframework.stereotype.Service;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.web.servlet.ModelAndView;
 
-import javax.servlet.http.HttpServletRequest;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -50,7 +39,7 @@ public class CostModelListServiceImpl extends ServiceImpl<CostModelListMapper, C
 
     @Autowired
     @SuppressWarnings("all")
-    private ICostModelClPriceService costModelClPriceService;
+    private IKzksCostModelClPriceService costModelClPriceService;
 
     @Autowired
     @SuppressWarnings("all")
@@ -190,9 +179,9 @@ public class CostModelListServiceImpl extends ServiceImpl<CostModelListMapper, C
         List<CostModelClPriceExportVO> listClPToExcel = new ArrayList<>();
         for(CostModelXmxqCl xmxqCl:listClf){
             //根据物料编码、规格型号、质量等级、批次查找单价以及采购时间
-            List<CostModelClPrice> listClp = costModelClPriceService.getCLPDetailList(xmxqCl);
+            List<KzksCostModelClPrice> listClp = costModelClPriceService.getCLPDetailList(xmxqCl);
 
-            for(CostModelClPrice clp:listClp){
+            for(KzksCostModelClPrice clp:listClp){
                 CostModelClPriceExportVO clPriceExportVO = new CostModelClPriceExportVO();
                 clPriceExportVO.setXiangmuName(xmxqCl.getXiangmuName());
                 clPriceExportVO.setWlbm(clp.getWlbm());

+ 2 - 2
module_kzks/src/main/java/org/jeecg/modules/costModelXmxqCl/controller/CostModelXmxqClController.java

@@ -10,9 +10,9 @@ import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.base.controller.JeecgController;
 import org.jeecg.common.system.query.QueryGenerator;
-import org.jeecg.modules.costModelClPrice.service.ICostModelClPriceService;
 import org.jeecg.modules.costModelXmxqCl.entity.CostModelXmxqCl;
 import org.jeecg.modules.costModelXmxqCl.service.ICostModelXmxqClService;
+import org.jeecg.modules.costModelClPrice.service.IKzksCostModelClPriceService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.servlet.ModelAndView;
@@ -36,7 +36,7 @@ public class CostModelXmxqClController extends JeecgController<CostModelXmxqCl,
 	private ICostModelXmxqClService costModelXmxqClService;
 
 	@Autowired
-	private ICostModelClPriceService costModelClPriceService;
+	private IKzksCostModelClPriceService costModelClPriceService;
 
 	@ApiOperation("测试查询")
 	@GetMapping(value = "/ceshi1")

+ 2 - 3
module_kzks/src/main/java/org/jeecg/modules/costModelXmxqCl/service/impl/CostModelXmxqClServiceImpl.java

@@ -3,15 +3,14 @@ package org.jeecg.modules.costModelXmxqCl.service.impl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.extern.slf4j.Slf4j;
 import org.jeecg.common.api.vo.Result;
-import org.jeecg.modules.costModelClPrice.service.ICostModelClPriceService;
 import org.jeecg.modules.costModelList.entity.CostModelList;
-import org.jeecg.modules.costModelList.mapper.CostModelListMapper;
 import org.jeecg.modules.costModelList.vo.CostModelImportVO;
 import org.jeecg.modules.costModelMsg.entity.CostModelMsg;
 import org.jeecg.modules.costModelMsg.service.ICostModelMsgService;
 import org.jeecg.modules.costModelXmxqCl.entity.CostModelXmxqCl;
 import org.jeecg.modules.costModelXmxqCl.mapper.CostModelXmxqClMapper;
 import org.jeecg.modules.costModelXmxqCl.service.ICostModelXmxqClService;
+import org.jeecg.modules.costModelClPrice.service.IKzksCostModelClPriceService;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.entity.ImportParams;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -41,7 +40,7 @@ public class CostModelXmxqClServiceImpl extends ServiceImpl<CostModelXmxqClMappe
 
     @Autowired
     @SuppressWarnings("all")
-    private ICostModelClPriceService costModelClPriceService;
+    private IKzksCostModelClPriceService costModelClPriceService;
 
     @Autowired
     @SuppressWarnings("all")

+ 0 - 1
module_kzks/src/main/java/org/jeecg/modules/costModelXmxqWx/service/impl/CostModelXmxqWxServiceImpl.java

@@ -3,7 +3,6 @@ package org.jeecg.modules.costModelXmxqWx.service.impl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.extern.slf4j.Slf4j;
 import org.jeecg.common.api.vo.Result;
-import org.jeecg.modules.costModelClPrice.mapper.CostModelClPriceMapper;
 import org.jeecg.modules.costModelList.entity.CostModelList;
 import org.jeecg.modules.costModelList.vo.CostModelImportVO;
 import org.jeecg.modules.costModelMsg.entity.CostModelMsg;

+ 1 - 1
module_kzks/src/main/java/org/jeecg/modules/logSummaryHandleLog/service/impl/KzksSummaryHandleLogServiceImpl.java

@@ -34,7 +34,7 @@ import java.util.function.Function;
  */
 @Service
 @UseMasterDataSource
-public class KzksSummaryHandleLogServiceImpl extends ServiceImpl<KzksSummaryHandleLogMapper, SummaryHandleLog> implements IKzksSummaryHandleLogService {
+public class    KzksSummaryHandleLogServiceImpl extends ServiceImpl<KzksSummaryHandleLogMapper, SummaryHandleLog> implements IKzksSummaryHandleLogService {
     public KzksSummaryHandleLogServiceImpl() {
         super();
     }

+ 50 - 73
module_kzks/src/main/java/org/jeecg/modules/projectCostHuiji/controller/ProjectCostHuijiController.java

@@ -136,9 +136,6 @@ public class ProjectCostHuijiController extends JeecgController<ProjectCostHuiji
         String role = commonMethod.getRole(sysUser.getUsername());
         //if (AuthMark.BOSS.equals(role)) role = AuthMark.DEPT_LEADER;
         ProjectCostHuijiSumVO sumVO = new ProjectCostHuijiSumVO();
-
-        ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(8, 8, 30, TimeUnit.SECONDS, new ArrayBlockingQueue<>(100));
-
         ProjectCostHuiji huiji1 = new ProjectCostHuiji();
 
         QueryWrapper<ProjectCostHuiji> queryWrapper = QueryGenerator.initQueryWrapper(huiji1, req.getParameterMap());
@@ -155,8 +152,8 @@ public class ProjectCostHuijiController extends JeecgController<ProjectCostHuiji
         if (AuthMark.STAFF.equals(role)) {
             LoginUser finalSysUser = sysUser;
             queryWrapper.lambda().and(i -> {
-                i.eq(ProjectCostHuiji::getBusinessManName, finalSysUser.getRealname()).or()
-                        .eq(ProjectCostHuiji::getYwfzrname, finalSysUser.getRealname());
+                i.eq(StringUtils.isNotBlank(finalSysUser.getRealname()),ProjectCostHuiji::getBusinessManName, finalSysUser.getRealname()).or()
+                        .eq(StringUtils.isNotBlank(finalSysUser.getRealname()),ProjectCostHuiji::getYwfzrname, finalSysUser.getRealname());
             });
             isStaff = true;
         } else {
@@ -168,6 +165,7 @@ public class ProjectCostHuijiController extends JeecgController<ProjectCostHuiji
             tips = true;
             String[] deptIds = sysUser.getDepartIds().split(",");
             departNames = sysDepartMapper.getDepNameByIds(deptIds);
+            if (departNames.isEmpty()) return Result.ok();
             List<String> finalDepartNames = departNames;
             if (!hasTaskno) {
                 queryWrapper.lambda().and(i -> {
@@ -208,24 +206,23 @@ public class ProjectCostHuijiController extends JeecgController<ProjectCostHuiji
             taskNos = new ArrayList<>();
         }
 
-        boolean finalFlag = flag;
         ProjectCostHuiji finalProjectCostHuiji = projectCostHuiji;
         LoginUser finalSysUser = sysUser;
         CompletableFuture<ProjectCostHuiji> huijiFuture = CompletableFuture.supplyAsync(() -> {
-            if (tips && !finalFlag) {
+            if (tips && !flag) {
                 ProjectCostHuiji huiji = new ProjectCostHuiji();
                 huiji.setDeptNames(finalProjectCostHuiji.getDeptNames());
                 return projectCostHuijiService.costHJSum(huiji);
             }
-            if (!finalFlag && isStaff){
+            if (!flag && isStaff){
                 return  projectCostHuijiService.costHJSumIsStaff(finalProjectCostHuiji,finalSysUser.getRealname());
             }
-            if (!finalFlag)
+            if (!flag)
                 return projectCostHuijiService.costHJSum(finalProjectCostHuiji);//汇集总和
             if (taskNos.isEmpty())
                 return initProjectCostHuiji();
             return projectCostHuijiService.costHJSumByTaskNoList(taskNos);
-        },threadPoolExecutor);
+        });
 
         //当前任务号集合是查询的汇集表,一定是主任务的任务号集合,所以根据主任务号,查询子级任务号
         if (!taskNos.isEmpty()) {
@@ -234,17 +231,17 @@ public class ProjectCostHuijiController extends JeecgController<ProjectCostHuiji
         }
 
         CompletableFuture<KzksProjectCostYs> ysFuture = CompletableFuture.supplyAsync(() -> {
-            if (!finalFlag)
+            if (!flag)
                 return costYsService.selectSumClys();
             if (taskNos.isEmpty())
                 return new KzksProjectCostYs();
             return costYsService.selectSumClysByTaskNos(taskNos);
-        },threadPoolExecutor);
+        });
 
         Page<ProjectCostHuiji> page = new Page<>(pageNo, pageSize);
         CompletableFuture<Page<ProjectCostHuiji>> pageFuture = CompletableFuture.supplyAsync(() -> {
             return projectCostHuijiService.costHuijPage(page, queryWrapper);
-        },threadPoolExecutor);
+        });
 
         CompletableFuture<Void> future1 = CompletableFuture.allOf(huijiFuture, pageFuture, ysFuture);
         future1.join();
@@ -256,68 +253,50 @@ public class ProjectCostHuijiController extends JeecgController<ProjectCostHuiji
         if (ObjectUtils.isEmpty(ys.getWxys())) ys.setWxys(BigDecimal.valueOf(0));
         if (pageList != null && !pageList.getRecords().isEmpty()) {//costYsService
 
-            List<CompletableFuture<ProjectCostHuijiListVO>> collect = pageList.getRecords().stream().map(i -> {
-                return CompletableFuture.supplyAsync(() -> {
-                    List<ProjectCostVO> children1 = costService.costListByTaskNoMain(i.getTaskno()); //主任务及批产的主任务
-                    List<ProjectCostVO> children2 = costService.costListByTaskNoSub(i.getTaskno()); //子任务及批产的子任务
-                    List<ProjectCostVO> children = new ArrayList<>();
+            List<ProjectCostHuijiListVO> collect = pageList.getRecords().stream().map(i -> {
+                List<ProjectCostVO> children1 = costService.costListByTaskNoMain(i.getTaskno()); //主任务及批产的主任务
+                List<ProjectCostVO> children2 = costService.costListByTaskNoSub(i.getTaskno()); //子任务及批产的子任务
+                List<ProjectCostVO> children = new ArrayList<>();
 
-                    CompletableFuture<List<ProjectCostVO>> children3Future = CompletableFuture.supplyAsync(() -> {
-                        return children1.stream().map(this::apply).collect(Collectors.toList());
-                    });
+                CompletableFuture<List<ProjectCostVO>> children3Future = CompletableFuture.supplyAsync(() -> {
+                    return children1.stream().map(this::apply).collect(Collectors.toList());
+                });
 
-                    CompletableFuture<List<ProjectCostVO>> children4Future = CompletableFuture.supplyAsync(() -> {
-                        return children2.stream().map(this::apply).collect(Collectors.toList());
-                    });
+                CompletableFuture<List<ProjectCostVO>> children4Future = CompletableFuture.supplyAsync(() -> {
+                    return children2.stream().map(this::apply).collect(Collectors.toList());
+                });
 
-                    CompletableFuture<Void> future = CompletableFuture.allOf(children3Future, children4Future);
-                    future.join();
+                CompletableFuture<Void> future = CompletableFuture.allOf(children3Future, children4Future);
+                future.join();
 
-                    List<ProjectCostVO> children3 = children3Future.join();
-                    List<ProjectCostVO> children4 = children4Future.join();
-                    children.addAll(children3);
-                    children.addAll(children4);
-                    BigDecimal wxysSum = BigDecimal.valueOf(0);
-                    BigDecimal clysSum = BigDecimal.valueOf(0);
+                List<ProjectCostVO> children3 = children3Future.join();
+                List<ProjectCostVO> children4 = children4Future.join();
+                children.addAll(children3);
+                children.addAll(children4);
+                BigDecimal wxysSum = BigDecimal.valueOf(0);
+                BigDecimal clysSum = BigDecimal.valueOf(0);
 
-                    CompletableFuture<BigDecimal> wxysFuture = CompletableFuture.supplyAsync(() -> {
-                        return children.stream().filter(o -> {
-                            return ObjectUtils.isEmpty(o.getStatus()) || (!"1".equals(o.getStatus()));
-                        }).map(ProjectCostVO::getWxys).filter(ObjectUtils::isNotEmpty).reduce(BigDecimal.ZERO, BigDecimal::add);
-                    });
+                CompletableFuture<BigDecimal> wxysFuture = CompletableFuture.supplyAsync(() -> {
+                    return children.stream().filter(o -> {
+                        return ObjectUtils.isEmpty(o.getStatus()) || (!"1".equals(o.getStatus()));
+                    }).map(ProjectCostVO::getWxys).filter(ObjectUtils::isNotEmpty).reduce(BigDecimal.ZERO, BigDecimal::add);
+                });
 
-                    CompletableFuture<BigDecimal> clysFuture = CompletableFuture.supplyAsync(() -> {
-                        return children.stream().filter(o -> {
-                            return ObjectUtils.isEmpty(o.getStatus()) || (!"1".equals(o.getStatus()));
-                        }).map(ProjectCostVO::getClys).filter(ObjectUtils::isNotEmpty).reduce(BigDecimal.ZERO, BigDecimal::add);
-                    });
+                CompletableFuture<BigDecimal> clysFuture = CompletableFuture.supplyAsync(() -> {
+                    return children.stream().filter(o -> {
+                        return ObjectUtils.isEmpty(o.getStatus()) || (!"1".equals(o.getStatus()));
+                    }).map(ProjectCostVO::getClys).filter(ObjectUtils::isNotEmpty).reduce(BigDecimal.ZERO, BigDecimal::add);
+                });
 
-                    CompletableFuture<Void> future2 = CompletableFuture.allOf(wxysFuture, clysFuture);
-                    future2.join();
-                    wxysSum = wxysFuture.join();
-                    clysSum = clysFuture.join();
+                CompletableFuture<Void> future2 = CompletableFuture.allOf(wxysFuture, clysFuture);
+                future2.join();
+                wxysSum = wxysFuture.join();
+                clysSum = clysFuture.join();
 
-                    return projectCostHuijiConverCustom.toHuijiListVOAndYs(i, children, 1, wxysSum, clysSum);
-                },threadPoolExecutor);
+                return projectCostHuijiConverCustom.toHuijiListVOAndYs(i, children, 1, wxysSum, clysSum);
             }).collect(Collectors.toList());
-            CompletableFuture<?>[] futures = collect.toArray(new CompletableFuture[0]);
-            CompletableFuture<Void> allFutures = CompletableFuture.allOf(futures);
-            try {
-                allFutures.get(); // 等待所有任务完成
-            } catch (InterruptedException | ExecutionException e) {
-                e.printStackTrace();
-            }
 
-            List<ProjectCostHuijiListVO> list = new ArrayList<>();
-            for (CompletableFuture<ProjectCostHuijiListVO> future : collect) {
-                try {
-                    list.add(future.get()); // 获取每个任务的结果
-                } catch (InterruptedException | ExecutionException e) {
-                    e.printStackTrace();
-                }
-            }
-
-            IPage<ProjectCostHuijiListVO> pageList1 = ProjectCostHuijiConvert.INSTANCE.toHuijiListVOPage(pageList, list);
+            IPage<ProjectCostHuijiListVO> pageList1 = ProjectCostHuijiConvert.INSTANCE.toHuijiListVOPage(pageList, collect);
 
             ProjectCostHuijiVo resultHuiJiVo = new ProjectCostHuijiVo();
             if (ObjectUtils.isEmpty(huiji)) huiji = new ProjectCostHuiji();
@@ -330,7 +309,6 @@ public class ProjectCostHuijiController extends JeecgController<ProjectCostHuiji
             sumVO.setPageList(pageList1);
 
             redisUtil.set(CacheKey.PROJECT_COST_HUIJI + ":" + role + ":" + departNames + ":" + sysUser.getRealname() + ":" + ObjectMd5 + ":" + superQueryParamsMd5 + ":" + pageNo + "&" + pageSize, sumVO, 1000L * 60 * 60 * 10);
-            threadPoolExecutor.shutdown();
             return Result.OK(sumVO);
         } else {
             ProjectCost projectCost = new ProjectCost();
@@ -375,13 +353,13 @@ public class ProjectCostHuijiController extends JeecgController<ProjectCostHuiji
             CompletableFuture<Page<ProjectCost>> pageCompletableFuture = CompletableFuture.supplyAsync(() -> {
                 Page<ProjectCost> page1 = new Page<ProjectCost>(pageNo, pageSize);
                 return costService.getCostListPage(page1, query);
-            },threadPoolExecutor);
+            });
 
             //根据条件查询所有满足条件的任务号
             CompletableFuture<List<String>> listCompletableFuture = CompletableFuture.supplyAsync(() -> {
                 List<ProjectCost> costs = costService.projectCostlist(clone);
                 return costs.stream().map(ProjectCost::getTaskno).collect(Collectors.toList());
-            },threadPoolExecutor);
+            });
 
             CompletableFuture<Void> future = CompletableFuture.allOf(pageCompletableFuture, listCompletableFuture);
             future.join();
@@ -398,17 +376,17 @@ public class ProjectCostHuijiController extends JeecgController<ProjectCostHuiji
                 }
                 if (projectCostHuiji1 == null) projectCostHuiji1 = initProjectCostHuiji();
                 return projectCostHuiji1;
-            },threadPoolExecutor);
+            });
 
             CompletableFuture<KzksProjectCostYs> kzksProjectCostYsCompletableFuture = CompletableFuture.supplyAsync(() -> {
                 if (taskList.isEmpty()) return new KzksProjectCostYs();
                 return costYsService.selectSumClysByTaskNos(taskList);
-            },threadPoolExecutor);
+            });
 
             CompletableFuture<Integer> yzslCompletableFuture = CompletableFuture.supplyAsync(() -> {
                 if (taskList.isEmpty()) return 0;
                 return costService.getYzslSumByTaskNos(taskList);
-            },threadPoolExecutor);
+            });
 
 
             CompletableFuture<ArrayList<ProjectCostVO>> arrayListCompletableFuture = CompletableFuture.supplyAsync(() -> {
@@ -431,7 +409,7 @@ public class ProjectCostHuijiController extends JeecgController<ProjectCostHuiji
                     projectCostVOS.add(projectCostVO);
                 }
                 return projectCostVOS;
-            },threadPoolExecutor);
+            });
 
             CompletableFuture<Void> future2 = CompletableFuture.allOf(projectCostHuijiCompletableFuture, kzksProjectCostYsCompletableFuture, arrayListCompletableFuture, yzslCompletableFuture);
             future2.join();
@@ -474,7 +452,6 @@ public class ProjectCostHuijiController extends JeecgController<ProjectCostHuiji
             projectCostSumVo.setPageList(projectCostListVOPage);
 
             redisUtil.set(CacheKey.PROJECT_COST + ":" + role + ":" + departNames + ":" + sysUser.getRealname() + ":" + ObjectMd5 + ":" + superQueryParamsMd5 + ":" + pageNo + "&" + pageSize, projectCostSumVo, 1000L * 60 * 60 * 10);
-            threadPoolExecutor.shutdown();
             return Result.OK(projectCostSumVo);
         }
     }

+ 309 - 289
module_kzks/src/main/java/org/jeecg/modules/projectPushList/service/impl/ProjectPushListServiceImpl.java

@@ -3,6 +3,7 @@ package org.jeecg.modules.projectPushList.service.impl;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.jeecg.common.api.vo.Result;
+import org.jeecg.modules.dataSourceSwitch.annotation.UseMasterDataSource;
 import org.jeecg.modules.kyTaskInfo.entity.KyTaskInfo;
 import org.jeecg.modules.kyTaskInfo.service.IKyTaskInfoService;
 import org.jeecg.modules.projectCost.entity.ProjectCost;
@@ -21,6 +22,7 @@ import org.jeecg.modules.system.service.ISysDepartService;
 import org.jeecg.modules.system.service.ISysUserService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
 import java.util.*;
@@ -38,6 +40,7 @@ import static com.fasterxml.jackson.databind.type.LogicalType.Collection;
  * @Version: V1.0
  */
 @Service
+@UseMasterDataSource
 public class ProjectPushListServiceImpl extends ServiceImpl<ProjectPushListMapper, ProjectPushList> implements IProjectPushListService {
 
     @Autowired
@@ -61,317 +64,334 @@ public class ProjectPushListServiceImpl extends ServiceImpl<ProjectPushListMappe
     /**项目成本——查找并更新推送*/
     public Result<String> addAll() throws ExecutionException, InterruptedException {
         try {
-            this.truncateTable();//清空原来的数据
-            QueryWrapper<ProjectPushSet> queryWrapper = new QueryWrapper<>();
-            List<ProjectPushSet> list2 = projectPushSetService.list(queryWrapper);
-
-
-            CompletableFuture<List<ProjectPushList>> t1 = CompletableFuture.supplyAsync(() -> {
-                // 0材料费
-                QueryWrapper<ProjectPushSet> queryWrapper1 = new QueryWrapper<>();
-                queryWrapper1.eq("cost_type", "0");// 0材料费
-                List<ProjectPushSet> list = projectPushSetService.list(queryWrapper1);
-                List<ProjectPushList> pushList = new ArrayList<>();//所有的推送列表
-                if (list != null && !list.isEmpty()) {
-                    QueryWrapper<ProjectCost> projectCostQueryWrapper;
-                    for (ProjectPushSet set : list) {
-                        String stage = set.getStage();
-                        projectCostQueryWrapper = new QueryWrapper<>();
-                        projectCostQueryWrapper.eq("clf", new BigDecimal(0));
-                        projectCostQueryWrapper.ge("processPercent", stage);//
-                        List<ProjectCost> projectCostList1 = costService.projectCostlist(projectCostQueryWrapper);
-
-                        List<String> roleIds = Arrays.asList(set.getPushTo().split(","));
-                        List<UserNameIDVO> userNameIdList = this.userNamesByRoleIds(roleIds);
-
-                        for (ProjectCost cost : projectCostList1) {
-                            for (UserNameIDVO vo : userNameIdList) {
-                                //根据用户id查其所属部门的部门编码
-                                List<String> sysOrgCodeList = this.selectDeptCodeByUserId(vo.getUserId());
-                                String sysOrgCodes = sysOrgCodeList.stream().collect(Collectors.joining(","));
-
-                                //判断是否为组批任务、是组批前还是组批后的任务
-                                String remark = null;
-                                if (cost.getPccode() != null && Objects.equals(cost.getStatus(), "1"))
-                                    remark = "(组批之后)";//组批之后
-                                else if (cost.getPccode() != null && Objects.equals(cost.getStatus(), "0"))
-                                    remark = "(组批之前)";//组批之前
-                                if (remark == null) remark = "";
-                                //组推送对象
-                                ProjectPushList push = ProjectPushListConvert.INSTANCE.toProjectPushList(
-                                        cost.getTaskno(), cost.getTaskname(), set.getId(), vo.getUsername(), set.getContent() + remark, sysOrgCodes, 0, "0");
-                                pushList.add(push);
+            new Thread(() -> {
+                this.truncateTable();//清空原来的数据
+                QueryWrapper<ProjectPushSet> queryWrapper = new QueryWrapper<>();
+                List<ProjectPushSet> list2 = projectPushSetService.list(queryWrapper);
+                CompletableFuture<Void> t1 = CompletableFuture.runAsync(() -> {
+                    // 0材料费
+                    QueryWrapper<ProjectPushSet> queryWrapper1 = new QueryWrapper<>();
+                    queryWrapper1.eq("cost_type", "0");// 0材料费
+                    List<ProjectPushSet> list = projectPushSetService.list(queryWrapper1);
+                    List<ProjectPushList> pushList = new ArrayList<>();//所有的推送列表
+                    if (list != null && !list.isEmpty()) {
+                        QueryWrapper<ProjectCost> projectCostQueryWrapper;
+                        for (ProjectPushSet set : list) {
+                            String stage = set.getStage();
+                            projectCostQueryWrapper = new QueryWrapper<>();
+                            projectCostQueryWrapper.eq("clf", BigDecimal.ZERO);
+                            projectCostQueryWrapper.ge("processPercent", stage);//
+                            List<ProjectCost> projectCostList1 = costService.projectCostlist(projectCostQueryWrapper);
+
+                            List<String> roleIds = Arrays.asList(set.getPushTo().split(","));
+                            List<UserNameIDVO> userNameIdList = this.userNamesByRoleIds(roleIds);
+
+                            for (ProjectCost cost : projectCostList1) {
+                                for (UserNameIDVO vo : userNameIdList) {
+                                    //根据用户id查其所属部门的部门编码
+                                    List<String> sysOrgCodeList = this.selectDeptCodeByUserId(vo.getUserId());
+                                    String sysOrgCodes = sysOrgCodeList.stream().collect(Collectors.joining(","));
+
+                                    //判断是否为组批任务、是组批前还是组批后的任务
+                                    String remark = null;
+                                    if (cost.getPccode() != null && Objects.equals(cost.getStatus(), "1"))
+                                        remark = "(组批之后)";//组批之后
+                                    else if (cost.getPccode() != null && Objects.equals(cost.getStatus(), "0"))
+                                        remark = "(组批之前)";//组批之前
+                                    if (remark == null) remark = "";
+                                    //组推送对象
+                                    ProjectPushList push = ProjectPushListConvert.INSTANCE.toProjectPushList(
+                                            cost.getTaskno(), cost.getTaskname(), set.getId(), vo.getUsername(), set.getContent() + remark, sysOrgCodes, 0, "0");
+                                    pushList.add(push);
+
+                                    if (pushList.size() >= 10000) {
+                                        this.saveBatch(pushList);
+                                        pushList.clear();
+                                    }
+                                }
                             }
                         }
                     }
-                }
-                return pushList;
-            });
-
-
-            CompletableFuture<List<ProjectPushList>> t2 = CompletableFuture.supplyAsync(() -> {
-                // 1外协费
-                QueryWrapper<ProjectPushSet> queryWrapper1 = new QueryWrapper<>();
-                queryWrapper1.eq("cost_type", "1");// 1外协费
-                List<ProjectPushSet> list = projectPushSetService.list(queryWrapper1);
-                List<ProjectPushList> pushList = new ArrayList<>();//所有的推送列表
-                if (list != null && !list.isEmpty()) {
-                    QueryWrapper<ProjectCost> projectCostQueryWrapper;
-                    for (ProjectPushSet set : list) {
-                        String stage = set.getStage();
-                        projectCostQueryWrapper = new QueryWrapper<>();
-                        projectCostQueryWrapper.eq("wxf", new BigDecimal(0));
-                        projectCostQueryWrapper.ge("processPercent", stage);
-                        List<ProjectCost> projectCostList1 = costService.projectCostlist(projectCostQueryWrapper);
-
-                        List<String> roleIds = Arrays.asList(set.getPushTo().split(","));
-                        List<UserNameIDVO> userNameIdList = this.userNamesByRoleIds(roleIds);
-
-                        for (ProjectCost cost : projectCostList1) {
-                            for (UserNameIDVO vo : userNameIdList) {
-                                //根据用户id查其所属部门的部门编码
-                                List<String> sysOrgCodeList = this.selectDeptCodeByUserId(vo.getUserId());
-                                String sysOrgCodes = sysOrgCodeList.stream().collect(Collectors.joining(","));
-
-                                //判断是否为组批任务、是组批前还是组批后的任务
-                                String remark = null;
-                                if (cost.getPccode() != null && Objects.equals(cost.getStatus(), "1"))
-                                    remark = "(组批之后)";//组批之后
-                                else if (cost.getPccode() != null && Objects.equals(cost.getStatus(), "0"))
-                                    remark = "(组批之前)";//组批之前
-                                if (remark == null) remark = "";
-                                //组推送对象
-                                ProjectPushList push = ProjectPushListConvert.INSTANCE.toProjectPushList(
-                                        cost.getTaskno(), cost.getTaskname(), set.getId(), vo.getUsername(), set.getContent() + remark, sysOrgCodes, 0, "1");
-                                pushList.add(push);
+                });
+
+
+                CompletableFuture<Void> t2 = CompletableFuture.runAsync(() -> {
+                    // 1外协费
+                    QueryWrapper<ProjectPushSet> queryWrapper1 = new QueryWrapper<>();
+                    queryWrapper1.eq("cost_type", "1");// 1外协费
+                    List<ProjectPushSet> list = projectPushSetService.list(queryWrapper1);
+                    List<ProjectPushList> pushList = new ArrayList<>();//所有的推送列表
+                    if (list != null && !list.isEmpty()) {
+                        QueryWrapper<ProjectCost> projectCostQueryWrapper;
+                        for (ProjectPushSet set : list) {
+                            String stage = set.getStage();
+                            projectCostQueryWrapper = new QueryWrapper<>();
+                            projectCostQueryWrapper.eq("wxf", BigDecimal.ZERO);
+                            projectCostQueryWrapper.ge("processPercent", stage);
+                            List<ProjectCost> projectCostList1 = costService.projectCostlist(projectCostQueryWrapper);
+
+                            List<String> roleIds = Arrays.asList(set.getPushTo().split(","));
+                            List<UserNameIDVO> userNameIdList = this.userNamesByRoleIds(roleIds);
+
+                            for (ProjectCost cost : projectCostList1) {
+                                for (UserNameIDVO vo : userNameIdList) {
+                                    //根据用户id查其所属部门的部门编码
+                                    List<String> sysOrgCodeList = this.selectDeptCodeByUserId(vo.getUserId());
+                                    String sysOrgCodes = sysOrgCodeList.stream().collect(Collectors.joining(","));
+
+                                    //判断是否为组批任务、是组批前还是组批后的任务
+                                    String remark = null;
+                                    if (cost.getPccode() != null && Objects.equals(cost.getStatus(), "1"))
+                                        remark = "(组批之后)";//组批之后
+                                    else if (cost.getPccode() != null && Objects.equals(cost.getStatus(), "0"))
+                                        remark = "(组批之前)";//组批之前
+                                    if (remark == null) remark = "";
+                                    //组推送对象
+                                    ProjectPushList push = ProjectPushListConvert.INSTANCE.toProjectPushList(
+                                            cost.getTaskno(), cost.getTaskname(), set.getId(), vo.getUsername(), set.getContent() + remark, sysOrgCodes, 0, "1");
+                                    pushList.add(push);
+
+                                    if (pushList.size() >= 10000) {
+                                        this.saveBatch(pushList);
+                                        pushList.clear();
+                                    }
+                                }
                             }
                         }
                     }
-                }
-                return pushList;
-            });
-
-
-            CompletableFuture<List<ProjectPushList>> t3 = CompletableFuture.supplyAsync(() -> {
-                // 2人工费(工资及劳务费)
-                QueryWrapper<ProjectPushSet> queryWrapper1 = new QueryWrapper<>();
-                queryWrapper1.eq("cost_type", "2");// 2人工费
-                List<ProjectPushSet> list = projectPushSetService.list(queryWrapper1);
-                List<ProjectPushList> pushList = new ArrayList<>();//所有的推送列表
-                if (list != null && !list.isEmpty()) {
-                    QueryWrapper<ProjectCost> projectCostQueryWrapper;
-                    for (ProjectPushSet set : list) {
-                        String stage = set.getStage();
-                        projectCostQueryWrapper = new QueryWrapper<>();
-                        projectCostQueryWrapper.eq("gzjlwf", new BigDecimal(0));
-                        projectCostQueryWrapper.ge("processPercent", stage);
-                        List<ProjectCost> projectCostList1 = costService.projectCostlist(projectCostQueryWrapper);
-
-                        List<String> roleIds = Arrays.asList(set.getPushTo().split(","));
-                        List<UserNameIDVO> userNameIdList = this.userNamesByRoleIds(roleIds);
-
-                        for (ProjectCost cost : projectCostList1) {
-                            for (UserNameIDVO vo : userNameIdList) {
-                                //根据用户id查其所属部门的部门编码
-                                List<String> sysOrgCodeList = this.selectDeptCodeByUserId(vo.getUserId());
-                                String sysOrgCodes = sysOrgCodeList.stream().collect(Collectors.joining(","));
-
-                                //判断是否为组批任务、是组批前还是组批后的任务
-                                String remark = null;
-                                if (cost.getPccode() != null && Objects.equals(cost.getStatus(), "1"))
-                                    remark = "(组批之后)";//组批之后
-                                else if (cost.getPccode() != null && Objects.equals(cost.getStatus(), "0"))
-                                    remark = "(组批之前)";//组批之前
-                                if (remark == null) remark = "";
-                                //组推送对象
-                                ProjectPushList push = ProjectPushListConvert.INSTANCE.toProjectPushList(
-                                        cost.getTaskno(), cost.getTaskname(), set.getId(), vo.getUsername(), set.getContent() + remark, sysOrgCodes, 0, "2");
-                                pushList.add(push);
+                });
+
+
+                CompletableFuture<Void> t3 = CompletableFuture.runAsync(() -> {
+                    // 2人工费(工资及劳务费)
+                    QueryWrapper<ProjectPushSet> queryWrapper1 = new QueryWrapper<>();
+                    queryWrapper1.eq("cost_type", "2");// 2人工费
+                    List<ProjectPushSet> list = projectPushSetService.list(queryWrapper1);
+                    List<ProjectPushList> pushList = new ArrayList<>();//所有的推送列表
+                    if (list != null && !list.isEmpty()) {
+                        QueryWrapper<ProjectCost> projectCostQueryWrapper;
+                        for (ProjectPushSet set : list) {
+                            String stage = set.getStage();
+                            projectCostQueryWrapper = new QueryWrapper<>();
+                            projectCostQueryWrapper.eq("gzjlwf", BigDecimal.ZERO);
+                            projectCostQueryWrapper.ge("processPercent", stage);
+                            List<ProjectCost> projectCostList1 = costService.projectCostlist(projectCostQueryWrapper);
+
+                            List<String> roleIds = Arrays.asList(set.getPushTo().split(","));
+                            List<UserNameIDVO> userNameIdList = this.userNamesByRoleIds(roleIds);
+
+                            for (ProjectCost cost : projectCostList1) {
+                                for (UserNameIDVO vo : userNameIdList) {
+                                    //根据用户id查其所属部门的部门编码
+                                    List<String> sysOrgCodeList = this.selectDeptCodeByUserId(vo.getUserId());
+                                    String sysOrgCodes = sysOrgCodeList.stream().collect(Collectors.joining(","));
+
+                                    //判断是否为组批任务、是组批前还是组批后的任务
+                                    String remark = null;
+                                    if (cost.getPccode() != null && Objects.equals(cost.getStatus(), "1"))
+                                        remark = "(组批之后)";//组批之后
+                                    else if (cost.getPccode() != null && Objects.equals(cost.getStatus(), "0"))
+                                        remark = "(组批之前)";//组批之前
+                                    if (remark == null) remark = "";
+                                    //组推送对象
+                                    ProjectPushList push = ProjectPushListConvert.INSTANCE.toProjectPushList(
+                                            cost.getTaskno(), cost.getTaskname(), set.getId(), vo.getUsername(), set.getContent() + remark, sysOrgCodes, 0, "2");
+                                    pushList.add(push);
+
+                                    if (pushList.size() >= 10000) {
+                                        this.saveBatch(pushList);
+                                        pushList.clear();
+                                    }
+                                }
                             }
                         }
                     }
-                }
-                return pushList;
-            });
-
-
-            CompletableFuture<List<ProjectPushList>> t4 = CompletableFuture.supplyAsync(() -> {
-                // 3外协预算超限
-                QueryWrapper<ProjectPushSet> queryWrapper1 = new QueryWrapper<>();
-                queryWrapper1 = new QueryWrapper<>();
-                queryWrapper1.eq("cost_type", "3");// 3外协预算超限
-                List<ProjectPushSet> list = projectPushSetService.list(queryWrapper1);
-                List<ProjectPushList> pushList = new ArrayList<>();//所有的推送列表
-                if (list != null && !list.isEmpty()) {
-                    QueryWrapper<ProjectCost> projectCostQueryWrapper;
-                    for (ProjectPushSet set : list) {
-                        List<ProjectCost> projectCostList1 = costService.selectProjectCostListWhereWxysGtWxf();
-
-                        List<String> roleIds = Arrays.asList(set.getPushTo().split(","));
-                        List<UserNameIDVO> userNameIdList = this.userNamesByRoleIds(roleIds);
-
-                        for (ProjectCost cost : projectCostList1) {
-                            for (UserNameIDVO vo : userNameIdList) {
-                                //根据用户id查其所属部门的部门编码
-                                List<String> sysOrgCodeList = this.selectDeptCodeByUserId(vo.getUserId());
-                                String sysOrgCodes = String.join(",", sysOrgCodeList);
-
-                                //判断是否为组批任务、是组批前还是组批后的任务
-                                String remark = null;
-                                if (cost.getPccode() != null && Objects.equals(cost.getStatus(), "1"))
-                                    remark = "(组批之后)";//组批之后
-                                else if (cost.getPccode() != null && Objects.equals(cost.getStatus(), "0"))
-                                    remark = "(组批之前)";//组批之前
-                                if (remark == null) remark = "";
-                                //组推送对象
-                                ProjectPushList push = ProjectPushListConvert.INSTANCE.toProjectPushList(
-                                        cost.getTaskno(), cost.getTaskname(), set.getId(), vo.getUsername(), set.getContent() + remark, sysOrgCodes, 0, "3");
-                                pushList.add(push);
+                });
+
+
+                CompletableFuture<Void> t4 = CompletableFuture.runAsync(() -> {
+                    // 3外协预算超限
+                    QueryWrapper<ProjectPushSet> queryWrapper1 = new QueryWrapper<>();
+                    queryWrapper1 = new QueryWrapper<>();
+                    queryWrapper1.eq("cost_type", "3");// 3外协预算超限
+                    List<ProjectPushSet> list = projectPushSetService.list(queryWrapper1);
+                    List<ProjectPushList> pushList = new ArrayList<>();//所有的推送列表
+                    if (list != null && !list.isEmpty()) {
+                        QueryWrapper<ProjectCost> projectCostQueryWrapper;
+                        for (ProjectPushSet set : list) {
+                            List<ProjectCost> projectCostList1 = costService.selectProjectCostListWhereWxysGtWxf();
+
+                            List<String> roleIds = Arrays.asList(set.getPushTo().split(","));
+                            List<UserNameIDVO> userNameIdList = this.userNamesByRoleIds(roleIds);
+
+                            for (ProjectCost cost : projectCostList1) {
+                                for (UserNameIDVO vo : userNameIdList) {
+                                    //根据用户id查其所属部门的部门编码
+                                    List<String> sysOrgCodeList = this.selectDeptCodeByUserId(vo.getUserId());
+                                    String sysOrgCodes = String.join(",", sysOrgCodeList);
+
+                                    //判断是否为组批任务、是组批前还是组批后的任务
+                                    String remark = null;
+                                    if (cost.getPccode() != null && Objects.equals(cost.getStatus(), "1"))
+                                        remark = "(组批之后)";//组批之后
+                                    else if (cost.getPccode() != null && Objects.equals(cost.getStatus(), "0"))
+                                        remark = "(组批之前)";//组批之前
+                                    if (remark == null) remark = "";
+                                    //组推送对象
+                                    ProjectPushList push = ProjectPushListConvert.INSTANCE.toProjectPushList(
+                                            cost.getTaskno(), cost.getTaskname(), set.getId(), vo.getUsername(), set.getContent() + remark, sysOrgCodes, 0, "3");
+                                    pushList.add(push);
+                                    if (pushList.size() >= 10000) {
+                                        this.saveBatch(pushList);
+                                        pushList.clear();
+                                    }
+                                }
                             }
                         }
                     }
-                }
-                return pushList;
-            });
-
-
-            CompletableFuture<List<ProjectPushList>> t5 = CompletableFuture.supplyAsync(() -> {
-                // 4材料预算超限
-                QueryWrapper<ProjectPushSet> queryWrapper1 = new QueryWrapper<>();
-                queryWrapper1 = new QueryWrapper<>();
-                queryWrapper1.eq("cost_type", "4");// 4材料预算超限
-                List<ProjectPushSet> list = projectPushSetService.list(queryWrapper1);
-                List<ProjectPushList> pushList = new ArrayList<>();//所有的推送列表
-                if (list != null && !list.isEmpty()) {
-                    QueryWrapper<ProjectCost> projectCostQueryWrapper;
-                    for (ProjectPushSet set : list) {
-                        List<ProjectCost> projectCostList1 = costService.selectProjectCostListWhereClysGtCLf();
-
-                        List<String> roleIds = Arrays.asList(set.getPushTo().split(","));
-                        List<UserNameIDVO> userNameIdList = this.userNamesByRoleIds(roleIds);
-
-                        for (ProjectCost cost : projectCostList1) {
-                            for (UserNameIDVO vo : userNameIdList) {
-                                //根据用户id查其所属部门的部门编码
-                                List<String> sysOrgCodeList = this.selectDeptCodeByUserId(vo.getUserId());
-                                String sysOrgCodes = sysOrgCodeList.stream().collect(Collectors.joining(","));
-
-                                //判断是否为组批任务、是组批前还是组批后的任务
-                                String remark = null;
-                                if (cost.getPccode() != null && Objects.equals(cost.getStatus(), "1"))
-                                    remark = "(组批之后)";//组批之后
-                                else if (cost.getPccode() != null && Objects.equals(cost.getStatus(), "0"))
-                                    remark = "(组批之前)";//组批之前
-                                if (remark == null) remark = "";
-                                //组推送对象
-                                ProjectPushList push = ProjectPushListConvert.INSTANCE.toProjectPushList(
-                                        cost.getTaskno(), cost.getTaskname(), set.getId(), vo.getUsername(), set.getContent() + remark, sysOrgCodes, 1, "4");
-                                pushList.add(push);
+                });
+
+
+                CompletableFuture<Void> t5 = CompletableFuture.runAsync(() -> {
+                    // 4材料预算超限
+                    QueryWrapper<ProjectPushSet> queryWrapper1 = new QueryWrapper<>();
+                    queryWrapper1 = new QueryWrapper<>();
+                    queryWrapper1.eq("cost_type", "4");// 4材料预算超限
+                    List<ProjectPushSet> list = projectPushSetService.list(queryWrapper1);
+                    List<ProjectPushList> pushList = new ArrayList<>();//所有的推送列表
+                    if (list != null && !list.isEmpty()) {
+                        QueryWrapper<ProjectCost> projectCostQueryWrapper;
+                        for (ProjectPushSet set : list) {
+                            List<ProjectCost> projectCostList1 = costService.selectProjectCostListWhereClysGtCLf();
+
+                            List<String> roleIds = Arrays.asList(set.getPushTo().split(","));
+                            List<UserNameIDVO> userNameIdList = this.userNamesByRoleIds(roleIds);
+
+                            for (ProjectCost cost : projectCostList1) {
+                                for (UserNameIDVO vo : userNameIdList) {
+                                    //根据用户id查其所属部门的部门编码
+                                    List<String> sysOrgCodeList = this.selectDeptCodeByUserId(vo.getUserId());
+                                    String sysOrgCodes = sysOrgCodeList.stream().collect(Collectors.joining(","));
+
+                                    //判断是否为组批任务、是组批前还是组批后的任务
+                                    String remark = null;
+                                    if (cost.getPccode() != null && Objects.equals(cost.getStatus(), "1"))
+                                        remark = "(组批之后)";//组批之后
+                                    else if (cost.getPccode() != null && Objects.equals(cost.getStatus(), "0"))
+                                        remark = "(组批之前)";//组批之前
+                                    if (remark == null) remark = "";
+                                    //组推送对象
+                                    ProjectPushList push = ProjectPushListConvert.INSTANCE.toProjectPushList(
+                                            cost.getTaskno(), cost.getTaskname(), set.getId(), vo.getUsername(), set.getContent() + remark, sysOrgCodes, 1, "4");
+                                    pushList.add(push);
+                                    if (pushList.size() >= 10000) {
+                                        this.saveBatch(pushList);
+                                        pushList.clear();
+                                    }
+                                }
                             }
                         }
                     }
-                }
-                return pushList;
-            });
-
-            CompletableFuture<List<ProjectPushList>> t6 = CompletableFuture.supplyAsync(() -> {
-                //5合同额
-                String stage = "100";
-                QueryWrapper<ProjectCost> projectCostQueryWrapper = new QueryWrapper<>();
-                projectCostQueryWrapper.eq("contractfpe", new BigDecimal(0));
-                projectCostQueryWrapper.eq("processPercent", stage);
-
-                List<ProjectCost> projectCostList1 = costService.projectCostlist(projectCostQueryWrapper);
-                List<ProjectPushList> pushList = new ArrayList<>();//所有的推送列表
-                for (ProjectCost cost : projectCostList1) {
-                    String taskno = cost.getTaskno();
-                    String orgcode = null;
-                    String username = null;
-                    if (taskno != null) {
-                        KyTaskInfo kyTaskInfo = kyTaskInfoService.getKyTaskInfoByTaskno(taskno);
-                        if (kyTaskInfo != null) {
-                            if (kyTaskInfo.getJycsid() != null) {//下达部门id
-                                SysDepart sysDepart = departService.getById(kyTaskInfo.getJycsid());
-                                if (sysDepart != null) orgcode = sysDepart.getOrgCode();
-                            }
-                            if (kyTaskInfo.getBusinessmanname() != null) {
-                                QueryWrapper<SysUser> wrapper = new QueryWrapper<>();
-                                wrapper.eq("realname", kyTaskInfo.getBusinessmanname());
-                                SysUser user = sysUserService.getOne(wrapper);
-                                if (user != null) username = user.getUsername();
+                });
+
+                CompletableFuture<Void> t6 = CompletableFuture.runAsync(() -> {
+                    //5合同额
+                    String stage = "100";
+                    QueryWrapper<ProjectCost> projectCostQueryWrapper = new QueryWrapper<>();
+                    projectCostQueryWrapper.eq("contractfpe", BigDecimal.ZERO);
+                    projectCostQueryWrapper.eq("processPercent", stage);
+
+                    List<ProjectCost> projectCostList1 = costService.projectCostlist(projectCostQueryWrapper);
+                    List<ProjectPushList> pushList = new ArrayList<>();//所有的推送列表
+                    for (ProjectCost cost : projectCostList1) {
+                        String taskno = cost.getTaskno();
+                        String orgcode = null;
+                        String username = null;
+                        if (taskno != null) {
+                            KyTaskInfo kyTaskInfo = kyTaskInfoService.getKyTaskInfoByTaskno(taskno);
+                            if (kyTaskInfo != null) {
+                                if (kyTaskInfo.getJycsid() != null) {//下达部门id
+                                    SysDepart sysDepart = departService.getById(kyTaskInfo.getJycsid());
+                                    if (sysDepart != null) orgcode = sysDepart.getOrgCode();
+                                }
+                                if (kyTaskInfo.getBusinessmanname() != null) {
+                                    QueryWrapper<SysUser> wrapper = new QueryWrapper<>();
+                                    wrapper.eq("realname", kyTaskInfo.getBusinessmanname());
+                                    SysUser user = sysUserService.getOne(wrapper);
+                                    if (user != null) username = user.getUsername();
+                                }
                             }
                         }
-                    }
 
-                    //判断是否为组批任务、是组批前还是组批后的任务
-                    String remark = null;
-                    if (cost.getPccode() != null && Objects.equals(cost.getStatus(), "1")) remark = "(组批之后)";//组批之后
-                    else if (cost.getPccode() != null && Objects.equals(cost.getStatus(), "0"))
-                        remark = "(组批之前)";//组批之前
-                    if (remark == null) remark = "";
-                    ProjectPushList push = ProjectPushListConvert.INSTANCE.toProjectPushList(
-                            cost.getTaskno(), cost.getTaskname(), "", username, "请及时处理合同额" + remark, orgcode, 0, "5");
-                    pushList.add(push);
-                }
-                return pushList;
-            });
-
-
-            CompletableFuture<List<ProjectPushList>> t7 = CompletableFuture.supplyAsync(() -> {
-                //6收款额
-                String stage = "100";
-                QueryWrapper<ProjectCost> projectCostQueryWrapper = new QueryWrapper<>();
-                projectCostQueryWrapper.eq("TaskMoney", new BigDecimal(0));
-                projectCostQueryWrapper.eq("processPercent", stage);
-                List<ProjectCost> projectCostList2 = costService.projectCostlist(projectCostQueryWrapper);
-                List<ProjectPushList> pushList = new ArrayList<>();//所有的推送列表
-                for (ProjectCost cost : projectCostList2) {
-                    String taskno = cost.getTaskno();
-                    String orgcode = null;
-                    String username = null;
-                    if (taskno != null) {
-                        KyTaskInfo kyTaskInfo = kyTaskInfoService.getKyTaskInfoByTaskno(taskno);
-                        if (kyTaskInfo != null) {
-                            if (kyTaskInfo.getJycsid() != null) {//下达部门id
-                                SysDepart sysDepart = departService.getById(kyTaskInfo.getJycsid());
-                                if (sysDepart != null) orgcode = sysDepart.getOrgCode();
-                            }
-                            if (kyTaskInfo.getBusinessmanname() != null) {
-                                QueryWrapper<SysUser> wrapper = new QueryWrapper<>();
-                                wrapper.eq("realname", kyTaskInfo.getBusinessmanname());
-                                SysUser user = sysUserService.getOne(wrapper);
-                                if (user != null) username = user.getUsername();
-                            }
+                        //判断是否为组批任务、是组批前还是组批后的任务
+                        String remark = null;
+                        if (cost.getPccode() != null && Objects.equals(cost.getStatus(), "1")) remark = "(组批之后)";//组批之后
+                        else if (cost.getPccode() != null && Objects.equals(cost.getStatus(), "0"))
+                            remark = "(组批之前)";//组批之前
+                        if (remark == null) remark = "";
+                        ProjectPushList push = ProjectPushListConvert.INSTANCE.toProjectPushList(
+                                cost.getTaskno(), cost.getTaskname(), "", username, "请及时处理合同额" + remark, orgcode, 0, "5");
+                        pushList.add(push);
+                        if (pushList.size() >= 10000) {
+                            this.saveBatch(pushList);
+                            pushList.clear();
                         }
                     }
+                });
+
+
+                CompletableFuture<Void> t7 = CompletableFuture.runAsync(() -> {
+                    //6收款额
+                    String stage = "100";
+                    QueryWrapper<ProjectCost> projectCostQueryWrapper = new QueryWrapper<>();
+                    projectCostQueryWrapper.eq("TaskMoney", BigDecimal.ZERO);
+                    projectCostQueryWrapper.eq("processPercent", stage);
+                    List<ProjectCost> projectCostList2 = costService.projectCostlist(projectCostQueryWrapper);
+                    List<ProjectPushList> pushList = new ArrayList<>();//所有的推送列表
+                    for (ProjectCost cost : projectCostList2) {
+                        String taskno = cost.getTaskno();
+                        String orgcode = null;
+                        String username = null;
+                        if (taskno != null) {
+                            KyTaskInfo kyTaskInfo = kyTaskInfoService.getKyTaskInfoByTaskno(taskno);
+                            if (kyTaskInfo != null) {
+                                if (kyTaskInfo.getJycsid() != null) {//下达部门id
+                                    SysDepart sysDepart = departService.getById(kyTaskInfo.getJycsid());
+                                    if (sysDepart != null) orgcode = sysDepart.getOrgCode();
+                                }
+                                if (kyTaskInfo.getBusinessmanname() != null) {
+                                    QueryWrapper<SysUser> wrapper = new QueryWrapper<>();
+                                    wrapper.eq("realname", kyTaskInfo.getBusinessmanname());
+                                    SysUser user = sysUserService.getOne(wrapper);
+                                    if (user != null) username = user.getUsername();
+                                }
+                            }
+                        }
 
-                    //判断是否为组批任务、是组批前还是组批后的任务
-                    String remark = null;
-                    if (cost.getPccode() != null && Objects.equals(cost.getStatus(), "1")) remark = "(组批之后)";//组批之后
-                    else if (cost.getPccode() != null && Objects.equals(cost.getStatus(), "0"))
-                        remark = "(组批之前)";//组批之前
-                    if (remark == null) remark = "";
-                    ProjectPushList push = ProjectPushListConvert.INSTANCE.toProjectPushList(
-                            cost.getTaskno(), cost.getTaskname(), "", username, "请及时处理已收款" + remark, orgcode, 0, "6");
-                    pushList.add(push);
+                        //判断是否为组批任务、是组批前还是组批后的任务
+                        String remark = null;
+                        if (cost.getPccode() != null && Objects.equals(cost.getStatus(), "1")) remark = "(组批之后)";//组批之后
+                        else if (cost.getPccode() != null && Objects.equals(cost.getStatus(), "0"))
+                            remark = "(组批之前)";//组批之前
+                        if (remark == null) remark = "";
+                        ProjectPushList push = ProjectPushListConvert.INSTANCE.toProjectPushList(
+                                cost.getTaskno(), cost.getTaskname(), "", username, "请及时处理已收款" + remark, orgcode, 0, "6");
+                        pushList.add(push);
+                        if (pushList.size() >= 10000) {
+                            this.saveBatch(pushList);
+                            pushList.clear();
+                        }
+                    }
+                });
+
+                CompletableFuture<Void> future = CompletableFuture.allOf(t1, t2, t3, t4, t5, t6, t7);
+                try {
+                    future.get();
+                } catch (InterruptedException e) {
+                } catch (ExecutionException e) {
+                    e.printStackTrace();
                 }
-                return pushList;
-            });
-
-            CompletableFuture<Void> future = CompletableFuture.allOf(t1, t2, t3, t4, t5, t6, t7);
-            future.get();
-            List<ProjectPushList> projectPushLists = t1.get();
-            List<ProjectPushList> projectPushLists1 = t2.get();
-            List<ProjectPushList> projectPushLists2 = t3.get();
-            List<ProjectPushList> projectPushLists3 = t4.get();
-            List<ProjectPushList> projectPushLists4 = t5.get();
-            List<ProjectPushList> projectPushLists5 = t6.get();
-            List<ProjectPushList> projectPushLists6 = t7.get();
-            List<ProjectPushList> mergedList = Stream.of(projectPushLists, projectPushLists1, projectPushLists2, projectPushLists3, projectPushLists4, projectPushLists5, projectPushLists6)
-                    .flatMap(java.util.Collection::stream)
-                    .collect(Collectors.toList());
-
-            this.saveBatch(mergedList);
+            }).start();
         }catch (Exception e){
             e.printStackTrace();
             return Result.ok("推送失败");

+ 2 - 0
module_kzks/src/main/java/org/jeecg/modules/projectPushSet/service/impl/ProjectPushSetServiceImpl.java

@@ -1,5 +1,6 @@
 package org.jeecg.modules.projectPushSet.service.impl;
 
+import org.jeecg.modules.dataSourceSwitch.annotation.UseMasterDataSource;
 import org.jeecg.modules.projectPushSet.entity.ProjectPushSet;
 import org.jeecg.modules.projectPushSet.mapper.ProjectPushSetMapper;
 import org.jeecg.modules.projectPushSet.service.IProjectPushSetService;
@@ -14,6 +15,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  * @Version: V1.0
  */
 @Service
+@UseMasterDataSource
 public class ProjectPushSetServiceImpl extends ServiceImpl<ProjectPushSetMapper, ProjectPushSet> implements IProjectPushSetService {
 
 }

+ 1 - 1
module_kzks/src/main/java/org/jeecg/modules/visibleClient/controller.java

@@ -25,7 +25,7 @@ public class controller {
     @ApiOperation(value="一键启动,调用计算程序同步数据并计算更新", notes="一键启动,调用计算程序同步数据并计算更新")
     @GetMapping("start")
     public Result<String> startSummary(){
-        String url = "http://127.0.0.1/dev-api/visibleServer/start";
+        String url = "http://127.0.0.1:8838/prod-api/visibleServer/start";
         ResponseEntity<String> forEntity = restTemplate.getForEntity(url, String.class);
         String body = forEntity.getBody();
         Map<String, String> map = JSONObject.parseObject(body, new TypeReference<Map<String, String>>() {

+ 1 - 0
module_kzks/src/main/java/org/jeecg/modules/wzOutboundOrder/controller/WzOutboundOrderHController.java

@@ -237,6 +237,7 @@ public class WzOutboundOrderHController extends JeecgController<WzOutboundOrderH
                         }
                         clfCompareTaskResultVo.setTotalAmount(CDo.getTotalAmount().setScale(2,RoundingMode.HALF_UP));
                         clfCompareTaskResultVo.setTotalCount(CDo.getTotalCount().setScale(2,RoundingMode.HALF_UP));
+                        if (CDo.getUnitPrice() == null) CDo.setUnitPrice(BigDecimal.ZERO);
                         clfCompareTaskResultVo.setUnitPrice(CDo.getUnitPrice().setScale(2,RoundingMode.HALF_UP));
                         if (unitPrice == null) {
                             unitPrice = CDo.getUnitPrice();

+ 9 - 37
module_kzks/src/main/java/org/jeecg/modules/wzOutboundOrder/mapper/xml/WzOutboundOrderHMapper.xml

@@ -19,30 +19,17 @@
                b.totalAmount as totalAmount,
                b.totalCount as totalCount,
                totalAmount / totalCount as unitPrice,
-               #{taskno} as rwh
-        FROM (SELECT a.wlbm,
-                     a.wlmc,
-                     a.ggxh,
+              #{taskno} as rwh
+        FROM (SELECT wlbm,
+                     wlmc,
+                     ggxh,
                      SUM(case when cgdj = 0 or cgdj is null then nbdj * sfzsl else cgdj*sfzsl end) AS totalAmount,
                      sum(sfzsl)        AS totalCount
-              FROM (SELECT wlbm,
-                           wlmc,
-                           ggxh,
-                           sfzsl,
-                           cgdj,
-                           nbdj
-                    FROM wz_outbound_order_b wb
+                    FROM wz_outbound_order_b
                     WHERE ckdh IN (SELECT ckdh FROM wz_outbound_order_h WHERE rwh = #{taskno})
-                    GROUP BY ckrq,
-                             hh,
-                             wlbm,
-                             ggxh,
-                             yfzsl,
-                             sfzsl,
-                             tm) a
-              GROUP BY a.wlbm,
-                       a.wlmc,
-                       a.ggxh) b
+              GROUP BY wlbm,
+                       wlmc,
+                       ggxh) b
     </select>
     <select id="getClfList" resultType="org.jeecg.modules.wzOutboundOrder.vo.WzOutboundOrderBDetailListVO">
         SELECT
@@ -57,14 +44,6 @@
             wz_outbound_order_b wb
         WHERE
             ckdh IN ( SELECT ckdh FROM wz_outbound_order_h WHERE rwh = #{taskno} )
-        GROUP BY
-            ckrq,
-            hh,
-            wlbm,
-            ggxh,
-            yfzsl,
-            sfzsl,
-            tm
     </select>
     <select id="getCLFCompareDoListByTaskNoListHasPcCode"
             resultType="org.jeecg.modules.wzOutboundOrder.entity.CLfCompareDO">
@@ -98,14 +77,7 @@
         from ky_task_info
         where refTaskNo in (select pcCode from ky_task_info where taskno = #{taskno})) s
         on h.rwh = s.pcCode
-        )
-        GROUP BY ckrq,
-        hh,
-        wlbm,
-        ggxh,
-        yfzsl,
-        sfzsl,
-        tm) a
+        )) a
         GROUP BY a.wlbm,
         a.wlmc,
         a.ggxh) b

+ 2 - 0
module_kzks/src/main/java/org/jeecg/modules/xmcbDetail/mapper/ComContractInfoExchangeMapper.java

@@ -6,6 +6,7 @@ import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
 import org.jeecg.modules.Index.entity.pojo.ContractAmount;
 import org.jeecg.modules.Index.entity.pojo.ReceivedByDate;
+import org.jeecg.modules.dataSourceSwitch.annotation.TargetDataSource;
 import org.jeecg.modules.xmcbDetail.entity.ComContractInfoExchange;
 import org.jeecg.modules.xmcbDetail.vo.ComContractInfoExchangeHTEVO;
 import org.jeecg.modules.xmcbDetail.vo.ComContractInfoExchangeYSKVO;
@@ -22,6 +23,7 @@ import java.util.List;
  * @Version: V1.0
  */
 @Mapper
+@TargetDataSource
 public interface ComContractInfoExchangeMapper extends BaseMapper<ComContractInfoExchange> {