clazz) {
+ return SpringContextHolder.getBean(clazz);
+ }
+}
diff --git a/src/main/java/com/dsic/gj_erp/handler/dto/RealCapacity.java b/src/main/java/com/dsic/gj_erp/handler/dto/RealCapacity.java
new file mode 100644
index 0000000..7fe5410
--- /dev/null
+++ b/src/main/java/com/dsic/gj_erp/handler/dto/RealCapacity.java
@@ -0,0 +1,14 @@
+package com.dsic.gj_erp.handler.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+public class RealCapacity {
+
+ String deviceName;
+ String date;
+ Double capacity;
+
+}
diff --git a/src/main/java/com/dsic/gj_erp/mapper/jcsj/EmSbcnpMapper.java b/src/main/java/com/dsic/gj_erp/mapper/jcsj/EmSbcnpMapper.java
index d32eb72..85974bf 100644
--- a/src/main/java/com/dsic/gj_erp/mapper/jcsj/EmSbcnpMapper.java
+++ b/src/main/java/com/dsic/gj_erp/mapper/jcsj/EmSbcnpMapper.java
@@ -3,6 +3,9 @@ package com.dsic.gj_erp.mapper.jcsj;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dsic.gj_erp.bean.jcsj.EmSbcnp;
+import org.apache.ibatis.annotations.MapKey;
+
+import java.util.Map;
/**
*
@@ -13,5 +16,6 @@ import com.dsic.gj_erp.bean.jcsj.EmSbcnp;
* @since 2023-09-15
*/
public interface EmSbcnpMapper extends BaseMapper {
-
+ @MapKey("sbbh")
+ Map getMap();
}
diff --git a/src/main/java/com/dsic/gj_erp/service/jcsj/EmSbcnpService.java b/src/main/java/com/dsic/gj_erp/service/jcsj/EmSbcnpService.java
index 127f60f..b6ee0f5 100644
--- a/src/main/java/com/dsic/gj_erp/service/jcsj/EmSbcnpService.java
+++ b/src/main/java/com/dsic/gj_erp/service/jcsj/EmSbcnpService.java
@@ -20,6 +20,8 @@ import java.util.Map;
* @since 2023-09-15
*/
public interface EmSbcnpService extends IService {
+ Map getMap();
+
List getList(JSONObject json);
diff --git a/src/main/java/com/dsic/gj_erp/service/jcsj/impl/EmSbcnpServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/jcsj/impl/EmSbcnpServiceImpl.java
index e7843d9..02e48f7 100644
--- a/src/main/java/com/dsic/gj_erp/service/jcsj/impl/EmSbcnpServiceImpl.java
+++ b/src/main/java/com/dsic/gj_erp/service/jcsj/impl/EmSbcnpServiceImpl.java
@@ -2,6 +2,7 @@ package com.dsic.gj_erp.service.jcsj.impl;
import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsic.gj_erp.bean.jcsj.EmSbcnp;
@@ -12,6 +13,7 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
+import java.util.Map;
import java.util.stream.Collectors;
/**
@@ -30,6 +32,12 @@ public class EmSbcnpServiceImpl extends ServiceImpl impl
// @Resource
// EmSbcnpRepository emSbcnpRepository;
+
+ @Override
+ public Map getMap() {
+ return baseMapper.getMap();
+ }
+
@Override
public List getList(JSONObject json) {
QueryWrapper queryWrapper=new QueryWrapper<>();
diff --git a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmQfxqServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmQfxqServiceImpl.java
index 94b30a3..fd0a70d 100644
--- a/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmQfxqServiceImpl.java
+++ b/src/main/java/com/dsic/gj_erp/service/jhgk/impl/DmQfxqServiceImpl.java
@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsic.gj_erp.bean.jhgk.DmQfxq;
+import com.dsic.gj_erp.bean.jhgk.DmSygdMx;
import com.dsic.gj_erp.bean.jhgk.DmYdjh;
import com.dsic.gj_erp.mapper.jhgk.DmQfxqMapper;
import com.dsic.gj_erp.service.jhgk.DmQfxqService;
@@ -16,6 +17,7 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.*;
+import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors;
/**
@@ -136,13 +138,44 @@ public class DmQfxqServiceImpl extends ServiceImpl impleme
if (ydjhList.size() < 1) {
System.out.println("当前导入的前方需求没有对应的三月滚动计划!");
}
- for (DmYdjh dmYdjh : ydjhList) {
- ydjhService.remove(new QueryWrapper()
- .eq("Dc_Ch",dmYdjh.getDcCh())
- .eq("Dc_Pl",dmYdjh.getDcPl())
- .eq("Tzbh",dmYdjh.getTzbh()));
- }
+// for (DmYdjh dmYdjh : ydjhList) {
+// ydjhService.remove(new QueryWrapper()
+// .eq("Dc_Ch",dmYdjh.getDcCh())
+// .eq("Dc_Pl",dmYdjh.getDcPl())
+// .eq("Tzbh",dmYdjh.getTzbh()));
+// }
+ Map> map = ydjhList.stream().collect(Collectors.groupingBy(mx -> mx.getDcCh() +"@"+ mx.getDcPl()));
+ this.removeByMulti(map);
ydjhService.saveBatch(ydjhList);
+
+
+ }
+
+ private void removeByMulti(Map> map){
+ map.forEach((key,list)->{
+ String[] str= key.split("@");
+ this.removeByMulti(list,str[0],str[1],200);
+ });
+ }
+
+ private void removeByMulti(List list,String dcCh,String dcPl,int size){
+ List tzbhList = list.stream().map(DmYdjh::getTzbh).collect(Collectors.toList());
+ AtomicInteger index=new AtomicInteger(tzbhList.size()/size);
+ do {
+ int i = index.decrementAndGet();
+ int i1 = tzbhList.size() % ((index.get()) * size);
+ int last=i1>0?i1:i*size;
+ List list1 = tzbhList.subList((index.get())*size, last);
+ this.remove(list1,dcCh,dcPl);
+ }while (index.get()>0);
+ }
+
+ private void remove(List list,String dcCh,String dcPl){
+ ydjhService.remove(Wrappers.lambdaQuery()
+ .eq(DmYdjh::getDcCh,dcCh)
+ .eq(DmYdjh::getDcPl,dcPl)
+ .in(DmYdjh::getTzbh,list)
+ );
}
}
diff --git a/src/main/resources/mappers/jcsj/EmSbcnpMapper.xml b/src/main/resources/mappers/jcsj/EmSbcnpMapper.xml
index 5403089..0646c43 100644
--- a/src/main/resources/mappers/jcsj/EmSbcnpMapper.xml
+++ b/src/main/resources/mappers/jcsj/EmSbcnpMapper.xml
@@ -3,5 +3,7 @@
-
+