Browse Source

添加卡片修改功能(无用)

lwx_dev
erdanergou 3 years ago
parent
commit
dc963a5653
  1. 12
      src/main/java/com/dreamchaser/depository_manage/controller/DepositoryRecordController.java
  2. 2
      src/main/java/com/dreamchaser/depository_manage/controller/QyWxOperationController.java
  3. 7
      src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryRecordServiceImpl.java
  4. 83
      src/main/java/com/dreamchaser/depository_manage/service/impl/QyWxOperationService.java
  5. 3
      src/main/java/com/dreamchaser/depository_manage/service/impl/StockTakingServiceImpl.java
  6. 7
      src/main/resources/templates/pages/application/application_multi.html
  7. 7
      src/test/java/com/dreamchaser/depository_manage/TestForOther.java
  8. 7
      target/classes/templates/pages/application/application_multi.html
  9. 8
      target/classes/templates/pages/scanQrCode/ScanBarOrQrCodeOut.html

12
src/main/java/com/dreamchaser/depository_manage/controller/DepositoryRecordController.java

@ -893,14 +893,14 @@ public class DepositoryRecordController {
List<Integer> mids = (List<Integer>) map.get("iids"); List<Integer> mids = (List<Integer>) map.get("iids");
List<Integer> depositoryIds = (List<Integer>) map.get("depositoryIds"); List<Integer> depositoryIds = (List<Integer>) map.get("depositoryIds");
List<String> placeCodes = (List<String>) map.get("placeCodes"); List<String> placeCodes = (List<String>) map.get("placeCodes");
for (int i = 0; i < mids.size(); i++) { for (Integer mid : mids) {
redisTemplateForHash.opsForList().remove("mids" + userToken.getId(), 1, mids.get(i).toString()); redisTemplateForHash.opsForList().remove("mids" + userToken.getId(), 1, mid.toString());
} }
for (int i = 0; i < depositoryIds.size(); i++) { for (Integer depositoryId : depositoryIds) {
redisTemplateForHash.opsForList().remove("depositoryIds" + userToken.getId(), 1, depositoryIds.get(i).toString()); redisTemplateForHash.opsForList().remove("depositoryIds" + userToken.getId(), 1, depositoryId.toString());
} }
for (int i = 0; i < placeCodes.size(); i++) { for (String placeCode : placeCodes) {
redisTemplateForHash.opsForList().remove("placeCodes" + userToken.getId(), 1, placeCodes.get(i).toString()); redisTemplateForHash.opsForList().remove("placeCodes" + userToken.getId(), 1, placeCode+" ");
} }
return CrudUtil.insertHandle(1, 1); return CrudUtil.insertHandle(1, 1);
} }

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

@ -225,7 +225,7 @@ public class QyWxOperationController {
new Thread(new Runnable() { new Thread(new Runnable() {
@Override @Override
public void run() { public void run() {
qyWxOperationService.updateTemplateCard(templateCard.getResponseCode(), userByPort.getName(), finalResult, crypt); qyWxOperationService.updateButtonTemplateCardToUnEnable(templateCard.getResponseCode(), userByPort.getName(), finalResult, crypt);
} }
}).start(); }).start();

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

@ -21,10 +21,7 @@ import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.nio.charset.StandardCharsets;
import java.util.*; import java.util.*;
import java.util.concurrent.*; import java.util.concurrent.*;
@ -2516,7 +2513,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
//获取申请人信息 //获取申请人信息
String key = "user:" + applicantUser.getNumber() + ":QyWxOutId:" + id; String key = "user:" + applicantUser.getNumber() + ":QyWxOutId:" + id;
String responseCode = (String) redisTemplate.opsForHash().get(key, "responseCode"); String responseCode = (String) redisTemplate.opsForHash().get(key, "responseCode");
qyWxOperationService.updateTemplateCard(responseCode, userToken.getName(), finalResult, userAgent); qyWxOperationService.updateButtonTemplateCardToUnEnable(responseCode, userToken.getName(), finalResult, userAgent);
} }
}).start(); }).start();
@ -2702,7 +2699,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
UserByPort departHead = LinkInterfaceUtil.FindUserById(ObjectFormatUtil.toInteger(record.getDepartmenthead()), userToken); UserByPort departHead = LinkInterfaceUtil.FindUserById(ObjectFormatUtil.toInteger(record.getDepartmenthead()), userToken);
String key = "user:" + departHead.getNumber() + ":QyWxOutId:" + id; String key = "user:" + departHead.getNumber() + ":QyWxOutId:" + id;
String responseCode = (String) redisTemplate.opsForHash().get(key, "responseCode"); String responseCode = (String) redisTemplate.opsForHash().get(key, "responseCode");
qyWxOperationService.updateTemplateCard(responseCode, userToken.getName(), finalResult, userAgent); qyWxOperationService.updateButtonTemplateCardToUnEnable(responseCode, userToken.getName(), finalResult, userAgent);
} }
}).start(); }).start();
} }

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

