应收单推送
This commit is contained in:
parent
9af9900907
commit
18557d988b
|
@ -12,7 +12,15 @@ public class NuoNuoEntity extends BaseEntity {
|
||||||
private String field0195;//红冲描述
|
private String field0195;//红冲描述
|
||||||
private String affairId;
|
private String affairId;
|
||||||
private String noname;
|
private String noname;
|
||||||
|
private String nodename;
|
||||||
|
|
||||||
|
public String getNodename() {
|
||||||
|
return nodename;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setNodename(String nodename) {
|
||||||
|
this.nodename = nodename;
|
||||||
|
}
|
||||||
|
|
||||||
public String getNoname() {
|
public String getNoname() {
|
||||||
return noname;
|
return noname;
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
|
|
||||||
|
|
||||||
<select id="queryAffair" resultType="com.hzya.frame.plugin.nuonuo.entity.NuoNuoEntity" parameterType="com.hzya.frame.plugin.nuonuo.entity.NuoNuoEntity">
|
<select id="queryAffair" resultType="com.hzya.frame.plugin.nuonuo.entity.NuoNuoEntity" parameterType="com.hzya.frame.plugin.nuonuo.entity.NuoNuoEntity">
|
||||||
select NODE_NAME as noname from ctp_affair
|
select NODE_NAME as noname,NODE_POLICY as nodename from ctp_affair
|
||||||
<trim prefix="where" prefixOverrides="and">
|
<trim prefix="where" prefixOverrides="and">
|
||||||
<if test="affairId != null and affairId !='' ">id = #{affairId} </if>
|
<if test="affairId != null and affairId !='' ">id = #{affairId} </if>
|
||||||
</trim>
|
</trim>
|
||||||
|
|
|
@ -39,11 +39,189 @@ public class NuoNuoServiceImpl extends BaseService<NuoNuoEntity, String> impleme
|
||||||
* @param requestJson
|
* @param requestJson
|
||||||
* @return com.hzya.frame.web.entity.JsonResultEntity
|
* @return com.hzya.frame.web.entity.JsonResultEntity
|
||||||
* @Author lvleigang
|
* @Author lvleigang
|
||||||
* @Description 同步诺诺发票
|
* @Description 同步发票
|
||||||
* @Date 5:31 下午 2025/6/26
|
* @Date 5:31 下午 2025/6/26
|
||||||
**/
|
**/
|
||||||
@Override
|
@Override
|
||||||
public JsonResultEntity sendNuoNuoFaPiao(JSONObject requestJson) {
|
public JsonResultEntity sendNuoNuoFaPiao(JSONObject requestJson) {
|
||||||
|
logger.error("诺诺发票蓝票节点参数:" + requestJson.toJSONString());
|
||||||
|
JSONObject jsonStr = requestJson.getJSONObject("jsonStr");
|
||||||
|
if (jsonStr == null) {
|
||||||
|
return BaseResult.getFailureMessageEntity("系统错误");
|
||||||
|
}
|
||||||
|
JSONObject businessDataStr = jsonStr.getJSONObject("businessDataStr");
|
||||||
|
if (businessDataStr == null) {
|
||||||
|
return BaseResult.getFailureMessageEntity("系统错误");
|
||||||
|
}
|
||||||
|
String affairId = jsonStr.getString("affairId");
|
||||||
|
if (affairId != null && !"".equals(affairId)) {
|
||||||
|
NuoNuoEntity nuoNuoEntity = new NuoNuoEntity();
|
||||||
|
nuoNuoEntity.setDataSourceCode("SW-OA");
|
||||||
|
nuoNuoEntity.setAffairId(affairId);
|
||||||
|
List<NuoNuoEntity> nuoNuoEntities = nuoNuoDao.queryAffair(nuoNuoEntity);
|
||||||
|
if (nuoNuoEntities != null && nuoNuoEntities.size() == 1) {
|
||||||
|
if (nuoNuoEntities.get(0).getNoname() != null) {
|
||||||
|
if ("确认申请".equals(nuoNuoEntities.get(0).getNoname()) || "确认申请".equals(nuoNuoEntities.get(0).getNodename())) {
|
||||||
|
return sendNuoNuoFaPiaolp(requestJson);
|
||||||
|
} else if ("ERP审批".equals(nuoNuoEntities.get(0).getNoname()) || "ERP审批".equals(nuoNuoEntities.get(0).getNodename())) {
|
||||||
|
return sendBipFaPiaolp(requestJson);
|
||||||
|
} else {
|
||||||
|
return BaseResult.getFailureMessageEntity("节点查找失败");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return BaseResult.getFailureMessageEntity("节点查找失败");
|
||||||
|
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return BaseResult.getFailureMessageEntity("节点查找失败");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return BaseResult.getFailureMessageEntity("节点查找失败");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param requestJson
|
||||||
|
* @return com.hzya.frame.web.entity.JsonResultEntity
|
||||||
|
* @Author lvleigang
|
||||||
|
* @Description 发送Bip
|
||||||
|
* @Date 1:44 下午 2025/7/9
|
||||||
|
**/
|
||||||
|
private JsonResultEntity sendBipFaPiaolp(JSONObject requestJson) {
|
||||||
|
logger.error("同步应收单:" + requestJson.toJSONString());
|
||||||
|
JSONObject jsonStr = requestJson.getJSONObject("jsonStr");
|
||||||
|
if (jsonStr == null) {
|
||||||
|
return BaseResult.getFailureMessageEntity("系统错误");
|
||||||
|
}
|
||||||
|
JSONObject businessDataStr = jsonStr.getJSONObject("businessDataStr");
|
||||||
|
if (businessDataStr == null) {
|
||||||
|
return BaseResult.getFailureMessageEntity("系统错误");
|
||||||
|
}
|
||||||
|
JSONObject mainData = businessDataStr.getJSONObject("formmain_11951");
|
||||||
|
if (mainData == null) {
|
||||||
|
return BaseResult.getFailureMessageEntity("系统错误");
|
||||||
|
}
|
||||||
|
JSONArray detailArray = businessDataStr.getJSONArray("formson_11953");
|
||||||
|
//组装发送数据
|
||||||
|
JSONObject sendData = null;
|
||||||
|
try {
|
||||||
|
sendData = getSendYsdData(mainData, detailArray);
|
||||||
|
} catch (ParseException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
return BaseResult.getFailureMessageEntity("推送应收单失败:组装数据失败");
|
||||||
|
}
|
||||||
|
//发送数据
|
||||||
|
logger.error("推送应收单推送:" + sendData.toJSONString());
|
||||||
|
|
||||||
|
String tokenResult = HttpRequest.post(url).
|
||||||
|
header("appId", "800050").
|
||||||
|
header("apiCode", "8000500023").
|
||||||
|
header("publicKey", "ZJYAM2YFEIsIaI1e4wMagkS2Q7SFgGk0RvsPhEES45m/OVFCe7eDIk+3zDUT+v578prj").
|
||||||
|
header("secretKey", "lR6+uf94mvNMclAB43oIwmhJSMDzQaViTkfXLeNvmGdpLfbFiUvbgbU+p43zO25Zj3JzOP8MtA1LSGvL+2BWG8c/o7DKi92S4mr3zcGearA=").
|
||||||
|
body(sendData.toJSONString()).
|
||||||
|
execute().
|
||||||
|
body();
|
||||||
|
logger.error("推送应收单返回:" + tokenResult);
|
||||||
|
JSONObject resoutJson = JSONObject.parseObject(tokenResult);
|
||||||
|
if (resoutJson.getBoolean("flag")) {
|
||||||
|
return BaseResult.getSuccessMessageEntity("推送应收单成功");
|
||||||
|
} else {
|
||||||
|
return BaseResult.getFailureMessageEntity("推送应收单失败:" + resoutJson.getString("msg"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param mainData
|
||||||
|
* @param detailArray
|
||||||
|
* @return com.alibaba.fastjson.JSONObject
|
||||||
|
* @Author lvleigang
|
||||||
|
* @Description 组装数据
|
||||||
|
* @Date 6:12 下午 2025/6/27
|
||||||
|
**/
|
||||||
|
private JSONObject getSendYsdData(JSONObject mainData, JSONArray detailArray) throws ParseException {
|
||||||
|
// 创建主JSONObject
|
||||||
|
JSONObject mainJson = new JSONObject();
|
||||||
|
mainJson.put("billtype", "ys");
|
||||||
|
// 创建data JSONObject
|
||||||
|
JSONObject data = new JSONObject();
|
||||||
|
data.put("sourceSystem", "OA");
|
||||||
|
data.put("billcode", mainData.getString("field0001"));
|
||||||
|
if ("cs199".equals(mainData.getString("field0130"))) {
|
||||||
|
data.put("orgcode", "666");
|
||||||
|
} else {
|
||||||
|
data.put("orgcode", mainData.getString("field0130"));
|
||||||
|
}
|
||||||
|
data.put("billdate", mainData.getString("field0151"));
|
||||||
|
data.put("busidate", mainData.getString("field0151"));
|
||||||
|
data.put("pk_psndoc", "seeyon");
|
||||||
|
data.put("scomment", "");
|
||||||
|
data.put("objtype", "0");
|
||||||
|
data.put("tradingCode", mainData.getString("field0091"));
|
||||||
|
data.put("amount", mainData.getString("field0174"));
|
||||||
|
data.put("usercode", "OA01");
|
||||||
|
data.put("deptcode", mainData.getString("field0124"));
|
||||||
|
data.put("projectno", null);
|
||||||
|
data.put("paytype", null);
|
||||||
|
data.put("fkxz", null);
|
||||||
|
//data.put("ipo", "");
|
||||||
|
//data.put("cpo", "");
|
||||||
|
data.put("recaccount", mainData.getString("field0165"));
|
||||||
|
data.put("currency", "CNY");
|
||||||
|
//data.put("bankSeq", "");
|
||||||
|
data.put("localAmount", mainData.getString("field0174"));
|
||||||
|
data.put("rate", "1");
|
||||||
|
data.put("creator", "OA01");
|
||||||
|
JSONArray expenseList = new JSONArray();
|
||||||
|
|
||||||
|
if (detailArray != null && detailArray.size() > 0) {
|
||||||
|
for (int i = 0; i < detailArray.size(); i++) {
|
||||||
|
// 创建expenseList JSONArray
|
||||||
|
JSONObject expenseItem = new JSONObject();
|
||||||
|
expenseItem.put("materialCode", "");
|
||||||
|
expenseItem.put("invoiceno", detailArray.getJSONObject(i).getString("field0150"));
|
||||||
|
expenseItem.put("sklx", "");
|
||||||
|
expenseItem.put("buysellflag", "1");
|
||||||
|
expenseItem.put("szxm", "");
|
||||||
|
expenseItem.put("notaxAmount", detailArray.getJSONObject(i).getString("field0160"));
|
||||||
|
expenseItem.put("localNotaxAmount", detailArray.getJSONObject(i).getString("field0160"));
|
||||||
|
expenseItem.put("srcDetailId", null);
|
||||||
|
expenseItem.put("balatype", null);
|
||||||
|
expenseItem.put("cashaccount", null);
|
||||||
|
expenseItem.put("scomment", detailArray.getJSONObject(i).getString("field0191"));
|
||||||
|
expenseItem.put("amount", detailArray.getJSONObject(i).getString("field0149"));
|
||||||
|
expenseItem.put("deptcode", detailArray.getJSONObject(i).getString("field0124"));
|
||||||
|
expenseItem.put("recaccount", detailArray.getJSONObject(i).getString("field0165"));
|
||||||
|
expenseItem.put("taxAmount", detailArray.getJSONObject(i).getString("field0159"));
|
||||||
|
expenseItem.put("quantity", detailArray.getJSONObject(i).getString("field0157"));
|
||||||
|
expenseItem.put("localAmount", detailArray.getJSONObject(i).getString("field0149"));
|
||||||
|
expenseItem.put("detailId", detailArray.getJSONObject(i).getString("field0192"));
|
||||||
|
expenseItem.put("taxRate", detailArray.getJSONObject(i).getString("field0156"));
|
||||||
|
//expenseItem.put("kplx", "");
|
||||||
|
//expenseItem.put("areacl", "");
|
||||||
|
expenseItem.put("subjectCode", "1122");
|
||||||
|
expenseItem.put("projectCode", detailArray.getJSONObject(i).getString("field0190")); // 项目号
|
||||||
|
expenseItem.put("ghNo", ""); // 收入确认单号
|
||||||
|
expenseItem.put("ghNo", detailArray.getJSONObject(i).getString("field0148")); // 应收业务性质
|
||||||
|
|
||||||
|
expenseList.add(expenseItem);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 将expenseList添加到data
|
||||||
|
data.put("expenseList", expenseList);
|
||||||
|
// 将data添加到主JSONObject
|
||||||
|
mainJson.put("data", data);
|
||||||
|
return mainJson;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param requestJson
|
||||||
|
* @return com.hzya.frame.web.entity.JsonResultEntity
|
||||||
|
* @Author lvleigang
|
||||||
|
* @Description 发送蓝票
|
||||||
|
* @Date 1:44 下午 2025/7/9
|
||||||
|
**/
|
||||||
|
public JsonResultEntity sendNuoNuoFaPiaolp(JSONObject requestJson) {
|
||||||
logger.error("同步诺诺发票蓝字:" + requestJson.toJSONString());
|
logger.error("同步诺诺发票蓝字:" + requestJson.toJSONString());
|
||||||
JSONObject jsonStr = requestJson.getJSONObject("jsonStr");
|
JSONObject jsonStr = requestJson.getJSONObject("jsonStr");
|
||||||
if (jsonStr == null) {
|
if (jsonStr == null) {
|
||||||
|
@ -91,12 +269,12 @@ public class NuoNuoServiceImpl extends BaseService<NuoNuoEntity, String> impleme
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Author lvleigang
|
|
||||||
* @Description 组装数据
|
|
||||||
* @Date 6:12 下午 2025/6/27
|
|
||||||
* @param mainData
|
* @param mainData
|
||||||
* @param detailArray
|
* @param detailArray
|
||||||
* @return com.alibaba.fastjson.JSONObject
|
* @return com.alibaba.fastjson.JSONObject
|
||||||
|
* @Author lvleigang
|
||||||
|
* @Description 组装数据
|
||||||
|
* @Date 6:12 下午 2025/6/27
|
||||||
**/
|
**/
|
||||||
private JSONObject getSendData(JSONObject mainData, JSONArray detailArray) throws ParseException {
|
private JSONObject getSendData(JSONObject mainData, JSONArray detailArray) throws ParseException {
|
||||||
JSONObject sendData = new JSONObject();
|
JSONObject sendData = new JSONObject();
|
||||||
|
@ -183,6 +361,31 @@ public class NuoNuoServiceImpl extends BaseService<NuoNuoEntity, String> impleme
|
||||||
detail.put("unit", mainData.getString("field0186"));//面积单位(默认平方米)
|
detail.put("unit", mainData.getString("field0186"));//面积单位(默认平方米)
|
||||||
realPropertyRentInfoList.add(detail);
|
realPropertyRentInfoList.add(detail);
|
||||||
sendData.put("realPropertyRentInfoList", realPropertyRentInfoList);//不动产租赁发票
|
sendData.put("realPropertyRentInfoList", realPropertyRentInfoList);//不动产租赁发票
|
||||||
|
}else {
|
||||||
|
StringBuffer asd = new StringBuffer();
|
||||||
|
if(mainData.getString("field0179") != null){
|
||||||
|
asd.append(mainData.getString("field0179"));
|
||||||
|
asd.append(" ");
|
||||||
|
}
|
||||||
|
if(mainData.getString("field0180") != null){
|
||||||
|
asd.append(mainData.getString("field0180"));
|
||||||
|
asd.append(" ");
|
||||||
|
}
|
||||||
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||||
|
SimpleDateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||||
|
if(mainData.getString("field0183") != null){
|
||||||
|
Date date = inputFormat.parse(mainData.getString("field0183"));
|
||||||
|
asd.append(sdf.format(date));
|
||||||
|
asd.append(" ");
|
||||||
|
}
|
||||||
|
if(mainData.getString("field0184") != null){
|
||||||
|
Date date = inputFormat.parse(mainData.getString("field0184"));
|
||||||
|
asd.append(sdf.format(date));
|
||||||
|
asd.append(" ");
|
||||||
|
}
|
||||||
|
if(asd != null && !"".equals(asd.toString())){
|
||||||
|
sendData.put("remark",asd.toString());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return sendData;
|
return sendData;
|
||||||
}
|
}
|
||||||
|
@ -331,6 +534,20 @@ public class NuoNuoServiceImpl extends BaseService<NuoNuoEntity, String> impleme
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private JSONObject getSendDataHc(JSONObject mainData, JSONArray detailArray) {
|
||||||
|
JSONObject sendData = new JSONObject();
|
||||||
|
sendData.put("fastRedType", 1);//快捷冲红类型 不填或者0为普通快捷冲红 1:数电发票快捷冲红(数电发票必传1)
|
||||||
|
sendData.put("sellerTaxnum", mainData.getString("field0162"));//销方税号
|
||||||
|
sendData.put("invoiceNumber", mainData.getString("field0178"));//蓝票发票号码
|
||||||
|
//sendData.put("invoiceCode",mainData.getString("field0178"));//蓝票发票代码
|
||||||
|
//可能需要转换
|
||||||
|
sendData.put("billId", mainData.getString("field0191"));//红字确认单申请单号
|
||||||
|
//sendData.put("bizCallbackUrl", "http://10.0.2.112:9021/kangarooDataCenterV3/entranceController/nuoNuoHcCallback");//回调地址测试
|
||||||
|
sendData.put("bizCallbackUrl","http://10.0.2.112:9011/kangarooDataCenterV3/entranceController/nuoNuoHcCallback");//回调地址正式
|
||||||
|
return sendData;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public JsonResultEntity sendNuoNuoFaPiaoHp(JSONObject requestJson) {
|
public JsonResultEntity sendNuoNuoFaPiaoHp(JSONObject requestJson) {
|
||||||
logger.error("诺诺发票红冲节点参数:" + requestJson.toJSONString());
|
logger.error("诺诺发票红冲节点参数:" + requestJson.toJSONString());
|
||||||
|
@ -351,10 +568,12 @@ public class NuoNuoServiceImpl extends BaseService<NuoNuoEntity, String> impleme
|
||||||
List<NuoNuoEntity> nuoNuoEntities = nuoNuoDao.queryAffair(nuoNuoEntity);
|
List<NuoNuoEntity> nuoNuoEntities = nuoNuoDao.queryAffair(nuoNuoEntity);
|
||||||
if (nuoNuoEntities != null && nuoNuoEntities.size() == 1) {
|
if (nuoNuoEntities != null && nuoNuoEntities.size() == 1) {
|
||||||
if (nuoNuoEntities.get(0).getNoname() != null) {
|
if (nuoNuoEntities.get(0).getNoname() != null) {
|
||||||
if("确认申请".equals(nuoNuoEntities.get(0).getNoname())){
|
if ("确认申请".equals(nuoNuoEntities.get(0).getNoname()) || "确认申请".equals(nuoNuoEntities.get(0).getNodename())) {
|
||||||
return sendNuoNuoFaPiaoQrd(requestJson);
|
return sendNuoNuoFaPiaoQrd(requestJson);
|
||||||
}else if("红字开票".equals(nuoNuoEntities.get(0).getNoname())){
|
} else if ("红字开票".equals(nuoNuoEntities.get(0).getNoname()) || "红字开票".equals(nuoNuoEntities.get(0).getNodename())) {
|
||||||
return sendNuoNuoFaPiaoHc(requestJson);
|
return sendNuoNuoFaPiaoHc(requestJson);
|
||||||
|
} else if ("ERP审批".equals(nuoNuoEntities.get(0).getNoname()) || "ERP审批".equals(nuoNuoEntities.get(0).getNodename())) {
|
||||||
|
return sendBipFaPiaoHc(requestJson);
|
||||||
} else {
|
} else {
|
||||||
return BaseResult.getFailureMessageEntity("节点查找失败");
|
return BaseResult.getFailureMessageEntity("节点查找失败");
|
||||||
}
|
}
|
||||||
|
@ -370,17 +589,136 @@ public class NuoNuoServiceImpl extends BaseService<NuoNuoEntity, String> impleme
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private JSONObject getSendDataHc(JSONObject mainData, JSONArray detailArray) {
|
/**
|
||||||
JSONObject sendData = new JSONObject();
|
* @param requestJson
|
||||||
sendData.put("fastRedType",1);//快捷冲红类型 不填或者0为普通快捷冲红 1:数电发票快捷冲红(数电发票必传1)
|
* @return com.hzya.frame.web.entity.JsonResultEntity
|
||||||
sendData.put("sellerTaxnum",mainData.getString("field0162"));//销方税号
|
* @Author lvleigang
|
||||||
sendData.put("invoiceNumber",mainData.getString("field0178"));//蓝票发票号码
|
* @Description 发送BIP红冲
|
||||||
//sendData.put("invoiceCode",mainData.getString("field0178"));//蓝票发票代码
|
* @Date 1:49 下午 2025/7/9
|
||||||
//可能需要转换
|
**/
|
||||||
sendData.put("billId",mainData.getString("field0191"));//红字确认单申请单号
|
private JsonResultEntity sendBipFaPiaoHc(JSONObject requestJson) {
|
||||||
//sendData.put("bizCallbackUrl","http://10.0.2.112:9021/kangarooDataCenterV3/entranceController/nuoNuoHcCallback");//回调地址测试
|
logger.error("同步红冲应收单:" + requestJson.toJSONString());
|
||||||
sendData.put("bizCallbackUrl","http://10.0.2.112:9011/kangarooDataCenterV3/entranceController/nuoNuoHcCallback");//回调地址正式
|
JSONObject jsonStr = requestJson.getJSONObject("jsonStr");
|
||||||
return sendData;
|
if (jsonStr == null) {
|
||||||
|
return BaseResult.getFailureMessageEntity("系统错误");
|
||||||
|
}
|
||||||
|
JSONObject businessDataStr = jsonStr.getJSONObject("businessDataStr");
|
||||||
|
if (businessDataStr == null) {
|
||||||
|
return BaseResult.getFailureMessageEntity("系统错误");
|
||||||
|
}
|
||||||
|
JSONObject mainData = businessDataStr.getJSONObject("formmain_11970");
|
||||||
|
if (mainData == null) {
|
||||||
|
return BaseResult.getFailureMessageEntity("系统错误");
|
||||||
|
}
|
||||||
|
JSONArray detailArray = businessDataStr.getJSONArray("formson_11971");
|
||||||
|
//组装发送数据
|
||||||
|
JSONObject sendData = null;
|
||||||
|
try {
|
||||||
|
sendData = getSendHcYsdData(mainData, detailArray);
|
||||||
|
} catch (ParseException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
return BaseResult.getFailureMessageEntity("推送红冲应收单失败:组装数据失败");
|
||||||
|
}
|
||||||
|
//发送数据
|
||||||
|
logger.error("推送红冲应收单推送:" + sendData.toJSONString());
|
||||||
|
|
||||||
|
String tokenResult = HttpRequest.post(url).
|
||||||
|
header("appId", "800050").
|
||||||
|
header("apiCode", "8000500024").
|
||||||
|
header("publicKey", "ZJYAM2YFEIsIaI1e4wMagkS2Q7SFgGk0RvsPhEES45m/OVFCe7eDIk+3zDUT+v578prj").
|
||||||
|
header("secretKey", "lR6+uf94mvNMclAB43oIwmhJSMDzQaViTkfXLeNvmGdpLfbFiUvbgbU+p43zO25Zj3JzOP8MtA1LSGvL+2BWG8c/o7DKi92S4mr3zcGearA=").
|
||||||
|
body(sendData.toJSONString()).
|
||||||
|
execute().
|
||||||
|
body();
|
||||||
|
logger.error("推送红冲应收单返回:" + tokenResult);
|
||||||
|
JSONObject resoutJson = JSONObject.parseObject(tokenResult);
|
||||||
|
if (resoutJson.getBoolean("flag")) {
|
||||||
|
return BaseResult.getSuccessMessageEntity("推送红冲应收单成功");
|
||||||
|
} else {
|
||||||
|
return BaseResult.getFailureMessageEntity("推送红冲应收单失败:" + resoutJson.getString("msg"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param mainData
|
||||||
|
* @param detailArray
|
||||||
|
* @return com.alibaba.fastjson.JSONObject
|
||||||
|
* @Author lvleigang
|
||||||
|
* @Description 组装数据
|
||||||
|
* @Date 6:12 下午 2025/6/27
|
||||||
|
**/
|
||||||
|
private JSONObject getSendHcYsdData(JSONObject mainData, JSONArray detailArray) throws ParseException {
|
||||||
|
// 创建主JSONObject
|
||||||
|
JSONObject mainJson = new JSONObject();
|
||||||
|
mainJson.put("billtype", "ys");
|
||||||
|
// 创建data JSONObject
|
||||||
|
JSONObject data = new JSONObject();
|
||||||
|
data.put("sourceSystem", "OA");
|
||||||
|
data.put("billcode", mainData.getString("field0001"));
|
||||||
|
if ("cs199".equals(mainData.getString("field0130"))) {
|
||||||
|
data.put("orgcode", "666");
|
||||||
|
} else {
|
||||||
|
data.put("orgcode", mainData.getString("field0130"));
|
||||||
|
}
|
||||||
|
data.put("billdate", mainData.getString("field0151"));
|
||||||
|
data.put("busidate", mainData.getString("field0151"));
|
||||||
|
data.put("pk_psndoc", "seeyon");
|
||||||
|
data.put("scomment", "");
|
||||||
|
data.put("objtype", "0");
|
||||||
|
data.put("tradingCode", mainData.getString("field0091"));
|
||||||
|
data.put("amount", mainData.getString("field0174") != null ? mainData.getBigDecimal("field0174") : "0");
|
||||||
|
data.put("usercode", "OA01");
|
||||||
|
data.put("deptcode", mainData.getString("field0124"));
|
||||||
|
data.put("projectno", null);
|
||||||
|
data.put("paytype", null);
|
||||||
|
data.put("fkxz", null);
|
||||||
|
//data.put("ipo", "");
|
||||||
|
//data.put("cpo", "");
|
||||||
|
data.put("recaccount", mainData.getString("field0165"));
|
||||||
|
data.put("currency", "CNY");
|
||||||
|
//data.put("bankSeq", "");
|
||||||
|
data.put("localAmount", mainData.getString("field0174") != null ? mainData.getBigDecimal("field0174") : "0");
|
||||||
|
data.put("rate", "1");
|
||||||
|
data.put("creator", "OA01");
|
||||||
|
JSONArray expenseList = new JSONArray();
|
||||||
|
|
||||||
|
if (detailArray != null && detailArray.size() > 0) {
|
||||||
|
for (int i = 0; i < detailArray.size(); i++) {
|
||||||
|
// 创建expenseList JSONArray
|
||||||
|
JSONObject expenseItem = new JSONObject();
|
||||||
|
expenseItem.put("materialCode", "");
|
||||||
|
expenseItem.put("invoiceno", detailArray.getJSONObject(i).getString("field0150"));
|
||||||
|
expenseItem.put("sklx", "");
|
||||||
|
expenseItem.put("buysellflag", "1");
|
||||||
|
expenseItem.put("szxm", "");
|
||||||
|
expenseItem.put("notaxAmount", detailArray.getJSONObject(i).getString("field0160") != null ? detailArray.getJSONObject(i).getBigDecimal("field0160") : "0");
|
||||||
|
expenseItem.put("localNotaxAmount", detailArray.getJSONObject(i).getString("field0160") != null ? detailArray.getJSONObject(i).getBigDecimal("field0160") : "0");
|
||||||
|
expenseItem.put("srcDetailId", null);
|
||||||
|
expenseItem.put("balatype", null);
|
||||||
|
expenseItem.put("cashaccount", null);
|
||||||
|
expenseItem.put("scomment", detailArray.getJSONObject(i).getString("field0196"));
|
||||||
|
expenseItem.put("amount", detailArray.getJSONObject(i).getString("field0149") != null ? detailArray.getJSONObject(i).getBigDecimal("field0149") : "0");
|
||||||
|
expenseItem.put("deptcode", detailArray.getJSONObject(i).getString("field0124"));
|
||||||
|
expenseItem.put("recaccount", detailArray.getJSONObject(i).getString("field0165"));
|
||||||
|
expenseItem.put("taxAmount", detailArray.getJSONObject(i).getString("field0159") != null ? detailArray.getJSONObject(i).getBigDecimal("field0159") : "0");
|
||||||
|
expenseItem.put("quantity", detailArray.getJSONObject(i).getString("field0157"));
|
||||||
|
expenseItem.put("localAmount", detailArray.getJSONObject(i).getString("field0149") != null ? detailArray.getJSONObject(i).getBigDecimal("field0149") : "0");
|
||||||
|
expenseItem.put("detailId", detailArray.getJSONObject(i).getString("field0197"));
|
||||||
|
expenseItem.put("taxRate", detailArray.getJSONObject(i).getString("field0156"));
|
||||||
|
//expenseItem.put("kplx", "");
|
||||||
|
//expenseItem.put("areacl", "");
|
||||||
|
expenseItem.put("subjectCode", "1122");
|
||||||
|
expenseItem.put("projectCode", detailArray.getJSONObject(i).getString("field0188")); // 项目号
|
||||||
|
expenseItem.put("ghNo", ""); // 收入确认单号
|
||||||
|
expenseItem.put("ghNo", detailArray.getJSONObject(i).getString("field0148")); // 应收业务性质
|
||||||
|
expenseList.add(expenseItem);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 将expenseList添加到data
|
||||||
|
data.put("expenseList", expenseList);
|
||||||
|
// 将data添加到主JSONObject
|
||||||
|
mainJson.put("data", data);
|
||||||
|
return mainJson;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue