|
@@ -80,6 +80,7 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
private final ITextdictInfoService textDictInfoService;
|
|
|
private final IFormulaDataBlockService formulaDataBlockService;
|
|
|
private final IExcelTabService excelTabService;
|
|
|
+ private final IWbsInfoService wbsInfoService;
|
|
|
|
|
|
private TableElementConverter tec;
|
|
|
public final static String WP="WP";
|
|
@@ -169,9 +170,11 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
/*表格名称*/
|
|
|
List<AppWbsTreeContractVO> tableList =wbsTreeContractService.searchNodeAllTable(one.getPkId().toString(), "1", tec.getContractId().toString(),tec.getProjectId().toString());
|
|
|
tec.constantMap.put(TABLE_LIST,tableList);
|
|
|
- /*通过判断元素名称来确定,加入汇总公式延后执行*/
|
|
|
- /*tec.constantMap.put("tableNames",tableList.stream().filter(e->StringUtils.isEquals(e.getIsBussShow(),1)).map(WbsTreeContract::getNodeName).collect(Collectors.toList()));*/
|
|
|
+ /*监表质量附件,过滤掉隐藏表格*/
|
|
|
+ tec.constantMap.put("tableNames",tableList.stream().filter(e->StringUtils.isEquals(e.getIsBussShow(),1)).map(WbsTreeContract::getNodeName).collect(Collectors.toList()));
|
|
|
+/*
|
|
|
tec.constantMap.put("tableNames",tableList.stream().map(WbsTreeContract::getNodeName).collect(Collectors.toList()));
|
|
|
+*/
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -486,11 +489,11 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
public Map<String,Object> getWpMap(CurrentNode currentNode){
|
|
|
Map<String,Object> result = new HashMap<>(100);
|
|
|
List<WbsParam> total = new ArrayList<>();
|
|
|
- List<WbsParam> wpsPublic = this.wpService.list(Wrappers.<WbsParam>lambdaQuery().eq(WbsParam::getNodeId,currentNode.getId()).eq(WbsParam::getType,1));
|
|
|
+ List<WbsParam> wpsPublic = this.wpService.list(Wrappers.<WbsParam>lambdaQuery().eq(WbsParam::getNodeId,currentNode.getWbsNodeId()).eq(WbsParam::getType,1));
|
|
|
if(Func.isNotEmpty(wpsPublic)){
|
|
|
total.addAll(wpsPublic);
|
|
|
}
|
|
|
- List<WbsParam> wpsPrivate = this.wpService.list(Wrappers.<WbsParam>lambdaQuery().eq(WbsParam::getNodeId,currentNode.getPrivateId()).eq(WbsParam::getType,1));
|
|
|
+ List<WbsParam> wpsPrivate = this.wpService.list(Wrappers.<WbsParam>lambdaQuery().eq(WbsParam::getNodeId,currentNode.getWtpPkeyId()).eq(WbsParam::getType,1));
|
|
|
if(Func.isNotEmpty(wpsPrivate)){
|
|
|
total.addAll(wpsPrivate);
|
|
|
}
|
|
@@ -1240,20 +1243,43 @@ public List<ElementData> setScale(Integer scale,List<ElementData> data){
|
|
|
return Collections.emptyList();
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public WbsTreePrivate getOriginWtp(Long pkeyId) {
|
|
|
+ WbsTreePrivate wtp = this.wbsTreePrivateService.getOne(Wrappers.<WbsTreePrivate>lambdaQuery().eq(WbsTreePrivate::getPKeyId,pkeyId));
|
|
|
+ int i=10;
|
|
|
+ while (i>0) {
|
|
|
+ WbsTreePrivate tmp= this.wbsTreePrivateService.getOne(Wrappers.<WbsTreePrivate>lambdaQuery().eq(WbsTreePrivate::getPKeyId, wtp.getWbsId()));
|
|
|
+ if (tmp == null) {
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ wtp = tmp;
|
|
|
+ i--;
|
|
|
+ }
|
|
|
+ return wtp;
|
|
|
+ }
|
|
|
|
|
|
+ @Override
|
|
|
+ public WbsTreePrivate wtpId(Long pkeyId){
|
|
|
+ WbsTreeContract wtc = this.wbsTreeContractService.getOne(Wrappers.<WbsTreeContract>lambdaQuery().eq(WbsTreeContract::getPKeyId,pkeyId));
|
|
|
+ while (wtc.getOldId()!=null){
|
|
|
+ wtc = this.wbsTreeContractService.getOne(Wrappers.<WbsTreeContract>lambdaQuery().eq(WbsTreeContract::getId,wtc.getOldId()).eq(WbsTreeContract::getContractId,wtc.getContractId()));
|
|
|
+ }
|
|
|
+ return this.wbsTreePrivateService.getOne(Wrappers.<WbsTreePrivate>lambdaQuery().eq(WbsTreePrivate::getId,wtc.getOldId()).eq(WbsTreePrivate::getProjectId,wtc.getProjectId()));
|
|
|
+ }
|
|
|
private List<KeyMapper> listForContract(List<Long> ids,String projectId,String nodeId){
|
|
|
String pkIds=ids.stream().map(String::valueOf).collect(Collectors.joining(","));
|
|
|
List<Map<String,Object>> listMap = listMap(ids,ExecuteType.INSPECTION);
|
|
|
- Map<String,Object> wtpMap= this.jdbcTemplate.queryForMap("select b.id parentId,b.wbs_id wbsId from m_wbs_tree_contract a join m_wbs_tree_private b on (a.id=b.id or a.old_id=b.id ) where a.p_key_id ="+nodeId+" and b.project_id="+projectId+" limit 1");
|
|
|
+ WbsTreePrivate origin =wtpId(Long.parseLong(nodeId));
|
|
|
+ //Map<String,Object> wtpMap= this.jdbcTemplate.queryForMap("select b.id parentId,b.wbs_id wbsId from m_wbs_tree_private b where is_deleted=0 and id="+originId+" and project_id="+projectId);
|
|
|
if(Func.isNotEmpty(listMap)){
|
|
|
/*当前节点的某个元素存在多种作用域的公式,作用域范围越小优先级越高*/
|
|
|
List<KeyMapper> list= listMap.stream().map(m->BeanUtil.toBean(m,KeyMapper.class)).collect(Collectors.toList());
|
|
|
- String nodeIdStr= StringUtils.handleNull(wtpMap.get("parentId"));
|
|
|
+ String nodeIdStr= StringUtils.handleNull(origin.getId());
|
|
|
if(Func.isBlank(nodeIdStr)){
|
|
|
/*暂时这么处理,严格上说要查找到项目级对应的节点*/
|
|
|
nodeIdStr="''";
|
|
|
}
|
|
|
- String wbsId =StringUtils.handleNull(wtpMap.get("wbsId"));
|
|
|
+ String wbsId =StringUtils.handleNull(origin.getWbsId());
|
|
|
if(Func.isBlank(wbsId)){
|
|
|
/*暂时这么处理,严格上说要查找到项目级对应的节点*/
|
|
|
wbsId="''";
|