@ -1145,14 +1145,8 @@ public class QyWxOperationService {
return jsonObject; return jsonObject;
} }
/**
* 给仓库管理员发送出库通知 public TemplateCard_text_notice getTextNoticeCard(Integer outMinId, Integer quantity) {
*
* @param uid
* @param outMinId
* @return
*/
public JSONObject sendNotificationToDepositoryManager(String uid, Integer outMinId, String userAgent) {
// 需要出库的子订单 // 需要出库的子订单
ApplicationOutRecordMin recordMin = depositoryRecordMapper.findApplicationOutMinById(outMinId); ApplicationOutRecordMin recordMin = depositoryRecordMapper.findApplicationOutMinById(outMinId);
// 获取其主订单 // 获取其主订单
@ -1161,21 +1155,6 @@ public class QyWxOperationService {
Integer applicantId = outRecordP.getApplicantId(); Integer applicantId = outRecordP.getApplicantId();
// 申请人 // 申请人
UserByPort applicant = LinkInterfaceUtil.FindUserById(applicantId, null); UserByPort applicant = LinkInterfaceUtil.FindUserById(applicantId, null);
// 定义文本通知型卡片
TextNotice textNotice = new TextNotice();
//设置消息接收者
String[] split = uid.split(",");
StringBuilder toUserName = new StringBuilder();
for (int i = 0; i < split.length - 1; i++) {
toUserName.append(split[i]).append("|");
}
toUserName.append(split[split.length - 1]);
textNotice.setTouser(toUserName.toString()); // 不区分大小写
// 设置agentId
textNotice.setAgentid(QyWxConfig.AgentId);
// 定义卡片模板 // 定义卡片模板
TemplateCard_text_notice text_notice = new TemplateCard_text_notice(); TemplateCard_text_notice text_notice = new TemplateCard_text_notice();
@ -1186,8 +1165,6 @@ public class QyWxOperationService {
Snowflake snowflake = new Snowflake(10, 10, true); Snowflake snowflake = new Snowflake(10, 10, true);
text_notice.setTask_id(snowflake.nextIdStr()); text_notice.setTask_id(snowflake.nextIdStr());
textNotice.setMsgtype("template_card");
// 设置主标题 // 设置主标题
TemplateCard_main_title main_title = new TemplateCard_main_title(); TemplateCard_main_title main_title = new TemplateCard_main_title();
main_title.setTitle(applicant.getName() + "的出库请求"); main_title.setTitle(applicant.getName() + "的出库请求");
@ -1233,8 +1210,13 @@ public class QyWxOperationService {
TemplateCard_horizontal_content horizontal_content_quantity = new TemplateCard_horizontal_content(); TemplateCard_horizontal_content horizontal_content_quantity = new TemplateCard_horizontal_content();
horizontal_content_quantity.setType(0); horizontal_content_quantity.setType(0);
horizontal_content_quantity.setKeyname("申请数量:"); horizontal_content_quantity.setKeyname("申请数量:");
if (quantity != null) {
horizontal_content_quantity.setValue(String.valueOf(quantity / 100));
} else {
horizontal_content_quantity.setValue(String.valueOf(recordMin.getQuantity() / 100)); horizontal_content_quantity.setValue(String.valueOf(recordMin.getQuantity() / 100));
}
// 申请单位 // 申请单位
TemplateCard_horizontal_content horizontal_content_unit = new TemplateCard_horizontal_content(); TemplateCard_horizontal_content horizontal_content_unit = new TemplateCard_horizontal_content();
horizontal_content_unit.setType(0); horizontal_content_unit.setType(0);
@ -1282,6 +1264,37 @@ public class QyWxOperationService {
jumpList.add(jump); jumpList.add(jump);
text_notice.setJump_list(jumpList); text_notice.setJump_list(jumpList);
return text_notice;
}
/**
* 给仓库管理员发送出库通知
*
* @param uid
* @param outMinId
* @return
*/
public JSONObject sendNotificationToDepositoryManager(String uid, Integer outMinId, String userAgent) {
// 定义文本通知型卡片
TextNotice textNotice = new TextNotice();
//设置消息接收者
String[] split = uid.split(",");
StringBuilder toUserName = new StringBuilder();
for (int i = 0; i < split.length - 1; i++) {
toUserName.append(split[i]).append("|");
}
toUserName.append(split[split.length - 1]);
textNotice.setTouser(toUserName.toString()); // 不区分大小写
// 设置agentId
textNotice.setAgentid(QyWxConfig.AgentId);
textNotice.setMsgtype("template_card");
// 获取卡片模板
TemplateCard_text_notice text_notice = getTextNoticeCard(outMinId,null);
textNotice.setTemplate_card(text_notice); textNotice.setTemplate_card(text_notice);
String s = JSONObject.toJSONString(textNotice); String s = JSONObject.toJSONString(textNotice);
@ -1301,6 +1314,7 @@ public class QyWxOperationService {
return jsonObject; return jsonObject;
} }
/** /**
* 用于撤回发送给企业微信的消息 * 用于撤回发送给企业微信的消息
* *
@ -1331,7 +1345,7 @@ public class QyWxOperationService {
* @param response_code * @param response_code
* @return * @return
*/ */
public JSONObject updateTemplateCard(String response_code, String userName, String state, String userAgent) { public JSONObject updateButtonTemplateCardToUnEnable(String response_code, String userName, String state, String userAgent) {
String url = String.format("https://qyapi.weixin.qq.com/cgi-bin/message/update_template_card?access_token=" + QyWxConfig.GetQYWXToken(userAgent) + "&debug=1"); String url = String.format("https://qyapi.weixin.qq.com/cgi-bin/message/update_template_card?access_token=" + QyWxConfig.GetQYWXToken(userAgent) + "&debug=1");
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
map.put("atall", 1); map.put("atall", 1);
@ -1347,6 +1361,23 @@ public class QyWxOperationService {
} }
public JSONObject updateTemplateCardToQuantity(String response_code, Integer quantity, String userAgent, Integer outMinId) {
String url = String.format("https://qyapi.weixin.qq.com/cgi-bin/message/update_template_card?access_token=" + QyWxConfig.GetQYWXToken(userAgent) + "&debug=1");
Map<String, Object> map = new HashMap<>();
map.put("atall", 1);
map.put("agentid", QyWxConfig.AgentId);
map.put("response_code", response_code);
map.put("enable_id_trans", 0);
TemplateCard_text_notice text_notice = getTextNoticeCard(outMinId,quantity);
map.put("template_card",text_notice);
String jsonString = JSONObject.toJSONString(map);
System.out.println(jsonString);
String s1 = HttpUtils.doPost(url, jsonString);
JSONObject jsonObject = JSON.parseObject(s1);
return jsonObject;
}
/** /**
* 获取审批模板详细 * 获取审批模板详细
* *

3
src/main/java/com/dreamchaser/depository_manage/service/impl/StockTakingServiceImpl.java

@ -25,7 +25,6 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
import java.util.*; import java.util.*;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
@ -1147,7 +1146,7 @@ public class StockTakingServiceImpl implements StockTakingService {
//获取申请人信息 //获取申请人信息
String key = "user:" + userByPort.getNumber() + ":QyWxStockTakingCompleteId:" + mainId; String key = "user:" + userByPort.getNumber() + ":QyWxStockTakingCompleteId:" + mainId;
String responseCode = (String) redisTemplate.opsForHash().get(key, "responseCode"); String responseCode = (String) redisTemplate.opsForHash().get(key, "responseCode");
qyWxOperationService.updateTemplateCard(responseCode, userToken.getName(), "处理", userAgent); qyWxOperationService.updateButtonTemplateCardToUnEnable(responseCode, userToken.getName(), "处理", userAgent);
} }
}).start(); }).start();

7
src/main/resources/templates/pages/application/application_multi.html

@ -147,6 +147,9 @@
if(obj.event==='delete'){ if(obj.event==='delete'){
if(req.mids.length > 0) { if(req.mids.length > 0) {
layer.confirm('真的删除么', {icon: 2, title: '提示'}, function (index) { layer.confirm('真的删除么', {icon: 2, title: '提示'}, function (index) {
for (i = 0, len = data.length; i < len; i++) {
req.placeCodes[i] = data[i].placeCodes.toString().replace(","," ")
}
$.ajax({ $.ajax({
url: "/depositoryRecord/deleteApplicationToRedis", url: "/depositoryRecord/deleteApplicationToRedis",
type: "post", type: "post",
@ -170,8 +173,10 @@
} }
} }
}) })
}) })
}else{ }
else{
layer.msg("未选中记录,请确认!"); layer.msg("未选中记录,请确认!");
return false; return false;
} }

7
src/test/java/com/dreamchaser/depository_manage/TestForOther.java

@ -56,11 +56,14 @@ public class TestForOther {
@Autowired @Autowired
MaterialMapper materialMapper; MaterialMapper materialMapper;
@Autowired
QyWxOperationService qyWxOperationService;
@Test @Test
public void run() { public void run() {
ApprovalInfo_Details approvalInfo = new ApprovalInfo_Details(); // ApprovalInfo_Details approvalInfo = new ApprovalInfo_Details();
// ApprovalInfo_Details_Approver approver = new ApprovalInfo_Details_Approver(); // ApprovalInfo_Details_Approver approver = new ApprovalInfo_Details_Approver();
// approver.setUserId("PangFuZhen"); // approver.setUserId("PangFuZhen");
// approvalInfo.setApprover(approver); // approvalInfo.setApprover(approver);
@ -68,7 +71,7 @@ public class TestForOther {
// depositoryRecordService.reviewByQyWxApprovalIn("[1]",approvalInfo,"460f46eaefb46bb0c171029f62e2cea6","2","202303220009"); // depositoryRecordService.reviewByQyWxApprovalIn("[1]",approvalInfo,"460f46eaefb46bb0c171029f62e2cea6","2","202303220009");
// UserByPort userByPort = LinkInterfaceUtil.FindUserById(78, null); // UserByPort userByPort = LinkInterfaceUtil.FindUserById(78, null);
// List<String> s = excelService.writeExcelForPrint(2, 4,userByPort); // List<String> s = excelService.writeExcelForPrint(2, 4,userByPort);
// 需要出库的子订单
} }

7
target/classes/templates/pages/application/application_multi.html

@ -147,6 +147,9 @@
if(obj.event==='delete'){ if(obj.event==='delete'){
if(req.mids.length > 0) { if(req.mids.length > 0) {
layer.confirm('真的删除么', {icon: 2, title: '提示'}, function (index) { layer.confirm('真的删除么', {icon: 2, title: '提示'}, function (index) {
for (i = 0, len = data.length; i < len; i++) {
req.placeCodes[i] = data[i].placeCodes.toString().replace(","," ")
}
$.ajax({ $.ajax({
url: "/depositoryRecord/deleteApplicationToRedis", url: "/depositoryRecord/deleteApplicationToRedis",
type: "post", type: "post",
@ -170,8 +173,10 @@
} }
} }
}) })
}) })
}else{ }
else{
layer.msg("未选中记录,请确认!"); layer.msg("未选中记录,请确认!");
return false; return false;
} }

8
target/classes/templates/pages/scanQrCode/ScanBarOrQrCodeOut.html

@ -57,7 +57,7 @@
let flagForForm = false; let flagForForm = false;
layui.$(function () { layui.$(function () {
/*let wxScan = parent.parent.parent; let wxScan = parent.parent.parent;
if (wxScan.wx !== undefined) { if (wxScan.wx !== undefined) {
wxScan = wxScan.wx; wxScan = wxScan.wx;
} else { } else {
@ -82,11 +82,7 @@
} }
});*/ });
var result = "1638361349087338496";//当needResult为1时返回处理结果
var req = {};
req.qrCode = result;
outboundLogic(req);
}); });

Loading…
Cancel
Save