package com.glxp.api.service.basic; import cn.hutool.core.collection.CollectionUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.github.pagehelper.PageHelper; import com.glxp.api.dao.basic.BasicDestinyRelMapper; import com.glxp.api.entity.basic.BasicSkPrescribeItemEntity; import com.glxp.api.entity.basic.BasicSkProjectDetailEntity; import com.glxp.api.entity.thrsys.ThrProductsEntity; import com.glxp.api.req.basic.AddProductRequest; import com.glxp.api.req.basic.BasicSkProjectRequest; import com.glxp.api.req.thrsys.FilterThrProductsRequest; import com.glxp.api.res.basic.BasicSkProjectResponse; import com.glxp.api.service.basic.impl.BasicDestinyRelService; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.glxp.api.dao.basic.BasicSkProjectMapper; import com.glxp.api.entity.basic.BasicSkProjectEntity; import javax.annotation.Resource; import java.math.BigDecimal; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @Service public class BasicSkProjectService extends ServiceImpl { @Resource BasicSkProjectMapper basicSkProjectMapper; @Resource BasicDestinyRelMapper basicDestinyRelMapper; @Resource UdiProductService udiProductService; @Resource BasicDestinyRelService basicDestinyRelService; public List filterList(BasicSkProjectRequest basicSkProjectRequest) { if (basicSkProjectRequest == null) { return Collections.emptyList(); } if (basicSkProjectRequest.getPage() != null) { int offset = (basicSkProjectRequest.getPage() - 1) * basicSkProjectRequest.getLimit(); PageHelper.offsetPage(offset, basicSkProjectRequest.getLimit()); } List data = basicSkProjectMapper.filterList(basicSkProjectRequest); return data; } /** * 定数包 -》 产品 * @param id * @return */ public Boolean generateProduct(Long id) { List pId = new ArrayList<>(); pId.add(id); Map priceMap = basicDestinyRelService.sumPriceByRedIds(pId); BigDecimal price = priceMap.get(id); BasicSkProjectEntity basicSkProjectEntity = basicSkProjectMapper.selectById(id); AddProductRequest addProductRequest = new AddProductRequest(); addProductRequest.setName(basicSkProjectEntity.getName()); addProductRequest.setSpec(basicSkProjectEntity.getGgxh()); addProductRequest.setMeasname(basicSkProjectEntity.getUnit()); addProductRequest.setPrice(String.valueOf(price)); addProductRequest.setDestinyType(1);//定数包 addProductRequest.setCode(basicSkProjectEntity.getCode()); udiProductService.addProduct(addProductRequest); return true; } public List selectListByPId(String pId) { QueryWrapper qw = new QueryWrapper<>(); qw.eq("pId", pId); List basicSkPrescribeItemEntities = basicDestinyRelMapper.selectList(qw); return basicSkPrescribeItemEntities; } }