|
@@ -12,11 +12,10 @@ import com.migao.entity.po.User;
|
|
|
import com.migao.entity.vo.req.DemandLibraryInsertReq;
|
|
|
import com.migao.entity.vo.req.DemandLibraryQueryReq;
|
|
|
import com.migao.entity.vo.req.DemandLibraryUpdateReq;
|
|
|
+import com.migao.entity.vo.res.DemandAttachmentRes;
|
|
|
import com.migao.entity.vo.res.DemandLibraryPageQueryRes;
|
|
|
-import com.migao.mapper.DemandAttachmentMapper;
|
|
|
-import com.migao.mapper.DemandLibraryMapper;
|
|
|
-import com.migao.mapper.DictionaryMapper;
|
|
|
-import com.migao.mapper.ProjectMapper;
|
|
|
+import com.migao.entity.vo.res.DemandLibraryQueryRes;
|
|
|
+import com.migao.mapper.*;
|
|
|
import com.migao.service.DemandLibraryService;
|
|
|
import com.migao.util.EntityUtils;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
@@ -26,6 +25,8 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
import java.time.LocalDateTime;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.List;
|
|
|
|
|
|
/**
|
|
|
* @author dingsong
|
|
@@ -42,6 +43,8 @@ public class DemandLibraryServiceImpl extends ServiceImpl<DemandLibraryMapper, D
|
|
|
DictionaryMapper dictionaryMapper;
|
|
|
@Resource
|
|
|
ProjectMapper projectMapper;
|
|
|
+ @Resource
|
|
|
+ FileInfoMapper fileInfoMapper;
|
|
|
|
|
|
@Override
|
|
|
public ResponseBean<?> insert(DemandLibraryInsertReq demandLibrary) {
|
|
@@ -71,8 +74,9 @@ public class DemandLibraryServiceImpl extends ServiceImpl<DemandLibraryMapper, D
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public ResponseBean<?> deleteById(Integer id) {
|
|
|
- DemandLibrary dic = demandLibraryMap.selectById(id);
|
|
|
+ public ResponseBean<?> deleteById(String id) {
|
|
|
+ Integer idInt = Integer.parseInt(id);
|
|
|
+ DemandLibrary dic = demandLibraryMap.selectById(idInt);
|
|
|
dic.setDeleted(1);
|
|
|
demandLibraryMap.updateById(dic);
|
|
|
return ResponseBuilder.ok();
|
|
@@ -109,6 +113,7 @@ public class DemandLibraryServiceImpl extends ServiceImpl<DemandLibraryMapper, D
|
|
|
size = size == null ? 10 : size <= 0 ? 10 : size;
|
|
|
|
|
|
LambdaQueryWrapper<DemandLibrary> dynamicQuery = Wrappers.<DemandLibrary>lambdaQuery();
|
|
|
+ dynamicQuery.isNull(DemandLibrary::getSubProjectId);
|
|
|
dynamicQuery.orderByDesc(DemandLibrary::getSubmitTime);
|
|
|
|
|
|
Page<DemandLibrary> all = demandLibraryMap.selectPage(new Page<>(page, size),dynamicQuery);
|
|
@@ -148,6 +153,7 @@ public class DemandLibraryServiceImpl extends ServiceImpl<DemandLibraryMapper, D
|
|
|
size = size == null ? 10 : size <= 0 ? 10 : size;
|
|
|
|
|
|
LambdaQueryWrapper<DemandLibrary> dynamicQuery = Wrappers.<DemandLibrary>lambdaQuery();
|
|
|
+ dynamicQuery.isNull(DemandLibrary::getSubProjectId);
|
|
|
if(user.getId() != null) {
|
|
|
dynamicQuery.eq(DemandLibrary::getCreateUserId, user.getId());
|
|
|
}
|
|
@@ -178,15 +184,15 @@ public class DemandLibraryServiceImpl extends ServiceImpl<DemandLibraryMapper, D
|
|
|
);
|
|
|
}
|
|
|
|
|
|
- //暂时
|
|
|
@Override
|
|
|
- public ResponseBean<PageBeanOne<DemandLibraryPageQueryRes>> pageQuery(DemandLibraryQueryReq demandLibraryQuery) {
|
|
|
+ public ResponseBean<PageBeanOne<DemandLibraryPageQueryRes>> pageQueryOne(DemandLibraryQueryReq demandLibraryQuery) {
|
|
|
Integer page = demandLibraryQuery.getPage();
|
|
|
page = page == null ? 1 : page <= 0 ? 1 : page;
|
|
|
Integer size = demandLibraryQuery.getSize();
|
|
|
size = size == null ? 10 : size <= 0 ? 10 : size;
|
|
|
|
|
|
LambdaQueryWrapper<DemandLibrary> dynamicQuery = Wrappers.<DemandLibrary>lambdaQuery();
|
|
|
+ dynamicQuery.isNull(DemandLibrary::getSubProjectId);
|
|
|
if(StringUtils.isNotBlank(demandLibraryQuery.getKey())){
|
|
|
//需求编号
|
|
|
dynamicQuery.like(DemandLibrary::getDemandNumber,demandLibraryQuery.getKey());
|
|
@@ -196,12 +202,134 @@ public class DemandLibraryServiceImpl extends ServiceImpl<DemandLibraryMapper, D
|
|
|
//需求内容
|
|
|
LambdaQueryWrapper<DemandLibrary> or2 = or1.or();
|
|
|
or2.like(DemandLibrary::getDemandContent,demandLibraryQuery.getKey());
|
|
|
- //
|
|
|
+ //提交单位
|
|
|
+ LambdaQueryWrapper<DemandLibrary> or3 = or2.or();
|
|
|
+ or3.like(DemandLibrary::getUnitName,demandLibraryQuery.getKey());
|
|
|
+ //提交人
|
|
|
+ LambdaQueryWrapper<DemandLibrary> or4 = or3.or();
|
|
|
+ or4.like(DemandLibrary::getSubmitter,demandLibraryQuery.getKey());
|
|
|
}
|
|
|
|
|
|
- return null;
|
|
|
+ dynamicQuery.orderByDesc(DemandLibrary::getSubmitTime);
|
|
|
+
|
|
|
+ Page<DemandLibrary> all = demandLibraryMap.selectPage(new Page<>(page, size),dynamicQuery);
|
|
|
+ return ResponseBuilderOne.ok(
|
|
|
+ all,
|
|
|
+ element -> {
|
|
|
+ DemandLibraryPageQueryRes dicPageQueryRes = DemandLibraryPageQueryRes
|
|
|
+ .builder()
|
|
|
+ .id(element.getId())
|
|
|
+ .demandNumber(element.getDemandNumber())
|
|
|
+ .demandName(element.getDemandName())
|
|
|
+ .demandContent(element.getDemandContent())
|
|
|
+ .demandClass(dictionaryMapper.selectById(element.getDemandClassId()).getValue())
|
|
|
+ .unitName(element.getUnitName())
|
|
|
+ .demandStatus(element.getDemandStatus() == -1 ? "废除"
|
|
|
+ : element.getDemandStatus() == 0 ? "立项" : "认领")
|
|
|
+ .demandSchedule(element.getDemandSchedule())
|
|
|
+ .associatedProjectId(projectMapper.selectById(element.getAssociatedProjectId()).getName())
|
|
|
+ .submitter(element.getSubmitter())
|
|
|
+ .submitTime(element.getSubmitTime())
|
|
|
+ .deleted(element.getDeleted())
|
|
|
+ .build();
|
|
|
+ return dicPageQueryRes;
|
|
|
+ }
|
|
|
+ );
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public ResponseBean<PageBeanOne<DemandLibraryPageQueryRes>> pageQueryOneById(DemandLibraryQueryReq demandLibraryQuery) {
|
|
|
+ //获取当前登录用户的信息
|
|
|
+ User user = LoginUtils.getUser();
|
|
|
+
|
|
|
+ Integer page = demandLibraryQuery.getPage();
|
|
|
+ page = page == null ? 1 : page <= 0 ? 1 : page;
|
|
|
+ Integer size = demandLibraryQuery.getSize();
|
|
|
+ size = size == null ? 10 : size <= 0 ? 10 : size;
|
|
|
+
|
|
|
+ LambdaQueryWrapper<DemandLibrary> dynamicQuery = Wrappers.<DemandLibrary>lambdaQuery();
|
|
|
+ dynamicQuery.eq(DemandLibrary::getCreateUserId,user.getId());
|
|
|
+ dynamicQuery.isNull(DemandLibrary::getSubProjectId);
|
|
|
+ if(StringUtils.isNotBlank(demandLibraryQuery.getKey())){
|
|
|
+ //需求编号
|
|
|
+ dynamicQuery.like(DemandLibrary::getDemandNumber,demandLibraryQuery.getKey());
|
|
|
+ //需求名称
|
|
|
+ LambdaQueryWrapper<DemandLibrary> or1 = dynamicQuery.or();
|
|
|
+ or1.like(DemandLibrary::getDemandName,demandLibraryQuery.getKey());
|
|
|
+ //需求内容
|
|
|
+ LambdaQueryWrapper<DemandLibrary> or2 = or1.or();
|
|
|
+ or2.like(DemandLibrary::getDemandContent,demandLibraryQuery.getKey());
|
|
|
+ //提交单位
|
|
|
+ LambdaQueryWrapper<DemandLibrary> or3 = or2.or();
|
|
|
+ or3.like(DemandLibrary::getUnitName,demandLibraryQuery.getKey());
|
|
|
+ //提交人
|
|
|
+ LambdaQueryWrapper<DemandLibrary> or4 = or3.or();
|
|
|
+ or4.like(DemandLibrary::getSubmitter,demandLibraryQuery.getKey());
|
|
|
+ }
|
|
|
+
|
|
|
+ dynamicQuery.orderByDesc(DemandLibrary::getSubmitTime);
|
|
|
+
|
|
|
+ Page<DemandLibrary> all = demandLibraryMap.selectPage(new Page<>(page, size),dynamicQuery);
|
|
|
+ return ResponseBuilderOne.ok(
|
|
|
+ all,
|
|
|
+ element -> {
|
|
|
+ DemandLibraryPageQueryRes dicPageQueryRes = DemandLibraryPageQueryRes
|
|
|
+ .builder()
|
|
|
+ .id(element.getId())
|
|
|
+ .demandNumber(element.getDemandNumber())
|
|
|
+ .demandName(element.getDemandName())
|
|
|
+ .demandContent(element.getDemandContent())
|
|
|
+ .demandClass(dictionaryMapper.selectById(element.getDemandClassId()).getValue())
|
|
|
+ .unitName(element.getUnitName())
|
|
|
+ .demandStatus(element.getDemandStatus() == -1 ? "废除"
|
|
|
+ : element.getDemandStatus() == 0 ? "立项" : "认领")
|
|
|
+ .demandSchedule(element.getDemandSchedule())
|
|
|
+ .associatedProjectId(projectMapper.selectById(element.getAssociatedProjectId()).getName())
|
|
|
+ .submitter(element.getSubmitter())
|
|
|
+ .submitTime(element.getSubmitTime())
|
|
|
+ .deleted(element.getDeleted())
|
|
|
+ .build();
|
|
|
+ return dicPageQueryRes;
|
|
|
+ }
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public ResponseBean<DemandLibraryQueryRes> findById(String id) {
|
|
|
+ Integer idInt = Integer.parseInt(id);
|
|
|
+ DemandLibrary demandLibrary = demandLibraryMap.selectById(idInt);
|
|
|
+
|
|
|
+ DemandLibraryQueryRes demandLibraryQueryRes = EntityUtils.copyProperties(demandLibrary,DemandLibraryQueryRes.class);
|
|
|
+ demandLibraryQueryRes.setDemandClass(dictionaryMapper.selectById(demandLibrary.getDemandClassId()).getValue());
|
|
|
+ demandLibraryQueryRes.setDemandStatus(demandLibrary.getDemandStatus() == -1 ? "废除"
|
|
|
+ : demandLibrary.getDemandStatus() == 0 ? "立项" : "认领");
|
|
|
+ demandLibraryQueryRes.setAssociatedProjectId(projectMapper.selectById(demandLibrary.getAssociatedProjectId()).getName());
|
|
|
+
|
|
|
+ //附件
|
|
|
+ LambdaQueryWrapper<DemandAttachment> demands = new LambdaQueryWrapper<> ();
|
|
|
+ demands.eq(DemandAttachment::getDemandId,idInt);
|
|
|
+ List<DemandAttachment> demandAttachmentList = demandAttachmentMapper.selectList(demands);
|
|
|
+
|
|
|
+
|
|
|
+ List<DemandAttachmentRes> dicList = new ArrayList<> ();
|
|
|
+ for(DemandAttachment dic:demandAttachmentList){
|
|
|
+ DemandAttachmentRes demandAttachmentRes = new DemandAttachmentRes();
|
|
|
+ demandAttachmentRes.setId(dic.getId());
|
|
|
+ demandAttachmentRes.setSubmitter(demandLibraryMap.selectById(dic.getDemandId()).getSubmitter());
|
|
|
+ demandAttachmentRes.setCreateTime(demandLibraryMap.selectById(dic.getDemandId()).getSubmitTime());
|
|
|
+ demandAttachmentRes.setName(fileInfoMapper.selectById(dic.getFileId()).getName());
|
|
|
+ dicList.add(demandAttachmentRes);
|
|
|
+ }
|
|
|
+ demandLibraryQueryRes.setDemandA(dicList);
|
|
|
+
|
|
|
+ //子项目
|
|
|
+ LambdaQueryWrapper<DemandLibrary> demandLibraryMap1 = new LambdaQueryWrapper<>();
|
|
|
+ demandLibraryMap1.eq(DemandLibrary::getSubProjectId,idInt);
|
|
|
+ List<DemandLibrary> demandLibraryList = demandLibraryMap.selectList(demandLibraryMap1);
|
|
|
+ demandLibraryQueryRes.setDemandB(demandLibraryList);
|
|
|
+
|
|
|
+ return ResponseBuilder.ok(demandLibraryQueryRes);
|
|
|
+ }
|
|
|
|
|
|
|
|
|
}
|