123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187 |
- package com.ozs.base.service.impl;
- import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
- import com.baomidou.mybatisplus.core.metadata.IPage;
- import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
- import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
- import com.github.pagehelper.PageHelper;
- import com.github.pagehelper.PageInfo;
- import com.ozs.base.domain.BaseExpert;
- import com.ozs.base.domain.BaseUnitInformation;
- import com.ozs.base.domain.vo.BaseExpertVo;
- import com.ozs.base.mapper.BaseExpertMapper;
- import com.ozs.base.service.BaseExpertService;
- import com.ozs.common.core.domain.AjaxResult;
- import com.ozs.common.enums.*;
- import com.ozs.common.utils.StringUtils;
- import com.ozs.common.utils.bean.BeanUtils;
- import com.ozs.plan.doman.PlanQuarter;
- import com.ozs.plan.doman.ProvisionalPlan;
- import com.ozs.pm.doman.PmDemand;
- import com.ozs.pm.doman.PmDemandExpertRef;
- import com.ozs.pm.doman.vo.responseVo.PmDemandResVo;
- import com.ozs.pm.service.IPmDemandService;
- import com.ozs.pm.service.PmDemandExpertRefService;
- import com.ozs.system.domain.vo.responseVo.SysDeptResponseVo;
- import com.ozs.system.service.ISysDeptService;
- import com.ozs.system.service.ISysDictDataService;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import org.springframework.util.ObjectUtils;
- import java.util.ArrayList;
- import java.util.Date;
- import java.util.List;
- import java.util.Map;
- import java.util.stream.Collectors;
- @Service
- public class BaseExpertServiceImpl extends ServiceImpl<BaseExpertMapper, BaseExpert> implements BaseExpertService {
- @Autowired
- private BaseExpertMapper baseExpertMapper;
- @Autowired
- private PmDemandExpertRefService pmDemandExpertRefService;
- @Autowired
- private IPmDemandService pmDemandService;
- @Autowired
- private ISysDeptService deptService;
- @Autowired
- private ISysDictDataService dictDataService;
- @Override
- public int insertExpert(BaseExpertVo baseExpertVo) {
- // base_unit_information 单位信息表
- if (StringUtils.isNotNull(baseExpertVo.getUnitInformation())) {
- List<BaseUnitInformation> baseUnitInformationList = baseExpertMapper.selectByUnitInformation(baseExpertVo.getUnitInformation());
- if (baseUnitInformationList.size() <= 0) {
- BaseUnitInformation baseUnitInformation = new BaseUnitInformation();
- baseUnitInformation.setUnitName(baseExpertVo.getUnitInformation());
- baseUnitInformation.setCreated(baseExpertVo.getExpertName());
- baseUnitInformation.setCreateTime(new Date());
- Integer i = baseExpertMapper.insertBaseUnitInformation(baseUnitInformation);
- }
- }
- // 区域list转字符串
- if (StringUtils.isNotNull(baseExpertVo.getLocalAreaList())) {
- // String stringFromList = String.join(",", baseExpertVo.getLocalAreaList());
- baseExpertVo.setLocalArea(baseExpertVo.getLocalAreaList().get(baseExpertVo.getLocalAreaList().size() - 1));
- }
- return baseExpertMapper.insertExpert(baseExpertVo);
- }
- @Override
- public int updateSupplierType(BaseExpert baseExpert) {
- LambdaUpdateWrapper<BaseExpert> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
- //eq是指你查询的条件,set是指你修改的值
- lambdaUpdateWrapper
- .eq(BaseExpert::getId, baseExpert.getId())
- .set(BaseExpert::getStatus, baseExpert.getStatus());
- return baseExpertMapper.update(null, lambdaUpdateWrapper);
- }
- @Override
- public AjaxResult selectReviewProject(BaseExpertVo baseExpertVo) {
- // 通过专家ID查询 与专家库关联的采购执行管理ID
- List<Integer> demandIdList = pmDemandExpertRefService.selectByExpertId(baseExpertVo.getId());
- if (ObjectUtils.isEmpty(demandIdList)) {
- return AjaxResult.success(new PageInfo<>(demandIdList));
- }
- List<PmDemand> pmDemandList = pmDemandService.selectByDemandIdList(demandIdList);
- List<PmDemandResVo> pmDemandResponseVoList = changTo(pmDemandList);
- PageHelper.startPage(baseExpertVo.getPageNum().intValue(), baseExpertVo.getPageSize().intValue());
- PageInfo<PmDemandResVo> pageInfo = new PageInfo<>(pmDemandResponseVoList);
- return AjaxResult.success(pageInfo);
- }
- @Override
- public AjaxResult selectExtractionExpert(BaseExpertVo baseExpertVo) {
- // 查询抽取过专家的项目列表
- List<PmDemand> pmDemandList = pmDemandService.selectExtractionExpert(baseExpertVo);
- List<PmDemandResVo> pmDemandResponseVoList = changTo(pmDemandList);
- // 遍历项目 查询专家姓名
- for (PmDemandResVo pmDemandResVo : pmDemandResponseVoList) {
- Long demandId = pmDemandResVo.getDemandId();
- List<String> expertNameList = baseExpertMapper.getExpertNameList(pmDemandResVo.getDemandId());
- String expertNameStr = expertNameList.stream().collect(Collectors.joining(",", "{", "}"));
- pmDemandResVo.setExpertNameStr(expertNameStr);
- }
- PageHelper.startPage(baseExpertVo.getPageNum().intValue(), baseExpertVo.getPageSize().intValue());
- PageInfo<PmDemandResVo> pageInfo = new PageInfo<>(pmDemandResponseVoList);
- return AjaxResult.success(pageInfo);
- }
- @Override
- public List<BaseUnitInformation> getBaseUnitInformationList(){
- List<BaseUnitInformation> baseUnitInformationList = baseExpertMapper.selectByUnitInformation(null);
- return baseUnitInformationList;
- }
- private List<PmDemandResVo> changTo(List<PmDemand> pmDemandList) {
- List<PmDemandResVo> pmDemandResponseVoList = new ArrayList<>();
- if (pmDemandList != null && pmDemandList.size() > 0) {
- for (PmDemand pmDemand1 : pmDemandList) {
- PmDemandResVo vo = new PmDemandResVo();
- BeanUtils.copyProperties(pmDemand1, vo);
- if (vo.getPurchaseDeptId() != null) {
- Map<String, Object> deptMap = deptService.selectDeptById(vo.getPurchaseDeptId());
- if (deptMap != null) {
- SysDeptResponseVo sysDeptResponseVo = (SysDeptResponseVo) deptMap.get("sysDept");
- if (sysDeptResponseVo != null) {
- vo.setPurchaseDeptName(sysDeptResponseVo.getDeptName());
- }
- }
- }
- String purchaseServicesName = dictDataService.selectDictLabel("purchase_services", vo.getPurchaseServices());
- if (StringUtils.isNotEmpty(purchaseServicesName)) {
- vo.setPurchaseServicesName(purchaseServicesName);
- }
- //项目类型
- for (ProjectTypes value : ProjectTypes.values()) {
- if (vo.getProjectType() != null && vo.getProjectType().equals(value.getCode())) {
- vo.setProjectTypeName(value.getInfo());
- break;
- }
- }
- //是否为超限额计划
- for (IsExcess value : IsExcess.values()) {
- if (vo.getIsExcess() != null && vo.getIsExcess().equals(value.getCode())) {
- vo.setIsExcessName(value.getInfo());
- break;
- }
- }
- //采购方式
- for (PlanPurchaseMode value : PlanPurchaseMode.values()) {
- if (vo.getPurchaseMode() != null && vo.getPurchaseMode().equals(value.getCode())) {
- vo.setPurchaseModeName(value.getInfo());
- break;
- }
- }
- //项目属性
- for (ProjectAttribute value : ProjectAttribute.values()) {
- if (vo.getProjectAttr() != null && vo.getProjectAttr().equals(value.getCode())) {
- vo.setProjectAttrName(value.getInfo());
- break;
- }
- }
- //预警状态
- for (WarnStatus value : WarnStatus.values()) {
- if (vo.getWarnStatus() != null && vo.getWarnStatus().equals(value.getCode())) {
- vo.setWarnStatusName(value.getInfo());
- break;
- }
- }
- //项目状态
- for (PmProjectStatus value : PmProjectStatus.values()) {
- if (vo.getProjectStatus() != null && vo.getProjectStatus().equals(value.getCode())) {
- vo.setProjectStatusName(value.getInfo());
- break;
- }
- }
- pmDemandResponseVoList.add(vo);
- }
- }
- return pmDemandResponseVoList;
- }
- }
|