diff --git a/src/main/java/com/dsic/gj_erp/bean/钢材到货情况统计.java b/src/main/java/com/dsic/gj_erp/bean/钢材到货情况统计.java index 5980143..4e0dad3 100644 --- a/src/main/java/com/dsic/gj_erp/bean/钢材到货情况统计.java +++ b/src/main/java/com/dsic/gj_erp/bean/钢材到货情况统计.java @@ -1,5 +1,6 @@ package com.dsic.gj_erp.bean; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.github.jeffreyning.mybatisplus.anno.MppMultiId; import lombok.Getter; @@ -14,11 +15,18 @@ public class 钢材到货情况统计 { @MppMultiId private String dcCh; + @MppMultiId private String plZ; + + private BigDecimal planTon;//订货重量(吨) + + private BigDecimal completeTon;//已到货重量(吨) + @MppMultiId private String dzwz; - private BigDecimal planTon;//订货重量(吨) + + @TableField(exist = false) private String planDate;//计划到货日期 - private BigDecimal completeTon;//已到货重量(吨) + } diff --git a/src/main/java/com/dsic/gj_erp/controller/ScheduledService.java b/src/main/java/com/dsic/gj_erp/controller/ScheduledService.java new file mode 100644 index 0000000..2259ac3 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/controller/ScheduledService.java @@ -0,0 +1,49 @@ +package com.dsic.gj_erp.controller; + +import cn.hutool.cron.CronUtil; +import cn.hutool.cron.task.Task; +import com.dsic.gj_erp.service.钢材到货情况统计Service; +import lombok.RequiredArgsConstructor; +import lombok.Setter; +import org.springframework.stereotype.Service; + +import javax.annotation.PostConstruct; + +@Service +@RequiredArgsConstructor +public class ScheduledService { + + private final 钢材到货情况统计Service 钢材到货情况统计Service; + + private boolean scheduleStartFlag=false; + + @PostConstruct + public void execute(){ + synchronized (this){ + if (this.scheduleStartFlag){ + return; + } + this.scheduleStartFlag=true; + } + 钢材到货情况统计Service.init(); + this.start(); + System.out.println("定时任务启动成功"); + } + + private void start(){ + // 支持秒级别定时任务 + CronUtil.setMatchSecond(true); + + if (CronUtil.getScheduler().isStarted()){ + CronUtil.stop(); + CronUtil.start(); + } + + if (!CronUtil.getScheduler().isStarted()){ + CronUtil.start(); + } + + } + + +} diff --git a/src/main/java/com/dsic/gj_erp/controller/钢材到货情况统计Controller.java b/src/main/java/com/dsic/gj_erp/controller/钢材到货情况统计Controller.java index 61b2b97..956f611 100644 --- a/src/main/java/com/dsic/gj_erp/controller/钢材到货情况统计Controller.java +++ b/src/main/java/com/dsic/gj_erp/controller/钢材到货情况统计Controller.java @@ -1,6 +1,9 @@ package com.dsic.gj_erp.controller; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.dsic.gj_erp.bean.ResultBean; +import com.dsic.gj_erp.bean.钢材到货情况统计; import com.dsic.gj_erp.service.钢材到货情况统计Service; import lombok.AllArgsConstructor; import org.springframework.web.bind.annotation.GetMapping; @@ -15,7 +18,12 @@ public class 钢材到货情况统计Controller { private final 钢材到货情况统计Service service; @GetMapping("list") - public ResultBean list(){ - return new ResultBean<>(service.list()); + @SuppressWarnings("unchecked") + public ResultBean list(String dcCh){ + return new ResultBean<>(service.list(Wrappers.<钢材到货情况统计>lambdaQuery() + .eq(StrUtil.isNotEmpty(dcCh),钢材到货情况统计::getDcCh,dcCh) + .orderByAsc(钢材到货情况统计::getDcCh,钢材到货情况统计::getPlZ,钢材到货情况统计::getDzwz) + ) + ); } } diff --git a/src/main/java/com/dsic/gj_erp/service/钢材到货情况统计Service.java b/src/main/java/com/dsic/gj_erp/service/钢材到货情况统计Service.java index bafb152..2409441 100644 --- a/src/main/java/com/dsic/gj_erp/service/钢材到货情况统计Service.java +++ b/src/main/java/com/dsic/gj_erp/service/钢材到货情况统计Service.java @@ -1,5 +1,6 @@ package com.dsic.gj_erp.service; +import cn.hutool.core.util.StrUtil; import cn.hutool.cron.CronUtil; import cn.hutool.cron.task.Task; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -7,6 +8,7 @@ import com.dsic.gj_erp.bean.钢材到货情况统计; import com.dsic.gj_erp.mapper.钢材到货情况统计Mapper; import com.github.jeffreyning.mybatisplus.service.MppServiceImpl; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import javax.annotation.PostConstruct; import java.util.ArrayList; @@ -15,26 +17,29 @@ import java.util.List; @Service public class 钢材到货情况统计Service extends MppServiceImpl<钢材到货情况统计Mapper, 钢材到货情况统计> { - @PostConstruct - public void start(){ - CronUtil.schedule("* * 16 * * ?", (Task) this::process); - CronUtil.start(); + public void init(){ + //CronUtil.schedule("0 0 16 * * ?", (Task) this::process); + CronUtil.schedule("*/30 * * * * ?", (Task) this::process); + System.out.println("初始化定时任务"); } + @Transactional(rollbackFor = Exception.class) public void process(){ List<钢材到货情况统计> 钢材到货情况统计 = baseMapper.钢材到货情况统计(); List<钢材到货情况统计> insertOrUpdateList=new ArrayList<>(); - 钢材到货情况统计.forEach(item->{ + 钢材到货情况统计.stream().filter(item-> StrUtil.isAllNotEmpty(item.getDcCh(),item.getPlZ(),item.getDzwz())).forEach(item->{ 钢材到货情况统计 _钢材到货情况统计 = this.selectByMultiId(item); if (_钢材到货情况统计!=null){ if (item.getCompleteTon().compareTo(_钢材到货情况统计.getCompleteTon())>0){ _钢材到货情况统计.setCompleteTon(item.getCompleteTon()); + _钢材到货情况统计.setPlanTon(item.getPlanTon()); insertOrUpdateList.add(_钢材到货情况统计); } }else{ insertOrUpdateList.add(item); } }); + this.saveOrUpdateBatchByMultiId(insertOrUpdateList); } } diff --git a/src/main/java/com/dsic/gj_erp/wsclient/WebSocketService.java b/src/main/java/com/dsic/gj_erp/wsclient/WebSocketService.java index 8db6be4..d1fdfb3 100644 --- a/src/main/java/com/dsic/gj_erp/wsclient/WebSocketService.java +++ b/src/main/java/com/dsic/gj_erp/wsclient/WebSocketService.java @@ -106,6 +106,12 @@ public class WebSocketService extends TextWebSocketHandler { // 支持秒级别定时任务 CronUtil.setMatchSecond(true); + + if (CronUtil.getScheduler().isStarted()){ + CronUtil.stop(); + CronUtil.start(); + } + if (!CronUtil.getScheduler().isStarted()){ CronUtil.start(); } diff --git a/src/main/resources/application-localws.yml b/src/main/resources/application-localws.yml index 053b105..c829d64 100644 --- a/src/main/resources/application-localws.yml +++ b/src/main/resources/application-localws.yml @@ -9,5 +9,5 @@ ws: maxHttpContentLength: 1048576 maxFramePayloadLength: 1048576 client: - url: ws://192.127.2.129:9000 + url: ws://192.127.17.10:9000 id: 100000000002 \ No newline at end of file diff --git a/src/main/resources/mappers/钢材到货情况统计Mappere.xml b/src/main/resources/mappers/jcsj/钢材到货情况统计Mappere.xml similarity index 100% rename from src/main/resources/mappers/钢材到货情况统计Mappere.xml rename to src/main/resources/mappers/jcsj/钢材到货情况统计Mappere.xml