diff --git a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdTzjhController.java b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdTzjhController.java index 962348a..846dde9 100644 --- a/src/main/java/com/dsic/gj_erp/controller/pgd/PgdTzjhController.java +++ b/src/main/java/com/dsic/gj_erp/controller/pgd/PgdTzjhController.java @@ -1,15 +1,21 @@ package com.dsic.gj_erp.controller.pgd; +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.toolkit.Wrappers; import com.dsic.gj_erp.annotation.AuthFunction; import com.dsic.gj_erp.bean.ResultBean; +import com.dsic.gj_erp.bean.jcsj.DmBclqjbp; import com.dsic.gj_erp.bean.jcsj.DmCbxxp; import com.dsic.gj_erp.bean.jcsj.DmDwxxp; import com.dsic.gj_erp.bean.jcsj.EmSbjgry; +import com.dsic.gj_erp.bean.jhgk.DmTzjh; import com.dsic.gj_erp.bean.pgd.PgdTzjh; import com.dsic.gj_erp.exception.CustomException; +import com.dsic.gj_erp.service.jcsj.DmBclqjbpService; +import com.dsic.gj_erp.service.jcsj.DmBclqmxpService; import com.dsic.gj_erp.service.jcsj.DmCbxxpService; import com.dsic.gj_erp.service.jcsj.EmSbjgryService; import com.dsic.gj_erp.service.jcsj.impl.DmDwxxpService; @@ -19,9 +25,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; +import java.util.stream.Collectors; /** *

@@ -51,7 +56,18 @@ public class PgdTzjhController { @Autowired SYService syService; - + /** + * 检查板材领取表,套料图是否导入,如果已经导入更新图纸计划为已反馈 + * @param list + * @return + */ + @AuthFunction + @PostMapping("checkTz") + public ResultBean checkTz(@RequestBody List list,HttpServletRequest request){ + String username= (String) request.getAttribute("yhms"); + pgdTzjhService.updateForCheck(list,username); + return new ResultBean<>(); + } diff --git a/src/main/java/com/dsic/gj_erp/service/pgd/PgdTzjhService.java b/src/main/java/com/dsic/gj_erp/service/pgd/PgdTzjhService.java index 3f22ab2..ed0483d 100644 --- a/src/main/java/com/dsic/gj_erp/service/pgd/PgdTzjhService.java +++ b/src/main/java/com/dsic/gj_erp/service/pgd/PgdTzjhService.java @@ -19,4 +19,5 @@ public interface PgdTzjhService extends IService { void saveTzjhPgdXd(List tzjhs, HttpServletRequest request); void saveTzjhPgdFk(List tzjhs, HttpServletRequest request); void saveTzjhPgdXdBack(List tzjhs, HttpServletRequest request); + void updateForCheck(List list,String username); } diff --git a/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdTzjhServiceImpl.java b/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdTzjhServiceImpl.java index f37597e..9a8c273 100644 --- a/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdTzjhServiceImpl.java +++ b/src/main/java/com/dsic/gj_erp/service/pgd/impl/PgdTzjhServiceImpl.java @@ -1,17 +1,27 @@ package com.dsic.gj_erp.service.pgd.impl; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjUtil; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.dsic.gj_erp.bean.jcsj.DmBchxjbp; +import com.dsic.gj_erp.bean.jcsj.DmBclqjbp; import com.dsic.gj_erp.bean.pgd.PgdTzjh; import com.dsic.gj_erp.mapper.pgd.PgdTzjhMapper; +import com.dsic.gj_erp.service.jcsj.DmBchxjbpService; +import com.dsic.gj_erp.service.jcsj.DmBclqjbpService; import com.dsic.gj_erp.service.pgd.PgdTzjhService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.AllArgsConstructor; import lombok.Data; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.servlet.http.HttpServletRequest; import java.util.ArrayList; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** *

@@ -22,8 +32,12 @@ import java.util.List; * @since 2023-11-13 */ @Service +@AllArgsConstructor public class PgdTzjhServiceImpl extends ServiceImpl implements PgdTzjhService { + private final DmBclqjbpService dmBclqjbpService; + private final DmBchxjbpService dmBchxjbpService; + @Transactional(rollbackFor = Exception.class) @Override @@ -71,4 +85,51 @@ public class PgdTzjhServiceImpl extends ServiceImpl impl }); this.updateBatchById(ups); } + + /** + * 根据板材领取表和板材套料图,检查并更新图纸计划派工单完成情况 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public void updateForCheck(List list,String username) { + Map> map = list.stream() + .collect(Collectors.groupingBy(item -> item.getCzbh() + "_" + item.getPl())); + + List updateList=new ArrayList<>(); + map.forEach((key,val)->{ + List tmpList=new ArrayList<>(); + String czbh=key.split("_")[0]; + String pl=key.split("_")[1]; + + List list1 = dmBclqjbpService.list(Wrappers.lambdaQuery() + .eq(DmBclqjbp::getDcCh, czbh) + .eq(DmBclqjbp::getDcPl, pl) + ); + if (ObjUtil.isNotEmpty(list1)){ + for(DmBclqjbp dmBclqjbp : list1){ + for (PgdTzjh pgdTzjh : val){ + if (dmBclqjbp.getDcFd().contains(pgdTzjh.getFd())){ + PgdTzjh updateData = new PgdTzjh(); + updateData.setId(pgdTzjh.getId()); + updateData.setZt("09"); + updateData.setFkrq(dmBclqjbp.getDerq()); + updateData.setFkry(username); + tmpList.add(updateData); + } + } + } + } + if (ObjUtil.isEmpty(tmpList)){ + return; + } + List list2 = dmBchxjbpService.list(Wrappers.lambdaQuery() + .eq(DmBchxjbp::getDcCh, czbh) + .eq(DmBchxjbp::getDcPl, pl) + ); + if (ObjUtil.isNotEmpty(list2)){ + updateList.addAll(tmpList); + } + }); + boolean b = ObjUtil.isNotEmpty(updateList) && this.updateBatchById(updateList, 500); + } }