Quellcode durchsuchen

审批系统开发

liujiankang vor 6 Jahren
Ursprung
Commit
b1c701ca7a

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

@@ -109,4 +109,9 @@ public interface ApprovalOrderService {
      * @return
      */
     ApprovalProduction getApprovalProductionById(Integer approvalId);
+    /**
+     * 查询审批信息产品总数
+     * @return
+     */
+    List<ApprovalProductionItem> getIteminfo(Integer approvalId);
 }

+ 13 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/approval/ApplyPickServiceImpl.java

@@ -11,10 +11,12 @@ import com.iamberry.rst.service.approval.mapper.ApprovalOrderMapper;
 import com.iamberry.rst.service.approval.mapper.ApprovalProductionMapper;
 import com.iamberry.rst.service.sys.mapper.SysMapper;
 import com.iamberry.rst.util.PageUtil;
+import com.iamberry.wechat.tools.SendMessageUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
@@ -158,6 +160,17 @@ public class ApplyPickServiceImpl  implements ApplyPickService {
             if(approvalOrderMapper.updateApprovalInfo(info) < 1){
                 throw new RuntimeException("修改审批信息失败"+tasknfo);
             }
+            //推送微信模板消息通知
+            SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日");
+            SendMessageUtil sendMessageUtil = new SendMessageUtil();
+            sendMessageUtil.orderReviewResultsPush("您好,当前有一单提货申请需要处理",
+                    "0000000"+approvalInfo.getApprovalId(),
+                    approvalApplyPick.getApplyPickName(),
+                    "优尼雅仓库",
+                    format.format(new Date()),
+                    "请尽快进行处理",
+                    approvalAdmin.getAdminOpenId(),
+                    "url");
         }
         return  flag;
     }

+ 6 - 1
watero-rst-service/src/main/java/com/iamberry/rst/service/approval/ApprovalOrderServiceImpl.java

@@ -132,7 +132,7 @@ public class ApprovalOrderServiceImpl implements ApprovalOrderService {
                 throw new RuntimeException("修改审批信息失败"+tasknfo);
             }
             //推送微信模板消息通知
