wangliang 1 год назад
Родитель
Сommit
179ee1e40e

+ 25 - 5
sop-business/src/main/java/com/qmth/sop/business/service/impl/TBSopInfoServiceImpl.java

@@ -470,8 +470,18 @@ public class TBSopInfoServiceImpl extends ServiceImpl<TBSopInfoMapper, TBSopInfo
                                 || f.getOperator() == FormWidgetMetadataOperator.NOT_IN) {
                             conditionJoin.add(f.getFieldId()).add(f.getOperator().getCode()).add(f.getFieldValue());
                         } else {
-                            conditionJoin.add(f.getFieldId()).add(f.getOperator().getCode()).add("'")
-                                    .add(f.getFieldValue()).add("'");
+                            if (f.getFieldValue().startsWith("[")) {
+                                String fieldValueCover = f.getFieldValue().replaceAll("\\[", "").replaceAll("\\]", "")
+                                        .replaceAll(", ", ",");
+                                conditionJoin.add(sopInfoListParam.getFormWidgetMetadataOperation().getCode())
+                                        .add(f.getFieldId()).add(f.getOperator() == FormWidgetMetadataOperator.EQ ?
+                                                FormWidgetMetadataOperator.IN.getCode() :
+                                                FormWidgetMetadataOperator.NOT_IN.getCode()).add("(").add(fieldValueCover)
+                                        .add(")").add("\r\n");
+                            } else {
+                                conditionJoin.add(f.getFieldId()).add(f.getOperator().getCode()).add("'")
+                                        .add(f.getFieldValue()).add("'");
+                            }
                         }
                         if (y < formWidgetMetadataParamList.size() - 1) {
                             conditionJoin.add(FormWidgetMetadataOperation.OR.getCode());
@@ -491,9 +501,19 @@ public class TBSopInfoServiceImpl extends ServiceImpl<TBSopInfoMapper, TBSopInfo
                                     .add(f.getFieldId()).add(f.getOperator().getCode()).add(f.getFieldValue())
                                     .add("\r\n");
                         } else {
-                            stringJoinerCondition.add(sopInfoListParam.getFormWidgetMetadataOperation().getCode())
-                                    .add(f.getFieldId()).add(f.getOperator().getCode()).add("'").add(f.getFieldValue())
-                                    .add("'").add("\r\n");
+                            if (f.getFieldValue().startsWith("[")) {
+                                String fieldValueCover = f.getFieldValue().replaceAll("\\[", "").replaceAll("\\]", "")
+                                        .replaceAll(", ", ",");
+                                stringJoinerCondition.add(sopInfoListParam.getFormWidgetMetadataOperation().getCode())
+                                        .add(f.getFieldId()).add(f.getOperator() == FormWidgetMetadataOperator.EQ ?
+                                                FormWidgetMetadataOperator.IN.getCode() :
+                                                FormWidgetMetadataOperator.NOT_IN.getCode()).add("(").add(fieldValueCover)
+                                        .add(")").add("\r\n");
+                            } else {
+                                stringJoinerCondition.add(sopInfoListParam.getFormWidgetMetadataOperation().getCode())
+                                        .add(f.getFieldId()).add(f.getOperator().getCode()).add("'")
+                                        .add(f.getFieldValue()).add("'").add("\r\n");
+                            }
                         }
                     }
                 }

+ 3 - 1
sop-business/src/main/resources/mapper/SysUserMapper.xml

@@ -235,7 +235,7 @@
         a.org_id orgId,
         b.name orgName
         FROM sys_user a
-        join sys_org b on a.org_id = b.id
+        left join sys_org b on a.org_id = b.id
         <where>
             <if test="userInfo != null and userInfo != ''">
                 and (a.login_name like concat('%', #{userInfo} , '%') or a.real_name like concat('%', #{userInfo} , '%') or a.mobile_number like concat('%', #{userInfo} , '%'))
@@ -249,7 +249,9 @@
             <if test="enable != null and enable != '' or enable == 0">
                 and a.enable = #{enable}
             </if>
+            <if test="userInfo == null or userInfo == ''">
                 and a.source = 'SYSTEM'
+            </if>
         </where>
         order by a.update_time desc
     </select>