You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
82 lines
3.3 KiB
Java
82 lines
3.3 KiB
Java
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<BasicSkProjectMapper, BasicSkProjectEntity> {
|
|
|
|
|
|
@Resource
|
|
BasicSkProjectMapper basicSkProjectMapper;
|
|
@Resource
|
|
BasicDestinyRelMapper basicDestinyRelMapper;
|
|
@Resource
|
|
UdiProductService udiProductService;
|
|
@Resource
|
|
BasicDestinyRelService basicDestinyRelService;
|
|
|
|
public List<BasicSkProjectResponse> 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<BasicSkProjectResponse> data = basicSkProjectMapper.filterList(basicSkProjectRequest);
|
|
return data;
|
|
}
|
|
|
|
/**
|
|
* 定数包 -》 产品
|
|
* @param id
|
|
* @return
|
|
*/
|
|
public Boolean generateProduct(Long id) {
|
|
List<Long> pId = new ArrayList<>();
|
|
pId.add(id);
|
|
Map<Long, BigDecimal> 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<BasicSkProjectDetailEntity> selectListByPId(String pId) {
|
|
QueryWrapper<BasicSkProjectDetailEntity> qw = new QueryWrapper<>();
|
|
qw.eq("pId", pId);
|
|
List<BasicSkProjectDetailEntity> basicSkPrescribeItemEntities = basicDestinyRelMapper.selectList(qw);
|
|
return basicSkPrescribeItemEntities;
|
|
}
|
|
}
|