From 5d83ff9435ec779549e75326e2634349bd47d6ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Fri, 22 Nov 2024 18:08:14 +0800 Subject: [PATCH] =?UTF-8?q?1.=E4=BD=9C=E4=B8=9A=E8=AE=A1=E5=88=92=E6=89=A7?= =?UTF-8?q?=E8=A1=8C=E4=BF=AE=E6=94=B9=E6=9C=AA=E6=A0=B9=E6=8D=AE=E6=89=B9?= =?UTF-8?q?=E6=AC=A1=E6=B4=BE=E5=B7=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/dsic/gj_erp/bean/jhgk/DmYdjh.java | 39 +++++++---- .../controller/zyjh/ZyjhController.java | 44 ++++++++++++ .../controller/zyjh/dto/PgWithPcDto.java | 15 ++++ .../dsic/gj_erp/mapper/jhgk/DmYdjhMapper.java | 2 + .../dsic/gj_erp/service/zyjh/ZyjhService.java | 68 +++++++++++++++++++ .../resources/mappers/jhgk/DmYdjhMapper.xml | 34 ++++++++++ 6 files changed, 189 insertions(+), 13 deletions(-) create mode 100644 src/main/java/com/dsic/gj_erp/controller/zyjh/dto/PgWithPcDto.java 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 b5d3014..7d05681 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 @@ -395,31 +395,44 @@ public class DmYdjh implements Serializable { public void setZtByZyjhzx(String type){ ZyjhzxEnum zyjhzxEnum = ZyjhzxEnum.valueOf(type); + ZyjhzxEnum zt = ZyjhzxEnum.getEnumByCode(this.zt); if (zyjhzxEnum==null){ throw new ServiceException(10001,"作业计划执行内容不存在"); } - this.zt=zyjhzxEnum.code; + this.zt=zyjhzxEnum.computeCode<=zt.computeCode?zt.code:zyjhzxEnum.code; } @AllArgsConstructor private enum ZyjhzxEnum{ - SLPP("11"), // 上料匹配 比对库存给上垛位 - SLFK("21"), - PWPG("31"), - PWFK("32"), - LLPG("41"), - LLFK("42"), - HXPG("51"), - HXFK("52"), - QGPG("61"), - QGFK("62"), + SLPP("11",11), // 上料匹配 比对库存给上垛位 + SLFK("21",21), + PWPG("31",31), + PWFK("32",32), + LLPG("41",41), + LLFK("42",42), + HXPG("51",51), + HXFK("52",52), + QGPG("61",61), + QGFK("62",62), //7预留其他工序 //坡口,曲面,打磨 - PK("81"),PKFK("82"), QM("83"),QMFK("84"),DM("85"),DMFK("86"), - WC("99")//完成 + PK("81",81),PKFK("82",82), QM("83",83),QMFK("84",84) + ,DM("85",85),DMFK("86",86), + WC("99",99)//完成 ; @Getter public String code; + @Getter + public Integer computeCode; + + public static ZyjhzxEnum getEnumByCode(String code){ + for (ZyjhzxEnum em:ZyjhzxEnum.values()){ + if (em.code.equals(code)){ + return em; + } + } + return null; + } } } 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 20fa1f1..bfb766d 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 @@ -41,6 +41,50 @@ public class ZyjhController { private final WebSocketService webSocketService; + /** + * 根据状态或班组长,获取作业计划,用于报工 + */ + @GetMapping("getYdjhByZtOrForeman") + public ResultBean getYdjhByZtOrForeman(String zt,String foreman){ + List list = zyjhService.getYdjhByZtOrForeman(zt, foreman); + return new ResultBean<>(list); + } + + /** + * 按状态获取可派工作业计划的批次信息 + */ + @GetMapping("getYdjhByZt") + public ResultBean getYdjhByZt(String zt,String wgzt,String wclzt){ + return new ResultBean<>(zyjhService.getYdjhByZt(zt,wgzt,wclzt)); + } + + /** + * 按批次向班组长派工 + */ + @PostMapping("pgWithForeman") + public ResultBean pgWithForeman(@RequestBody List list){ + for (PgWithPcDto pgWithPcDto : list) { + zyjhService.pgWithForeman(pgWithPcDto); + } + return new ResultBean<>(); + } + + /** + * 根据工人获取班组长人员信息 + */ + @GetMapping("getForemanByWorker") + public ResultBean getForemanByWorker(String worker){ + return new ResultBean<>(zyjhService.getForemanByWorker(worker)); + } + + /** + * 根据作业区获取班组长人员信息 + */ + @GetMapping("getForeman") + public ResultBean getForeman(String zyq){ + return new ResultBean<>(zyjhService.getForeman(zyq)); + } + /** * 作业计划执行,派工&反馈 */ diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/PgWithPcDto.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/PgWithPcDto.java new file mode 100644 index 0000000..2b06e53 --- /dev/null +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/PgWithPcDto.java @@ -0,0 +1,15 @@ +package com.dsic.gj_erp.controller.zyjh.dto; + +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class PgWithPcDto { + String foremanId; + String foremanName; + String dcCh; + String dcPl; + String zt; + String zxZtName; +} 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 d70e161..3c05854 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 @@ -65,4 +65,6 @@ public interface DmYdjhMapper extends BaseMapper { List getydjhhz(Map map); List> getWcl(); + + List> getYdjhByZt(String zt,String wgzt,String wclzt); } 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 c9ab06b..3fc90e2 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 @@ -3,16 +3,22 @@ package com.dsic.gj_erp.service.zyjh; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.dsic.gj_erp.bean.jcsj.DmBzry; import com.dsic.gj_erp.bean.jcsj.DmCbxxp; import com.dsic.gj_erp.bean.jhgk.DmYdjh; +import com.dsic.gj_erp.controller.zyjh.dto.PgWithPcDto; import com.dsic.gj_erp.controller.zyjh.dto.ShangLiao; import com.dsic.gj_erp.mapper.jhgk.DmYdjhMapper; +import com.dsic.gj_erp.service.jcsj.DmBzryService; import com.dsic.gj_erp.service.jcsj.DmCbxxpService; import com.google.common.collect.ImmutableMap; import lombok.AllArgsConstructor; +import lombok.NonNull; import org.springframework.cache.annotation.Cacheable; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; @@ -26,9 +32,71 @@ import java.util.stream.Collectors; @AllArgsConstructor public class ZyjhService extends ServiceImpl { + private final DmBzryService bzryService; private final DmCbxxpService dmCbxxpService; private final RedisTemplate redisTemplate; + public List getYdjhByZtOrForeman(String zt,String foreman){ + QueryWrapper wrapper = new QueryWrapper() + .lt("zt",62); + + switch (zt){ + case "31": + wrapper.eq("pwpgry",foreman); + break; + case "51": + wrapper.eq("hxpgry",foreman); + break; + case "61": + wrapper.eq("qgpgry",foreman); + break; + } + return list(wrapper); + } + + public List> getYdjhByZt(String zt,String wgzt,String wclzt){ + return baseMapper.getYdjhByZt(zt,wgzt,wclzt); + } + + + public void pgWithForeman(PgWithPcDto dto){ + LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper() + .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");//仅处理未派工的数据 + 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");//仅处理未派工的数据 + } + if ("QGPG".equals(dto.getZxZtName())){ + wrapper.set(DmYdjh::getQgpgrq,pgrq).set(DmYdjh::getQgpgry,dto.getForemanId()); + wrapper.lt(DmYdjh::getZt,"61");//仅处理未派工的数据 + } + break; + } + + this.update(wrapper); + } + + public DmBzry getForemanByWorker(String worker){ + DmBzry one = bzryService.getOne(Wrappers.lambdaQuery().eq(DmBzry::getUserCode, worker)); + if ("1".equals(one.getForeman())){ + return one; + } + return bzryService.getOne(Wrappers.lambdaQuery().eq(DmBzry::getUserCode, one.getForeman())); + } + + public List getForeman(String zyq){ + return bzryService.list(Wrappers.lambdaQuery() + .eq(DmBzry::getForeman, "1").eq(DmBzry::getZyq, zyq)); + } /** * 获取所有未处理批次 */ diff --git a/src/main/resources/mappers/jhgk/DmYdjhMapper.xml b/src/main/resources/mappers/jhgk/DmYdjhMapper.xml index 5172651..2d3e05b 100644 --- a/src/main/resources/mappers/jhgk/DmYdjhMapper.xml +++ b/src/main/resources/mappers/jhgk/DmYdjhMapper.xml @@ -902,5 +902,39 @@ where dc_ch=#{dcch} and dc_pl =#{dcpl} order by dcCh asc ,dcPl desc ,zt + +