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.
udi-wms-java/src/main/java/com/glxp/api/service/basic/BasicSkProjectService.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;
}
}