Przeglądaj źródła

质量问题反馈流程修改

wangliang 1 rok temu
rodzic
commit
984f645064

+ 7 - 0
sop-api/src/main/java/com/qmth/sop/server/api/SysController.java

@@ -296,6 +296,13 @@ public class SysController {
         return ResultUtil.ok(userDtoIPage.getRecords());
     }
 
+    @ApiOperation(value = "获取所有用户(动态表单用)")
+    @RequestMapping(value = "/get_user_list/form_widget", method = RequestMethod.POST)
+    @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = FormWidgetDto.class)})
+    public Result getUserListFormWidget(@ApiParam(value = "用户来源", required = true) @RequestParam UserSourceEnum userSource) {
+        return ResultUtil.ok(sysUserService.queryUser(userSource));
+    }
+
     @ApiOperation(value = "根据角色类型获取所有用户")
     @RequestMapping(value = "/get_user_list_by_role_type", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = UserDto.class)})

BIN
sop-api/src/main/resources/qualityProblemFlow.zip


+ 37 - 0
sop-business/src/main/java/com/qmth/sop/business/bean/dto/FormWidgetDto.java

@@ -0,0 +1,37 @@
+package com.qmth.sop.business.bean.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+
+/**
+ * @Description: 动态表单dto
+ * @Param:
+ * @return:
+ * @Author: wangliang
+ * @Date: 2023/8/7
+ */
+public class FormWidgetDto implements Serializable {
+
+    @ApiModelProperty(value = "值集合")
+    private String value;
+
+    @ApiModelProperty(value = "标签集合")
+    private String label;
+
+    public String getValue() {
+        return value;
+    }
+
+    public void setValue(String value) {
+        this.value = value;
+    }
+
+    public String getLabel() {
+        return label;
+    }
+
+    public void setLabel(String label) {
+        this.label = label;
+    }
+}

+ 1 - 1
sop-business/src/main/java/com/qmth/sop/business/bean/result/FlowFormWidgetResult.java

