|
|
|
@ -1,121 +0,0 @@
|
|
|
|
|
package com.weaver.seconddev.interfaces.workflow.action;
|
|
|
|
|
|
|
|
|
|
import com.weaver.seconddev.interfaces.swfa.BillFieldUtil;
|
|
|
|
|
import com.weaver.common.i18n.tool.util.I18nContextUtil;
|
|
|
|
|
import com.weaver.verupgrade.conn.CONN_TYPE;
|
|
|
|
|
import java.lang.*;
|
|
|
|
|
import java.util.*;
|
|
|
|
|
import com.weaver.verupgrade.workflow.request.RequestManager;
|
|
|
|
|
import com.weaver.esb.api.rpc.EsbServerlessRpcRemoteInterface;
|
|
|
|
|
import com.weaver.common.base.entity.result.WeaResult;
|
|
|
|
|
import org.slf4j.Logger;
|
|
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
import com.weaver.verupgrade.soa.workflow.request.RequestInfo;
|
|
|
|
|
import java.util.Map;
|
|
|
|
|
import java.util.HashMap;
|
|
|
|
|
import com.weaver.verupgrade.conn.RecordSet;
|
|
|
|
|
import com.weaver.verupgrade.general.BaseBean;
|
|
|
|
|
import com.weaver.verupgrade.general.Util;
|
|
|
|
|
import com.weaver.verupgrade.soa.workflow.request.Cell;
|
|
|
|
|
import com.weaver.verupgrade.soa.workflow.request.DetailTable;
|
|
|
|
|
import com.weaver.verupgrade.soa.workflow.request.Property;
|
|
|
|
|
import com.weaver.verupgrade.soa.workflow.request.Row;
|
|
|
|
|
import com.weaver.verupgrade.interfaces.workflow.action.Action;
|
|
|
|
|
|
|
|
|
|
@org.springframework.stereotype.Service("workflow_action_WuJiangGiftAction")
|
|
|
|
|
public class WuJiangGiftAction extends BaseBean implements Action, EsbServerlessRpcRemoteInterface {
|
|
|
|
|
|
|
|
|
|
// 对应E9的请求信息对象
|
|
|
|
|
@Autowired
|
|
|
|
|
private RequestInfo requestInfoTemp;
|
|
|
|
|
|
|
|
|
|
private static final Logger logger_cbf7b404 = LoggerFactory.getLogger(WuJiangGiftAction.class);
|
|
|
|
|
|
|
|
|
|
public WeaResult<Map<String, Object>> execute(Map<String, Object> requestInfoMap) {
|
|
|
|
|
Map<String, Object> weaverResultMap = new HashMap<>();
|
|
|
|
|
Long requestIdTemp = Long.parseLong(String.valueOf(requestInfoMap.getOrDefault("requestid", -1)));
|
|
|
|
|
Long userIdTemp = Long.parseLong(String.valueOf(requestInfoMap.getOrDefault("userid", -1)));
|
|
|
|
|
RequestInfo requestinfo = requestInfoTemp.getRequestInfo(requestIdTemp, userIdTemp);
|
|
|
|
|
try {
|
|
|
|
|
String requestid = requestinfo.getRequestid();
|
|
|
|
|
logger_cbf7b404.info(String.valueOf("WuJiangGiftAction--" + requestid + "--start"));
|
|
|
|
|
String type = "";
|
|
|
|
|
Property[] properties = requestinfo.getMainTableInfo().getProperty();
|
|
|
|
|
for (int i = 0; i < properties.length; i++) {
|
|
|
|
|
String name = properties[i].getName().toUpperCase();
|
|
|
|
|
String value = Util.null2String(properties[i].getValue());
|
|
|
|
|
if ("LPYTLB".equals(name)) {
|
|
|
|
|
type = value;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
DetailTable[] detailtable = requestinfo.getDetailTableInfo().getDetailTable();
|
|
|
|
|
// 指定明细表
|
|
|
|
|
DetailTable dtq = detailtable[0];
|
|
|
|
|
Row[] sq = dtq.getRow();
|
|
|
|
|
String sta = "";
|
|
|
|
|
for (int j = 0; j < sq.length; j++) {
|
|
|
|
|
// 指定行
|
|
|
|
|
Row rq = sq[j];
|
|
|
|
|
Cell[] cq = rq.getCell();
|
|
|
|
|
String lpxx = "";
|
|
|
|
|
String bz = "";
|
|
|
|
|
for (int k = 0; k < cq.length; k++) {
|
|
|
|
|
// 指定列
|
|
|
|
|
Cell cq1 = cq[k];
|
|
|
|
|
// 明细字段名称
|
|
|
|
|
String nameq = cq1.getName().toLowerCase();
|
|
|
|
|
String valueq = Util.null2String(cq1.getValue());
|
|
|
|
|
if ("lpxx".equals(nameq)) {
|
|
|
|
|
lpxx = valueq;
|
|
|
|
|
}
|
|
|
|
|
if ("mxbz".equals(nameq)) {
|
|
|
|
|
bz = valueq;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if ("92".equals(lpxx) && "0".equals(type)) {
|
|
|
|
|
if ("".equals(bz) || bz == null) {
|
|
|
|
|
sta = "E";
|
|
|
|
|
requestinfo.getRequestManager().setMessageid("error");
|
|
|
|
|
requestinfo.getRequestManager().setMessagecontent("领用“洋河蓝色经典梦之蓝M3”作为外部接待酒水时, 必须填写备注!");
|
|
|
|
|
break;
|
|
|
|
|
} else {
|
|
|
|
|
sta = "S";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if ("S".equals(sta)) {
|
|
|
|
|
String workflowid = requestinfo.getWorkflowid();
|
|
|
|
|
BillFieldUtil util = new BillFieldUtil();
|
|
|
|
|
String tablename = util.getTablename(workflowid);
|
|
|
|
|
RecordSet rs = I18nContextUtil.getBean(RecordSet.class);
|
|
|
|
|
String sql = "update " + tablename + " set sfbhm3=0 where requestId=" + requestid;
|
|
|
|
|
logger_cbf7b404.info(String.valueOf(sql));
|
|
|
|
|
String poolname = CONN_TYPE.workflow.getType();
|
|
|
|
|
// TODO E10执行sql方法第二参数必须指定源,默认使用流程源,单体客户无需修改,微服务/组合客户需根据查询表所属服务切换源,或使用外部数据源
|
|
|
|
|
rs.executeSql(sql, poolname);
|
|
|
|
|
}
|
|
|
|
|
logger_cbf7b404.info(String.valueOf("WuJiangGiftAction--" + requestid + "--end"));
|
|
|
|
|
return WeaResult.success(getResultMapForAction(weaverResultMap, "result", Action.SUCCESS, requestinfo.getRequestManager()));
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
logger_cbf7b404.error("WuJiangGiftAction e: {}", e.getMessage());
|
|
|
|
|
return WeaResult.success(getResultMapForAction(weaverResultMap, "result", WeaResult.fail(500, "执行异常", getResultMapForAction(weaverResultMap, "result", e.getMessage(), requestinfo.getRequestManager())), requestinfo.getRequestManager()));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Map<String, Object> getResultMapForAction(Map<String, Object> map, String key, Object value, RequestManager requestManager) {
|
|
|
|
|
if (key != null && !key.isEmpty()) {
|
|
|
|
|
map.put(key, value);
|
|
|
|
|
}
|
|
|
|
|
String msgContent = requestManager.getMessagecontent();
|
|
|
|
|
if (msgContent != null && !msgContent.isEmpty()) {
|
|
|
|
|
map.put("msgContent", msgContent);
|
|
|
|
|
}
|
|
|
|
|
String msgId = requestManager.getMessageid();
|
|
|
|
|
if (msgId != null && !msgId.isEmpty()) {
|
|
|
|
|
map.put("msgId", msgId);
|
|
|
|
|
}
|
|
|
|
|
return map;
|
|
|
|
|
}
|
|
|
|
|
}
|