Browse Source

修改审批结果名称

lwx_dev
erdanergou 3 years ago
parent
commit
2ba0c4d520
  1. 4
      src/main/java/com/dreamchaser/depository_manage/config/QyWxConfig.java
  2. 6
      src/main/java/com/dreamchaser/depository_manage/controller/QyWxOperationController.java
  3. 34
      src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryRecordServiceImpl.java
  4. 69
      src/main/java/com/dreamchaser/depository_manage/service/impl/QyWxOperationService.java
  5. 5
      src/test/java/com/dreamchaser/depository_manage/SomeTest.java

4
src/main/java/com/dreamchaser/depository_manage/config/QyWxConfig.java

@ -160,7 +160,7 @@ public class QyWxConfig {
} }
// 获取企业微信中仓储中心负责人标签的成员的userId // 获取企业微信中仓储中心负责人标签的成员的userId
public static List<String> getQyWxLabelUserList(String UserAgent) { public static List<String> getQyWxLabelUserListForLabelName(String UserAgent,String labelName) {
// 获取当前token // 获取当前token
String tempToken = GetQYWXToken(UserAgent); String tempToken = GetQYWXToken(UserAgent);
String url = String.format("https://qyapi.weixin.qq.com/cgi-bin/tag/list?access_token=%s", tempToken); String url = String.format("https://qyapi.weixin.qq.com/cgi-bin/tag/list?access_token=%s", tempToken);
@ -172,7 +172,7 @@ public class QyWxConfig {
JSONArray taglist = jsonObject.getJSONArray("taglist"); JSONArray taglist = jsonObject.getJSONArray("taglist");
for (Object o : taglist) { for (Object o : taglist) {
qywxLabel qywxLabel = JSONObject.toJavaObject((JSON) o, qywxLabel.class); qywxLabel qywxLabel = JSONObject.toJavaObject((JSON) o, qywxLabel.class);
if (qywxLabel.getTagname().contains("仓储中心负责人")) { if (qywxLabel.getTagname().contains(labelName)) {
List<qywxLabelUser> qyWxLabelUserList = getQyWxLabelUserList(tempToken, qywxLabel.getTagid().toString()); List<qywxLabelUser> qyWxLabelUserList = getQyWxLabelUserList(tempToken, qywxLabel.getTagid().toString());
for (qywxLabelUser qywxLabelUser : qyWxLabelUserList) { for (qywxLabelUser qywxLabelUser : qyWxLabelUserList) {
userIdList.add(qywxLabelUser.getUserid()); userIdList.add(qywxLabelUser.getUserid());

6
src/main/java/com/dreamchaser/depository_manage/controller/QyWxOperationController.java

@ -678,12 +678,14 @@ public class QyWxOperationController {
int finalFlagForDepository = flagForDepository; int finalFlagForDepository = flagForDepository;
HandlesOtherFunctionalThreadPool.execute(() -> depositoryRecordService.reviewByQyWxApprovalOut(mainId, finalApprovalInfo_details, crypt, spStatus, approvalInfo.getSpNo(), finalFlagForFirst, finalFlagForDepository)); HandlesOtherFunctionalThreadPool.execute(() -> depositoryRecordService.reviewByQyWxApprovalOut(mainId, finalApprovalInfo_details, crypt, spStatus, approvalInfo.getSpNo(), finalFlagForFirst, finalFlagForDepository));
} else if (QyWxConfig.stockTaking_approval_template_id.equals(approvalInfo.getTemplateId())) { }
else if (QyWxConfig.stockTaking_approval_template_id.equals(approvalInfo.getTemplateId())) {
// 如果是库存盘点审批 // 如果是库存盘点审批
// 开启一个线程用于进行处理 // 开启一个线程用于进行处理
ApprovalInfo_Details finalApprovalInfo_details = approvalInfo_details; ApprovalInfo_Details finalApprovalInfo_details = approvalInfo_details;
HandlesOtherFunctionalThreadPool.execute(() -> stockTakingService.reviewByQyWxApproval(mainId, finalApprovalInfo_details, crypt, spStatus, approvalInfo.getSpNo())); HandlesOtherFunctionalThreadPool.execute(() -> stockTakingService.reviewByQyWxApproval(mainId, finalApprovalInfo_details, crypt, spStatus, approvalInfo.getSpNo()));
} else if (QyWxConfig.in_approval_template_id.equals(approvalInfo.getTemplateId())) { }
else if (QyWxConfig.in_approval_template_id.equals(approvalInfo.getTemplateId())) {
// 如果是入库审批 // 如果是入库审批
// 开启一个线程用于进行处理 // 开启一个线程用于进行处理
ApprovalInfo_Details finalApprovalInfo_details = approvalInfo_details; ApprovalInfo_Details finalApprovalInfo_details = approvalInfo_details;

34
src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryRecordServiceImpl.java

@ -1,6 +1,5 @@
package com.dreamchaser.depository_manage.service.impl; package com.dreamchaser.depository_manage.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.dreamchaser.depository_manage.config.PublicConfig; import com.dreamchaser.depository_manage.config.PublicConfig;
import com.dreamchaser.depository_manage.config.QyWxConfig; import com.dreamchaser.depository_manage.config.QyWxConfig;
@ -767,8 +766,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
flagForApproval = isApprovalPass; flagForApproval = isApprovalPass;
} }
map.put("flagForApproval", flagForApproval); map.put("flagForApproval", flagForApproval);
} } else {
else {
// 设置审批权限 // 设置审批权限
map.put("inType", "mt"); map.put("inType", "mt");
// 获取当前类别物料是否需要审批 // 获取当前类别物料是否需要审批
@ -842,7 +840,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
* @return * @return
*/ */
Integer updateInventoryInfoForApproval(Map<String, Object> map, double quantity, Material materialById, Place placeById) { Integer updateInventoryInfoForApproval(Map<String, Object> map, double quantity, Material materialById, Place placeById) {
log.info("入库审批后要修改的数据: "+JSONObject.toJSONString(map)+JSONObject.toJSONString(materialById)+JSONObject.toJSONString(placeById)); log.info("入库审批后要修改的数据: " + JSONObject.toJSONString(map) + JSONObject.toJSONString(materialById) + JSONObject.toJSONString(placeById));
// 获取当前入库的物料id // 获取当前入库的物料id
Integer newInMid = ObjectFormatUtil.toInteger(map.get("newInMid")); Integer newInMid = ObjectFormatUtil.toInteger(map.get("newInMid"));
// 获取当前入库记录id // 获取当前入库记录id
@ -2498,9 +2496,9 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
// 将主订单插入到redis中 // 将主订单插入到redis中
redisPool.getRedisTemplateByDb(15).opsForHash().put("record:" + recordP.getId(), "minRecord", minRecordByMain.toString()); redisPool.getRedisTemplateByDb(15).opsForHash().put("record:" + recordP.getId(), "minRecord", minRecordByMain.toString());
map.put("state", "仓储中心负责人审核通过"); map.put("state", userByPort.getName()+"审核通过");
if (flagForDepartmentHeadPass || flagForOpenDepository == 2) { if (flagForDepartmentHeadPass || flagForOpenDepository == 2) {
map.put("state", "部门负责人审核通过"); map.put("state", userByPort.getName()+"审核通过");
map.put("departmentheadTime", DateUtil.DateTimeToTimeStamp(simpleTime)); map.put("departmentheadTime", DateUtil.DateTimeToTimeStamp(simpleTime));
map.put("depositoryManagerPass", 4); map.put("depositoryManagerPass", 4);
map.put("departmenthead", userByPort.getId()); map.put("departmenthead", userByPort.getId());
@ -2512,10 +2510,10 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
updateInventoryForOutRefused(recordP); updateInventoryForOutRefused(recordP);
map.put("depositoryManagerPass", 2); map.put("depositoryManagerPass", 2);
map.put("pass", 2); map.put("pass", 2);
map.put("state", "仓储中心负责人审核未通过"); map.put("state", userByPort.getName() + "审核未通过");
if (flagForDepartmentHeadPass || flagForOpenDepository == 2) { if (flagForDepartmentHeadPass || flagForOpenDepository == 2) {
map.put("departmentheadPass", 2); map.put("departmentheadPass", 2);
map.put("state", "部门负责人审核未通过"); map.put("state", userByPort.getName() + "审核未通过");
map.put("departmentheadTime", DateUtil.DateTimeToTimeStamp(simpleTime)); map.put("departmentheadTime", DateUtil.DateTimeToTimeStamp(simpleTime));
map.put("departmenthead", userByPort.getId()); map.put("departmenthead", userByPort.getId());
map.put("depositoryManagerPass", 4); map.put("depositoryManagerPass", 4);
@ -2553,7 +2551,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
} else { } else {
map.put("state", "待仓储中心负责人审核"); map.put("state", "待仓储中心负责人审核");
// 获取仓储中心负责人标签的用户userId // 获取仓储中心负责人标签的用户userId
List<String> qyWxLabelUserList = QyWxConfig.getQyWxLabelUserList(userAgent); List<String> qyWxLabelUserList = QyWxConfig.getQyWxLabelUserListForLabelName(userAgent, "仓储中心负责人");
for (String s : qyWxLabelUserList) { for (String s : qyWxLabelUserList) {
Map<String, Object> userByQyWxUserId = PublicConfig.findUserByQyWxUserId(s); Map<String, Object> userByQyWxUserId = PublicConfig.findUserByQyWxUserId(s);
UserByPort user = (UserByPort) userByQyWxUserId.get("user"); UserByPort user = (UserByPort) userByQyWxUserId.get("user");
@ -2568,7 +2566,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
updateInventoryForOutRefused(recordP); updateInventoryForOutRefused(recordP);
map.put("pass", 2); map.put("pass", 2);
map.put("departmentheadPass", 2); map.put("departmentheadPass", 2);
map.put("state", "部门负责人审核未通过"); map.put("state", userByPort.getName() + "审核未通过");
redisPool.getRedisTemplateByDb(14).delete("wms_QyWxMessage_" + spNo); redisPool.getRedisTemplateByDb(14).delete("wms_QyWxMessage_" + spNo);
} }
} }
@ -3044,7 +3042,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
updateInventoryForOutRefused(record); updateInventoryForOutRefused(record);
result = "驳回"; result = "驳回";
map.put("pass", 2); map.put("pass", 2);
map.put("state", "部门负责人审核未通过"); map.put("state", userToken.getName()+"审核未通过");
} }
// 开启线程更改其他用户卡片模板样式 // 开启线程更改其他用户卡片模板样式
@ -3327,10 +3325,10 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
// 将主订单插入到redis中 // 将主订单插入到redis中
redisPool.getRedisTemplateByDb(15).opsForHash().put("record:" + record.getId(), "minRecord", minRecordByMain.toString()); redisPool.getRedisTemplateByDb(15).opsForHash().put("record:" + record.getId(), "minRecord", minRecordByMain.toString());
map.put("state", "仓储中心负责人审核通过"); map.put("state", userToken.getName()+"审核通过");
if (flagFordepartmentTime || flagForOpenDepository == 2) { if (flagFordepartmentTime || flagForOpenDepository == 2) {
map.put("state", "部门负责人审核通过"); map.put("state", userToken.getName()+"审核通过");
map.put("departmentheadTime", DateUtil.DateTimeToTimeStamp(simpleTime)); map.put("departmentheadTime", DateUtil.DateTimeToTimeStamp(simpleTime));
map.put("depositoryManagerPass", 4); map.put("depositoryManagerPass", 4);
map.put("departmenthead", userToken.getId()); map.put("departmenthead", userToken.getId());
@ -3341,9 +3339,9 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
updateInventoryForOutRefused(record); updateInventoryForOutRefused(record);
result = "驳回"; result = "驳回";
map.put("pass", 2); map.put("pass", 2);
map.put("state", "仓储中心负责人审核未通过"); map.put("state", userToken.getName()+"审核未通过");
if (flagFordepartmentTime) { if (flagFordepartmentTime) {
map.put("state", "部门负责人审核未通过"); map.put("state", userToken.getName()+"审核未通过");
map.put("departmenthead", userToken.getId()); map.put("departmenthead", userToken.getId());
map.put("departmentheadPass", 2); map.put("departmentheadPass", 2);
map.put("departmentheadTime", DateUtil.DateTimeToTimeStamp(simpleTime)); map.put("departmentheadTime", DateUtil.DateTimeToTimeStamp(simpleTime));
@ -3567,7 +3565,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
// 如果点击的是驳回 // 如果点击的是驳回
map.put("pass", 2); map.put("pass", 2);
map.put("departmentheadPass", 2); map.put("departmentheadPass", 2);
map.put("state", "部门负责人审核未通过"); map.put("state", userByPort.getName()+"审核未通过");
} }
} else { } else {
@ -3782,13 +3780,13 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
// 将主订单插入到redis中 // 将主订单插入到redis中
redisPool.getRedisTemplateByDb(15).opsForHash().put("record:" + recordP.getId(), "minRecord", minRecordByMain.toString()); redisPool.getRedisTemplateByDb(15).opsForHash().put("record:" + recordP.getId(), "minRecord", minRecordByMain.toString());
map.put("state", "仓储中心负责人审核通过"); map.put("state", userByPort.getName()+"审核通过");
} else { } else {
// 如果是不通过 // 如果是不通过
updateInventoryForOutRefused(recordP); updateInventoryForOutRefused(recordP);
map.put("depositoryManagerPass", 2); map.put("depositoryManagerPass", 2);
map.put("pass", 2); map.put("pass", 2);
map.put("state", "仓储中心负责人审核未通过"); map.put("state", userByPort.getName()+"审核未通过");
} }
} }
map.put("id", outId); map.put("id", outId);

69
src/main/java/com/dreamchaser/depository_manage/service/impl/QyWxOperationService.java

@ -19,6 +19,7 @@ import com.dreamchaser.depository_manage.utils.ObjectFormatUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import sun.net.PortConfig;
import java.util.*; import java.util.*;
@ -1566,6 +1567,9 @@ public class QyWxOperationService {
// 设置标志位,用于标志是否全为办公用品库或消防用品库 // 设置标志位,用于标志是否全为办公用品库或消防用品库
boolean flag = true; boolean flag = true;
// 设置标志位,标志是否为中心仓下的办公用品库(默认不是)
boolean flagForZXCWorkWarehouse = false;
// 定义仓库Id列表 // 定义仓库Id列表
List<Integer> depositoryIdList = new ArrayList<>(); List<Integer> depositoryIdList = new ArrayList<>();
List<Long> materialTypeIdList = new ArrayList<>(); List<Long> materialTypeIdList = new ArrayList<>();
@ -1587,6 +1591,12 @@ public class QyWxOperationService {
if (!depositoryTop.getDname().contains("前置仓")) { if (!depositoryTop.getDname().contains("前置仓")) {
// 如果不是前置仓下的仓库 // 如果不是前置仓下的仓库
flag = false; flag = false;
} else {
// 获取当前选择的仓库名称
String dname = depositoryById.getDname();
if (dname.contains("办公")) {
flagForZXCWorkWarehouse = true;
}
} }
if (!depositoryIdList.contains(depositoryId)) { if (!depositoryIdList.contains(depositoryId)) {
@ -1772,26 +1782,61 @@ public class QyWxOperationService {
approvalTemplate.setApply_data(approval_template_apply_data); approvalTemplate.setApply_data(approval_template_apply_data);
//抄送方式:1-提单时抄送(默认值); 2-单据通过后抄送;3-提单和单据通过后抄送。仅use_template_approver为0时生效。 //抄送方式:1-提单时抄送(默认值); 2-单据通过后抄送;3-提单和单据通过后抄送。仅use_template_approver为0时生效。
approvalTemplate.setNotify_type(2); approvalTemplate.setNotify_type(1);
if (!flag) { if (!flag) {
if (flagForZXCWorkWarehouse) {
// 如果是办公用品库
// 流程修改为 部门负责人-平衡岗人员-综合部负责人-管理员
List<String> userListForLabelName = QyWxConfig.getQyWxLabelUserListForLabelName(userAgent, "平衡岗");
// 用于设置平衡岗负责人流程
Approval_template_approver approval_template_approver_Label = new Approval_template_approver();
approval_template_approver_Label.setAttr(1);
approval_template_approver_Label.setUserid(userListForLabelName);
// 获取仓储中心负责人标签的用户userId approval_template_approver_list.add(approval_template_approver_Label);
List<String> qyWxLabelUserList = QyWxConfig.getQyWxLabelUserList(userAgent);
// 用于设置仓储中心负责人流程
Approval_template_approver approval_template_approver_Label = new Approval_template_approver();
approval_template_approver_Label.setAttr(1);
approval_template_approver_Label.setUserid(qyWxLabelUserList);
approval_template_approver_list.add(approval_template_approver_Label); // 获取综合办部门负责人
List<UserByPort> departmentHeadByUser = PublicConfig.findDepartmentHeadByUser(268, userKey, token);
List<String> ZHBQyWxId = new ArrayList<>();
for (UserByPort userByPort : departmentHeadByUser) {
String QyWxId = userByPort.getWorkwechat();
if (QyWxId == null || "".equals(QyWxId)) {
QyWxId = userByPort.getWechat();
}
ZHBQyWxId.add(QyWxId);
}
// 用于设置综合办负责人流程
Approval_template_approver approval_template_approver_ZHBHeader = new Approval_template_approver();
approval_template_approver_ZHBHeader.setAttr(1);
approval_template_approver_ZHBHeader.setUserid(ZHBQyWxId);
approval_template_approver_list.add(approval_template_approver_ZHBHeader);
// 如果是通过开放仓库申请的 } else {
if (Integer.compare(2, flagForOpenDepository) == 0) { // 如果不是办公用品库
otherDepartmentIdList = qyWxLabelUserList;
// 获取仓储中心负责人标签的用户userId
List<String> qyWxLabelUserList = QyWxConfig.getQyWxLabelUserListForLabelName(userAgent, "仓储中心负责人");
// 用于设置仓储中心负责人流程
Approval_template_approver approval_template_approver_Label = new Approval_template_approver();
approval_template_approver_Label.setAttr(1);
approval_template_approver_Label.setUserid(qyWxLabelUserList);
approval_template_approver_list.add(approval_template_approver_Label);
// 如果是通过开放仓库申请的
if (Integer.compare(2, flagForOpenDepository) == 0) {
otherDepartmentIdList = qyWxLabelUserList;
}
} }
} else {
}
else {
// 如果不是中心仓下的仓库 // 如果不是中心仓下的仓库
if (Integer.compare(2, flagForOpenDepository) == 0) { if (Integer.compare(2, flagForOpenDepository) == 0) {

5
src/test/java/com/dreamchaser/depository_manage/SomeTest.java

@ -1,8 +1,10 @@
package com.dreamchaser.depository_manage; package com.dreamchaser.depository_manage;
import com.dreamchaser.depository_manage.config.PublicConfig;
import com.dreamchaser.depository_manage.config.QyWxConfig; import com.dreamchaser.depository_manage.config.QyWxConfig;
import com.dreamchaser.depository_manage.config.QyWxJMJM.com.qq.weixin.mp.aes.AesException; import com.dreamchaser.depository_manage.config.QyWxJMJM.com.qq.weixin.mp.aes.AesException;
import com.dreamchaser.depository_manage.config.QyWxJMJM.com.qq.weixin.mp.aes.WXBizMsgCrypt; import com.dreamchaser.depository_manage.config.QyWxJMJM.com.qq.weixin.mp.aes.WXBizMsgCrypt;
import com.dreamchaser.depository_manage.entity.UserByPort;
import com.dreamchaser.depository_manage.pojo.ApplicationOutRecordP; import com.dreamchaser.depository_manage.pojo.ApplicationOutRecordP;
import com.dreamchaser.depository_manage.pojo.callBackXml.approvalCallBackXml.*; import com.dreamchaser.depository_manage.pojo.callBackXml.approvalCallBackXml.*;
import com.dreamchaser.depository_manage.security.pool.HandlesOtherFunctionalThreadPool; import com.dreamchaser.depository_manage.security.pool.HandlesOtherFunctionalThreadPool;
@ -73,6 +75,7 @@ public class SomeTest {
// 定义审批详情 // 定义审批详情
ApprovalInfo_Details ap_detail = null; ApprovalInfo_Details ap_detail = null;
// 用于获取当前审批的最新节点
for (ApprovalInfo_Details ad : details) { for (ApprovalInfo_Details ad : details) {
// 获取节点分支审批人审批操作时间,0为尚未操作 // 获取节点分支审批人审批操作时间,0为尚未操作
@ -90,6 +93,8 @@ public class SomeTest {
break; break;
} }
} }
if (!"0".equals(spTime)) { if (!"0".equals(spTime)) {
// 如果已经操作 // 如果已经操作

Loading…
Cancel
Save