liujiankang 6 лет назад
Родитель
Сommit
dc4190b9c4

+ 9 - 0
watero-rst-core/src/main/java/com.iamberry.rst.core/approval/ApprovalInfo.java

@@ -27,6 +27,7 @@ public class ApprovalInfo implements Serializable{
     private List<HistoricalRecord> listHistoricalRecord;//审批历史信息集合
     private Integer approvalAdminId;//审核人adminid
     private Integer selectType;//查询类型 1.我发起的 2.我审核的 3.仓库确认
+    private String selectName;//查询内容 姓名 订单名称 备注
 
     public Integer getApprovalId() {
         return approvalId;
@@ -163,4 +164,12 @@ public class ApprovalInfo implements Serializable{
     public void setListHistoricalRecord(List<HistoricalRecord> listHistoricalRecord) {
         this.listHistoricalRecord = listHistoricalRecord;
     }
+
+    public String getSelectName() {
+        return selectName;
+    }
+
+    public void setSelectName(String selectName) {
+        this.selectName = selectName;
+    }
 }

+ 10 - 0
watero-rst-core/src/main/java/com.iamberry.rst.core/approval/HistoricalRecord.java

@@ -2,6 +2,7 @@ package com.iamberry.rst.core.approval;
 
 import java.io.Serializable;
 import java.util.Date;
+import java.util.List;
 
 /**
  * Created by Administrator on 2018/9/29.
@@ -15,6 +16,7 @@ public class HistoricalRecord implements Serializable {
     private String taskId;//activiti任务id
     private Date approvalTime;//审核时间
     private Date recordCreateTime;//
+    private List<ProcessInfo> listProcessInfo;//流程信息集合
 
     public Integer getRecordId() {
         return recordId;
@@ -71,4 +73,12 @@ public class HistoricalRecord implements Serializable {
     public void setRecordCreateTime(Date recordCreateTime) {
         this.recordCreateTime = recordCreateTime;
     }
+
+    public List<ProcessInfo> getListProcessInfo() {
+        return listProcessInfo;
+    }
+
+    public void setListProcessInfo(List<ProcessInfo> listProcessInfo) {
+        this.listProcessInfo = listProcessInfo;
+    }
 }

+ 9 - 0
watero-rst-core/src/main/java/com.iamberry.rst.core/approval/ProcessInfo.java

@@ -13,6 +13,7 @@ public class ProcessInfo implements Serializable{
     private Integer adminId;//所属人
     private String processDesc;//审批内容
     private Integer processState;//审核状态0:评论1:待审核2:审核通过3:驳回申请4:删除申请
+    private Integer recordId;//审批历史记录id
     private Date processCreateTime;//
 
     public Integer getProcessId() {
@@ -62,4 +63,12 @@ public class ProcessInfo implements Serializable{
     public void setProcessCreateTime(Date processCreateTime) {
         this.processCreateTime = processCreateTime;
     }
+
+    public Integer getRecordId() {
+        return recordId;
+    }
+
+    public void setRecordId(Integer recordId) {
+        this.recordId = recordId;
+    }
 }

+ 42 - 27
watero-rst-service/src/main/java/com/iamberry/rst/service/approval/mapper/approvalOrderMapper.xml

@@ -56,6 +56,16 @@
     <collection property="listApplyPickItem" column="apply_pick_id" ofType="ApprovalApplyPickItem" select="listApplyPickItem"/>
   </resultMap>
 
+  <resultMap id="HistoricalRecordMap" type="HistoricalRecord" >
+    <id column="record_id" property="recordId" jdbcType="INTEGER" />
+    <result column="approval_id" property="approvalId" jdbcType="INTEGER" />
+    <result column="admin_id" property="adminId" jdbcType="INTEGER" />
+    <result column="record_state" property="recordState" jdbcType="INTEGER" />
+    <result column="task_id" property="taskId" jdbcType="VARCHAR" />
+    <result column="approval_time" property="approvalTime" jdbcType="TIMESTAMP" />
+    <result column="record_create_time" property="recordCreateTime" jdbcType="TIMESTAMP" />
+    <collection property="listProcessInfo" column="record_id" ofType="ProcessInfo" select="listProcessInfoByRecordId"/>
+  </resultMap>
 
   <resultMap id="ApprovalProductionItemMap" type="ApprovalProductionItem" >
     <id column="item_id" property="itemId" jdbcType="INTEGER" />
@@ -95,15 +105,6 @@
   </resultMap>
 
 
-  <resultMap id="HistoricalRecordMap" type="HistoricalRecord" >
-    <id column="record_id" property="recordId" jdbcType="INTEGER" />
-    <result column="approval_id" property="approvalId" jdbcType="INTEGER" />
-    <result column="admin_id" property="adminId" jdbcType="INTEGER" />
-    <result column="record_state" property="recordState" jdbcType="INTEGER" />
-    <result column="task_id" property="taskId" jdbcType="VARCHAR" />
-    <result column="approval_time" property="approvalTime" jdbcType="TIMESTAMP" />
-    <result column="record_create_time" property="recordCreateTime" jdbcType="TIMESTAMP" />
-  </resultMap>
 
 
 
@@ -192,10 +193,11 @@
     admin_id,
     process_desc,
     process_state,
+    record_id,
     process_create_time
     )
     VALUES
-    (#{approvalId},#{adminId},#{processDesc},#{processState},NOW())
+    (#{approvalId},#{adminId},#{processDesc},#{processState},#{recordId},NOW())
   </insert>
 
   <insert id="insertHistoricalRecord" parameterType="HistoricalRecord">
@@ -253,6 +255,9 @@
       <if test="taskId != null and taskId != ''">
         AND  task_id = #{taskId}
       </if>
+      <if test="adminId != null and adminId != ''">
+        AND  admin_id = #{adminId}
+      </if>
     </where>
   </update>
 
@@ -321,17 +326,13 @@
       <if test="selectType != null and selectType != '' and selectType == 3">
         AND ai.approval_status in (5,6,7,8)
       </if>
-      <if test="approvalName != null and approvalName != ''">
-        AND ai.approval_name LIKE CONCAT('%',#{approvalName},'%')
-      </if>
-      <if test="approvalApplicant != null and approvalApplicant != ''">
-        AND ai.approval_applicant LIKE CONCAT('%',#{approvalApplicant},'%')
-      </if>
-      <if test="approvalRemark != null and approvalRemark != ''">
-        AND ai.approval_remark LIKE CONCAT('%',#{approvalRemark},'%')
+      <if test="selectName != null and selectName != ''">
+        AND ai.approval_name LIKE CONCAT('%',#{selectName},'%')
+        OR ai.approval_applicant LIKE CONCAT('%',#{selectName},'%')
+        OR ai.approval_remark LIKE CONCAT('%',#{selectName},'%')
       </if>
       <if test="approvalCreateTime != null and approvalCreateTime != ''">
-        to_days(#{approvalCreateTime}) = to_days(ai.approval_create_time);
+        to_days(#{approvalCreateTime}) = to_days(ai.approval_create_time)
       </if>
     </where>
   </select>
@@ -590,17 +591,31 @@
     ap.approval_id = #{approvalId}
   </select>
 
-  <select id="listHistoricalRecord" parameterType="Integer" resultType="HistoricalRecord">
+  <select id="listHistoricalRecord" parameterType="Integer" resultMap="HistoricalRecordMap">
     SELECT
-    hr.record_id recordId,
-    hr.approval_id approvalId,
-    hr.admin_id adminId,
-    hr.record_state recordState,
-    hr.task_id taskId,
-    hr.approval_time approvalTime,
-    hr.record_create_time recordCreateTime
+    hr.record_id,
+    hr.approval_id,
+    hr.admin_id,
+    hr.record_state,
+    hr.task_id,
+    hr.approval_time,
+    hr.record_create_time
     from tb_rst_historical_record hr
     where
        hr.approval_id = #{approvalId}
   </select>
+
+  <select id="listProcessInfoByRecordId" parameterType="Integer" resultType="ProcessInfo">
+    SELECT
+    process_id processId,
+    approval_id approvalId,
+    admin_id adminId,
+    record_id recordId,
+    process_desc processDesc,
+    process_state processState,
+    process_create_time processCreateTime
+    from tb_rst_process_info
+    where
+      record_id = #{recordId}
+  </select>
 </mapper>

+ 41 - 1
watero-rst-web/src/main/java/com/iamberry/rst/controllers/approval/ApprovalController.java

@@ -383,15 +383,20 @@ public class ApprovalController {
         if(admin == null){
             return new ResponseJson(200, "未查询到登录人信息", 500);
         }
-        //审批历史记录封装
+        //审批历史记录查询和封装
         HistoricalRecord historicalRecord = new HistoricalRecord();
         historicalRecord.setApprovalId(approvalInfo.getApprovalId());
         historicalRecord.setAdminId(admin.getAdminId());
+        historicalRecord = approvalOrderService.getHistoricalRecord(historicalRecord);
+        if(historicalRecord.getRecordId() == null){
+            return new ResponseJson(200, "未查询到审批记录信息", 500);
+        }
         historicalRecord.setApprovalTime(new Date());
         //流程信息封装
         ProcessInfo processInfo = new ProcessInfo();
         processInfo.setAdminId(admin.getAdminId());
         processInfo.setApprovalId(approvalInfo.getApprovalId());
+        processInfo.setRecordId(historicalRecord.getRecordId());
         processInfo.setProcessDesc(approvalInfo.getApprovalDetails());//后期在后台添加
         //审批信息封装
         ApprovalInfo info = new ApprovalInfo();
@@ -591,11 +596,23 @@ public class ApprovalController {
         if(approvalInfo == null){
             return  ResponseJson.getFAILURE();
         }
+        //获取openid,根据openid查询当前登录人信息
+        String openId = WechatUtils.getUserBySession(request).getUserOpenid();
+        Admin admin = sysService.getByOpenid(openId);
+        if(admin == null){
+            return new ResponseJson(200, "未查询到登录人信息", 500);
+        }
+        HistoricalRecord historicalRecord = new HistoricalRecord();
+        historicalRecord.setApprovalId(approvalInfo.getApprovalId());
+        historicalRecord.setAdminId(admin.getAdminId());
+        historicalRecord = approvalOrderService.getHistoricalRecord(historicalRecord);
         List<ApprovalInfo> info = approvalOrderService.getApprovalInfo(approvalInfo);
         if(info.size() < 1){
             return  ResponseJson.getFAILURE();
         }
         rj.addResponseKeyValue("approvalInfo",info.get(0));
+        rj.addResponseKeyValue("historicalRecord",historicalRecord);
+        rj.addResponseKeyValue("adminid",admin.getAdminId());
         return rj;
     }
 
@@ -679,4 +696,27 @@ public class ApprovalController {
                 "url");
         return rj;
     }
+
+    /**
+     *  获取某个审批的整个审批流程 1:生成订单审批;2:提货申请
+     * @param
+     * @return
+     * @throws Exception
+     */
+    @ResponseBody
+    @RequestMapping(value = "/getFindApplyRu")
+    public ResponseJson getFindApplyRu(HttpServletRequest request,
+                                        Integer type) throws Exception {
+        ResponseJson rj =new ResponseJson(200, "查询成功", 200);
+        if(type == null){
+            return  ResponseJson.getFAILURE();
+        }
+        List<Object> info = approvalTaskService.findApplyRu(type);
+        if(info.size() < 1){
+            return  ResponseJson.getFAILURE();
+        }
+        rj.addResponseKeyValue("list",info);
+        return rj;
+    }
+
 }