|
@@ -11,6 +11,7 @@ import com.ozs.base.domain.BaseExpert;
|
|
|
import com.ozs.base.service.BaseExpertService;
|
|
|
import com.ozs.common.enums.*;
|
|
|
import com.ozs.common.utils.DateUtils;
|
|
|
+import com.ozs.common.utils.RandomUtil;
|
|
|
import com.ozs.common.utils.StringUtils;
|
|
|
import com.ozs.common.utils.bean.BeanUtils;
|
|
|
import com.ozs.pm.doman.*;
|
|
@@ -39,10 +40,7 @@ import org.springframework.util.ObjectUtils;
|
|
|
* @date 2023-01-16
|
|
|
*/
|
|
|
@Service
|
|
|
-public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> implements IPmDemandService
|
|
|
-{
|
|
|
- @Autowired
|
|
|
- private PmDemandMapper pmDemandMapper;
|
|
|
+public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> implements IPmDemandService {
|
|
|
|
|
|
@Autowired
|
|
|
private IPmDemandEquipService iPmDemandEquipService;
|
|
@@ -79,7 +77,7 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
*/
|
|
|
@Override
|
|
|
public PmDemandResVo selectPmDemandByDemandId(Long demandId,String detailType) {
|
|
|
- PmDemand pmDemand = pmDemandMapper.selectPmDemandByDemandId(demandId);
|
|
|
+ PmDemand pmDemand = this.getById(demandId);
|
|
|
if(pmDemand != null){
|
|
|
PmDemandResVo vo = new PmDemandResVo();
|
|
|
vo.setDemandId(demandId);
|
|
@@ -157,12 +155,12 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
}
|
|
|
|
|
|
if(ProjectTypes.EQUIPMENTTYPE.getCode().equals(pmDemand.getProjectType())){//装备类
|
|
|
- PmDemandEquip obj = new PmDemandEquip();
|
|
|
- obj.setDemandId(demandId);
|
|
|
- List<PmDemandEquip> list = iPmDemandEquipService.selectPmDemandEquipList(obj);
|
|
|
- if(list !=null && list.size() > 0){
|
|
|
+ LambdaQueryWrapper<PmDemandEquip> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ lambdaQueryWrapper.eq(PmDemandEquip::getDemandId,demandId);
|
|
|
+ PmDemandEquip pmDemandEquip = iPmDemandEquipService.getOne(lambdaQueryWrapper);
|
|
|
+ if(pmDemandEquip != null){
|
|
|
PmDemandEquipResVo responseVo = new PmDemandEquipResVo();
|
|
|
- BeanUtils.copyProperties(list.get(0),responseVo);
|
|
|
+ BeanUtils.copyProperties(pmDemandEquip,responseVo);
|
|
|
//采购方式建议
|
|
|
for (ProcurementMethodSuggest value : ProcurementMethodSuggest.values()) {
|
|
|
if (responseVo.getProcurementMethodSuggest() != null && responseVo.getProcurementMethodSuggest().equals(value.getCode())) {
|
|
@@ -179,12 +177,13 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
vo.setPmDemandEquipResVo(responseVo);
|
|
|
}
|
|
|
} else if(ProjectTypes.MATERIALTYPE.getCode().equals(pmDemand.getProjectType())){ //物资类
|
|
|
- PmDemandMaterials obj = new PmDemandMaterials();
|
|
|
- obj.setDemandId(demandId);
|
|
|
- List<PmDemandMaterials> list = iPmDemandMaterialsService.selectPmDemandMaterialsList(obj);
|
|
|
- if(list !=null && list.size() > 0){
|
|
|
+ LambdaQueryWrapper<PmDemandMaterials> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ lambdaQueryWrapper.eq(PmDemandMaterials::getDemandId,demandId);
|
|
|
+ PmDemandMaterials pmDemandMaterials = iPmDemandMaterialsService.getOne(lambdaQueryWrapper);
|
|
|
+
|
|
|
+ if(pmDemandMaterials != null){
|
|
|
PmDemandMaterialsResVo responseVo = new PmDemandMaterialsResVo();
|
|
|
- BeanUtils.copyProperties(list.get(0),responseVo);
|
|
|
+ BeanUtils.copyProperties(pmDemandMaterials,responseVo);
|
|
|
//采购方式建议
|
|
|
for (ProcurementMethodSuggest value : ProcurementMethodSuggest.values()) {
|
|
|
if (responseVo.getProcurementMethodSuggest() != null && responseVo.getProcurementMethodSuggest().equals(value.getCode())) {
|
|
@@ -199,12 +198,13 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
vo.setPmDemandMaterialsResVo(responseVo);
|
|
|
}
|
|
|
} else if(ProjectTypes.SERVICESTYPE.getCode().equals(pmDemand.getProjectType())){//服务类
|
|
|
- PmDemandServe obj = new PmDemandServe();
|
|
|
- obj.setDemandId(demandId);
|
|
|
- List<PmDemandServe> list = iPmDemandServeService.selectPmDemandServeList(obj);
|
|
|
- if(list !=null && list.size() > 0){
|
|
|
+ LambdaQueryWrapper<PmDemandServe> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ lambdaQueryWrapper.eq(PmDemandServe::getDemandId,demandId);
|
|
|
+ PmDemandServe pmDemandServe = iPmDemandServeService.getOne(lambdaQueryWrapper);
|
|
|
+
|
|
|
+ if(pmDemandServe != null){
|
|
|
PmDemandServeResVo responseVo = new PmDemandServeResVo();
|
|
|
- BeanUtils.copyProperties(list.get(0),responseVo);
|
|
|
+ BeanUtils.copyProperties(pmDemandServe,responseVo);
|
|
|
//采购方式建议
|
|
|
for (ProcurementMethodSuggest value : ProcurementMethodSuggest.values()) {
|
|
|
if (responseVo.getProcurementMethodSuggest() != null && responseVo.getProcurementMethodSuggest().equals(value.getCode())) {
|
|
@@ -219,12 +219,12 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
vo.setPmDemandServeResVo(responseVo);
|
|
|
}
|
|
|
} else if(ProjectTypes.PLANTOEXAMINETYPE.getCode().equals(pmDemand.getProjectType())){//工程类
|
|
|
- PmDemandEngineering obj = new PmDemandEngineering();
|
|
|
- obj.setDemandId(demandId);
|
|
|
- List<PmDemandEngineering> list = iPmDemandEngineeringService.selectPmDemandEngineeringList(obj);
|
|
|
- if(list !=null && list.size() > 0){
|
|
|
+ LambdaQueryWrapper<PmDemandEngineering> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ lambdaQueryWrapper.eq(PmDemandEngineering::getDemandId,demandId);
|
|
|
+ PmDemandEngineering pmDemandEngineering = iPmDemandEngineeringService.getOne(lambdaQueryWrapper);
|
|
|
+ if(pmDemandEngineering != null){
|
|
|
PmDemandEngineeringResVo responseVo = new PmDemandEngineeringResVo();
|
|
|
- BeanUtils.copyProperties(list.get(0),responseVo);
|
|
|
+ BeanUtils.copyProperties(pmDemandEngineering,responseVo);
|
|
|
//采购方式建议
|
|
|
for (ProcurementMethodSuggest value : ProcurementMethodSuggest.values()) {
|
|
|
if (responseVo.getProcurementMethodSuggest() != null && responseVo.getProcurementMethodSuggest().equals(value.getCode())) {
|
|
@@ -396,30 +396,6 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
}
|
|
|
|
|
|
|
|
|
- /**
|
|
|
- * 新增采购需求
|
|
|
- *
|
|
|
- * @param pmDemand 采购需求
|
|
|
- * @return 结果
|
|
|
- */
|
|
|
- @Override
|
|
|
- public int insertPmDemand(PmDemand pmDemand) {
|
|
|
- pmDemand.setCreateTime(DateUtils.getNowDate());
|
|
|
- return pmDemandMapper.insertPmDemand(pmDemand);
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 修改采购需求
|
|
|
- *
|
|
|
- * @param pmDemand 采购需求
|
|
|
- * @return 结果
|
|
|
- */
|
|
|
- @Override
|
|
|
- public int updatePmDemand(PmDemand pmDemand) {
|
|
|
- pmDemand.setUpdateTime(DateUtils.getNowDate());
|
|
|
- return pmDemandMapper.updatePmDemand(pmDemand);
|
|
|
- }
|
|
|
-
|
|
|
/**
|
|
|
* 需求建档
|
|
|
*
|
|
@@ -427,22 +403,22 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
* @return 结果
|
|
|
*/
|
|
|
@Override
|
|
|
- public int bookBuilding(PmBookBuildingReqVo vo) {
|
|
|
- PmDemand pmDemand = pmDemandMapper.selectPmDemandByDemandId(vo.getDemandId());
|
|
|
+ public boolean bookBuilding(PmBookBuildingReqVo vo) {
|
|
|
+ PmDemand pmDemand = this.getById(vo.getDemandId());
|
|
|
String projectType = pmDemand.getProjectType();
|
|
|
if(ProjectTypes.EQUIPMENTTYPE.getCode().equals(projectType)){ //装备类
|
|
|
PmDemandEquipReqVo pmDemandEquipReqVo = vo.getPmDemandEquipReqVo();
|
|
|
- PmDemandEquip pmDemandEquipReq = new PmDemandEquip();
|
|
|
- pmDemandEquipReq.setDemandId(vo.getDemandId());
|
|
|
- PmDemandEquip pmDemandEquip = null;
|
|
|
- List<PmDemandEquip> pmDemandEquipList = iPmDemandEquipService.selectPmDemandEquipList(pmDemandEquipReq);
|
|
|
- if(pmDemandEquipList != null && pmDemandEquipList.size() > 0){
|
|
|
- pmDemandEquip = pmDemandEquipList.get(0);
|
|
|
+
|
|
|
+ LambdaQueryWrapper<PmDemandEquip> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ lambdaQueryWrapper.eq(PmDemandEquip::getDemandId,vo.getDemandId());
|
|
|
+ PmDemandEquip pmDemandEquip = iPmDemandEquipService.getOne(lambdaQueryWrapper);
|
|
|
+
|
|
|
+ if(pmDemandEquip != null){
|
|
|
pmDemandEquipReqVo.setDemandEquipId(pmDemandEquip.getDemandEquipId());
|
|
|
BeanUtils.copyProperties(pmDemandEquipReqVo,pmDemandEquip);
|
|
|
pmDemandEquip.setUpdateBy(vo.getUpdateBy());
|
|
|
pmDemandEquip.setUpdateTime(new Date());
|
|
|
- iPmDemandEquipService.updatePmDemandEquip(pmDemandEquip);
|
|
|
+ iPmDemandEquipService.updateById(pmDemandEquip);
|
|
|
} else {
|
|
|
pmDemandEquip = new PmDemandEquip();
|
|
|
BeanUtils.copyProperties(pmDemandEquipReqVo,pmDemandEquip);
|
|
@@ -450,7 +426,7 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
pmDemandEquip.setCreateTime(new Date());
|
|
|
pmDemandEquip.setUpdateBy(vo.getUpdateBy());
|
|
|
pmDemandEquip.setUpdateTime(pmDemandEquip.getCreateTime());
|
|
|
- iPmDemandEquipService.insertPmDemandEquip(pmDemandEquip);
|
|
|
+ iPmDemandEquipService.save(pmDemandEquip);
|
|
|
}
|
|
|
|
|
|
List<SysFileRef> sysFileRefs = pmDemandEquipReqVo.getSysFileRefs();
|
|
@@ -458,17 +434,17 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
|
|
|
} else if(ProjectTypes.MATERIALTYPE.getCode().equals(projectType)) { //物资类
|
|
|
PmDemandMaterialsReqVo pmDemandMaterialsReqVo = vo.getPmDemandMaterialsReqVo();
|
|
|
- PmDemandMaterials pmDemandMaterialsReq = new PmDemandMaterials();
|
|
|
- pmDemandMaterialsReq.setDemandId(vo.getDemandId());
|
|
|
- PmDemandMaterials pmDemandMaterials = null;
|
|
|
- List<PmDemandMaterials> pmDemandMaterialsList = iPmDemandMaterialsService.selectPmDemandMaterialsList(pmDemandMaterialsReq);
|
|
|
- if(pmDemandMaterialsList != null && pmDemandMaterialsList.size() > 0){
|
|
|
- pmDemandMaterials = pmDemandMaterialsList.get(0);
|
|
|
+
|
|
|
+ LambdaQueryWrapper<PmDemandMaterials> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ lambdaQueryWrapper.eq(PmDemandMaterials::getDemandId,vo.getDemandId());
|
|
|
+ PmDemandMaterials pmDemandMaterials = iPmDemandMaterialsService.getOne(lambdaQueryWrapper);
|
|
|
+
|
|
|
+ if(pmDemandMaterials != null){
|
|
|
pmDemandMaterialsReqVo.setDemandMaterialsId(pmDemandMaterials.getDemandMaterialsId());
|
|
|
BeanUtils.copyProperties(pmDemandMaterialsReqVo,pmDemandMaterials);
|
|
|
pmDemandMaterials.setUpdateBy(vo.getUpdateBy());
|
|
|
pmDemandMaterials.setUpdateTime(new Date());
|
|
|
- iPmDemandMaterialsService.updatePmDemandMaterials(pmDemandMaterials);
|
|
|
+ iPmDemandMaterialsService.updateById(pmDemandMaterials);
|
|
|
} else {
|
|
|
pmDemandMaterials = new PmDemandMaterials();
|
|
|
BeanUtils.copyProperties(pmDemandMaterialsReqVo,pmDemandMaterials);
|
|
@@ -476,7 +452,7 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
pmDemandMaterials.setCreateTime(new Date());
|
|
|
pmDemandMaterials.setUpdateBy(vo.getUpdateBy());
|
|
|
pmDemandMaterials.setUpdateTime(pmDemandMaterials.getCreateTime());
|
|
|
- iPmDemandMaterialsService.insertPmDemandMaterials(pmDemandMaterials);
|
|
|
+ iPmDemandMaterialsService.save(pmDemandMaterials);
|
|
|
}
|
|
|
|
|
|
List<SysFileRef> sysFileRefs = pmDemandMaterialsReqVo.getSysFileRefs();
|
|
@@ -484,17 +460,17 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
|
|
|
} else if(ProjectTypes.SERVICESTYPE.getCode().equals(projectType)) { //服务类
|
|
|
PmDemandServeReqVo pmDemandServeReqVo = vo.getPmDemandServeReqVo();
|
|
|
- PmDemandServe pmDemandServeReq = new PmDemandServe();
|
|
|
- pmDemandServeReq.setDemandId(vo.getDemandId());
|
|
|
- PmDemandServe pmDemandServe = null;
|
|
|
- List<PmDemandServe> pmDemandServeList = iPmDemandServeService.selectPmDemandServeList(pmDemandServeReq);
|
|
|
- if(pmDemandServeList != null && pmDemandServeList.size() > 0){
|
|
|
- pmDemandServe = pmDemandServeList.get(0);
|
|
|
+
|
|
|
+ LambdaQueryWrapper<PmDemandServe> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ lambdaQueryWrapper.eq(PmDemandServe::getDemandId,vo.getDemandId());
|
|
|
+ PmDemandServe pmDemandServe = iPmDemandServeService.getOne(lambdaQueryWrapper);
|
|
|
+
|
|
|
+ if(pmDemandServe != null){
|
|
|
pmDemandServeReqVo.setDemandServeId(pmDemandServe.getDemandServeId());
|
|
|
BeanUtils.copyProperties(pmDemandServeReqVo,pmDemandServe);
|
|
|
pmDemandServe.setUpdateBy(vo.getUpdateBy());
|
|
|
pmDemandServe.setUpdateTime(new Date());
|
|
|
- iPmDemandServeService.updatePmDemandServe(pmDemandServe);
|
|
|
+ iPmDemandServeService.updateById(pmDemandServe);
|
|
|
} else {
|
|
|
pmDemandServe = new PmDemandServe();
|
|
|
BeanUtils.copyProperties(pmDemandServeReqVo,pmDemandServe);
|
|
@@ -502,24 +478,24 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
pmDemandServe.setCreateTime(new Date());
|
|
|
pmDemandServe.setUpdateBy(vo.getUpdateBy());
|
|
|
pmDemandServe.setUpdateTime(pmDemandServe.getCreateTime());
|
|
|
- iPmDemandServeService.insertPmDemandServe(pmDemandServe);
|
|
|
+ iPmDemandServeService.save(pmDemandServe);
|
|
|
}
|
|
|
List<SysFileRef> sysFileRefs = pmDemandServeReqVo.getSysFileRefs();
|
|
|
uploadFile(pmDemandServe.getDemandServeId(),SysFileRefEnum.PM_DEMAND_SERVE.getType(),sysFileRefs,vo.getUpdateBy());
|
|
|
|
|
|
} else if(ProjectTypes.PLANTOEXAMINETYPE.getCode().equals(projectType)) { //工程类
|
|
|
PmDemandEngineeringReqVo pmDemandEngineeringReqVo = vo.getPmDemandEngineeringReqVo();
|
|
|
- PmDemandEngineering pmDemandEngineeringReq = new PmDemandEngineering();
|
|
|
- pmDemandEngineeringReq.setDemandId(vo.getDemandId());
|
|
|
- PmDemandEngineering pmDemandEngineering = null;
|
|
|
- List<PmDemandEngineering> pmDemandEngineeringList = iPmDemandEngineeringService.selectPmDemandEngineeringList(pmDemandEngineeringReq);
|
|
|
- if(pmDemandEngineeringList != null && pmDemandEngineeringList.size() > 0){
|
|
|
- pmDemandEngineering = pmDemandEngineeringList.get(0);
|
|
|
+
|
|
|
+ LambdaQueryWrapper<PmDemandEngineering> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ lambdaQueryWrapper.eq(PmDemandEngineering::getDemandId,vo.getDemandId());
|
|
|
+ PmDemandEngineering pmDemandEngineering = iPmDemandEngineeringService.getOne(lambdaQueryWrapper);
|
|
|
+
|
|
|
+ if(pmDemandEngineering != null){
|
|
|
pmDemandEngineeringReqVo.setDemandEngineeringId(pmDemandEngineering.getDemandEngineeringId());
|
|
|
BeanUtils.copyProperties(pmDemandEngineeringReqVo,pmDemandEngineering);
|
|
|
pmDemandEngineering.setUpdateBy(vo.getUpdateBy());
|
|
|
pmDemandEngineering.setUpdateTime(new Date());
|
|
|
- iPmDemandEngineeringService.updatePmDemandEngineering(pmDemandEngineering);
|
|
|
+ iPmDemandEngineeringService.updateById(pmDemandEngineering);
|
|
|
} else {
|
|
|
pmDemandEngineering = new PmDemandEngineering();
|
|
|
BeanUtils.copyProperties(pmDemandEngineeringReqVo,pmDemandEngineering);
|
|
@@ -527,7 +503,7 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
pmDemandEngineering.setCreateTime(new Date());
|
|
|
pmDemandEngineering.setUpdateBy(vo.getUpdateBy());
|
|
|
pmDemandEngineering.setUpdateTime(pmDemandEngineering.getCreateTime());
|
|
|
- iPmDemandEngineeringService.insertPmDemandEngineering(pmDemandEngineering);
|
|
|
+ iPmDemandEngineeringService.save(pmDemandEngineering);
|
|
|
}
|
|
|
List<SysFileRef> sysFileRefs = pmDemandEngineeringReqVo.getSysFileRefs();
|
|
|
uploadFile(pmDemandEngineering.getDemandEngineeringId(),SysFileRefEnum.PM_DEMAND_ENGINEERING.getType(),sysFileRefs,vo.getUpdateBy());
|
|
@@ -536,7 +512,7 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
|
|
|
pmDemand.setUpdateBy(vo.getUpdateBy());
|
|
|
pmDemand.setUpdateTime(DateUtils.getNowDate());
|
|
|
- return pmDemandMapper.updatePmDemand(pmDemand);
|
|
|
+ return this.updateById(pmDemand);
|
|
|
}
|
|
|
|
|
|
private HashMap<String, String> getFileMap(Long redId,Integer type){
|
|
@@ -566,7 +542,7 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
*/
|
|
|
@Override
|
|
|
public Object viewFlowChart(Long demandId) {
|
|
|
- PmDemand pmDemand = pmDemandMapper.selectPmDemandByDemandId(demandId);
|
|
|
+ PmDemand pmDemand = this.getById(demandId);
|
|
|
String projectStatus = String.valueOf(pmDemand.getProjectStatus());
|
|
|
String moduleName = null;
|
|
|
if (PmProjectStatus.DEMAND_WAIT_FILL.getCode().equals(projectStatus) || PmProjectStatus.DEMAND_AUDIT_RETURN.getCode().equals(projectStatus)) {
|
|
@@ -600,17 +576,17 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
}
|
|
|
|
|
|
public PmFlowChartResVo getModuleInfo(Long demandId,String moduleName){
|
|
|
- PmDemand pmDemand = pmDemandMapper.selectPmDemandByDemandId(demandId);
|
|
|
+ PmDemand pmDemand = this.getById(demandId);
|
|
|
String projectType = pmDemand.getProjectType();
|
|
|
|
|
|
- PmFlowChart pmFlowChartReq = new PmFlowChart();
|
|
|
- pmFlowChartReq.setModuleName(moduleName);
|
|
|
- List<PmFlowChart> pmFlowChartList = iPmFlowChartService.selectPmFlowChartList(pmFlowChartReq);
|
|
|
- if(pmFlowChartList == null || pmFlowChartList.size() ==0){
|
|
|
+ LambdaQueryWrapper<PmFlowChart> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ lambdaQueryWrapper.eq(PmFlowChart::getModuleName,moduleName);
|
|
|
+ PmFlowChart pmFlowChart = iPmFlowChartService.getOne(lambdaQueryWrapper);
|
|
|
+ if(pmFlowChart == null){
|
|
|
return null;
|
|
|
}
|
|
|
PmFlowChartResVo vo = new PmFlowChartResVo();
|
|
|
- BeanUtils.copyProperties(pmFlowChartList.get(0), vo);
|
|
|
+ BeanUtils.copyProperties(pmFlowChart, vo);
|
|
|
|
|
|
if("需求填制".equals(moduleName)) {
|
|
|
HashMap<String, String> fileMap = getFileMap(demandId,SysFileRefEnum.PM_DEMAND.getType());
|
|
@@ -619,41 +595,41 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
}
|
|
|
} else if("需求提交".equals(moduleName)) {
|
|
|
if(ProjectTypes.EQUIPMENTTYPE.getCode().equals(projectType)){ //装备类
|
|
|
- PmDemandEquip pmDemandEquipReq = new PmDemandEquip();
|
|
|
- pmDemandEquipReq.setDemandId(demandId);
|
|
|
- List<PmDemandEquip> pmDemandEquipList = iPmDemandEquipService.selectPmDemandEquipList(pmDemandEquipReq);
|
|
|
- if(pmDemandEquipList != null && pmDemandEquipList.size() > 0){
|
|
|
- HashMap<String, String> fileMap = getFileMap(pmDemandEquipList.get(0).getDemandEquipId(),SysFileRefEnum.PM_DEMAND_EQUIP.getType());
|
|
|
+ LambdaQueryWrapper<PmDemandEquip> pmDemandEquipLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ pmDemandEquipLambdaQueryWrapper.eq(PmDemandEquip::getDemandId,demandId);
|
|
|
+ PmDemandEquip pmDemandEquip = iPmDemandEquipService.getOne(pmDemandEquipLambdaQueryWrapper);
|
|
|
+ if(pmDemandEquip != null){
|
|
|
+ HashMap<String, String> fileMap = getFileMap(pmDemandEquip.getDemandEquipId(),SysFileRefEnum.PM_DEMAND_EQUIP.getType());
|
|
|
if(fileMap != null){
|
|
|
vo.setFileMap(fileMap);
|
|
|
}
|
|
|
}
|
|
|
} else if(ProjectTypes.MATERIALTYPE.getCode().equals(projectType)) { //物资类
|
|
|
- PmDemandMaterials pmDemandMaterialsReq = new PmDemandMaterials();
|
|
|
- pmDemandMaterialsReq.setDemandId(demandId);
|
|
|
- List<PmDemandMaterials> pmDemandMaterialsList = iPmDemandMaterialsService.selectPmDemandMaterialsList(pmDemandMaterialsReq);
|
|
|
- if(pmDemandMaterialsList != null && pmDemandMaterialsList.size() > 0){
|
|
|
- HashMap<String, String> fileMap = getFileMap(pmDemandMaterialsList.get(0).getDemandMaterialsId(),SysFileRefEnum.PM_DEMAND_MATERIALS.getType());
|
|
|
+ LambdaQueryWrapper<PmDemandMaterials> pmDemandMaterialsLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ pmDemandMaterialsLambdaQueryWrapper.eq(PmDemandMaterials::getDemandId,demandId);
|
|
|
+ PmDemandMaterials pmDemandMaterials = iPmDemandMaterialsService.getOne(pmDemandMaterialsLambdaQueryWrapper);
|
|
|
+ if(pmDemandMaterials != null){
|
|
|
+ HashMap<String, String> fileMap = getFileMap(pmDemandMaterials.getDemandMaterialsId(),SysFileRefEnum.PM_DEMAND_MATERIALS.getType());
|
|
|
if(fileMap != null){
|
|
|
vo.setFileMap(fileMap);
|
|
|
}
|
|
|
}
|
|
|
} else if(ProjectTypes.SERVICESTYPE.getCode().equals(projectType)) { //服务类
|
|
|
- PmDemandServe pmDemandServeReq = new PmDemandServe();
|
|
|
- pmDemandServeReq.setDemandId(demandId);
|
|
|
- List<PmDemandServe> pmDemandServeList = iPmDemandServeService.selectPmDemandServeList(pmDemandServeReq);
|
|
|
- if(pmDemandServeList != null && pmDemandServeList.size() > 0){
|
|
|
- HashMap<String, String> fileMap = getFileMap(pmDemandServeList.get(0).getDemandServeId(),SysFileRefEnum.PM_DEMAND_SERVE.getType());
|
|
|
+ LambdaQueryWrapper<PmDemandServe> pmDemandServeLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ pmDemandServeLambdaQueryWrapper.eq(PmDemandServe::getDemandId,demandId);
|
|
|
+ PmDemandServe pmDemandServe = iPmDemandServeService.getOne(pmDemandServeLambdaQueryWrapper);
|
|
|
+ if(pmDemandServe != null){
|
|
|
+ HashMap<String, String> fileMap = getFileMap(pmDemandServe.getDemandServeId(),SysFileRefEnum.PM_DEMAND_SERVE.getType());
|
|
|
if(fileMap != null){
|
|
|
vo.setFileMap(fileMap);
|
|
|
}
|
|
|
}
|
|
|
} else if(ProjectTypes.PLANTOEXAMINETYPE.getCode().equals(projectType)) { //工程类
|
|
|
- PmDemandEngineering pmDemandEngineeringReq = new PmDemandEngineering();
|
|
|
- pmDemandEngineeringReq.setDemandId(demandId);
|
|
|
- List<PmDemandEngineering> pmDemandEngineeringList = iPmDemandEngineeringService.selectPmDemandEngineeringList(pmDemandEngineeringReq);
|
|
|
- if(pmDemandEngineeringList != null && pmDemandEngineeringList.size() > 0){
|
|
|
- HashMap<String, String> fileMap = getFileMap(pmDemandEngineeringList.get(0).getDemandEngineeringId(),SysFileRefEnum.PM_DEMAND_ENGINEERING.getType());
|
|
|
+ LambdaQueryWrapper<PmDemandEngineering> pmDemandEngineeringLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ pmDemandEngineeringLambdaQueryWrapper.eq(PmDemandEngineering::getDemandId,demandId);
|
|
|
+ PmDemandEngineering pmDemandEngineering = iPmDemandEngineeringService.getOne(pmDemandEngineeringLambdaQueryWrapper);
|
|
|
+ if(pmDemandEngineering != null){
|
|
|
+ HashMap<String, String> fileMap = getFileMap(pmDemandEngineering.getDemandEngineeringId(),SysFileRefEnum.PM_DEMAND_ENGINEERING.getType());
|
|
|
if(fileMap != null){
|
|
|
vo.setFileMap(fileMap);
|
|
|
}
|
|
@@ -679,13 +655,13 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
* @return 结果
|
|
|
*/
|
|
|
@Override
|
|
|
- public int commit(PmDemandReqVo pmDemandReqVo) {
|
|
|
+ public boolean commit(PmDemandReqVo pmDemandReqVo) {
|
|
|
PmDemand pmDemand = new PmDemand();
|
|
|
pmDemand.setDemandId(pmDemandReqVo.getDemandId());
|
|
|
pmDemand.setProjectStatus(Long.parseLong(PmProjectStatus.DEMAND_WAIT_AUDIT.getCode()));
|
|
|
pmDemand.setUpdateBy(pmDemandReqVo.getUpdateBy());
|
|
|
pmDemand.setUpdateTime(DateUtils.getNowDate());
|
|
|
- return pmDemandMapper.updatePmDemand(pmDemand);
|
|
|
+ return this.updateById(pmDemand);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -695,7 +671,7 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
* @return 结果
|
|
|
*/
|
|
|
@Override
|
|
|
- public int reviewTo(PmDemandReqVo pmDemandReqVo) {
|
|
|
+ public boolean reviewTo(PmDemandReqVo pmDemandReqVo) {
|
|
|
PmDemand pmDemand = new PmDemand();
|
|
|
pmDemand.setDemandId(pmDemandReqVo.getDemandId());
|
|
|
pmDemand.setProjectStatus(Long.parseLong(PmProjectStatus.TASK_WAIT_RELEASE.getCode()));
|
|
@@ -705,7 +681,7 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
pmDemand.setUpdateBy(pmDemandReqVo.getUpdateBy());
|
|
|
pmDemand.setUpdateTime(DateUtils.getNowDate());
|
|
|
pmDemand.setAuditTime(DateUtils.getNowDate());
|
|
|
- return pmDemandMapper.updatePmDemand(pmDemand);
|
|
|
+ return this.updateById(pmDemand);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -715,7 +691,7 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
* @return 结果
|
|
|
*/
|
|
|
@Override
|
|
|
- public int reviewReturn(PmDemandReqVo pmDemandReqVo) {
|
|
|
+ public boolean reviewReturn(PmDemandReqVo pmDemandReqVo) {
|
|
|
PmDemand pmDemand = new PmDemand();
|
|
|
pmDemand.setDemandId(pmDemandReqVo.getDemandId());
|
|
|
pmDemand.setProjectStatus(Long.parseLong(PmProjectStatus.DEMAND_WAIT_COMMIT.getCode()));
|
|
@@ -723,7 +699,7 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
pmDemand.setUpdateBy(pmDemandReqVo.getUpdateBy());
|
|
|
pmDemand.setUpdateTime(DateUtils.getNowDate());
|
|
|
pmDemand.setAuditTime(DateUtils.getNowDate());
|
|
|
- return pmDemandMapper.updatePmDemand(pmDemand);
|
|
|
+ return this.updateById(pmDemand);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -733,7 +709,7 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
* @return 结果
|
|
|
*/
|
|
|
@Override
|
|
|
- public int releaseTask(PmDemandReqVo pmDemandReqVo) {
|
|
|
+ public boolean releaseTask(PmDemandReqVo pmDemandReqVo) {
|
|
|
PmDemand pmDemand = new PmDemand();
|
|
|
pmDemand.setDemandId(pmDemandReqVo.getDemandId());
|
|
|
pmDemand.setProjectStatus(Long.parseLong(PmProjectStatus.WAIT_SELECT_AGENT.getCode()));
|
|
@@ -743,7 +719,7 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
pmDemand.setUpdateBy(pmDemandReqVo.getUpdateBy());
|
|
|
pmDemand.setUpdateTime(DateUtils.getNowDate());
|
|
|
pmDemand.setAuditTime(DateUtils.getNowDate());
|
|
|
- return pmDemandMapper.updatePmDemand(pmDemand);
|
|
|
+ return this.updateById(pmDemand);
|
|
|
}
|
|
|
|
|
|
|
|
@@ -785,36 +761,38 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
}
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- public boolean insertExpertBatch(PmBaseExpertReqVo pmBaseExpertReqVo) throws Exception {
|
|
|
- PmDemand pmDemand = this.getById(pmBaseExpertReqVo.getDemandId());
|
|
|
+ public boolean insertExpertBatch(PmBaseExpertFillReqVo pmBaseExpertFillReqVo) throws Exception {
|
|
|
+ PmDemand pmDemand = this.getById(pmBaseExpertFillReqVo.getDemandId());
|
|
|
if(ObjectUtils.isEmpty(pmDemand)){
|
|
|
throw new Exception("参数错误");
|
|
|
}
|
|
|
- List<BaseExpert> baseExpertList = pmBaseExpertReqVo.getBaseExpertList();
|
|
|
+ List<BaseExpert> baseExpertList = pmBaseExpertFillReqVo.getBaseExpertList();
|
|
|
List<PmDemandExpertRef> pmDemandExpertRefList = new ArrayList<>();
|
|
|
+ Date now = new Date();
|
|
|
for (BaseExpert baseExpert : baseExpertList) {
|
|
|
if(baseExpert.getStatus().equals(NameListType.WHITE.getCode())){
|
|
|
- throw new Exception("该专家属于黑名单");
|
|
|
+ throw new Exception("该专家(身份证号:" +baseExpert.getIdNumber() + ")属于黑名单");
|
|
|
}
|
|
|
if(pmDemand.getProjectType().equals(baseExpert.getVarietyPurchase())){
|
|
|
- throw new Exception("该专家所属采购品种和项目类型不匹配");
|
|
|
+ throw new Exception("该专家(身份证号:" +baseExpert.getIdNumber() + ")所属采购品种和项目类型不匹配");
|
|
|
}
|
|
|
- if(ObjectUtils.isEmpty(pmDemand.getCreateBy())){
|
|
|
- pmDemand.setCreateBy(pmBaseExpertReqVo.getCreateBy());
|
|
|
- pmDemand.setCreateTime(new Date());
|
|
|
+ if(ObjectUtils.isEmpty(baseExpert.getCreated())){
|
|
|
+ baseExpert.setCreated(pmBaseExpertFillReqVo.getCreateBy());
|
|
|
+ baseExpert.setCreateTime(now);
|
|
|
}
|
|
|
|
|
|
- if(ObjectUtils.isEmpty(pmDemand.getUpdateBy())){
|
|
|
- pmDemand.setUpdateBy(pmBaseExpertReqVo.getUpdateBy());
|
|
|
- pmDemand.setUpdateTime(new Date());
|
|
|
+ if(ObjectUtils.isEmpty(baseExpert.getUpdated())){
|
|
|
+ baseExpert.setUpdated(pmBaseExpertFillReqVo.getUpdateBy());
|
|
|
+ baseExpert.setUpdateTime(now);
|
|
|
}
|
|
|
|
|
|
PmDemandExpertRef pmDemandExpertRef = new PmDemandExpertRef();
|
|
|
pmDemandExpertRef.setDemandId(pmDemand.getDemandId());
|
|
|
pmDemandExpertRef.setExpertId(baseExpert.getId().longValue());
|
|
|
- pmDemandExpertRef.setCreateBy(pmBaseExpertReqVo.getCreateBy());
|
|
|
- pmDemandExpertRef.setCreateTime(new Date());
|
|
|
- pmDemandExpertRef.setUpdateBy(pmBaseExpertReqVo.getCreateBy());
|
|
|
+ pmDemandExpertRef.setCreateBy(pmBaseExpertFillReqVo.getCreateBy());
|
|
|
+ pmDemandExpertRef.setAccessTime(DateUtils.parseDate(pmBaseExpertFillReqVo.getAccessTime()));
|
|
|
+ pmDemandExpertRef.setCreateTime(now);
|
|
|
+ pmDemandExpertRef.setUpdateBy(pmBaseExpertFillReqVo.getCreateBy());
|
|
|
pmDemandExpertRef.setUpdateTime(pmDemandExpertRef.getCreateTime());
|
|
|
pmDemandExpertRefList.add(pmDemandExpertRef);
|
|
|
}
|
|
@@ -824,6 +802,116 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
} else {
|
|
|
return false;
|
|
|
}
|
|
|
+ }
|
|
|
|
|
|
+ public boolean extractExpertBatch(PmBaseExpertExtractReqVo pmBaseExpertExtractReqVo) throws Exception {
|
|
|
+ Integer technicalExpertNumber = pmBaseExpertExtractReqVo.getTechnicalExpertNumber();
|
|
|
+ if(technicalExpertNumber== null){
|
|
|
+ technicalExpertNumber = 0;
|
|
|
+ }
|
|
|
+ Integer economicExpertNumber = pmBaseExpertExtractReqVo.getEconomicExpertNumber();
|
|
|
+ if(economicExpertNumber == null){
|
|
|
+ economicExpertNumber = 0;
|
|
|
+ }
|
|
|
+ Integer legalAffairsExpertNumber = pmBaseExpertExtractReqVo.getLegalAffairsExpertNumber();
|
|
|
+ if(legalAffairsExpertNumber == null){
|
|
|
+ legalAffairsExpertNumber = 0;
|
|
|
+ }
|
|
|
+ Integer spareExpertNumber = pmBaseExpertExtractReqVo.getSpareExpertNumber();
|
|
|
+ if(spareExpertNumber == null){
|
|
|
+ spareExpertNumber = 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ String professional = pmBaseExpertExtractReqVo.getProfessional();
|
|
|
+ if(spareExpertNumber > 0 && ObjectUtils.isEmpty(professional)){
|
|
|
+ throw new Exception("抽取备用专家必须选择专家专业");
|
|
|
+ }
|
|
|
+ String localArea = pmBaseExpertExtractReqVo.getLocalArea();
|
|
|
+ if(spareExpertNumber > 0 && ObjectUtils.isEmpty(localArea)){
|
|
|
+ throw new Exception("抽取备用专家必须选择所在区域");
|
|
|
+ }
|
|
|
+
|
|
|
+ PmDemand pmDemand = this.getById(pmBaseExpertExtractReqVo.getDemandId());
|
|
|
+ if(ObjectUtils.isEmpty(pmDemand)){
|
|
|
+ throw new Exception("参数错误");
|
|
|
+ }
|
|
|
+
|
|
|
+ LambdaQueryWrapper<BaseExpert> lw = new LambdaQueryWrapper<BaseExpert>();
|
|
|
+ lw.eq(BaseExpert::getVarietyPurchase,pmDemand.getProjectType())
|
|
|
+ .eq(BaseExpert::getStatus,NameListType.WHITE.getCode());
|
|
|
+ List<BaseExpert> baseExpertList = baseExpertService.list(lw);
|
|
|
+ if(ObjectUtils.isEmpty(baseExpertList)){
|
|
|
+ throw new Exception("没抽取到符合条件的专家");
|
|
|
+ }
|
|
|
+
|
|
|
+ List<BaseExpert> technicalExpertList = new ArrayList<>();
|
|
|
+ List<BaseExpert> economicExpertList = new ArrayList<>();
|
|
|
+ List<BaseExpert> legalAffairsExpertList = new ArrayList<>();
|
|
|
+ List<BaseExpert> spareExpertList = new ArrayList<>();
|
|
|
+
|
|
|
+ for(BaseExpert baseExpert : baseExpertList){
|
|
|
+ if(technicalExpertNumber > 0) {
|
|
|
+ if(ExpertType.TECHNICAL_EXPERT.getCode().equals(baseExpert.getExpertType())){
|
|
|
+ technicalExpertList.add(baseExpert);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if(economicExpertNumber > 0) {
|
|
|
+ if(ExpertType.ECONOMIC_EXPERT.getCode().equals(baseExpert.getExpertType())){
|
|
|
+ economicExpertList.add(baseExpert);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if (legalAffairsExpertNumber > 0) {
|
|
|
+ if(ExpertType.LEGALAFFAIRS_EXPERT.getCode().equals(baseExpert.getExpertType())){
|
|
|
+ legalAffairsExpertList.add(baseExpert);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if (spareExpertNumber > 0) {
|
|
|
+ String[] arr = professional.split(",");
|
|
|
+ List<String> professionalList = Arrays.asList(arr);
|
|
|
+ String majorType = baseExpert.getMajorType();
|
|
|
+ //TODO 所在区域判读
|
|
|
+
|
|
|
+ if(!ObjectUtils.isEmpty(majorType)){
|
|
|
+ if(professionalList.contains(majorType)){
|
|
|
+ spareExpertList.add(baseExpert);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ List<BaseExpert> alltExpertList = new ArrayList<>();
|
|
|
+ if(!ObjectUtils.isEmpty(technicalExpertList)){
|
|
|
+ alltExpertList.addAll(RandomUtil.getRandomList(technicalExpertList,technicalExpertNumber));
|
|
|
+ }
|
|
|
+ if(!ObjectUtils.isEmpty(economicExpertList)){
|
|
|
+ alltExpertList.addAll(RandomUtil.getRandomList(economicExpertList,economicExpertNumber));
|
|
|
+ }
|
|
|
+ if(!ObjectUtils.isEmpty(legalAffairsExpertList)){
|
|
|
+ alltExpertList.addAll(RandomUtil.getRandomList(legalAffairsExpertList,legalAffairsExpertNumber));
|
|
|
+ }
|
|
|
+ if(!ObjectUtils.isEmpty(spareExpertList)){
|
|
|
+ alltExpertList.addAll(RandomUtil.getRandomList(spareExpertList,spareExpertNumber));
|
|
|
+ }
|
|
|
+
|
|
|
+ if(ObjectUtils.isEmpty(alltExpertList)){
|
|
|
+ throw new Exception("没抽取到符合条件的专家");
|
|
|
+ } else {
|
|
|
+ List<PmDemandExpertRef> pmDemandExpertRefList = new ArrayList<>();
|
|
|
+ for(BaseExpert baseExpert :alltExpertList ) {
|
|
|
+ PmDemandExpertRef pmDemandExpertRef = new PmDemandExpertRef();
|
|
|
+ pmDemandExpertRef.setDemandId(pmDemand.getDemandId());
|
|
|
+ pmDemandExpertRef.setExpertId(baseExpert.getId().longValue());
|
|
|
+ pmDemandExpertRef.setCreateBy(pmBaseExpertExtractReqVo.getCreateBy());
|
|
|
+ pmDemandExpertRef.setAccessTime(DateUtils.parseDate(pmBaseExpertExtractReqVo.getAccessTime()));
|
|
|
+ pmDemandExpertRef.setCreateTime(new Date());
|
|
|
+ pmDemandExpertRef.setUpdateBy(pmBaseExpertExtractReqVo.getCreateBy());
|
|
|
+ pmDemandExpertRef.setUpdateTime(pmDemandExpertRef.getCreateTime());
|
|
|
+ pmDemandExpertRefList.add(pmDemandExpertRef);
|
|
|
+ }
|
|
|
+ return pmDemandExpertRefService.saveBatch(pmDemandExpertRefList);
|
|
|
+ }
|
|
|
}
|
|
|
}
|