From 4f3a98f19143865cdc1de4791e8a95d96bd40c65 Mon Sep 17 00:00:00 2001 From: maven <2163098428@qq.com> Date: 星期五, 01 八月 2025 13:27:59 +0800 Subject: [PATCH] yys 密码已重置 --- inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsProductServiceImpl.java | 223 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 223 insertions(+), 0 deletions(-) diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsProductServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsProductServiceImpl.java new file mode 100644 index 0000000..2f7409b --- /dev/null +++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsProductServiceImpl.java @@ -0,0 +1,223 @@ +package com.ruoyi.inspect.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.basic.mapper.StandardProductListMapper; +import com.ruoyi.basic.pojo.StandardProductList; +import com.ruoyi.framework.exception.ErrorException; +import com.ruoyi.inspect.dto.InsProductBindingDto; +import com.ruoyi.inspect.mapper.InsOrderMapper; +import com.ruoyi.inspect.mapper.InsProductMapper; +import com.ruoyi.inspect.mapper.InsSampleMapper; +import com.ruoyi.inspect.pojo.InsOrder; +import com.ruoyi.inspect.pojo.InsProduct; +import com.ruoyi.inspect.pojo.InsSample; +import com.ruoyi.inspect.service.InsProductService; +import com.ruoyi.performance.pojo.AuxiliaryOutputWorkingHours; +import lombok.AllArgsConstructor; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import java.util.stream.Collectors; + +@Service +@AllArgsConstructor +@Transactional(rollbackFor = Exception.class) +public class InsProductServiceImpl extends ServiceImpl<InsProductMapper, InsProduct> + implements InsProductService { + + private InsProductMapper insProductMapper; + + private InsOrderMapper insOrderMapper; + + private InsSampleMapper insSampleMapper; + + private StandardProductListMapper standardProductListMapper; + + @Override + public int selectOrderManDay(Integer orderId) { + return insProductMapper.selectOrderManDay(orderId); + } + + @Override + public int updateInspected(Integer id, String ids) { + InsOrder insOrder = new InsOrder(); + insOrder.setId(id); + insOrder.setIsRevocation(1);//闇�瑕佸鏍� + insOrder.setRevocationInsProductIds(ids); + return insOrderMapper.updateById(insOrder); + } + + @Override + public boolean write(InsOrder insOrder) { + insOrderMapper.updateById(insOrder); + return true; + } + + //鏌ヨ寰呮椤圭洰 + @Override + public IPage<InsProduct> selectNoProducts(Page page, InsProduct insProduct, Integer orderId, String ids) { + List<Integer> noIds = null; + if (StringUtils.isNotBlank(ids)) { + noIds = Arrays.asList(ids.split(",")).stream() + .map(Integer::parseInt) + .collect(Collectors.toList()); + } + IPage<InsProduct> insProductIPage = baseMapper.selectNoProducts(page, orderId, noIds); + return insProductIPage; + } + + //瀹℃牳寰呮鎾ら攢 + @Override + public void checkUpdate(Integer orderId, Integer state) { + InsOrder insOrder = insOrderMapper.selectById(orderId); + if (state == 1) { + List<String> list = new ArrayList<>(); + try { + list = Arrays.asList(insOrder.getRevocationInsProductIds().split(",")); + } catch (Exception e) { + throw new ErrorException("杩樻病鏈夐�夋嫨搴旇瑕佹挙閿�鐨勬楠岄」鐩�"); + } + List<Integer> ids = list.stream() + .map(Integer::parseInt) + .collect(Collectors.toList()); + List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, orderId)); + List<Integer> collect = insSamples.stream().map(InsSample::getId).collect(Collectors.toList()); + List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery().eq(InsProduct::getState, 1).in(InsProduct::getInsSampleId, collect)); + if (insProducts.stream().map(InsProduct::getId).collect(Collectors.toList()).equals(ids)) { + //濡傛灉璇ユ楠屽崟涓嬬殑鎵�鏈夐」鐩叏閮ㄩ兘鎾ら攢,閭d箞杩欎釜鍗曞瓙涔熼渶瑕佹挙閿� + insOrder.setState(3); + } else { + List<InsProduct> products = insProductMapper.selectBatchIds(ids); + //棣栧厛鏍规嵁閫夋嫨鐨勯」鐩甶d杩涜鎾ら攢椤圭洰 + updateBatchById(products.stream().map(insProduct -> { + insProduct.setState(0); + return insProduct; + }).collect(Collectors.toList())); + } + //insProductMapper.updateInspected(id); + } + //涓嶉�氳繃 + insOrder.setIsRevocation(0); + insOrderMapper.updateById(insOrder); + + } + + + /** + * 鏍规嵁妫�楠岄」id鏌ヨ妫�楠岄」鏍戜俊鎭� + * @param productId + * @return + */ + @Override + public List<InsProduct> getProductTreeByProductId(Integer productId) { + // 鏌ヨ妫�楠岄」淇℃伅 + InsProduct insProduct = insProductMapper.selectById(productId); + String tree = insProduct.getFactory() + " - " + + insProduct.getLaboratory() + " - " + + insProduct.getSampleType() + " - " + + insProduct.getSample() + " - " + + insProduct.getModel(); + // 鏌ヨ鏍囧噯鏍� + List<StandardProductList> standardProductLists = standardProductListMapper.selectList(Wrappers.<StandardProductList>lambdaQuery() + .eq(StandardProductList::getStandardMethodListId, insProduct.getStandardMethodListId()) + .eq(StandardProductList::getTree, tree)); + + List<InsProduct> insProducts = standardProductLists.stream().map(standardProductList -> { + InsProduct product = new InsProduct(); + BeanUtils.copyProperties(standardProductList, product); + // 闃叉搴忓垪鍖栭敊璇� + product.setTemplate(null); + product.setStyle(null); + return product; + }).sorted((o1, o2) -> (o1.getSort() == null ? 0 : o1.getSort()) + - (o2.getSort() == null ? 0 : o2.getSort())).collect(Collectors.toList()); + return insProducts; + } + + /** + * 鐗规畩妫�楠岄」缁戝畾 + * @param insProductBindingDto + * @return + */ + @Override + public boolean bindingProductTreeByProductId(InsProductBindingDto insProductBindingDto) { + if (insProductBindingDto.getInsProductId() == null) { + throw new ErrorException("缂哄皯妫�楠岄」缁戝畾id"); + } + + List<InsProduct> insProductBindingList = insProductBindingDto.getInsProductBindingList(); + // 鏌ヨ鍘熸湰妫�楠岄」 + InsProduct insProduct = insProductMapper.selectById(insProductBindingDto.getInsProductId()); + + for (InsProduct product : insProductBindingList) { + product.setBindingProductId(insProductBindingDto.getInsProductId()); + product.setAsk(null); + product.setTell(null); + product.setPrice(null); + product.setManHour(null); + product.setSection(null); + // 鍏宠仈鏍囪瘑 + product.setRawMaterialTag(insProduct.getRawMaterialTag()); + product.setRepetitionTag(insProduct.getRepetitionTag()); + product.setInsSampleId(insProduct.getInsSampleId()); + product.setIsBinding(1); + product.setState(1); + } + + // 鍒ゆ柇鏄惁鏄數缂嗘槸鐢电紗闇�瑕佹坊鍔犳墍鏈夌數缂嗗叧鑱斿叧绯� + if (StringUtils.isNotBlank(insProduct.getCableTag())) { + // 鏌ヨ鍏朵粬鐢电紗 + List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery() + .eq(InsProduct::getInsSampleId, insProduct.getInsSampleId()) + .eq(InsProduct::getStructureItemParameterId, insProduct.getStructureItemParameterId()) + .isNotNull(InsProduct::getCableTag)); + for (InsProduct product : insProducts) { + for (InsProduct insProduct1 : insProductBindingList) { + insProduct1.setId(null); + insProduct1.setBindingProductId(product.getId()); + insProduct1.setCableTag(product.getCableTag()); + } + this.saveBatch(insProductBindingList); + } + } else { + this.saveBatch(insProductBindingList); + } + + return true; + } + + /** + * 鍒犻櫎鐗规畩妫�楠岄」缁戝畾淇℃伅 + * @param productId + * @return + */ + @Override + public boolean removeBindingProductTree(Integer productId) { + // 鏌ヨ妫�楠岄」 + InsProduct insProduct = insProductMapper.selectById(productId); + // 鍒ゆ柇鏄惁鏄數缂嗛厤缃�, 闇�瑕佸垹闄ゅ叧鑱旂殑鎵�鏈夌殑妫�楠岄」 + if (StringUtils.isNotBlank(insProduct.getCableTag())) { + insProductMapper.delete(Wrappers.<InsProduct>lambdaQuery() + .eq(InsProduct::getInsSampleId, insProduct.getInsSampleId()) + .eq(InsProduct::getIsBinding, 1) + .isNotNull(InsProduct::getBindingProductId) + .eq(InsProduct::getStructureItemParameterId, insProduct.getStructureItemParameterId()) + .isNotNull(InsProduct::getCableTag)); + } else { + insProductMapper.deleteById(productId); + } + return false; + } + + +} + + + + -- Gitblit v1.9.3