Browse Source

公式相关

yangyj 2 years ago
parent
commit
821e24fb18

+ 2 - 2
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/FormulaController.java

@@ -160,14 +160,14 @@ public class FormulaController {
     @GetMapping("/detail")
     public R<FormulaBean> detail(FormulaBean f) {
         if(f.getElementId()!=null){
-            StringBuilder sb = new StringBuilder("select b.* from m_element_formula_mapping a INNER JOIN m_formula b on a.formula_id=b.id where a.element_id="+f.getElementId()+" and b.is_deleted=0  and a.scope ="+f.getScope());
+            StringBuilder sb = new StringBuilder("select b.* from m_element_formula_mapping a INNER JOIN m_formula b on a.formula_id=b.id where a.element_id="+f.getElementId()+" and b.is_deleted=0 and a.scope ="+f.getScope());
             if(Func.isNotEmpty(f.getNodeId())){
                 sb.append(" and a.node_id=").append(f.getNodeId());
             }
             if(Func.isNotEmpty(f.getProjectId())){
                 sb.append(" and a.project_id=").append(f.getProjectId());
             }
-            List<Map<String,Object>> listMap = this.jdbcTemplate.queryForList("select b.* from m_element_formula_mapping a INNER JOIN m_formula b on a.formula_id=b.id where a.element_id="+f.getElementId()+" and b.is_deleted=0 and a.scope ="+f.getScope());
+            List<Map<String,Object>> listMap = this.jdbcTemplate.queryForList(sb.toString());
             if(Func.isNotEmpty(listMap)){
                 return R.data(BeanUtil.toBean(listMap.get(0),FormulaBean.class));
             }

+ 1 - 1
blade-service/blade-manager/src/main/java/org/springblade/manager/feign/FormulaClientImpl.java

@@ -33,7 +33,7 @@ public class FormulaClientImpl implements  FormulaClient{
         StringBuilder sb = new StringBuilder();
         try {
             Map<String,String> keysMap = this.excelTabService.getTablbCols(String.valueOf(pkId),null);
-           Long id = this.jdbcTemplate.queryForObject("select d.formula_id from m_wbs_tree_contract a join m_table_info b on a.init_table_name=b.tab_en_name join m_wbs_form_element c on c.f_id=b.id join m_element_formula_mapping d on c.id=d.element_id where a.p_key_id=1613091751017316352 and c.e_key='key_17'  ORDER BY d.scope desc limit 1",Long.class);
+           Long id = this.jdbcTemplate.queryForObject("select d.formula_id from m_wbs_tree_contract a join m_table_info b on a.init_table_name=b.tab_en_name join m_wbs_form_element c on c.f_id=b.id join m_element_formula_mapping d on c.id=d.element_id where a.p_key_id="+pkId+" and c.e_key='"+key+"'  ORDER BY d.scope desc limit 1",Long.class);
           if(Func.isNotEmpty(id)) {
               Formula formula = this.service.getById(id);
               if(Func.isNotEmpty(formula)) {

+ 1 - 1
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/WbsTreeMapper.xml

@@ -373,7 +373,7 @@
         where b.id=#{id} and a.is_deleted=0
     </select>
     <select id="selectFormElements4TableId" resultMap="wbsFormElementMap">
-        select b.id,IF(c.formula_id>0,1,0)globalFormula ,b.e_name,e_type,e_length,e_allow_deviation,e_Inspection_method,CONCAT(a.tab_en_name,':',e_key) as tableElementKey,a.tab_en_name as initTableName from (select * from m_table_info where id=#{id}) a INNER JOIN  m_wbs_form_element b on a.id =b.f_id LEFT JOIN(select element_id ,formula_id from m_element_formula_mapping where scope=1 )c on b.id=c.element_id  where b.is_deleted=0
+        select b.id,IF(c.formula_id>0,1,0)globalFormula ,b.e_name,e_type,e_length,e_allow_deviation,e_Inspection_method,CONCAT(a.tab_en_name,':',e_key) as tableElementKey,a.tab_en_name as initTableName from (select * from m_table_info where id=#{id}) a INNER JOIN  m_wbs_form_element b on a.id =b.f_id LEFT JOIN(select element_id ,formula_id from m_element_formula_mapping where scope=0 )c on b.id=c.element_id  where b.is_deleted=0
     </select>
     <select id="selectPrivateFormElements" resultMap="wbsFormElementMap">
         select  * from m_wbs_form_element a

+ 3 - 2
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsTreeServiceImpl.java

@@ -406,8 +406,8 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
         String elementIds = wbsFormElements.stream().map(WbsFormElement::getId).map(String::valueOf).collect(Collectors.joining(","));
         if (Func.isNotEmpty(elementIds)) {
             /*TYPE==1就是WBS级别*/
-            Integer scopeA=type==1? FormulaBean.WBS_GLOBAL:FormulaBean.PRO_GLOBAL;
-            Integer scopeB=type==1? FormulaBean.WBS_PART:FormulaBean.PRO_PART;
+            Integer scopeA= com.mixsmart.utils.StringUtils.isEquals(type,1)? FormulaBean.WBS_GLOBAL:FormulaBean.PRO_GLOBAL;
+            Integer scopeB=com.mixsmart.utils.StringUtils.isEquals(type,1)? FormulaBean.WBS_PART:FormulaBean.PRO_PART;
             List<Long> longs = this.jdbcTemplate.queryForList("select a.id from m_wbs_form_element a inner join m_element_formula_mapping b on a.id=b.element_id where a.id in(" + elementIds + ") and b.scope="+scopeA, Long.class);
             wbsFormElements.forEach(e -> {
                 e.setGlobalFormula(longs.contains(e.getId()) ? 1 : 0);
@@ -422,6 +422,7 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
 
     @Override
     public List<WbsFormElementVO> selectFormElements4Formula(String id) {
+        /*元素库查询专用*/
         return this.wbsTreeMapper.selectFormElements4TableId(id);
     }