-            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日");
             SendMessageUtil sendMessageUtil = new SendMessageUtil();
             sendMessageUtil.orderReviewResultsPush("你好,你有个订单需要你的审核",
                     approvalProduction.getApplicantOrderNo(),
@@ -229,4 +229,9 @@ public class ApprovalOrderServiceImpl implements ApprovalOrderService {
     public ApprovalProduction getApprovalProductionById(Integer approvalId) {
         return approvalOrderMapper.getApprovalProductionById(approvalId);
     }
+
+    @Override
+    public List<ApprovalProductionItem> getIteminfo(Integer approvalId) {
+        return approvalOrderMapper.getIteminfo(approvalId);
+    }
 }

+ 5 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/approval/mapper/ApprovalOrderMapper.java

@@ -96,6 +96,11 @@ public interface ApprovalOrderMapper {
       * @return
       */
      ApprovalProduction getApprovalProductionById(Integer approvalId);
+     /**
+      * 查询审批信息产品总数
+      * @return
+      */
+     List<ApprovalProductionItem> getIteminfo(Integer approvalId);
 
 
 

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

@@ -274,6 +274,18 @@
     WHERE ai.approval_id = #{approvalId}
   </select>
 
+  <!--查询审批信息产品总数-->
+  <select id="getIteminfo" parameterType="Integer" resultType="ApprovalProductionItem">
+    SELECT
+    api.item_product_name,
+    api.item_color_name,
+    api.item_product_num
+    from tb_rst_approval_info ai
+    LEFT JOIN tb_rst_approval_production ap on ai.approval_id = ap.approval_id
+		LEFT JOIN tb_rst_approval_production_item api on ap.production_id = api.production_id
+		where ai.approval_id = #{approvalId}
+  </select>
+
 <!--查询审批信息列表-->
   <select id="listApprovalInfo" parameterType="ApprovalInfo" resultMap="ApprovalInfoResultMap">
     SELECT

+ 91 - 21
watero-rst-web/src/main/java/com/iamberry/rst/controllers/approval/ApprovalController.java

@@ -7,6 +7,7 @@ import com.iamberry.rst.core.approval.*;
 import com.iamberry.rst.core.page.PageRequest;
 import com.iamberry.rst.core.page.PagedResult;
 import com.iamberry.rst.core.sys.Admin;
+import com.iamberry.rst.faces.approval.ApplyPickService;
 import com.iamberry.rst.faces.approval.ApprovalOrderService;
 import com.iamberry.rst.faces.approval.ApprovalTaskService;
 import com.iamberry.rst.faces.sys.SysService;
@@ -48,6 +49,8 @@ public class ApprovalController {
     private ApprovalTaskService approvalTaskService;
     @Autowired
     private SysService sysService;
+    @Autowired
+    private ApplyPickService applyPickService;
     @SuppressWarnings("restriction")
     private BASE64Decoder decoder = new BASE64Decoder();
     /**
@@ -206,16 +209,13 @@ public class ApprovalController {
             }
             if (type == null) {
                 System.err.println("上传图片异常..." + fileHead);
-
             } else {
                 String fileName = getFileName(suffixName, type);
                 boolean flag = generateImage(shareImgUrl, imgFilePath + "/" + fileName);
                 if(flag){
-                    imgUrl = imgFilePath + fileName;
                     responseJson.setReturnCode(200);
                     responseJson.addResponseKeyValue("imgUrl",ResultInfo.CONTRACT_IMAGE+fileName);
                 }else{
-                    /*imgUrl = "/iamberry/default.png";*/
                     responseJson.setReturnCode(500);
                 }
             }
@@ -414,23 +414,70 @@ public class ApprovalController {
                     if(approvalOrderService.updateApprovalInfo(info) < 1){
                         return  ResponseJson.getFAILURE();
                     }
-                    //推送微信模板消息通知
-                    SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日");
-                    ApprovalProduction production = approvalOrderService.getApprovalProductionById(approvalInfo.getApprovalId());
-                    Admin admininfo = new Admin();
-                    admininfo.setAdminId(production.getApplicantId());
-                    admininfo = sysService.getAdminInfo(admininfo);
-                    if(admininfo.getAdminOpenId() == null ){
-                        return  ResponseJson.getFAILURE();
+                    //判断是生产审批或提货审批
+                    if(info.getApprovalType() == 1){
+                        //推送微信模板消息通知
+                        SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日");
+                        ApprovalProduction production = approvalOrderService.getApprovalProductionById(approvalInfo.getApprovalId());
+                        Admin admininfo = new Admin();
+                        admininfo.setAdminId(production.getApplicantId());
+                        admininfo = sysService.getAdminInfo(admininfo);
+                        if(admininfo.getAdminOpenId() == null ){
+                            return  ResponseJson.getFAILURE();
+                        }
+                        //通知申请人该审批已通过
+                        SendMessageUtil sendMessageUtil = new SendMessageUtil();
+                        sendMessageUtil.reviewResultsPush("亲,您提交的申请 "+admin.getAdminName()+" 已处理。",
+                                production.getApplicantName(),
+                                "通过",
+                                format.format(new Date()),
+                                "审核通过后可通过公众号进入系统",
+                                admininfo.getAdminOpenId(),
+                                "url");
+                        //通知仓库订单已确认
+                        //获取仓库人员openid
+                        Admin adminTwo = new Admin();
+                        adminTwo.setAdminId(68);//仓库管理员id
+                        adminTwo = sysService.get(adminTwo);
+                        List<ApprovalProductionItem> items = approvalOrderService.getIteminfo(approvalInfo.getApprovalId());
+                        String products = "";
+                        Integer num = 0;
+                        for(ApprovalProductionItem item : items){
+                            products = products + item.getItemProductName()+",";
+                            num = item.getItemProductNum()+num;
+                        }
+                        products = products.substring(0,products.length() - 1);
+                        sendMessageUtil.putStoragePush(admininfo.getAdminName()+"的生产订单已确认,请在生产入库后确认",
+                                products,
+                                ""+num,
+                                admin.getAdminName(),
+                                "优尼雅仓库",
+                                "如有疑问请联系上级领导人",
+                                adminTwo.getAdminOpenId(),
+                                "url");
+                    }else{
+                        //通知申请人该提货审批已通过
+                        SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日");
+                        ApprovalApplyPick  approvalApplyPick = new ApprovalApplyPick();
+                        approvalApplyPick.setApprovalId(approvalInfo.getApprovalId());
+                        List<ApprovalApplyPick> pickList = applyPickService.getApprovalApplyPickList(approvalApplyPick);
+                        String products = "";
+                        for(ApprovalApplyPickItem PickItem : pickList.get(0).getListApplyPickItem()){
+                            products = products+PickItem.getItemProductName()+",";
+                        }
+                        products = products.substring(0,products.length()-1);
+                        Admin admininfo = new Admin();
+                        admininfo.setAdminId(pickList.get(0).getAdminId());
+                        admininfo = sysService.getAdminInfo(admininfo);
+                        SendMessageUtil sendMessageUtil = new SendMessageUtil();
+                        sendMessageUtil.applicationFormPush("您的申领单被 "+admin.getAdminName()+" 通过。",
+                                format.format(new Date()),
+                                "0000000"+approvalInfo.getApprovalId(),
+                                products,
+                                "点击查看详情",
+                                admininfo.getAdminOpenId(),
+                                "url");
                     }
-                    SendMessageUtil sendMessageUtil = new SendMessageUtil();
-                    sendMessageUtil.reviewResultsPush("亲,您提交的申请 "+admin.getAdminName()+" 已处理。",
-                            production.getApplicantName(),
-                            "通过",
-                            format.format(new Date()),
-                            "审核通过后可通过公众号进入系统",
-                            admininfo.getAdminOpenId(),
-                            "url");
 
                 }else if((Integer) taskMap.get("status") == 0){//还有下一个审批人,需要增加审批历史任务
                     if(taskMap.get("users") == null){
@@ -457,8 +504,8 @@ public class ApprovalController {
                         if(approvalOrderService.updateApprovalInfo(info) < 1){
                             return  ResponseJson.getFAILURE();
                         }
-                                //推送微信模板消息通知
-                                //查询审批订单信息
+                        //推送微信模板消息通知
+                          //查询审批订单信息
                         ApprovalProduction production = approvalOrderService.getApprovalProductionById(approvalInfo.getApprovalId());
                         SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日");
                         SendMessageUtil sendMessageUtil = new SendMessageUtil();
@@ -567,6 +614,9 @@ public class ApprovalController {
         if(admin == null){
             return new ResponseJson(200, "未查询到登录人信息", 500);
         }
+        Integer appvalId = 0;
+        Integer productNum = 0;
+        String productName = "";
         JSONArray jsonRecordss = JSONArray.fromObject(inventoryRecordss);
         for (int i = 0; i < jsonRecordss.size(); i++) {
             JSONObject jsonRecords = jsonRecordss.getJSONObject(i);
@@ -602,7 +652,27 @@ public class ApprovalController {
             if(approvalOrderService.updateProductionItem(productionItem) < 1){
                 return new ResponseJson(200, "修改审批产品项失败", 500);
             }
+            appvalId = jsonRecords.getInt("approvalId");
+            productNum = productNum + jsonRecords.getInt("actualStorage");
+            productName = productName + jsonRecords.getInt("productName")+",";
+
         }
+        //推送入库微信模板消息通知
+        //查询审批订单信息
+        ApprovalInfo approvalInfo = approvalOrderService.getApprovalInfoById(appvalId);
+        SendMessageUtil sendMessageUtil = new SendMessageUtil();
+        productName = productName.substring(0,productName.length() - 1);
+        Admin adminTwo = new Admin();
+        adminTwo.setAdminId(68);//仓库管理员id
+        adminTwo = sysService.get(adminTwo);
+        sendMessageUtil.putStoragePush(approvalInfo.getApprovalName()+"已入库,本次入口总数量"+productNum+"台",
+                productName,
+                ""+productNum,
+                admin.getAdminName(),
+                "优尼雅仓库",
+                "如有疑问请联系上级领导人",
+                adminTwo.getAdminOpenId(),
+                "url");
         return rj;
     }
 }