#xinfengYin-25# GY103-供应商引入、转正申请流程

ht
xinfengYin 1 month ago
parent 9ba7581203
commit 6c91381010

@ -283,146 +283,149 @@ public class OaSrmVendorCheckAction extends BaseBean implements Action, EsbServe
logger_a864d799.error(String.valueOf(requestid + "申请转正供应商为线下供应商"));
}
DetailTable[] detailtable = requestinfo.getDetailTableInfo().getDetailTable();
// 指定明细表
DetailTable dtq = null;
if(dtq != null){
dtq = detailtable[1];
}
// 当前明细表的所有数据,按行存储
Row[] sq = null;
if(dtq != null){sq = dtq.getRow();}
if (sq != null && sq.length > 0 && "S".equals(state)) {
Set<String> set = new HashSet<String>();
Set<String> wlhset = new HashSet<String>();
List<String> list = new ArrayList<String>();
StringBuilder sb = new StringBuilder();
int dtcount = 0;
String sql = "select distinct wlh from e10_core_business.dbo." + tablename + " a,e10_core_business.dbo." + tablename + "_dt2 b where a.form_data_id=b.form_data_id and a.id=" + requestid;
logger_a864d799.error("sql-->" + sql);
String poolname_4c = CONN_TYPE.workflow.getType();
// TODO E10执行sql方法第二参数必须指定源默认使用流程源单体客户无需修改微服务/组合客户需根据查询表所属服务切换源,或使用外部数据源
boolean b = rs.executeSql(sql, poolname_4c);
logger_a864d799.error(String.valueOf("b--" + b));
dtcount = rs.getCounts();
logger_a864d799.error(String.valueOf(requestid + " dt2count:" + dtcount));
if ( sq != null && sq.length <= 300) {
SRM_OA_VENMATEXT_RESULT param = new SRM_OA_VENMATEXT_RESULT();
VenMatExtResultIn paramInfo = new VenMatExtResultIn();
VenMatExtResultItemIn[] item = new VenMatExtResultItemIn[dtcount];
String wlhs = "";
String flagwl = "";
int itemnum = 0;
for (int j = 0; j < sq.length; j++) {
// 指定行
Row rq = sq[j];
Cell[] cq = rq.getCell();
VenMatExtResultItemIn itemIn = new VenMatExtResultItemIn();
String isexists = "0";
logger_a864d799.error(String.valueOf(requestid + " wlhs:" + wlhs));
for (int k = 0; k < cq.length; k++) {
// 指定列
Cell cq1 = cq[k];
// 明细字段名称
String nameq = cq1.getName().toLowerCase();
// 明细字段的值
String valueq = Util.null2String(cq1.getValue());
if ("cgzzbm".equals(nameq)) {
set.add(valueq);
}
if ("wlh".equals(nameq)) {
if (("," + wlhs + ",").indexOf("," + valueq + ",") >= 0) {
logger_a864d799.error(String.valueOf(requestid + " 物料号重复:" + valueq));
isexists = "1";
continue;
if(detailtable.length > 1){
// 指定明细表
DetailTable dtq = null;
if(dtq != null){
dtq = detailtable[1];
}
// 当前明细表的所有数据,按行存储
Row[] sq = null;
if(dtq != null){sq = dtq.getRow();}
if (sq != null && sq.length > 0 && "S".equals(state)) {
Set<String> set = new HashSet<String>();
Set<String> wlhset = new HashSet<String>();
List<String> list = new ArrayList<String>();
StringBuilder sb = new StringBuilder();
int dtcount = 0;
String sql = "select distinct wlh from e10_core_business.dbo." + tablename + " a,e10_core_business.dbo." + tablename + "_dt2 b where a.form_data_id=b.form_data_id and a.id=" + requestid;
logger_a864d799.error("sql-->" + sql);
String poolname_4c = CONN_TYPE.workflow.getType();
// TODO E10执行sql方法第二参数必须指定源默认使用流程源单体客户无需修改微服务/组合客户需根据查询表所属服务切换源,或使用外部数据源
boolean b = rs.executeSql(sql, poolname_4c);
logger_a864d799.error(String.valueOf("b--" + b));
dtcount = rs.getCounts();
logger_a864d799.error(String.valueOf(requestid + " dt2count:" + dtcount));
if ( sq != null && sq.length <= 300) {
SRM_OA_VENMATEXT_RESULT param = new SRM_OA_VENMATEXT_RESULT();
VenMatExtResultIn paramInfo = new VenMatExtResultIn();
VenMatExtResultItemIn[] item = new VenMatExtResultItemIn[dtcount];
String wlhs = "";
String flagwl = "";
int itemnum = 0;
for (int j = 0; j < sq.length; j++) {
// 指定行
Row rq = sq[j];
Cell[] cq = rq.getCell();
VenMatExtResultItemIn itemIn = new VenMatExtResultItemIn();
String isexists = "0";
logger_a864d799.error(String.valueOf(requestid + " wlhs:" + wlhs));
for (int k = 0; k < cq.length; k++) {
// 指定列
Cell cq1 = cq[k];
// 明细字段名称
String nameq = cq1.getName().toLowerCase();
// 明细字段的值
String valueq = Util.null2String(cq1.getValue());
if ("cgzzbm".equals(nameq)) {
set.add(valueq);
}
if ("wlh".equals(nameq)) {
if (("," + wlhs + ",").indexOf("," + valueq + ",") >= 0) {
logger_a864d799.error(String.valueOf(requestid + " 物料号重复:" + valueq));
isexists = "1";
continue;
}
itemIn.setMaterialCode(valueq);
list.add(valueq);
wlhs = wlhs + flagwl + valueq;
flagwl = ",";
}
if ("wlms".equals(nameq)) {
String wlms = StringEscapeUtils.unescapeHtml(valueq.trim());
logger_a864d799.error(String.valueOf("wlms:" + wlms));
// String wlms_half = full2HalfWidth(wlms);
// writeLog("wlms_half:"+wlms_half);
itemIn.setMaterialName(wlms);
}
if ("xjxzb".equals(nameq)) {
itemIn.setWeight(valueq);
}
if ("clfl".equals(nameq)) {
// String clfl = BillFieldUtil.getselectName(valueq,"59436");//测试53290 正式59436
// 测试53290 正式59436
String clfl = tu.getSelectName(tablename, "clfl", valueq);
itemIn.setMatLevel(clfl);
}
itemIn.setMaterialCode(valueq);
list.add(valueq);
wlhs = wlhs + flagwl + valueq;
flagwl = ",";
}
if ("wlms".equals(nameq)) {
String wlms = StringEscapeUtils.unescapeHtml(valueq.trim());
logger_a864d799.error(String.valueOf("wlms:" + wlms));
// String wlms_half = full2HalfWidth(wlms);
// writeLog("wlms_half:"+wlms_half);
itemIn.setMaterialName(wlms);
}
if ("xjxzb".equals(nameq)) {
itemIn.setWeight(valueq);
}
if ("clfl".equals(nameq)) {
// String clfl = BillFieldUtil.getselectName(valueq,"59436");//测试53290 正式59436
// 测试53290 正式59436
String clfl = tu.getSelectName(tablename, "clfl", valueq);
itemIn.setMatLevel(clfl);
if ("1".equals(isexists)) {
logger_a864d799.error(String.valueOf(requestid + " 物料号重复:跳过"));
continue;
}
item[itemnum] = itemIn;
itemnum++;
}
if ("1".equals(isexists)) {
logger_a864d799.error(String.valueOf(requestid + " 物料号重复:跳过"));
continue;
}
item[itemnum] = itemIn;
itemnum++;
}
if (list.size() > 0) {
// for(String s:list){
// boolean flag = wlhset.add(s);
// if(!flag){
// sb.append("物料号-"+s+"-存在重复;");
// }
// }
if (sb != null && sb.length() > 0) {
state = "E";
message = sb.toString();
logger_a864d799.error(String.valueOf(requestid + " 用户申请货源关系转正数据不符合要求:" + message));
} else {
// if(set.size()==1){
String purOrgCodes = "";
String flag = "";
Iterator it = set.iterator();
while (it.hasNext()) {
purOrgCodes = purOrgCodes + flag + it.next();
flag = ";";
}
logger_a864d799.error(String.valueOf(requestid + " purOrgCodes" + purOrgCodes));
paramInfo.setApplyUser(gh);
paramInfo.setCheckUser(shr);
paramInfo.setCompanyCode(sqdwbm);
paramInfo.setCompanyName(sqdw);
paramInfo.setVendorCode(gysbm);
paramInfo.setVendorName(gysmc);
paramInfo.setHandleType("0");
paramInfo.setRequestId("GY103/" + requestid);
paramInfo.setStartDate(map.get("SQRQ"));
paramInfo.setEndDate("2099-12-31");
paramInfo.setPurOrgCode(purOrgCodes);
paramInfo.setItems(item);
paramInfo.setFreezeReason("");
logger_a864d799.error(String.valueOf(requestid + " resourceType:" + resourceType));
paramInfo.setResourceType(resourceType);
param.setInputTab(paramInfo);
// OaSrmVenMatExtService service = new OaSrmVenMatExtService();
String[] str = service.sendsrm(param, requestid);
if ("1".equals(str[0])) {
state = "S";
} else {
if (list.size() > 0) {
// for(String s:list){
// boolean flag = wlhset.add(s);
// if(!flag){
// sb.append("物料号-"+s+"-存在重复;");
// }
// }
if (sb != null && sb.length() > 0) {
state = "E";
message = sb.toString();
logger_a864d799.error(String.valueOf(requestid + " 用户申请货源关系转正数据不符合要求:" + message));
} else {
// if(set.size()==1){
String purOrgCodes = "";
String flag = "";
Iterator it = set.iterator();
while (it.hasNext()) {
purOrgCodes = purOrgCodes + flag + it.next();
flag = ";";
}
logger_a864d799.error(String.valueOf(requestid + " purOrgCodes" + purOrgCodes));
paramInfo.setApplyUser(gh);
paramInfo.setCheckUser(shr);
paramInfo.setCompanyCode(sqdwbm);
paramInfo.setCompanyName(sqdw);
paramInfo.setVendorCode(gysbm);
paramInfo.setVendorName(gysmc);
paramInfo.setHandleType("0");
paramInfo.setRequestId("GY103/" + requestid);
paramInfo.setStartDate(map.get("SQRQ"));
paramInfo.setEndDate("2099-12-31");
paramInfo.setPurOrgCode(purOrgCodes);
paramInfo.setItems(item);
paramInfo.setFreezeReason("");
logger_a864d799.error(String.valueOf(requestid + " resourceType:" + resourceType));
paramInfo.setResourceType(resourceType);
param.setInputTab(paramInfo);
// OaSrmVenMatExtService service = new OaSrmVenMatExtService();
String[] str = service.sendsrm(param, requestid);
if ("1".equals(str[0])) {
state = "S";
} else {
state = "E";
}
message = str[1];
logger_a864d799.error(String.valueOf(requestid + "调用货源关系接口校验数据返回值" + message));
// }else{
// state = "E";
// message = "一次只能申请一个采购组织的";
// writeLog(requestid+" 用户申请货源关系转正数据不符合要求:"+message);
// }
}
message = str[1];
logger_a864d799.error(String.valueOf(requestid + "调用货源关系接口校验数据返回值" + message));
// }else{
// state = "E";
// message = "一次只能申请一个采购组织的";
// writeLog(requestid+" 用户申请货源关系转正数据不符合要求:"+message);
// }
}
} else {
state = "E";
message = "明细表明细行不能超过300行请分开申请";
logger_a864d799.error(String.valueOf(requestid + " 用户申请货源关系转正数据不符合要求:" + message));
}
} else {
state = "E";
message = "明细表明细行不能超过300行请分开申请";
logger_a864d799.error(String.valueOf(requestid + " 用户申请货源关系转正数据不符合要求:" + message));
}
}
}
if (!"S".equals(state)) {
requestinfo.getRequestManager().setMessageid("error");

@ -233,137 +233,139 @@ public class OaSrmVendorReapplyAction extends BaseBean implements Action, EsbSer
StringBuilder sb = new StringBuilder();
DetailTable[] detailtable = requestinfo.getDetailTableInfo().getDetailTable();
// 指定明细表
DetailTable dtq = detailtable[1];
// 当前明细表的所有数据,按行存储
Row[] sq = dtq.getRow();
int dtcount = 0;
String sql = "select distinct wlh from e10_core_business.dbo." + tablename + " a,e10_core_business.dbo." + tablename + "_dt2 b where a.form_data_id=b.form_data_id and a.id=" + requestid;
logger_a5e612ac.error("sql-->" + sql);
String poolname_uh = CONN_TYPE.workflow.getType();
// TODO E10执行sql方法第二参数必须指定源默认使用流程源单体客户无需修改微服务/组合客户需根据查询表所属服务切换源,或使用外部数据源
boolean b = rs.executeSql(sql, poolname_uh);
logger_a5e612ac.error(String.valueOf(requestid + "调用查询接口返回:" + b));
dtcount = rs.getCounts();
logger_a5e612ac.error(String.valueOf(requestid + " dt2count:" + dtcount));
if (sq.length <= 300) {
SRM_OA_VENMATEXT_RESULT param = new SRM_OA_VENMATEXT_RESULT();
VenMatExtResultIn paramInfo = new VenMatExtResultIn();
VenMatExtResultItemIn[] item = new VenMatExtResultItemIn[dtcount];
String wlhs = "";
String flagwl = "";
int itemnum = 0;
for (int j = 0; j < sq.length; j++) {
// 指定行
Row rq = sq[j];
Cell[] cq = rq.getCell();
VenMatExtResultItemIn itemIn = new VenMatExtResultItemIn();
String isexists = "0";
logger_a5e612ac.error(String.valueOf(requestid + " wlhs:" + wlhs));
for (int k = 0; k < cq.length; k++) {
// 指定列
Cell cq1 = cq[k];
// 明细字段名称
String nameq = cq1.getName().toLowerCase();
// 明细字段的值
String valueq = Util.null2String(cq1.getValue());
if ("cgzzbm".equals(nameq)) {
set.add(valueq);
}
if ("wlh".equals(nameq)) {
if (("," + wlhs + ",").indexOf("," + valueq + ",") >= 0) {
logger_a5e612ac.error(String.valueOf(requestid + " 物料号重复:" + valueq));
isexists = "1";
continue;
if(detailtable.length > 1 ){
DetailTable dtq = detailtable[1];
// 当前明细表的所有数据,按行存储
Row[] sq = dtq.getRow();
int dtcount = 0;
String sql = "select distinct wlh from e10_core_business.dbo." + tablename + " a,e10_core_business.dbo." + tablename + "_dt2 b where a.form_data_id=b.form_data_id and a.id=" + requestid;
logger_a5e612ac.error("sql-->" + sql);
String poolname_uh = CONN_TYPE.workflow.getType();
// TODO E10执行sql方法第二参数必须指定源默认使用流程源单体客户无需修改微服务/组合客户需根据查询表所属服务切换源,或使用外部数据源
boolean b = rs.executeSql(sql, poolname_uh);
logger_a5e612ac.error(String.valueOf(requestid + "调用查询接口返回:" + b));
dtcount = rs.getCounts();
logger_a5e612ac.error(String.valueOf(requestid + " dt2count:" + dtcount));
if (sq.length <= 300) {
SRM_OA_VENMATEXT_RESULT param = new SRM_OA_VENMATEXT_RESULT();
VenMatExtResultIn paramInfo = new VenMatExtResultIn();
VenMatExtResultItemIn[] item = new VenMatExtResultItemIn[dtcount];
String wlhs = "";
String flagwl = "";
int itemnum = 0;
for (int j = 0; j < sq.length; j++) {
// 指定行
Row rq = sq[j];
Cell[] cq = rq.getCell();
VenMatExtResultItemIn itemIn = new VenMatExtResultItemIn();
String isexists = "0";
logger_a5e612ac.error(String.valueOf(requestid + " wlhs:" + wlhs));
for (int k = 0; k < cq.length; k++) {
// 指定列
Cell cq1 = cq[k];
// 明细字段名称
String nameq = cq1.getName().toLowerCase();
// 明细字段的值
String valueq = Util.null2String(cq1.getValue());
if ("cgzzbm".equals(nameq)) {
set.add(valueq);
}
if ("wlh".equals(nameq)) {
if (("," + wlhs + ",").indexOf("," + valueq + ",") >= 0) {
logger_a5e612ac.error(String.valueOf(requestid + " 物料号重复:" + valueq));
isexists = "1";
continue;
}
itemIn.setMaterialCode(valueq);
list.add(valueq);
wlhs = wlhs + flagwl + valueq;
flagwl = ",";
}
if ("wlms".equals(nameq)) {
// String wlms = StringEscapeUtils.unescapeHtml(valueq.trim());
// itemIn.setMaterialName(wlms);
String wlms = StringEscapeUtils.unescapeHtml(valueq.trim());
logger_a5e612ac.error(String.valueOf("wlms:" + wlms));
// String wlms_half = full2HalfWidth(wlms);
// writeLog("wlms_half:"+wlms_half);
itemIn.setMaterialName(wlms);
}
if ("xjxzb".equals(nameq)) {
itemIn.setWeight(valueq);
}
if ("clfl".equals(nameq)) {
// String clfl = BillFieldUtil.getselectName(valueq,"59436");//测试53290 正式59436
// 测试53290 正式59436
String clfl = tu.getSelectName(tablename, "clfl", valueq);
itemIn.setMatLevel(clfl);
}
itemIn.setMaterialCode(valueq);
list.add(valueq);
wlhs = wlhs + flagwl + valueq;
flagwl = ",";
}
if ("wlms".equals(nameq)) {
// String wlms = StringEscapeUtils.unescapeHtml(valueq.trim());
// itemIn.setMaterialName(wlms);
String wlms = StringEscapeUtils.unescapeHtml(valueq.trim());
logger_a5e612ac.error(String.valueOf("wlms:" + wlms));
// String wlms_half = full2HalfWidth(wlms);
// writeLog("wlms_half:"+wlms_half);
itemIn.setMaterialName(wlms);
}
if ("xjxzb".equals(nameq)) {
itemIn.setWeight(valueq);
}
if ("clfl".equals(nameq)) {
// String clfl = BillFieldUtil.getselectName(valueq,"59436");//测试53290 正式59436
// 测试53290 正式59436
String clfl = tu.getSelectName(tablename, "clfl", valueq);
itemIn.setMatLevel(clfl);
if ("1".equals(isexists)) {
logger_a5e612ac.error(String.valueOf(requestid + " 物料号重复:跳过"));
continue;
}
item[itemnum] = itemIn;
itemnum++;
}
if ("1".equals(isexists)) {
logger_a5e612ac.error(String.valueOf(requestid + " 物料号重复:跳过"));
continue;
}
item[itemnum] = itemIn;
itemnum++;
}
if (list.size() > 0) {
// for(String s:list){
// boolean flag = wlhset.add(s);
// if(!flag){
// sb.append("物料号-"+s+"-存在重复;");
// }
// }
if (sb != null && sb.length() > 0) {
state = "E";
message = sb.toString();
logger_a5e612ac.error(String.valueOf(requestid + " 用户申请货源关系转正数据不符合要求:" + message));
} else {
// if(set.size()==1){
String purOrgCodes = "";
String flag = "";
Iterator it = set.iterator();
while (it.hasNext()) {
purOrgCodes = purOrgCodes + flag + it.next();
flag = ";";
}
logger_a5e612ac.error(String.valueOf(requestid + " purOrgCodes" + purOrgCodes));
paramInfo.setApplyUser(gh);
paramInfo.setCheckUser(shr);
paramInfo.setCompanyCode(sqdwbm);
paramInfo.setCompanyName(sqdw);
paramInfo.setVendorCode(gysbm);
paramInfo.setVendorName(gysmc);
paramInfo.setHandleType("0");
paramInfo.setRequestId("GY103/" + requestid);
paramInfo.setStartDate(map.get("SQRQ"));
paramInfo.setEndDate("2099-12-31");
paramInfo.setPurOrgCode(purOrgCodes);
paramInfo.setItems(item);
paramInfo.setFreezeReason("");
logger_a5e612ac.error(String.valueOf(requestid + " resourceType:" + resourceType));
paramInfo.setResourceType(resourceType);
param.setInputTab(paramInfo);
// OaSrmVenMatExtService service = new OaSrmVenMatExtService();
//
String[] str = service.sendsrm(param, requestid);
if ("1".equals(str[0])) {
state = "S";
} else {
if (list.size() > 0) {
// for(String s:list){
// boolean flag = wlhset.add(s);
// if(!flag){
// sb.append("物料号-"+s+"-存在重复;");
// }
// }
if (sb != null && sb.length() > 0) {
state = "E";
message = sb.toString();
logger_a5e612ac.error(String.valueOf(requestid + " 用户申请货源关系转正数据不符合要求:" + message));
} else {
// if(set.size()==1){
String purOrgCodes = "";
String flag = "";
Iterator it = set.iterator();
while (it.hasNext()) {
purOrgCodes = purOrgCodes + flag + it.next();
flag = ";";
}
logger_a5e612ac.error(String.valueOf(requestid + " purOrgCodes" + purOrgCodes));
paramInfo.setApplyUser(gh);
paramInfo.setCheckUser(shr);
paramInfo.setCompanyCode(sqdwbm);
paramInfo.setCompanyName(sqdw);
paramInfo.setVendorCode(gysbm);
paramInfo.setVendorName(gysmc);
paramInfo.setHandleType("0");
paramInfo.setRequestId("GY103/" + requestid);
paramInfo.setStartDate(map.get("SQRQ"));
paramInfo.setEndDate("2099-12-31");
paramInfo.setPurOrgCode(purOrgCodes);
paramInfo.setItems(item);
paramInfo.setFreezeReason("");
logger_a5e612ac.error(String.valueOf(requestid + " resourceType:" + resourceType));
paramInfo.setResourceType(resourceType);
param.setInputTab(paramInfo);
// OaSrmVenMatExtService service = new OaSrmVenMatExtService();
//
String[] str = service.sendsrm(param, requestid);
if ("1".equals(str[0])) {
state = "S";
} else {
state = "E";
}
message = str[1];
logger_a5e612ac.error(String.valueOf(requestid + "调用货源关系接口校验数据返回值" + message));
// }else{
// state = "E";
// message = "一次只能申请一个采购组织的";
// writeLog(requestid+" 用户申请货源关系转正数据不符合要求:"+message);
// }
}
message = str[1];
logger_a5e612ac.error(String.valueOf(requestid + "调用货源关系接口校验数据返回值" + message));
// }else{
// state = "E";
// message = "一次只能申请一个采购组织的";
// writeLog(requestid+" 用户申请货源关系转正数据不符合要求:"+message);
// }
}
} else {
state = "E";
message = "明细表明细行不能超过300行请分开申请";
logger_a5e612ac.error(String.valueOf(requestid + " 用户申请货源关系转正数据不符合要求:" + message));
}
} else {
state = "E";
message = "明细表明细行不能超过300行请分开申请";
logger_a5e612ac.error(String.valueOf(requestid + " 用户申请货源关系转正数据不符合要求:" + message));
}
}
if (!"S".equals(state)) {

@ -228,119 +228,121 @@ public class OaSrmVendorSyncAction extends BaseBean implements Action, EsbServer
if ("S".equals(state)) {
Set<String> set = new HashSet<String>();
DetailTable[] detailtable = requestinfo.getDetailTableInfo().getDetailTable();
// 指定明细表
DetailTable dtq = null;
if(dtq != null){
dtq = detailtable[1];
}
// 当前明细表的所有数据,按行存储
Row[] sq = null;
if(dtq != null){sq = dtq.getRow();}
int dtcount = 0;
String sql = "select distinct wlh from e10_core_business.dbo." + tablename + " a,e10_core_business.dbo." + tablename + "_dt2 b where a.form_data_id=b.form_data_id and a.id =" + requestid;
logger_41a64316.error("sql-->" + sql);
String poolname_wk = CONN_TYPE.workflow.getType();
// TODO E10执行sql方法第二参数必须指定源默认使用流程源单体客户无需修改微服务/组合客户需根据查询表所属服务切换源,或使用外部数据源
boolean b = rs.executeSql(sql, poolname_wk);
logger_41a64316.error(String.valueOf("b-->" + b));
dtcount = rs.getCounts();
logger_41a64316.error(String.valueOf(requestid + " dt2count:" + dtcount));
if (sq != null && sq.length <= 300 && sq.length > 0) {
SRM_OA_VENMATEXT_RESULT param = new SRM_OA_VENMATEXT_RESULT();
VenMatExtResultIn paramInfo = new VenMatExtResultIn();
VenMatExtResultItemIn[] item = new VenMatExtResultItemIn[dtcount];
String wlhs = "";
String flagwl = "";
int itemnum = 0;
for (int j = 0; j < sq.length; j++) {
// 指定行
Row rq = sq[j];
Cell[] cq = rq.getCell();
VenMatExtResultItemIn itemIn = new VenMatExtResultItemIn();
String isexists = "0";
logger_41a64316.error(String.valueOf(requestid + " wlhs:" + wlhs));
for (int k = 0; k < cq.length; k++) {
// 指定列
Cell cq1 = cq[k];
// 明细字段名称
String nameq = cq1.getName().toLowerCase();
// 明细字段的值
String valueq = Util.null2String(cq1.getValue());
if ("cgzzbm".equals(nameq)) {
set.add(valueq);
}
if ("wlh".equals(nameq)) {
if (("," + wlhs + ",").indexOf("," + valueq + ",") >= 0) {
logger_41a64316.error(String.valueOf(requestid + " 物料号重复:" + valueq));
isexists = "1";
continue;
if(detailtable.length > 1){
// 指定明细表
DetailTable dtq = null;
if(dtq != null){
dtq = detailtable[1];
}
// 当前明细表的所有数据,按行存储
Row[] sq = null;
if(dtq != null){sq = dtq.getRow();}
int dtcount = 0;
String sql = "select distinct wlh from e10_core_business.dbo." + tablename + " a,e10_core_business.dbo." + tablename + "_dt2 b where a.form_data_id=b.form_data_id and a.id =" + requestid;
logger_41a64316.error("sql-->" + sql);
String poolname_wk = CONN_TYPE.workflow.getType();
// TODO E10执行sql方法第二参数必须指定源默认使用流程源单体客户无需修改微服务/组合客户需根据查询表所属服务切换源,或使用外部数据源
boolean b = rs.executeSql(sql, poolname_wk);
logger_41a64316.error(String.valueOf("b-->" + b));
dtcount = rs.getCounts();
logger_41a64316.error(String.valueOf(requestid + " dt2count:" + dtcount));
if (sq != null && sq.length <= 300 && sq.length > 0) {
SRM_OA_VENMATEXT_RESULT param = new SRM_OA_VENMATEXT_RESULT();
VenMatExtResultIn paramInfo = new VenMatExtResultIn();
VenMatExtResultItemIn[] item = new VenMatExtResultItemIn[dtcount];
String wlhs = "";
String flagwl = "";
int itemnum = 0;
for (int j = 0; j < sq.length; j++) {
// 指定行
Row rq = sq[j];
Cell[] cq = rq.getCell();
VenMatExtResultItemIn itemIn = new VenMatExtResultItemIn();
String isexists = "0";
logger_41a64316.error(String.valueOf(requestid + " wlhs:" + wlhs));
for (int k = 0; k < cq.length; k++) {
// 指定列
Cell cq1 = cq[k];
// 明细字段名称
String nameq = cq1.getName().toLowerCase();
// 明细字段的值
String valueq = Util.null2String(cq1.getValue());
if ("cgzzbm".equals(nameq)) {
set.add(valueq);
}
if ("wlh".equals(nameq)) {
if (("," + wlhs + ",").indexOf("," + valueq + ",") >= 0) {
logger_41a64316.error(String.valueOf(requestid + " 物料号重复:" + valueq));
isexists = "1";
continue;
}
itemIn.setMaterialCode(valueq);
wlhs = wlhs + flagwl + valueq;
flagwl = ",";
}
if ("wlms".equals(nameq)) {
// String wlms = StringEscapeUtils.unescapeHtml(valueq.trim());
// itemIn.setMaterialName(wlms);
String wlms = StringEscapeUtils.unescapeHtml(valueq.trim());
logger_41a64316.error(String.valueOf("wlms:" + wlms));
// String wlms_half = full2HalfWidth(wlms);
// writeLog("wlms_half:"+wlms_half);
itemIn.setMaterialName(wlms);
}
if ("xjxzb".equals(nameq)) {
itemIn.setWeight(valueq);
}
if ("clfl".equals(nameq)) {
// String clfl = BillFieldUtil.getselectName(valueq,"59436");//测试53290 正式59436
// 测试53290 正式59436
String clfl = tu.getSelectName(tablename, "clfl", valueq);
itemIn.setMatLevel(clfl);
}
itemIn.setMaterialCode(valueq);
wlhs = wlhs + flagwl + valueq;
flagwl = ",";
}
if ("wlms".equals(nameq)) {
// String wlms = StringEscapeUtils.unescapeHtml(valueq.trim());
// itemIn.setMaterialName(wlms);
String wlms = StringEscapeUtils.unescapeHtml(valueq.trim());
logger_41a64316.error(String.valueOf("wlms:" + wlms));
// String wlms_half = full2HalfWidth(wlms);
// writeLog("wlms_half:"+wlms_half);
itemIn.setMaterialName(wlms);
}
if ("xjxzb".equals(nameq)) {
itemIn.setWeight(valueq);
}
if ("clfl".equals(nameq)) {
// String clfl = BillFieldUtil.getselectName(valueq,"59436");//测试53290 正式59436
// 测试53290 正式59436
String clfl = tu.getSelectName(tablename, "clfl", valueq);
itemIn.setMatLevel(clfl);
if ("1".equals(isexists)) {
logger_41a64316.error(String.valueOf(requestid + " 物料号重复:跳过"));
continue;
}
item[itemnum] = itemIn;
itemnum++;
}
if ("1".equals(isexists)) {
logger_41a64316.error(String.valueOf(requestid + " 物料号重复:跳过"));
continue;
String purOrgCodes = "";
String flag = "";
Iterator it = set.iterator();
while (it.hasNext()) {
purOrgCodes = purOrgCodes + flag + it.next();
flag = ";";
}
item[itemnum] = itemIn;
itemnum++;
}
String purOrgCodes = "";
String flag = "";
Iterator it = set.iterator();
while (it.hasNext()) {
purOrgCodes = purOrgCodes + flag + it.next();
flag = ";";
}
logger_41a64316.error(String.valueOf(requestid + " purOrgCodes" + purOrgCodes));
paramInfo.setApplyUser(gh);
paramInfo.setCheckUser(shr);
paramInfo.setCompanyCode(sqdwbm);
paramInfo.setCompanyName(sqdw);
paramInfo.setVendorCode(gysbm);
paramInfo.setVendorName(gysmc);
paramInfo.setHandleType("6");
paramInfo.setRequestId("GY103/" + requestid);
paramInfo.setStartDate(map.get("SQRQ"));
paramInfo.setEndDate("2099-12-31");
paramInfo.setPurOrgCode(purOrgCodes);
paramInfo.setItems(item);
paramInfo.setFreezeReason("");
logger_41a64316.error(String.valueOf(requestid + " resourceType:" + resourceType));
paramInfo.setResourceType(resourceType);
param.setInputTab(paramInfo);
logger_41a64316.error(String.valueOf(requestid + " purOrgCodes" + purOrgCodes));
paramInfo.setApplyUser(gh);
paramInfo.setCheckUser(shr);
paramInfo.setCompanyCode(sqdwbm);
paramInfo.setCompanyName(sqdw);
paramInfo.setVendorCode(gysbm);
paramInfo.setVendorName(gysmc);
paramInfo.setHandleType("6");
paramInfo.setRequestId("GY103/" + requestid);
paramInfo.setStartDate(map.get("SQRQ"));
paramInfo.setEndDate("2099-12-31");
paramInfo.setPurOrgCode(purOrgCodes);
paramInfo.setItems(item);
paramInfo.setFreezeReason("");
logger_41a64316.error(String.valueOf(requestid + " resourceType:" + resourceType));
paramInfo.setResourceType(resourceType);
param.setInputTab(paramInfo);
// OaSrmVenMatExtService service = new OaSrmVenMatExtService();
//
//
logger_41a64316.error("param--" + param + ",requestid--" + requestid);
String[] str = service.sendsrm(param, requestid);
if ("1".equals(str[0])) {
state = "S";
} else {
state = "E";
logger_41a64316.error("param--" + param + ",requestid--" + requestid);
String[] str = service.sendsrm(param, requestid);
if ("1".equals(str[0])) {
state = "S";
} else {
state = "E";
}
message = str[1];
logger_41a64316.error(String.valueOf(requestid + "调用货源关系接口同步数据返回值" + message));
}
message = str[1];
logger_41a64316.error(String.valueOf(requestid + "调用货源关系接口同步数据返回值" + message));
}
}
if (!"S".equals(state)) {

Loading…
Cancel
Save