From aa7dfc04dc62bbe3c37a627ff743e008faa7987e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Thu, 28 Nov 2024 13:45:46 +0800 Subject: [PATCH 1/4] =?UTF-8?q?1.=E4=BC=98=E5=8C=96=E8=B0=83=E6=95=B4,?= =?UTF-8?q?=E4=BF=AE=E5=A4=8Dbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java | 1 + .../com/dsic/gj_erp/controller/jhgk/DmQfxqController.java | 2 +- .../com/dsic/gj_erp/controller/zyjh/ZyjhController.java | 6 +++--- .../dsic/gj_erp/service/jhgk/impl/DmQfxqServiceImpl.java | 1 + .../java/com/dsic/gj_erp/service/zyjh/ZyjhService.java | 8 ++++---- src/main/resources/mappers/jhgk/DmYdjhMapper.xml | 2 +- 6 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java index fae3661..4ccabd6 100644 --- a/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java +++ b/src/main/java/com/dsic/gj_erp/bean/jhgk/DmYdjh.java @@ -406,6 +406,7 @@ public class DmYdjh implements Serializable { @AllArgsConstructor private enum ZyjhzxEnum{ + YXF("2",2), SLPP("11",11), // 上料匹配 比对库存给上垛位 SLFK("21",21), PWPG("31",31), diff --git a/src/main/java/com/dsic/gj_erp/controller/jhgk/DmQfxqController.java b/src/main/java/com/dsic/gj_erp/controller/jhgk/DmQfxqController.java index d8143a0..a78507a 100644 --- a/src/main/java/com/dsic/gj_erp/controller/jhgk/DmQfxqController.java +++ b/src/main/java/com/dsic/gj_erp/controller/jhgk/DmQfxqController.java @@ -51,7 +51,7 @@ public class DmQfxqController { .eq(StrUtil.isNotEmpty(qfxq.getDcCh()), "dc_ch", qfxq.getDcCh()) .eq(StrUtil.isNotEmpty(qfxq.getXzglxq()), "substring(Xzglxq,0,8) ", qfxq.getXzglxq()) .eq(StrUtil.isNotEmpty(qfxq.getZt()), "zt", qfxq.getZt()) - .orderByAsc("DC_CH,cast(dc_pl as int),DC_FD")); + .orderByAsc("DC_CH,dc_pl,DC_FD")); return new ResultBean(list); } diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java index bfb766d..5aeee74 100644 --- a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java @@ -106,17 +106,17 @@ public class ZyjhController { } } if ("PWFK".equals(dto.getZxZtName())){ - ycldwInfoService.updatePw(dto.getYcldwInfo()); +// ycldwInfoService.updatePw(dto.getYcldwInfo()); wsHandler.sendPwComplete((JSONObject) JSONObject.toJSON(dto.getYcldwInfo())); } if ("HXFK".equals(dto.getZxZtName())){ - ycldwInfoService.updatePw(dto.getYcldwInfo()); +// ycldwInfoService.updatePw(dto.getYcldwInfo()); wsHandler.sendHXComplete((JSONObject) JSONObject.toJSON(dto.getYcldwInfo())); } if ("QGFK".equals(dto.getZxZtName())){ //无需划线,从理料间获取时才更新垛位信息 if ("42".equals(dto.getZt())){ - ycldwInfoService.updatePw(dto.getYcldwInfo()); +// ycldwInfoService.updatePw(dto.getYcldwInfo()); } wsHandler.sendHXComplete((JSONObject) JSONObject.toJSON(dto.getYcldwInfo())); wsHandler.sendQGComplete((JSONObject) JSONObject.toJSON(dto.getYcldwInfo())); 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 5c3728f..d2cebf7 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 @@ -101,6 +101,7 @@ public class DmQfxqServiceImpl extends ServiceImpl impleme l.setDrr(username); l.setDrrq(day); l.setXqzt("0"); + l.setZt("0"); this.save(l); list1.add(l); } diff --git a/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java b/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java index 3fc90e2..fb5529d 100644 --- a/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java +++ b/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java @@ -61,23 +61,23 @@ public class ZyjhService extends ServiceImpl { public void pgWithForeman(PgWithPcDto dto){ LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper() - .eq(DmYdjh::getDcCh,dto.getDcCh()).eq(DmYdjh::getDcPl,dto.getDcPl()).ge(DmYdjh::getZt,"2"); + .eq(DmYdjh::getDcCh,dto.getDcCh()).eq(DmYdjh::getDcPl,dto.getDcPl()).ge(DmYdjh::getZt,2); String pgrq = DateUtil.date().toString("yyyy/MM/dd"); switch (dto.getZt()){ case "21": wrapper.set(DmYdjh::getPwpgrq,pgrq).set(DmYdjh::getPwpgry,dto.getForemanId()); - wrapper.lt(DmYdjh::getZt,"31");//仅处理未派工的数据 + wrapper.lt(DmYdjh::getZt,31);//仅处理未派工的数据 break; case "42": case "52": if ("HXPG".equals(dto.getZxZtName())){ wrapper.set(DmYdjh::getHxpgrq,pgrq).set(DmYdjh::getHxpgry,dto.getForemanId()); - wrapper.lt(DmYdjh::getZt,"51");//仅处理未派工的数据 + wrapper.lt(DmYdjh::getZt,51);//仅处理未派工的数据 } if ("QGPG".equals(dto.getZxZtName())){ wrapper.set(DmYdjh::getQgpgrq,pgrq).set(DmYdjh::getQgpgry,dto.getForemanId()); - wrapper.lt(DmYdjh::getZt,"61");//仅处理未派工的数据 + wrapper.lt(DmYdjh::getZt,61);//仅处理未派工的数据 } break; } diff --git a/src/main/resources/mappers/jhgk/DmYdjhMapper.xml b/src/main/resources/mappers/jhgk/DmYdjhMapper.xml index d3e11b7..268717e 100644 --- a/src/main/resources/mappers/jhgk/DmYdjhMapper.xml +++ b/src/main/resources/mappers/jhgk/DmYdjhMapper.xml @@ -931,7 +931,7 @@ where dc_ch=#{dcch} and dc_pl =#{dcpl} from dm_ydjh - where zt>=2 and zt<=62 + where zt>=11 and zt<=62 group by dc_ch, dc_pl,plxh order by dc_ch,dc_pl From f89fc18d392a2ff50153bb2498456a1449368cba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Thu, 28 Nov 2024 18:14:06 +0800 Subject: [PATCH 2/4] =?UTF-8?q?1.=E4=BC=98=E5=8C=96=E8=B0=83=E6=95=B4,?= =?UTF-8?q?=E4=BF=AE=E5=A4=8Dbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/zyjh/ZyjhController.java | 23 ++++++++----- .../dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java | 2 +- .../gj_erp/service/zyjh/YcldwInfoService.java | 8 ++--- .../dsic/gj_erp/service/zyjh/ZyjhService.java | 14 +++++--- .../resources/mappers/jhgk/DmYdjhMapper.xml | 33 ++++++++++++------- 5 files changed, 49 insertions(+), 31 deletions(-) diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java index 5aeee74..6e76507 100644 --- a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java @@ -105,21 +105,28 @@ public class ZyjhController { dmYdjh.setZtByZyjhzx(dto.getZxZtName()); } } + YcldwInfo info = dto.getYcldwInfo(); if ("PWFK".equals(dto.getZxZtName())){ -// ycldwInfoService.updatePw(dto.getYcldwInfo()); - wsHandler.sendPwComplete((JSONObject) JSONObject.toJSON(dto.getYcldwInfo())); + if (ObjUtil.isNotEmpty(info)&&info.getId()!=null){ + ycldwInfoService.updatePw(info); + wsHandler.sendPwComplete((JSONObject) JSONObject.toJSON(info)); + } } if ("HXFK".equals(dto.getZxZtName())){ -// ycldwInfoService.updatePw(dto.getYcldwInfo()); - wsHandler.sendHXComplete((JSONObject) JSONObject.toJSON(dto.getYcldwInfo())); + if (ObjUtil.isNotEmpty(info)&&info.getId()!=null){ + ycldwInfoService.updatePw(dto.getYcldwInfo()); + wsHandler.sendHXComplete((JSONObject) JSONObject.toJSON(dto.getYcldwInfo())); + } } if ("QGFK".equals(dto.getZxZtName())){ //无需划线,从理料间获取时才更新垛位信息 - if ("42".equals(dto.getZt())){ -// ycldwInfoService.updatePw(dto.getYcldwInfo()); + if (ObjUtil.isNotEmpty(info)&&info.getId()!=null){ + if ("42".equals(dto.getZt())){ + ycldwInfoService.updatePw(dto.getYcldwInfo()); + } + wsHandler.sendHXComplete((JSONObject) JSONObject.toJSON(dto.getYcldwInfo())); + wsHandler.sendQGComplete((JSONObject) JSONObject.toJSON(dto.getYcldwInfo())); } - wsHandler.sendHXComplete((JSONObject) JSONObject.toJSON(dto.getYcldwInfo())); - wsHandler.sendQGComplete((JSONObject) JSONObject.toJSON(dto.getYcldwInfo())); } zyjhService.updateBatchById(list); diff --git a/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java b/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java index 3c05854..856c182 100644 --- a/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java +++ b/src/main/java/com/dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java @@ -66,5 +66,5 @@ public interface DmYdjhMapper extends BaseMapper { List> getWcl(); - List> getYdjhByZt(String zt,String wgzt,String wclzt); + List> getYdjhByZt(String zt,String wgzt,String wclzt,String from, String to); } diff --git a/src/main/java/com/dsic/gj_erp/service/zyjh/YcldwInfoService.java b/src/main/java/com/dsic/gj_erp/service/zyjh/YcldwInfoService.java index 61a2279..8fde3a4 100644 --- a/src/main/java/com/dsic/gj_erp/service/zyjh/YcldwInfoService.java +++ b/src/main/java/com/dsic/gj_erp/service/zyjh/YcldwInfoService.java @@ -1,5 +1,6 @@ package com.dsic.gj_erp.service.zyjh; +import cn.hutool.core.util.ObjUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.dsic.gj_erp.bean.jhgk.DmYdjh; @@ -27,11 +28,8 @@ public class YcldwInfoService extends ServiceImpl { @Transactional(rollbackOn = Exception.class) public void updatePw(YcldwInfo info){ - - this.removeById(info.getId()); - baseMapper.pwfk(info.getCeng(),info.getDwId()); - - + this.removeById(info.getId()); + baseMapper.pwfk(info.getCeng(),info.getDwId()); } @Transactional(rollbackOn = Exception.class) diff --git a/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java b/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java index fb5529d..94d14fb 100644 --- a/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java +++ b/src/main/java/com/dsic/gj_erp/service/zyjh/ZyjhService.java @@ -38,24 +38,28 @@ public class ZyjhService extends ServiceImpl { public List getYdjhByZtOrForeman(String zt,String foreman){ QueryWrapper wrapper = new QueryWrapper() - .lt("zt",62); + .ge("zt",11); switch (zt){ case "31": - wrapper.eq("pwpgry",foreman); + wrapper.eq("pwpgry",foreman).isNull("pwfkry"); break; case "51": - wrapper.eq("hxpgry",foreman); + wrapper.eq("hxpgry",foreman).isNull("hxfkry"); break; case "61": - wrapper.eq("qgpgry",foreman); + wrapper.eq("qgpgry",foreman).isNull("qgfkry"); break; } + wrapper.orderByDesc("dc_ch","dc_pl,dc_fd,tzbh"); return list(wrapper); } public List> getYdjhByZt(String zt,String wgzt,String wclzt){ - return baseMapper.getYdjhByZt(zt,wgzt,wclzt); + DateTime date = DateUtil.date(); + String from = DateUtil.beginOfMonth(date).toString("yyyy/MM/dd"); + String to = DateUtil.endOfMonth(date).toString("yyyy/MM/dd"); + return baseMapper.getYdjhByZt(zt,wgzt,wclzt,from,to); } diff --git a/src/main/resources/mappers/jhgk/DmYdjhMapper.xml b/src/main/resources/mappers/jhgk/DmYdjhMapper.xml index 268717e..5c7acdf 100644 --- a/src/main/resources/mappers/jhgk/DmYdjhMapper.xml +++ b/src/main/resources/mappers/jhgk/DmYdjhMapper.xml @@ -897,7 +897,7 @@ where dc_ch=#{dcch} and dc_pl =#{dcpl} from dm_ydjh where - zt>='2' and zt<'62' ) a + zt>=2 and zt<62 ) a where a.rn=1 order by dcCh asc ,dcPl desc ,zt @@ -906,32 +906,41 @@ where dc_ch=#{dcch} and dc_pl =#{dcpl} select dc_ch dcCh,dc_pl dcPl,count(1) total,plxh, - sum(case when isnull(qgfkry,'')='' then 1 else 0 end) wwg, - sum(case when isnull(qgfkry,'')!='' then 1 else 0 end) comp, + sum(case when isnull(qgfkrq,'')='' then 1 else 0 end) wwg, + sum(case when isnull(qgfkrq,'')!='' then 1 else 0 end) comp, - sum(case when isnull(hxfkry,'')='' then 1 else 0 end) wwg, - sum(case when isnull(hxfkry,'')!='' then 1 else 0 end) comp, + sum(case when isnull(hxfkrq,'')='' then 1 else 0 end) wwg, + sum(case when isnull(hxfkrq,'')!='' then 1 else 0 end) comp, - sum(case when isnull(pwfkry,'')='' then 1 else 0 end) wwg, - sum(case when isnull(pwfkry,'')!='' then 1 else 0 end) comp, + sum(case when isnull(pwfkrq,'')='' then 1 else 0 end) wwg, + sum(case when isnull(pwfkrq,'')!='' then 1 else 0 end) comp, - sum(case when zt=#{zt} then 1 else 0 end) compOnLastGx, + sum(case when zt>=#{zt} then 1 else 0 end) compOnLastGx, - sum(case when isnull(qgpgry,'')='' then 1 else 0 end) wpg + sum(case when isnull(qgpgrq,'')='' then 1 else 0 end) wpg - sum(case when isnull(hxpgry,'')='' then 1 else 0 end) wpg + sum(case when isnull(hxpgrq,'')='' then 1 else 0 end) wpg - sum(case when isnull(pwpgry,'')='' then 1 else 0 end) wpg + sum(case when isnull(pwpgrq,'')='' then 1 else 0 end) wpg from dm_ydjh - where zt>=11 and zt<=62 + where zt>=11 + + and isnull(qgfkrq,'')='' + + + and isnull(hxfkrq,'')='' + + + and isnull(pwfkrq,'')='' + group by dc_ch, dc_pl,plxh order by dc_ch,dc_pl From 855a58b58bc9d4f8b4cc71f28d99e0b4a82febc5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Sun, 1 Dec 2024 16:44:10 +0800 Subject: [PATCH 3/4] =?UTF-8?q?1.=E8=B0=83=E6=95=B4=E6=8A=9B=E4=B8=B8?= =?UTF-8?q?=E6=B4=BE=E5=B7=A5=E9=80=BB=E8=BE=91,=E6=A0=B9=E6=8D=AE?= =?UTF-8?q?=E5=9E=9B=E4=BD=8D=E7=82=B9=E5=87=BB=E5=90=8E=E5=8B=BE=E9=80=89?= =?UTF-8?q?=E6=B4=BE=E5=B7=A5,=E6=B4=BE=E5=B7=A5=E5=AE=8C=E6=88=90?= =?UTF-8?q?=E5=AF=BC=E5=87=BAexcel=E4=BE=9B=E6=8A=9B=E4=B8=B8=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=202.=E4=BF=AE=E6=94=B9=E7=94=9F=E4=BA=A7=E7=8E=AF?= =?UTF-8?q?=E5=A2=83=E8=AF=AD=E9=9F=B3ws=E6=9C=8D=E5=8A=A1=E5=9C=B0?= =?UTF-8?q?=E5=9D=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/dsic/gj_erp/bean/zyjh/PwExcel.java | 27 +++++++++ .../com/dsic/gj_erp/bean/zyjh/YcldwInfo.java | 14 ++++- .../controller/zyjh/ZyjhController.java | 42 +++++++++++++- .../gj_erp/controller/zyjh/dto/PwpgDto.java | 15 +++++ .../gj_erp/listeners/ExcelPwListener.java | 57 +++++++++++++++++++ src/main/resources/application-localws.yml | 2 +- src/main/resources/application-ws.yml | 2 +- .../resources/mappers/zyjh/YcldwMapper.xml | 3 +- 8 files changed, 157 insertions(+), 5 deletions(-) create mode 100644 src/main/java/com/dsic/gj_erp/bean/zyjh/PwExcel.java create mode 100644 src/main/java/com/dsic/gj_erp/controller/zyjh/dto/PwpgDto.java create mode 100644 src/main/java/com/dsic/gj_erp/listeners/ExcelPwListener.java diff --git a/src/main/java/com/dsic/gj_erp/bean/zyjh/PwExcel.java b/src/main/java/com/dsic/gj_erp/bean/zyjh/PwExcel.java new file mode 100644 index 0000000..c8823e7 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/bean/zyjh/PwExcel.java @@ -0,0 +1,27 @@ +package com.dsic.gj_erp.bean.zyjh; + +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class PwExcel { + + @ExcelProperty(value = "船号") + public String dcCh; + + @ExcelProperty(value = "批量") + public String dcPl; + + @ExcelProperty(value = "分段") + public String dcFd; + + @ExcelProperty(value = "套料图") + public String tlth; + + @ExcelProperty(value = "备注") + public String bz; + + public int dataOrder; +} diff --git a/src/main/java/com/dsic/gj_erp/bean/zyjh/YcldwInfo.java b/src/main/java/com/dsic/gj_erp/bean/zyjh/YcldwInfo.java index b08bb4f..6cfca3f 100644 --- a/src/main/java/com/dsic/gj_erp/bean/zyjh/YcldwInfo.java +++ b/src/main/java/com/dsic/gj_erp/bean/zyjh/YcldwInfo.java @@ -44,6 +44,13 @@ public class YcldwInfo { return info; } + public static YcldwInfo ofPwpg(YcldwInfo info){ + YcldwInfo info1=new YcldwInfo(); + info1.setId(info.getId()); + info1.pwpg(); + return info1; + } + private void sl(){ this.bfrq= DateUtil.date().toString("yyyy/MM/dd"); this.baifang(); @@ -53,11 +60,16 @@ public class YcldwInfo { this.zt=ZtEnum.BF; } + private void pwpg(){ + this.zt=ZtEnum.PG; + } + public void paowan(){ this.zt=ZtEnum.PW; } private enum ZtEnum{ - BF,PW + //摆放,派工,抛丸 + BF,PG,PW } } diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java index 6e76507..1966b1c 100644 --- a/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/ZyjhController.java @@ -3,15 +3,19 @@ package com.dsic.gj_erp.controller.zyjh; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjUtil; import cn.hutool.core.util.StrUtil; +import com.alibaba.excel.EasyExcel; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.dsic.gj_erp.annotation.AuthFunction; import com.dsic.gj_erp.bean.ResultBean; import com.dsic.gj_erp.bean.jhgk.DmYdjh; +import com.dsic.gj_erp.bean.jhgk.excel.GdxqExcel; +import com.dsic.gj_erp.bean.zyjh.PwExcel; import com.dsic.gj_erp.bean.zyjh.Ycldw; import com.dsic.gj_erp.bean.zyjh.YcldwInfo; import com.dsic.gj_erp.controller.zyjh.dto.*; import com.dsic.gj_erp.exception.ServiceException; +import com.dsic.gj_erp.listeners.ExcelPwListener; import com.dsic.gj_erp.service.zyjh.YcldwInfoService; import com.dsic.gj_erp.service.zyjh.YcldwService; import com.dsic.gj_erp.service.zyjh.ZyjhService; @@ -21,10 +25,14 @@ import com.dsic.gj_erp.wsclient.WebSocketService; import lombok.AllArgsConstructor; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; +import java.io.IOException; import java.lang.reflect.Field; +import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; @RestController @RequestMapping("zyjh") @@ -41,6 +49,18 @@ public class ZyjhController { private final WebSocketService webSocketService; + /** + * 抛丸导入 + */ + @PostMapping("pwdr") + public ResultBean pwdr(MultipartFile file) throws IOException { + ExcelPwListener excelPwListener = new ExcelPwListener(); + EasyExcel.read(file.getInputStream(), GdxqExcel.class, excelPwListener).sheet(0).headRowNumber(1).doRead(); + List objList = excelPwListener.getObjectList(); + + return new ResultBean<>(); + } + /** * 根据状态或班组长,获取作业计划,用于报工 */ @@ -85,6 +105,27 @@ public class ZyjhController { return new ResultBean<>(zyjhService.getForeman(zyq)); } + /** + * 抛丸派工 + */ + @PostMapping("pwpg") + @Transactional(rollbackFor = Exception.class) + public ResultBean pwpg(@RequestBody PwpgDto dto){ + List ydjhList=new ArrayList<>(); + String date=DateUtil.date().toString("yyyy/MM/dd HH:mm:ss"); + List collect = dto.getList().stream().map(item -> { + DmYdjh dmYdjh = new DmYdjh(); + dmYdjh.setId(item.getYdid()); + dmYdjh.setPwpgry(dto.getWorker()); + dmYdjh.setPwpgrq(date); + ydjhList.add(dmYdjh); + return YcldwInfo.ofPwpg(item); + }).collect(Collectors.toList()); + ycldwInfoService.updateBatchById(collect); + zyjhService.updateBatchById(ydjhList); + return new ResultBean<>(); + } + /** * 作业计划执行,派工&反馈 */ @@ -283,7 +324,6 @@ public class ZyjhController { return new ResultBean<>(list); } - /** * 获取预处理垛位信息 */ diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/PwpgDto.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/PwpgDto.java new file mode 100644 index 0000000..9689308 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/PwpgDto.java @@ -0,0 +1,15 @@ +package com.dsic.gj_erp.controller.zyjh.dto; + +import com.dsic.gj_erp.bean.zyjh.YcldwInfo; +import lombok.Getter; +import lombok.Setter; + +import java.util.List; + +@Getter +@Setter +public class PwpgDto { + + private String worker; + private List list; +} diff --git a/src/main/java/com/dsic/gj_erp/listeners/ExcelPwListener.java b/src/main/java/com/dsic/gj_erp/listeners/ExcelPwListener.java new file mode 100644 index 0000000..ebc0e2b --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/listeners/ExcelPwListener.java @@ -0,0 +1,57 @@ +package com.dsic.gj_erp.listeners; + +import com.alibaba.excel.context.AnalysisContext; +import com.alibaba.excel.event.AnalysisEventListener; +import com.dsic.gj_erp.bean.zyjh.PwExcel; +import com.dsic.gj_erp.util.ObjConvertUtils; +import lombok.Getter; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +/** + * Excel通用监听器 + */ +public class ExcelPwListener extends AnalysisEventListener { + + private static final int BATCH_COUNT = 500; + + @Getter + List objectList = new ArrayList<>(); + List headList = new ArrayList<>(); + + List datas = new ArrayList<>(); + + @Override + public void invoke(PwExcel excelDemo, AnalysisContext analysisContext) { + boolean b = ObjConvertUtils.checkObjAllFieldsIsNull(excelDemo); + if(!b){ + datas.add(excelDemo); + } + + if (datas.size() >= BATCH_COUNT) { + saveData(); + datas.clear(); + } + } + + @Override + public void doAfterAllAnalysed(AnalysisContext context) { + saveData(); + } + + //获取表头 + @Override + public void invokeHeadMap(Map headMap, AnalysisContext context) { + headList.add(headMap); + } + + /** + * 入库 + */ + private void saveData() { + objectList.addAll(datas); + } + +} diff --git a/src/main/resources/application-localws.yml b/src/main/resources/application-localws.yml index fbc2ea4..9674cc9 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.168.18.1:9000 + url: ws://192.168.13.10:9000 id: 100000000001 \ No newline at end of file diff --git a/src/main/resources/application-ws.yml b/src/main/resources/application-ws.yml index c6a5680..0616ec5 100644 --- a/src/main/resources/application-ws.yml +++ b/src/main/resources/application-ws.yml @@ -9,5 +9,5 @@ ws: maxHttpContentLength: 1048576 maxFramePayloadLength: 1048576 client: - url: ws://127.0.0.1:9000 + url: ws://192.127.2.199:9000 id: 100000000001 \ No newline at end of file diff --git a/src/main/resources/mappers/zyjh/YcldwMapper.xml b/src/main/resources/mappers/zyjh/YcldwMapper.xml index 77cee38..b57409d 100644 --- a/src/main/resources/mappers/zyjh/YcldwMapper.xml +++ b/src/main/resources/mappers/zyjh/YcldwMapper.xml @@ -24,13 +24,14 @@ + b.id info_id,b.dw_id info_dw_id,b.ceng info_ceng,b.czbh info_czbh,b.pl info_pl,b.fd info_fd,b.kw info_kw,b.zl info_zl, b.tlth info_tlth,b.wpgg info_wpgg,b.wph info_wph,b.sljhrq info_sljhrq,b.qgjhrq info_qgjhrq,b.bfr info_bfr, - b.bfrq info_bfrq,b.zt info_zt + b.bfrq info_bfrq,b.zt info_zt,b.ydid info_ydid