diff --git a/src/main/java/com/dsic/gj_erp/bean/czzj/MpDhsj.java b/src/main/java/com/dsic/gj_erp/bean/czzj/MpDhsj.java index 6d4449c..5b0d5d1 100644 --- a/src/main/java/com/dsic/gj_erp/bean/czzj/MpDhsj.java +++ b/src/main/java/com/dsic/gj_erp/bean/czzj/MpDhsj.java @@ -1,5 +1,8 @@ package com.dsic.gj_erp.bean.czzj; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.dsic.gj_erp.bean.jhgk.DmYdjhLj; import lombok.Getter; import lombok.Setter; @@ -7,6 +10,7 @@ import lombok.Setter; @Setter public class MpDhsj { + @TableId(type = IdType.INPUT) private String dhh; private String wph; @@ -17,7 +21,7 @@ public class MpDhsj { private String gzbm; - private String dhsl; + private Double dhsl; private String cpxql; @@ -50,4 +54,21 @@ public class MpDhsj { private String hxfl; private String dhsl1; + + private String sjksrqg; + + public static MpDhsj of(DmYdjhLj lj,String qgrq,String lph){ + MpDhsj mp = new MpDhsj(); + mp.setDcCh(lj.getCzbh()); + mp.setDcPl(lj.getPl()); + mp.setDcFd(lj.getCzbh()+"="+lj.getFd()); + mp.setDcTh(lj.getTlth()); + mp.setWph(lj.getLjbh()); + mp.setDcTpbh(lj.getLjcz()); + mp.setDcTpmc(lj.getLjgg()); + mp.setSjksrqg(qgrq); + mp.setDhsl(lj.getSl()); + mp.setDcLph(lph); + return mp; + } } 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 6696f45..21700c9 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 @@ -9,7 +9,9 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 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.czzj.MpDhsj; import com.dsic.gj_erp.bean.jhgk.DmYdjh; +import com.dsic.gj_erp.bean.jhgk.DmYdjhLj; import com.dsic.gj_erp.bean.kc.ImCkwpkwp; import com.dsic.gj_erp.bean.zyjh.PwExcel; import com.dsic.gj_erp.bean.zyjh.Ycldw; @@ -35,6 +37,8 @@ import java.io.IOException; import java.lang.reflect.Field; import java.util.ArrayList; import java.util.List; +import java.util.Map; +import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; @RestController @@ -262,22 +266,26 @@ public class ZyjhController { ycldwInfoService.updatePw(dto.getYcldwInfo()); } - //生成零件信息 - list.forEach(item-> zyjhService.createLj(item.getDcCh(),item.getDcPl(),item.getTzbh())); - - //生成质量信息 -// List collect=new ArrayList<>(); -// list.forEach(item -> { -// MpDhsj mpDhsj = new MpDhsj(); -// -// collect.add(mpDhsj); -// }); -// mpDhsjServcie.saveBatch(collect); - wsHandler.sendHXComplete((JSONObject) JSONObject.toJSON(dto.getYcldwInfo())); wsHandler.sendQGComplete((JSONObject) JSONObject.toJSON(dto.getYcldwInfo())); } + //生成零件信息 + for (DmYdjh item : list) { + List ljList = zyjhService.createLj(item.getDcCh(), item.getDcPl(), item.getTzbh()); + //质量跟踪数据 + List collect = new ArrayList<>(); + String date = DateUtil.date().toString("yyyy/MM/dd"); + String mpDhsjDhh = zyjhService.getMpDhsjDhh(); + for (int j = 0; j < ljList.size(); j++) { + DmYdjhLj item2 = ljList.get(j); + MpDhsj mpDhsj = MpDhsj.of(item2, date, item.getSllph()); + String xh = StrUtil.padPre(j + 1 + "", 3, "0"); + mpDhsj.setDhh(mpDhsjDhh+"-"+xh); + collect.add(mpDhsj); + } + mpDhsjServcie.saveBatch(collect); + } } 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 9abeaee..30bdde7 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 @@ -4,6 +4,7 @@ package com.dsic.gj_erp.mapper.jhgk; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.dsic.gj_erp.bean.jhgk.DmSygdMx; import com.dsic.gj_erp.bean.jhgk.DmYdjh; +import com.dsic.gj_erp.bean.jhgk.DmYdjhLj; import com.dsic.gj_erp.bean.pgd.*; import org.apache.ibatis.annotations.MapKey; import org.apache.ibatis.annotations.Param; @@ -38,6 +39,7 @@ public interface DmYdjhMapper extends BaseMapper { int tqlj(List ids); int tqljByInfo(String dcCh,String dcPl,String tzbh); + List getLjInfo(String dcCh,String dcPl,String tzbh); List getTzjh1(@Param("begin") String begin, @Param("end") String end); 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 dac027a..d057162 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 @@ -11,6 +11,7 @@ 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.bean.jhgk.DmYdjhLj; 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; @@ -19,6 +20,7 @@ import com.dsic.gj_erp.service.jcsj.DmCbxxpService; import com.dsic.gj_erp.service.jhgk.DmYdjhLjService; import com.google.common.collect.ImmutableMap; import lombok.AllArgsConstructor; +import lombok.RequiredArgsConstructor; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -28,7 +30,7 @@ import java.util.Map; import java.util.stream.Collectors; @Service -@AllArgsConstructor +@RequiredArgsConstructor public class ZyjhService extends ServiceImpl { private final DmBzryService bzryService; @@ -36,11 +38,32 @@ public class ZyjhService extends ServiceImpl { private final RedisTemplate redisTemplate; private final DmYdjhLjService ljService; + private static final String MPDHSJ_KEY="MPDHSJ"; + + public String getMpDhsjDhh(){ + String date=DateUtil.date().toString("yyyyMMdd"); + Long xh = (Long) redisTemplate.opsForHash().get(MPDHSJ_KEY, date); + if(ObjUtil.isEmpty(xh)){ + redisTemplate.opsForHash().put(MPDHSJ_KEY, date,0); + } + Long increment = redisTemplate.opsForHash().increment(MPDHSJ_KEY, date, 1); + return date+StrUtil.padPre(increment+"",3,"0"); + } + @Transactional(rollbackFor = Exception.class) - public void createLj(String dcCh, String dcPl, String tzbh){ - baseMapper.tqljByInfo(dcCh,dcPl,tzbh); + public List createLj(String dcCh, String dcPl, String tzbh){ + ljService.remove(Wrappers.lambdaQuery() + .eq(DmYdjhLj::getCzbh,dcCh) + .eq(DmYdjhLj::getPl,dcPl) + .eq(DmYdjhLj::getTlth,tzbh) + ); + List ljInfo = baseMapper.getLjInfo(dcCh, dcPl, tzbh); + ljService.saveBatch(ljInfo); + return ljInfo; } + + public List getYdjhByZtOrForeman(Integer zt,String foreman,String zyq){ QueryWrapper wrapper = new QueryWrapper() .ge("zt",11) diff --git a/src/main/resources/mappers/jhgk/DmYdjhMapper.xml b/src/main/resources/mappers/jhgk/DmYdjhMapper.xml index 9e45dcd..729f71c 100644 --- a/src/main/resources/mappers/jhgk/DmYdjhMapper.xml +++ b/src/main/resources/mappers/jhgk/DmYdjhMapper.xml @@ -897,6 +897,50 @@ and dm_ydjh.dc_ch=#{dcCh} and dm_ydjh.dc_pl=#{dcPl} and dm_ydjh.tzbh=#{tzbh} + +