Преглед изворни кода

Merge branch 'master' of http://git.iamberry.com/hexiugang/iamberry-common-parent

wangxiaoming пре 6 година
родитељ
комит
9c70979146

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

@@ -19,6 +19,7 @@ public class HistoricalRecord implements Serializable {
     private List<ProcessInfo> listProcessInfo;//流程信息集合
 
     private String adminName;// 用户名
+    private String adminOpenId;// 用户openid
 
     public Integer getRecordId() {
         return recordId;
@@ -91,4 +92,12 @@ public class HistoricalRecord implements Serializable {
     public void setAdminName(String adminName) {
         this.adminName = adminName;
     }
+
+    public String getAdminOpenId() {
+        return adminOpenId;
+    }
+
+    public void setAdminOpenId(String adminOpenId) {
+        this.adminOpenId = adminOpenId;
+    }
 }

+ 7 - 0
watero-rst-interface/src/main/java/com/iamberry/rst/faces/approval/ApprovalOrderService.java

@@ -121,4 +121,11 @@ public interface ApprovalOrderService {
      * @return
      */
     ResponseJson auditApprovalinfo(ApprovalInfo approvalInfo, Admin admin, Integer status);
+
+    /**
+     * 查询入库记录
+     * @param approvalId
+     * @return
+     */
+    List<ApprovalInventoryRecords> listInventoryRecords(Integer approvalId);
 }

+ 4 - 3
watero-rst-service/src/main/java/com/iamberry/rst/service/approval/ApplyPickServiceImpl.java

@@ -8,6 +8,7 @@ import com.iamberry.rst.faces.approval.ApplyPickService;
 import com.iamberry.rst.service.approval.mapper.*;
 import com.iamberry.rst.service.sys.mapper.SysMapper;
 import com.iamberry.rst.util.PageUtil;
+import com.iamberry.wechat.tools.ResultInfo;
 import com.iamberry.wechat.tools.SendMessageUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -75,7 +76,7 @@ public class ApplyPickServiceImpl  implements ApplyPickService {
         Admin admin = sysMapper.getByOpenid(openid);
         //添加审批信息
         ApprovalInfo approvalInfo = new ApprovalInfo();
-        approvalInfo.setApprovalName(admin.getAdminName()+"的提货订单");
+        approvalInfo.setApprovalName(approvalApplyPick.getApplyPickName()+"的提货订单");
         approvalInfo.setApprovalType(2);
         approvalInfo.setApprovalStatus(1);
         approvalInfo.setAdminId(admin.getAdminId());
@@ -129,7 +130,7 @@ public class ApplyPickServiceImpl  implements ApplyPickService {
 
         for (ApprovalProductionContract apc:approvalProductionContractList) {
             apc.setApprovalId(approvalInfo.getApprovalId());
-            apc.setContractName(admin.getAdminName()+"的提货订单");
+            apc.setContractName(approvalApplyPick.getApplyPickName()+"的提货订单");
             if(apc.getContractUrl() == null || "".equals(apc.getContractUrl())){
                 throw new RuntimeException("审批合同url地址为空");
             }
@@ -177,7 +178,7 @@ public class ApplyPickServiceImpl  implements ApplyPickService {
                     format.format(new Date()),
                     "请尽快进行处理",
                     approvalAdmin.getAdminOpenId(),
-                    "url");
+                    ResultInfo.LISTBEREVIEWED);
         }
         return  flag;
     }

+ 79 - 8
watero-rst-service/src/main/java/com/iamberry/rst/service/approval/ApprovalOrderServiceImpl.java

@@ -59,9 +59,10 @@ public class ApprovalOrderServiceImpl implements ApprovalOrderService {
         if(admin == null){
             throw new RuntimeException("未查询到当前登录人信息");
         }
+        SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日");
         //添加审批信息
         ApprovalInfo approvalInfo = new ApprovalInfo();
-        approvalInfo.setApprovalName(admin.getAdminName()+"的审批订单");
+        approvalInfo.setApprovalName(approvalProduction.getApplicantName()+"的审批订单");
         approvalInfo.setApprovalType(1);
         approvalInfo.setApprovalStatus(1);
         approvalInfo.setAdminId(admin.getAdminId());
@@ -88,7 +89,7 @@ public class ApprovalOrderServiceImpl implements ApprovalOrderService {
         //添加合同信息
         for(ApprovalProductionContract approvalProductionContract : productionContracts){
             approvalProductionContract.setApprovalId(approvalProduction.getProductionId());
-            approvalProductionContract.setContractName(admin.getAdminName()+"的审批订单合同");
+            approvalProductionContract.setContractName(approvalProduction.getApplicantName()+"的审批订单合同");
             approvalOrderMapper.insertProductionContract(approvalProductionContract);
         }
         //封装生产审批产品项
@@ -138,7 +139,7 @@ public class ApprovalOrderServiceImpl implements ApprovalOrderService {
                 throw new RuntimeException("修改审批信息失败"+tasknfo);
             }
             //推送微信模板消息通知
-            SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日");
+
             SendMessageUtil sendMessageUtil = new SendMessageUtil();
             sendMessageUtil.orderReviewResultsPush("你好,你有个订单需要你的审核",
                     approvalProduction.getApplicantOrderNo(),
@@ -357,7 +358,7 @@ public class ApprovalOrderServiceImpl implements ApprovalOrderService {
     public ResponseJson auditApprovalinfo(ApprovalInfo approvalInfo, Admin admin,Integer status) {
         ResponseJson rj =new ResponseJson(200, "操作成功", 200);
         ApprovalInfo ainfo = approvalOrderMapper.getApprovalInfoById(approvalInfo.getApprovalId());
-
+        SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日");
         approvalInfo.setApprovalName(ainfo.getApprovalName());
         approvalInfo.setApprovalType(ainfo.getApprovalType());
         approvalInfo.setActivitiId(ainfo.getActivitiId());
@@ -432,7 +433,7 @@ public class ApprovalOrderServiceImpl implements ApprovalOrderService {
                     //判断是生产审批或提货审批
                     if(info.getApprovalType() == 1){
                         //推送微信模板消息通知
-                        SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日");
+
                         ApprovalProduction production = approvalOrderMapper.getApprovalProductionById(approvalInfo.getApprovalId());
                         Admin admininfo = new Admin();
                         admininfo.setAdminId(production.getApplicantId());
@@ -474,7 +475,6 @@ public class ApprovalOrderServiceImpl implements ApprovalOrderService {
                                 ResultInfo.LISTWAREHOUSE);
                     }else{
                         //通知申请人该提货审批已通过
-                        SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日");
                         ApprovalApplyPick  approvalApplyPick = new ApprovalApplyPick();
                         approvalApplyPick.setApprovalId(approvalInfo.getApprovalId());
                         List<ApprovalApplyPick> pickList = applyPickMapper.listOrderBatchPage(approvalApplyPick);
@@ -495,7 +495,6 @@ public class ApprovalOrderServiceImpl implements ApprovalOrderService {
                                 admininfo.getAdminOpenId(),
                                 ResultInfo.LISTISTARTED);
                     }
-
                 }else if((Integer) taskMap.get("status") == 0){//还有下一个审批人,需要增加审批历史任务
                     //修改状态为已完成部分审批
                     info.setApprovalStatus(4);
@@ -539,7 +538,6 @@ public class ApprovalOrderServiceImpl implements ApprovalOrderService {
                         //推送微信模板消息通知
                         //查询审批订单信息
                         ApprovalProduction production = approvalOrderMapper.getApprovalProductionById(approvalInfo.getApprovalId());
-                        SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日");
                         SendMessageUtil sendMessageUtil = new SendMessageUtil();
                         sendMessageUtil.orderReviewResultsPush("你好,你有个订单需要你的审核",
                                 production.getApplicantOrderNo(),
@@ -561,6 +559,7 @@ public class ApprovalOrderServiceImpl implements ApprovalOrderService {
                 break;
             case 2:
                 //修改历史记录状态为已驳回
+                SendMessageUtil sendMessageUtil = new SendMessageUtil();
                 HistoricalRecord recordinfo2 = new HistoricalRecord();
                 recordinfo2.setApprovalId(approvalInfo.getApprovalId());
                 recordinfo2.setRecordState(6);
@@ -591,7 +590,74 @@ public class ApprovalOrderServiceImpl implements ApprovalOrderService {
                     rj.setResultMsg("添加流程信息记录失败!");
                     return  rj;
                 }
+                //判断是生产审批或提货审批 并向申请发起人和历史审批人发送模板消息
+                if(info.getApprovalType() == 1){
+
+                    //查询审批发起人信息并发送模板消息
+                    ApprovalProduction production = approvalOrderMapper.getApprovalProductionById(approvalInfo.getApprovalId());
+                    Admin admininfo = new Admin();
+                    admininfo.setAdminId(production.getApplicantId());
+                    admininfo = sysMapper.getAdminInfo(admininfo);
+                    if(admininfo.getAdminOpenId() == null ){
+                        rj = ResponseJson.getFAILURE();
+                        rj.setResultMsg("获取管理信息失败!");
+                        return  rj;
+                    }
+                    //通知申请人该审批已驳回
+
+                    sendMessageUtil.reviewResultsPush("亲,您提交的申请 "+admin.getAdminName()+" 已处理。",
+                            production.getApplicantName(),
+                            "驳回",
+                            format.format(new Date()),
+                            "可通过公众号进入系统",
+                            admininfo.getAdminOpenId(),
+                            ResultInfo.LISTISTARTED);
+                    //查询历史审批人信息并发送模板消息
+                    List<HistoricalRecord> listHl = approvalOrderMapper.hasHistoricalRecordList(approvalInfo.getApprovalId());
+                    if(listHl.size() > 0){
+                        for(HistoricalRecord hr : listHl){
+                            //通知申请人该审批已驳回
+                            sendMessageUtil.reviewResultsPush("亲,您审核过的申请 "+admin.getAdminName()+" 已处理。",
+                                    hr.getAdminName(),
+                                    "驳回",
+                                    format.format(new Date()),
+                                    "可通过公众号进入系统",
+                                    hr.getAdminOpenId(),
+                                    ResultInfo.LISTISTARTED);
+                        }
+                    }
+                }else{
+                    //通知申请人该提货审批已驳回
+                    ApprovalApplyPick  approvalApplyPick = new ApprovalApplyPick();
+                    approvalApplyPick.setApprovalId(approvalInfo.getApprovalId());
+                    List<ApprovalApplyPick> pickList = applyPickMapper.listOrderBatchPage(approvalApplyPick);
+                    Admin admininfo = new Admin();
+                    admininfo.setAdminId(pickList.get(0).getAdminId());
+                    admininfo = sysMapper.getAdminInfo(admininfo);
+                    //通知申请人该审批已驳回
+                    sendMessageUtil.reviewResultsPush("亲,您提交的申请 "+admin.getAdminName()+" 已处理。",
+                            pickList.get(0).getApplyPickName(),
+                            "驳回",
+                            format.format(new Date()),
+                            "可通过公众号进入系统",
+                            admininfo.getAdminOpenId(),
+                            ResultInfo.LISTISTARTED);
+                }
 
+                //查询历史审批人信息并发送模板消息
+                List<HistoricalRecord> listHl = approvalOrderMapper.hasHistoricalRecordList(approvalInfo.getApprovalId());
+                if(listHl.size() > 0){
+                    for(HistoricalRecord hr : listHl){
+                        //通知申请人该申请已驳回
+                        sendMessageUtil.reviewResultsPush("亲,您审核过的申请 "+admin.getAdminName()+" 已处理。",
+                                hr.getAdminName(),
+                                "驳回",
+                                format.format(new Date()),
+                                "可通过公众号进入系统",
+                                hr.getAdminOpenId(),
+                                ResultInfo.LISTISTARTED);
+                    }
+                }
                 //调用第三方revokeTask接口执行撤销
                 approvalTaskService.revokeTask(approvalInfo.getActivitiId(),"审批人驳回审核");
                 break;
@@ -628,4 +694,9 @@ public class ApprovalOrderServiceImpl implements ApprovalOrderService {
         }
         return rj;
     }
+
+    @Override
+    public List<ApprovalInventoryRecords> listInventoryRecords(Integer approvalId) {
+        return approvalOrderMapper.listInventoryRecords(approvalId);
+    }
 }

+ 12 - 1
watero-rst-service/src/main/java/com/iamberry/rst/service/approval/mapper/ApprovalOrderMapper.java

@@ -102,6 +102,17 @@ public interface ApprovalOrderMapper {
       */
      List<ApprovalProductionItem> getIteminfo(Integer approvalId);
 
+   /**
+    * 查询历史已审批记录
+    * @param approvalId
+    * @return
+    */
+      List<HistoricalRecord> hasHistoricalRecordList(Integer approvalId);
 
-
+   /**
+    * 查询入库记录
+    * @param approvalId
+    * @return
+    */
+      List<ApprovalInventoryRecords> listInventoryRecords(Integer approvalId);
 }

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

@@ -67,6 +67,7 @@
     <result column="approval_time" property="approvalTime" jdbcType="TIMESTAMP" />
     <result column="record_create_time" property="recordCreateTime" jdbcType="TIMESTAMP" />
     <result column="admin_name" property="adminName"  />
+    <result column="admin_open_id" property="adminOpenId" jdbcType="INTEGER" />
     <collection property="listProcessInfo" column="record_id" ofType="ProcessInfo" select="listProcessInfoByRecordId"/>
   </resultMap>
 
@@ -635,4 +636,41 @@
         where
         record_id = #{recordId}
     </select>
+
+  <select id="hasHistoricalRecordList" parameterType="Integer" resultMap="HistoricalRecordMap">
+    SELECT
+    hr.record_id,
+    hr.approval_id,
+    hr.admin_id,
+    hr.record_state,
+    hr.task_id,
+    hr.approval_time,
+    hr.record_create_time,
+    sa.admin_name,
+    sa.admin_open_id
+    from tb_rst_historical_record hr
+    LEFT  JOIN tb_rst_sys_admin sa ON hr.admin_id = sa.admin_id
+    where
+    hr.approval_id = #{approvalId}
+    and hr.record_state = 2
+  </select>
+
+  <select id="listInventoryRecords" parameterType="Integer" resultType="ApprovalInventoryRecords">
+    SELECT
+    storage_id storageId,
+    approval_id approvalId,
+    item_id itemId,
+    storage_state storageState,
+    product_id productId,
+    product_name productName,
+    color_name colorName,
+    should_storage shouldStorage,
+    actual_storage actualStorage,
+    lack_number lackNumber,
+    operating_admin_id operatingAdminId,
+    operating_time operatingTime
+    from tb_rst_approval_inventory_records
+    where
+    approval_id = #{approvalId}
+  </select>
 </mapper>

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

@@ -504,7 +504,7 @@ public class ApprovalController {
     }
 
     /**
-     *  查询入库记录
+     *  查询审批产品项
      * @param approvalId
      * @return productionItem
      * @throws Exception
@@ -528,4 +528,22 @@ public class ApprovalController {
         return rj;
     }
 
+    /**
+     *  查询入库记录
+     * @param approvalId
+     * @return productionItem
+     * @throws Exception
+     */
+    @ResponseBody
+    @RequestMapping(value = "/listInventoryRecords")
+    public ResponseJson listInventoryRecords(HttpServletRequest request,Integer approvalId) throws Exception {
+        ResponseJson rj =new ResponseJson(200, "查询成功", 200);
+        if(approvalId == null){
+            return  ResponseJson.getFAILURE();
+        }
+        List<ApprovalInventoryRecords> listRecords = approvalOrderService.listInventoryRecords(approvalId);
+        rj.addResponseKeyValue("listRecords",listRecords);
+        return rj;
+    }
+
 }