@@ -28,7 +28,7 @@ public class FlowFormWidgetResult implements Serializable {
     @TableId(value = "id")
     private Long id;
 
-    @ApiModelProperty(value = "编码,TEXT:文本,TEXTAREA:文本域,SELECT:下拉框,RADIO:单选框,CHECKBOX:复选框,DATE:日期,BUTTON:按钮,IMG:图片,VIDEO:视频,AUDIO:音频,FILE:文件,POP_SELECT:弹出选择框,LABEL:标签,TABLE:表格,OTHER:其它")
+    @ApiModelProperty(value = "编码,TEXT:文本,TEXTAREA:文本域,SELECT:下拉框,RADIO:单选框,CHECKBOX:复选框,DATE:日期,BUTTON:按钮,IMG:图片,VIDEO:视频,AUDIO:音频,FILE:文件,LABEL:标签,TABLE:表格,OTHER:其它")
     private WidgetCodeEnum code;
 
     @ApiModelProperty(value = "类型,FORM:表单,TABLE:表格,OTHER:其它")

+ 1 - 1
sop-business/src/main/java/com/qmth/sop/business/bean/result/FlowTdFormWidgetResult.java

@@ -17,7 +17,7 @@ import java.util.Objects;
 @JsonInclude(JsonInclude.Include.NON_NULL)
 public class FlowTdFormWidgetResult implements Serializable {
 
-    @ApiModelProperty(value = "编码,TEXT:文本,TEXTAREA:文本域,SELECT:下拉框,RADIO:单选框,CHECKBOX:复选框,DATE:日期,BUTTON:按钮,IMG:图片,VIDEO:视频,AUDIO:音频,FILE:文件,POP_SELECT:弹出选择框,LABEL:标签,TABLE:表格,OTHER:其它")
+    @ApiModelProperty(value = "编码,TEXT:文本,TEXTAREA:文本域,SELECT:下拉框,RADIO:单选框,CHECKBOX:复选框,DATE:日期,BUTTON:按钮,IMG:图片,VIDEO:视频,AUDIO:音频,FILE:文件,LABEL:标签,TABLE:表格,OTHER:其它")
     private WidgetCodeEnum code;
 
     @ApiModelProperty(value = "绑定字段")

+ 1 - 1
sop-business/src/main/java/com/qmth/sop/business/bean/result/FormWidgetResult.java

@@ -15,7 +15,7 @@ import java.util.Objects;
  */
 public class FormWidgetResult implements Serializable {
 
-    @ApiModelProperty(value = "编码,TEXT:文本,TEXTAREA:文本域,SELECT:下拉框,RADIO:单选框,CHECKBOX:复选框,DATE:日期,BUTTON:按钮,IMG:图片,VIDEO:视频,AUDIO:音频,FILE:文件,POP_SELECT:弹出选择框,LABEL:标签,TABLE:表格,OTHER:其它")
+    @ApiModelProperty(value = "编码,TEXT:文本,TEXTAREA:文本域,SELECT:下拉框,RADIO:单选框,CHECKBOX:复选框,DATE:日期,BUTTON:按钮,IMG:图片,VIDEO:视频,AUDIO:音频,FILE:文件,LABEL:标签,TABLE:表格,OTHER:其它")
     private WidgetCodeEnum code;
 
     @ApiModelProperty(value = "名称")

+ 1 - 1
sop-business/src/main/java/com/qmth/sop/business/entity/TDFormWidget.java

@@ -30,7 +30,7 @@ public class TDFormWidget implements Serializable {
     @ApiModelProperty(value = "主键")
     private Long id;
 
-    @ApiModelProperty(value = "编码,TEXT:文本,NUMBER:数字文本,TEXTAREA:文本域,编码,TEXT:文本,TEXTAREA:文本域,SINGLE_SELECT:单选下拉框,MULTIPLE_SELECT:多选下拉框,RADIO:单选框,CHECKBOX:复选框,DATE:日期,BUTTON:按钮,IMG:图片,VIDEO:视频,AUDIO:音频,FILE:文件,POP_SELECT:弹出选择框,LABEL:标签,TABLE:表格,SIGN:签名,CASCADE_ADDRESS:城市选择控件,OTHER:其它,FORM_GROUP_TITLE:带虚线分割线的标题,ONLE_TITLE:普通标题,独占一行,RADIO_WITH_INPUT:带1个输入框的单选框,DEVICE_IN_TABLE:设备入库表格,DEVICE_OUT_TABLE:设备出库表格,RADIO:单选框,CHECKBOX:复选框,DATE:日期,BUTTON:按钮,IMG:图片,VIDEO:视频,AUDIO:音频,FILE:文件,POP_SELECT:弹出选择框,LABEL:标签,TABLE:表格,SIGN:签名,CASCADE_ADDRESS:城市选择控件,OTHER:其它,FORM_GROUP_TITLE:带虚线分割线的标题,ONLE_TITLE:普通标题,独占一行,RADIO_WITH_INPUT:带1个输入框的单选框,DEVICE_IN_TABLE:设备入库表格,DEVICE_OUT_TABLE:设备出库表格")
+    @ApiModelProperty(value = "编码,TEXT:文本,NUMBER:数字文本,TEXTAREA:文本域,编码,TEXT:文本,TEXTAREA:文本域,SINGLE_SELECT:单选下拉框,MULTIPLE_SELECT:多选下拉框,RADIO:单选框,CHECKBOX:复选框,DATE:日期,BUTTON:按钮,IMG:图片,VIDEO:视频,AUDIO:音频,FILE:文件,LABEL:标签,TABLE:表格,SIGN:签名,CASCADE_ADDRESS:城市选择控件,OTHER:其它,FORM_GROUP_TITLE:带虚线分割线的标题,ONLE_TITLE:普通标题,独占一行,RADIO_WITH_INPUT:带1个输入框的单选框,DEVICE_IN_TABLE:设备入库表格,DEVICE_OUT_TABLE:设备出库表格,RADIO:单选框,CHECKBOX:复选框,DATE:日期,BUTTON:按钮,IMG:图片,VIDEO:视频,AUDIO:音频,FILE:文件,LABEL:标签,TABLE:表格,SIGN:签名,CASCADE_ADDRESS:城市选择控件,OTHER:其它,FORM_GROUP_TITLE:带虚线分割线的标题,ONLE_TITLE:普通标题,独占一行,RADIO_WITH_INPUT:带1个输入框的单选框,DEVICE_IN_TABLE:设备入库表格,DEVICE_OUT_TABLE:设备出库表格")
     private WidgetCodeEnum code;
 
     @ApiModelProperty(value = "类型,FORM:表单,TABLE:表格,OTHER:其它")

+ 1 - 1
sop-business/src/main/java/com/qmth/sop/business/entity/TDFormWidgetMetadata.java

@@ -41,7 +41,7 @@ public class TDFormWidgetMetadata implements Serializable {
     @NotNull(message = "流程版本号不能为空")
     private Integer version;
 
-    @ApiModelProperty(value = "编码,TEXT:文本,NUMBER:数字文本,TEXTAREA:文本域,编码,TEXT:文本,TEXTAREA:文本域,SINGLE_SELECT:单选下拉框,MULTIPLE_SELECT:多选下拉框,RADIO:单选框,CHECKBOX:复选框,DATE:日期,BUTTON:按钮,IMG:图片,VIDEO:视频,AUDIO:音频,FILE:文件,POP_SELECT:弹出选择框,LABEL:标签,TABLE:表格,SIGN:签名,CASCADE_ADDRESS:城市选择控件,OTHER:其它,FORM_GROUP_TITLE:带虚线分割线的标题,ONLE_TITLE:普通标题,独占一行,RADIO_WITH_INPUT:带1个输入框的单选框,DEVICE_IN_TABLE:设备入库表格,DEVICE_OUT_TABLE:设备出库表格,RADIO:单选框,CHECKBOX:复选框,DATE:日期,BUTTON:按钮,IMG:图片,VIDEO:视频,AUDIO:音频,FILE:文件,POP_SELECT:弹出选择框,LABEL:标签,TABLE:表格,SIGN:签名,CASCADE_ADDRESS:城市选择控件,OTHER:其它,FORM_GROUP_TITLE:带虚线分割线的标题,ONLE_TITLE:普通标题,独占一行,RADIO_WITH_INPUT:带1个输入框的单选框,DEVICE_IN_TABLE:设备入库表格,DEVICE_OUT_TABLE:设备出库表格")
+    @ApiModelProperty(value = "编码,TEXT:文本,NUMBER:数字文本,TEXTAREA:文本域,编码,TEXT:文本,TEXTAREA:文本域,SINGLE_SELECT:单选下拉框,MULTIPLE_SELECT:多选下拉框,RADIO:单选框,CHECKBOX:复选框,DATE:日期,BUTTON:按钮,IMG:图片,VIDEO:视频,AUDIO:音频,FILE:文件,LABEL:标签,TABLE:表格,SIGN:签名,CASCADE_ADDRESS:城市选择控件,OTHER:其它,FORM_GROUP_TITLE:带虚线分割线的标题,ONLE_TITLE:普通标题,独占一行,RADIO_WITH_INPUT:带1个输入框的单选框,DEVICE_IN_TABLE:设备入库表格,DEVICE_OUT_TABLE:设备出库表格,RADIO:单选框,CHECKBOX:复选框,DATE:日期,BUTTON:按钮,IMG:图片,VIDEO:视频,AUDIO:音频,FILE:文件,LABEL:标签,TABLE:表格,SIGN:签名,CASCADE_ADDRESS:城市选择控件,OTHER:其它,FORM_GROUP_TITLE:带虚线分割线的标题,ONLE_TITLE:普通标题,独占一行,RADIO_WITH_INPUT:带1个输入框的单选框,DEVICE_IN_TABLE:设备入库表格,DEVICE_OUT_TABLE:设备出库表格")
     @NotNull(message = "编码不能为空")
     private WidgetCodeEnum code;
 

+ 9 - 0
sop-business/src/main/java/com/qmth/sop/business/mapper/SysUserMapper.java

@@ -2,6 +2,7 @@ package com.qmth.sop.business.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.qmth.sop.business.bean.dto.FormWidgetDto;
 import com.qmth.sop.business.bean.dto.UserDto;
 import com.qmth.sop.business.bean.dto.VerifyCodeCheckDto;
 import com.qmth.sop.business.bean.result.SysUserBriefResult;
@@ -98,6 +99,14 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
      */
     IPage<UserDto> query(IPage<Map> iPage, @Param("userInfo") String userInfo, @Param("orgId") Long orgId, @Param("roleId") Long roleId, @Param("enable") Boolean enable);
 
+    /**
+     * 根据用户来源查找用户并返回动态表单数据
+     *
+     * @param userSourceEnum
+     * @return
+     */
+    List<FormWidgetDto> queryUser(@Param("userSourceEnum") String userSourceEnum);
+
     /**
      * 查找用户角色名
      *

+ 10 - 4
sop-business/src/main/java/com/qmth/sop/business/service/SysUserService.java

@@ -3,13 +3,11 @@ package com.qmth.sop.business.service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.qmth.sop.business.bean.dto.DataPermissionDto;
+import com.qmth.sop.business.bean.dto.FormWidgetDto;
 import com.qmth.sop.business.bean.dto.UserDto;
 import com.qmth.sop.business.bean.result.*;
 import com.qmth.sop.business.entity.SysUser;
-import com.qmth.sop.common.enums.AppSourceEnum;
-import com.qmth.sop.common.enums.FlowTaskTypeEnum;
-import com.qmth.sop.common.enums.RoleTypeEnum;
-import com.qmth.sop.common.enums.TFCustomTypeEnum;
+import com.qmth.sop.common.enums.*;
 
 import java.security.NoSuchAlgorithmException;
 import java.util.List;
@@ -89,6 +87,14 @@ public interface SysUserService extends IService<SysUser> {
      */
     IPage<UserDto> query(IPage<Map> iPage, String userInfo, Long orgId, Long roleId, Boolean enable);
 
+    /**
+     * 根据用户来源查找用户并返回动态表单数据
+     *
+     * @param userSourceEnum
+     * @return
+     */
+    List<FormWidgetDto> queryUser(UserSourceEnum userSourceEnum);
+
     /**
      * 新增/修改用户
      *

+ 12 - 0
sop-business/src/main/java/com/qmth/sop/business/service/impl/SysUserServiceImpl.java

@@ -9,6 +9,7 @@ import com.qmth.boot.core.enums.Platform;
 import com.qmth.sop.business.bean.auth.AuthBean;
 import com.qmth.sop.business.bean.auth.ExpireTimeBean;
 import com.qmth.sop.business.bean.dto.DataPermissionDto;
+import com.qmth.sop.business.bean.dto.FormWidgetDto;
 import com.qmth.sop.business.bean.dto.UserDto;
 import com.qmth.sop.business.bean.dto.VerifyCodeCheckDto;
 import com.qmth.sop.business.bean.result.*;
@@ -278,6 +279,17 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         return userDtoIPage;
     }
 
+    /**
+     * 根据用户来源查找用户并返回动态表单数据
+     *
+     * @param userSourceEnum
+     * @return
+     */
+    @Override
+    public List<FormWidgetDto> queryUser(UserSourceEnum userSourceEnum) {
+        return this.baseMapper.queryUser(Objects.nonNull(userSourceEnum) ? userSourceEnum.name() : null);
+    }
+
     /**
      * 新增/修改用户
      *

+ 21 - 1
sop-business/src/main/resources/db/log/wangliang_update_log.sql

@@ -1268,4 +1268,24 @@ WHERE id=160;
 --2023.9.22update
 INSERT INTO sys_privilege
 (id, name, url, `type`, parent_id, `sequence`, property, related, enable, default_auth, front_display)
-VALUES(3049, '审核', 'Approve', 'LINK', 21, 1, 'AUTH', '1030,3044', 1, 0, 1);
+VALUES(3049, '审核', 'Approve', 'LINK', 21, 1, 'AUTH', '1030,3044', 1, 0, 1);
+
+INSERT INTO sys_privilege
+(id, name, url, `type`, parent_id, `sequence`, property, related, enable, default_auth, front_display)
+VALUES(3050, '获取所有用户(动态表单用)接口', '/api/admin/common/get_user_list/form_widget', 'URL', 64, 32, 'SYS', NULL, 1, 1, 0);
+
+UPDATE t_d_form_widget
+SET code='MULTIPLE_SELECT', `type`='FORM', form_id='problem_users', form_name='problem_users', title='责任人', input_type='ARRAY', required=0, readable=0, writable=1, visable=1, `scale`=NULL, `length`=NULL, binding=NULL, data_grid='/api/admin/common/get_user_list/form_widget', tips=NULL, format=NULL, span=12, sub_title=NULL, `options`=NULL, flow_type='QUALITY_PROBLEM_FLOW', form_setup=2, handle=0, create_id=1, create_time=1
+WHERE id=9;
+UPDATE t_d_form_widget
+SET code='MULTIPLE_SELECT', `type`='FORM', form_id='approve_check_users', form_name='approve_check_users', title='甲方复审人员', input_type='ARRAY', required=1, readable=0, writable=1, visable=1, `scale`=NULL, `length`=NULL, binding=NULL, data_grid='/api/admin/common/get_user_list/form_widget', tips=NULL, format=NULL, span=12, sub_title=NULL, `options`=NULL, flow_type='QUALITY_PROBLEM_FLOW', form_setup=2, handle=0, create_id=1, create_time=1
+WHERE id=10;
+UPDATE t_d_form_widget
+SET code='MULTIPLE_SELECT', `type`='FORM', form_id='approve_check_third_users', form_name='approve_check_third_users', title='乙方复审人员', input_type='ARRAY', required=1, readable=0, writable=1, visable=1, `scale`=NULL, `length`=NULL, binding=NULL, data_grid='/api/admin/common/get_user_list/form_widget', tips=NULL, format=NULL, span=12, sub_title=NULL, `options`=NULL, flow_type='QUALITY_PROBLEM_FLOW', form_setup=2, handle=0, create_id=1, create_time=1
+WHERE id=11;
+
+ALTER TABLE t_d_form_widget CHANGE COLUMN code code VARCHAR(20)
+    COMMENT '编码,TEXT:文本,NUMBER:数字文本,TEXTAREA:文本域,SINGLE_SELECT:单选下拉框,MULTIPLE_SELECT:多选下拉框,RADIO:单选框,CHECKBOX:复选框,DATE:日期,BUTTON:按钮,IMG:图片,VIDEO:视频,AUDIO:音频,FILE:文件,LABEL:标签,TABLE:表格,SIGN:签名,CASCADE_ADDRESS:城市选择控件,OTHER:其它,FORM_GROUP_TITLE:带虚线分割线的标题,ONLE_TITLE:普通标题,独占一行,RADIO_WITH_INPUT:带1个输入框的单选框,DEVICE_IN_TABLE:设备入库表格,DEVICE_OUT_TABLE:设备出库表格' NULL;
+
+ALTER TABLE t_d_form_widget_metadata CHANGE COLUMN code code VARCHAR(20)
+    COMMENT '编码,TEXT:文本,NUMBER:数字文本,TEXTAREA:文本域,SINGLE_SELECT:单选下拉框,MULTIPLE_SELECT:多选下拉框,RADIO:单选框,CHECKBOX:复选框,DATE:日期,BUTTON:按钮,IMG:图片,VIDEO:视频,AUDIO:音频,FILE:文件,LABEL:标签,TABLE:表格,SIGN:签名,CASCADE_ADDRESS:城市选择控件,OTHER:其它,FORM_GROUP_TITLE:带虚线分割线的标题,ONLE_TITLE:普通标题,独占一行,RADIO_WITH_INPUT:带1个输入框的单选框,DEVICE_IN_TABLE:设备入库表格,DEVICE_OUT_TABLE:设备出库表格' NOT NULL;

+ 18 - 0
sop-business/src/main/resources/mapper/SysUserMapper.xml

@@ -250,6 +250,24 @@
         order by a.create_time desc
     </select>
 
+    <select id="queryUser" resultType="com.qmth.sop.business.bean.dto.FormWidgetDto">
+        select t.value,
+            (select group_concat(t.realName, '(', sr.name, ')' SEPARATOR ';')
+            from sys_role sr
+            where FIND_IN_SET(sr.id, roleIds)) as 'label'
+        from
+            (select su.id as 'value',su.real_name as realName,
+            (select group_concat(sur.role_id)
+            from sys_user_role sur
+            where sur.user_id = su.id) as roleIds
+        from sys_user su
+            <where> 1 = 1 and su.id <![CDATA[ <> ]]> 1
+                <if test="userSourceEnum != null and userSourceEnum != '' and userSourceEnum != 'ALL'">
+                        and su.source = #{userSourceEnum}
+                </if>
+            </where>) t
+    </select>
+
     <select id="selectRoleNames" resultType="com.qmth.sop.business.bean.result.UserRoleNameResult">
         select group_concat(sr.name) as roleNames,sur.user_id as userId from sys_role sr
         join sys_user_role sur on sur.role_id = sr.id

+ 3 - 1
sop-common/src/main/java/com/qmth/sop/common/enums/UserSourceEnum.java

@@ -13,7 +13,9 @@ public enum UserSourceEnum {
 
     ARCHIVES("人员档案"),
 
-    SYSTEM("系统自带");
+    SYSTEM("系统自带"),
+
+    ALL("全部");
 
     UserSourceEnum(String title) {
         this.title = title;

+ 0 - 2
sop-common/src/main/java/com/qmth/sop/common/enums/WidgetCodeEnum.java

@@ -35,8 +35,6 @@ public enum WidgetCodeEnum {
 
     FILE("文件"),
 
-    POP_SELECT("弹出选择框"),
-
     LABEL("标签"),
 
     TABLE("表格"),