parent
a724305b40
commit
409bc1bddc
|
@ -387,7 +387,7 @@ public class ApiService {
|
|||
hashMap.put("id", jsonObject.getJSONArray("data").get(0).toString());
|
||||
hashMap.put("receiptno", dynamic.getString("billno"));
|
||||
String attachmentRequestBody = getAttachmentRequestBody(hashMap);
|
||||
String pushResult = pushBill(token, "https://biptestctny.invest.com.cn:8002/iuap-api-auth//yonbip/ctm/bank/tran/update", attachmentRequestBody);
|
||||
String pushResult = pushBill(token, "https://10.1.9.43/iuap-api-auth//yonbip/ctm/bank/tran/update", attachmentRequestBody);
|
||||
logger.info("电子回单查询 → BIP推送附件接口 → 请求返回结果:\n{}", pushResult);
|
||||
result = "推送 → 电子回单和附件 → 成功";
|
||||
} else {
|
||||
|
|
|
@ -1,7 +1,11 @@
|
|||
package shkd.sys.sys.mservice;
|
||||
|
||||
import kd.bos.logging.Log;
|
||||
import kd.bos.logging.LogFactory;
|
||||
import kd.tmc.fpm.business.dataproc.save.ReportDataSDKService;
|
||||
import kd.bos.login.actions.SerializationUtils;
|
||||
import kd.tmc.fpm.business.dataproc.save.domain.ReportDataBatchSaveObject;
|
||||
import kd.tmc.fpm.business.dataproc.save.domain.ReportDataBatchSaveParam;
|
||||
import kd.tmc.fpm.business.dataproc.save.ReportDataSaveObject;
|
||||
import kd.tmc.fpm.business.domain.service.FpmOperateResult;
|
||||
|
||||
|
@ -10,11 +14,13 @@ import java.util.ArrayList;
|
|||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description
|
||||
* @Description 资金计划写入服务
|
||||
* @Author Tao
|
||||
* @Date 2025/2/24
|
||||
*/
|
||||
public class FundingPlanService {
|
||||
|
||||
private static final Log logger = LogFactory.getLog(FundingPlanService.class);
|
||||
public static String writeData() {
|
||||
/**
|
||||
* private @ApiParam("报表数据Id") Long reportId;
|
||||
|
@ -42,37 +48,64 @@ public class FundingPlanService {
|
|||
*/
|
||||
|
||||
// 1. 构造请求参数
|
||||
// ReportDataBatchSaveParam reportDataBatchSaveParam = new ReportDataBatchSaveParam();
|
||||
// reportDataBatchSaveParam.setSystemCode();// 体系code
|
||||
// reportDataBatchSaveParam.setTemplateCode();// 模板code
|
||||
// reportDataBatchSaveParam.setReportPeriodCode();// 编报期间code
|
||||
// reportDataBatchSaveParam.setReportOrgCode();// 编报主体code
|
||||
//
|
||||
// ReportDataBatchSaveObject reportDataBatchSaveObject = new ReportDataBatchSaveObject();
|
||||
//
|
||||
// reportDataBatchSaveParam.setBatchSaveData();
|
||||
|
||||
|
||||
ReportDataSaveObject requestObject = new ReportDataSaveObject();
|
||||
|
||||
|
||||
// 报表数据Id
|
||||
// requestObject.setReportId();
|
||||
requestObject.setReportId(2102457524581052484L);// 计划编制编码:91510100MA7FY7GT7R-20241210-0003
|
||||
// 报表数据reportDataId
|
||||
// requestObject.setReportDataId();
|
||||
// 体系ID 必填
|
||||
requestObject.setSystemId(2078206889971156992L);// 川投计划填报
|
||||
// 模板ID
|
||||
requestObject.setTemplateId(2081110508173265920L);// 月度计划测试
|
||||
// requestObject.setTemplateId(2081110508173265920L);// 月度计划测试
|
||||
// 模板名称
|
||||
requestObject.setTemplateName("月度计划测试");// 月度计划测试
|
||||
// requestObject.setTemplateName("月度计划测试");// 月度计划测试
|
||||
// 编报期间ID
|
||||
requestObject.setReportPeriodId(2097273299254902785L);// 2025年02月
|
||||
requestObject.setReportPeriodId(2102457312651262977L);// 2025年03月
|
||||
// 编报主体ID
|
||||
requestObject.setReportOrgId(2092147481843336244L); // 四川川投新能源有限公司
|
||||
requestObject.setReportOrgId(2086389183361843203L); // 四川川投能源股份有限公司
|
||||
// 编报主体
|
||||
List<Long> objects = new ArrayList<>();
|
||||
objects.add(2092147481843336244L);
|
||||
objects.add(2086389183361843203L);
|
||||
requestObject.setReportOrgIds(objects);
|
||||
// 币种ID
|
||||
requestObject.setCurrencyId(2078206890407364608L);// 人民币
|
||||
// 计划科目ID
|
||||
requestObject.setSubjectId(1323045941204225024L);// 计划科目:销售商品、提供劳务收到的现金
|
||||
requestObject.setSubjectId(2078208875504338947L);// 计划科目:销售商品、提供劳务收到的现金
|
||||
// 公司ID
|
||||
// requestObject.setCompanyId();
|
||||
// 结算方式ID
|
||||
// requestObject.setSettleTypeId();
|
||||
// 主维度数据分录期间ID
|
||||
requestObject.setEntryPeriodId(2097273390665565188L);// 2025年2月01周
|
||||
requestObject.setEntryPeriodId(2102457312676428801L);// 2025年3月01周
|
||||
// 度量值列表
|
||||
// requestObject.setMetricMembers();
|
||||
ReportDataSaveObject.MetricMember metricMember = new ReportDataSaveObject.MetricMember();
|
||||
// metricMember.setId(2078206891380443136L);// id
|
||||
// metricMember.setNumber("M001");// 编码
|
||||
// metricMember.setName("计划参考值");// 名称
|
||||
// metricMember.setMetrictype("Metric");// 类型
|
||||
// metricMember.setPlanAmt(new BigDecimal(1000));// 计划数
|
||||
|
||||
metricMember.setId(2078206891380442112L);// id
|
||||
metricMember.setNumber("M002");// 编码
|
||||
metricMember.setName("计划额度");// 名称
|
||||
metricMember.setMetrictype("Metric");// 类型
|
||||
metricMember.setPlanAmt(new BigDecimal(1000));// 计划数
|
||||
List<ReportDataSaveObject.MetricMember> metricMemberArrayList = new ArrayList<>();
|
||||
metricMemberArrayList.add(metricMember);
|
||||
requestObject.setMetricMembers(metricMemberArrayList);
|
||||
// 上报计划额度
|
||||
requestObject.setReportPlanAmt(new BigDecimal(1000));
|
||||
// 原始计划额度(核定额度)
|
||||
|
@ -95,9 +128,10 @@ public class FundingPlanService {
|
|||
String qParam = SerializationUtils.serializeToBase64(requestObject);
|
||||
// 3. 调用SDK接口
|
||||
ReportDataSDKService reportDataSDKService = new ReportDataSDKService();
|
||||
String result = reportDataSDKService.batchSaveReportData(qParam);
|
||||
String result = reportDataSDKService.saveReportData(qParam);
|
||||
// 4. 反序列化响应结果
|
||||
FpmOperateResult<Void> responseObject = SerializationUtils.deSerializeFromBase64(result);
|
||||
logger.info("是否成功:{}\n消息列表:{}\n警告消息列表:{}", responseObject.isSuccess(), responseObject.getMessageList(), responseObject.getWarnMessage());
|
||||
return responseObject.getSuccessMessage();
|
||||
}
|
||||
|
||||
|
|
|
@ -235,9 +235,10 @@ public class ApiMappingBillPlugin extends AbstractFormPlugin implements Plugin {
|
|||
// 银企交易明细查询
|
||||
case "bei_transdetail_cas":
|
||||
DynamicObject[] objects3 = BusinessDataServiceHelper.load("bei_transdetail_cas",
|
||||
"id,billno,bizdate,oppbank,oppunit,accountbank,description,company,oppbanknumber," +
|
||||
"id,bizdate,billno,detailid,oppbank,oppunit,accountbank,description,company,oppbanknumber," +
|
||||
"bankdetailno,transbalance,description,debitamount,creditamount,shkd_pushstatus," +
|
||||
"shkd_businessnumber,shkd_businessid,shkd_businessname"
|
||||
"shkd_businessnumber,shkd_businessid,shkd_businessname,recedbillentry,receiptno," +
|
||||
"recedbillentry.e_recedbilltype,recedbillentry.e_recedbillnumber,recedbillentry.e_recedbillid"
|
||||
, new QFilter("billno", QCP.equals, billNumber).toArray());
|
||||
billObject = objects3[0];
|
||||
logger.info("获取银企交易明细查询推送对象 → billObject:{}", billObject);
|
||||
|
@ -245,9 +246,9 @@ public class ApiMappingBillPlugin extends AbstractFormPlugin implements Plugin {
|
|||
// 电子回单查询
|
||||
case "bei_elecreceipt":
|
||||
DynamicObject[] objects4 = BusinessDataServiceHelper.load("bei_elecreceipt",
|
||||
"id,billno,shkd_pushstatus,fileserverurl,bizdate,oppbankname,description,company,oppbanknumber," +
|
||||
"detaildatetime,accountbank,amount,use,debitamount,creditamount,detailid,uploadfilename," +
|
||||
"shkd_businessnumber,shkd_businessid,shkd_businessname,filepath"
|
||||
"id,billno,shkd_pushstatus,fileserverurl,bizdate,oppbank,oppbankname,description,company," +
|
||||
"oppbanknumber,oppunit,detaildatetime,accountbank,amount,use,debitamount,creditamount,detailid," +
|
||||
"uploadfilename,shkd_businessnumber,shkd_businessid,shkd_businessname,filepath,receiptno"
|
||||
, new QFilter("billno", QCP.equals, billNumber).toArray());
|
||||
billObject = objects4[0];
|
||||
logger.info("获取银企交易明细查询推送对象 → billObject:{}", billObject);
|
||||
|
|
|
@ -3,9 +3,12 @@ package shkd.sys.sys.plugin.form;
|
|||
import kd.bos.bill.AbstractBillPlugIn;
|
||||
import kd.bos.form.control.Toolbar;
|
||||
import kd.bos.form.control.events.ItemClickEvent;
|
||||
import kd.bos.logging.Log;
|
||||
import kd.bos.logging.LogFactory;
|
||||
import kd.sdk.plugin.Plugin;
|
||||
import shkd.sys.sys.mservice.ApiService;
|
||||
import shkd.sys.sys.mservice.FundingPlanService;
|
||||
import shkd.sys.sys.mservice.PlanningService;
|
||||
|
||||
import java.util.EventObject;
|
||||
|
||||
|
@ -13,6 +16,7 @@ import java.util.EventObject;
|
|||
* 单据界面插件
|
||||
*/
|
||||
public class ApiTestBillPlugin extends AbstractBillPlugIn implements Plugin {
|
||||
private static final Log logger = LogFactory.getLog(ApiTestBillPlugin.class);
|
||||
@Override
|
||||
public void registerListener(EventObject e) {
|
||||
// super.registerListener(e);
|
||||
|
@ -46,7 +50,7 @@ public class ApiTestBillPlugin extends AbstractBillPlugIn implements Plugin {
|
|||
if ("shkd_funds".equals(key)) {
|
||||
// JSONObject jsonObject = BIPService.paymentSlipsJson();
|
||||
// this.getView().showTipNotification(jsonObject.toJSONString());
|
||||
String result = FundingPlanService.writeData();
|
||||
String result = PlanningService.writeData();
|
||||
this.getView().showSuccessNotification(result);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,10 @@
|
|||
package shkd.sys.sys.plugin.task;
|
||||
|
||||
import com.kingdee.bos.qing.util.DateUtils;
|
||||
|
||||
import java.time.YearMonth;
|
||||
import java.time.ZoneId;
|
||||
|
||||
import kd.bos.context.RequestContext;
|
||||
import kd.bos.dataentity.entity.DynamicObject;
|
||||
import kd.bos.dataentity.entity.DynamicObjectCollection;
|
||||
|
@ -121,15 +125,39 @@ public class PushTaskPlugin extends AbstractTask implements Plugin {
|
|||
// .and("shkd_pushstatus", QCP.not_equals, "已推送").toArray());
|
||||
|
||||
DynamicObject[] objects3 = BusinessDataServiceHelper.load("bei_transdetail_cas",
|
||||
"id,bizdate,oppbank,oppunit,accountbank,description,company,oppbanknumber," +
|
||||
"id,bizdate,billno,detailid,oppbank,oppunit,accountbank,description,company,oppbanknumber," +
|
||||
"bankdetailno,transbalance,description,debitamount,creditamount,shkd_pushstatus," +
|
||||
"shkd_businessnumber,shkd_businessid,shkd_businessname,recedbillentry,receiptno," +
|
||||
"recedbillentry.e_recedbilltype,recedbillentry.e_recedbillnumber,recedbillentry.e_recedbillid"
|
||||
, new QFilter("shkd_pushstatus", QCP.not_equals, "已推送").toArray());
|
||||
, new QFilter("bizdate", QCP.large_equals, getFirstDayOfMonth())
|
||||
.and("shkd_pushstatus", QCP.not_equals, "已推送").toArray());
|
||||
|
||||
Arrays.stream(objects3).forEach(dynamicObject -> {
|
||||
DynamicObject companys = dynamicObject.getDynamicObject("company");
|
||||
if ("SIG1040100、SIG1090000、SIG000101135、SIG1041000、SIG1040802、SIG1040804、SIG1040803、SIG1040801、SIG1040400".contains(companys.getString("number"))) {
|
||||
if (("SIG1040100、" +
|
||||
"SIG1040901、" +
|
||||
"SIG1040201、" +
|
||||
"SIG1090000、" +
|
||||
"SIG1040700、" +
|
||||
"SIG000101135、" +
|
||||
"SIG1040600、" +
|
||||
"SIG1040300、" +
|
||||
"SIG000100079、" +
|
||||
"SIG000003001、" +
|
||||
"SIG1041000、" +
|
||||
"SIG1040802、" +
|
||||
"SIG000101558、" +
|
||||
"SIG1040808、" +
|
||||
"SIG1040804、" +
|
||||
"SIG1040803、" +
|
||||
"SIG1040801、" +
|
||||
"SIG1040400、" +
|
||||
"SIG104010101、" +
|
||||
"SIG104010102、" +
|
||||
"SIG1040202、" +
|
||||
"SIG1040203、" +
|
||||
"SIG1040204、" +
|
||||
"SIG1040902").contains(companys.getString("number"))) {
|
||||
ApiService.paymentSlipsJson(dynamicObject, "BIP", dynamicObjectList, null);
|
||||
}
|
||||
});
|
||||
|
@ -141,25 +169,40 @@ public class PushTaskPlugin extends AbstractTask implements Plugin {
|
|||
*/
|
||||
case "bei_elecreceipt":
|
||||
DynamicObject[] elecreceiptArays = BusinessDataServiceHelper.load("bei_elecreceipt",
|
||||
"id,billno,shkd_pushstatus,fileserverurl,bizdate,oppbankname,description,company," +
|
||||
"oppbanknumber,detaildatetime,accountbank,amount,use,debitamount,creditamount,detailid," +
|
||||
"id,billno,shkd_pushstatus,fileserverurl,bizdate,oppbank,oppbankname,description,company," +
|
||||
"oppbanknumber,oppunit,detaildatetime,accountbank,amount,use,debitamount,creditamount,detailid," +
|
||||
"uploadfilename,shkd_businessnumber,shkd_businessid,shkd_businessname,filepath,receiptno"
|
||||
, new QFilter("bizdate", QCP.large_equals, calculateTheDate(7))
|
||||
, new QFilter("bizdate", QCP.large_equals, getFirstDayOfMonth())
|
||||
.and("shkd_pushstatus", QCP.not_equals, "已推送").toArray());
|
||||
ArrayList<DynamicObject> elecreceiptCollection = new ArrayList<>();
|
||||
Arrays.stream(elecreceiptArays).forEach(dynamicObject -> {
|
||||
DynamicObject[] objects = BusinessDataServiceHelper.load("bei_transdetail_cas",
|
||||
"id,billno,shkd_pushstatus,fileserverurl,bizdate,oppbankname,description,company," +
|
||||
"oppbanknumber,detaildatetime,accountbank,amount,use,debitamount,creditamount,detailid," +
|
||||
"uploadfilename,shkd_businessnumber,shkd_businessid,shkd_businessname,filepath,receiptno",
|
||||
new QFilter("receiptno", QCP.equals, dynamicObject.getString("receiptno")).
|
||||
and(new QFilter("shkd_pushstatus", QCP.equals, "已推送")).
|
||||
and(new QFilter("shkd_businessname", QCP.equals, "共享系统")).toArray());
|
||||
if (objects.length > 0) {
|
||||
elecreceiptCollection.add(dynamicObject);
|
||||
DynamicObject companys = dynamicObject.getDynamicObject("company");
|
||||
if (("SIG1040100、" +
|
||||
"SIG1040901、" +
|
||||
"SIG1040201、" +
|
||||
"SIG1090000、" +
|
||||
"SIG1040700、" +
|
||||
"SIG000101135、" +
|
||||
"SIG1040600、" +
|
||||
"SIG1040300、" +
|
||||
"SIG000100079、" +
|
||||
"SIG000003001、" +
|
||||
"SIG1041000、" +
|
||||
"SIG1040802、" +
|
||||
"SIG000101558、" +
|
||||
"SIG1040808、" +
|
||||
"SIG1040804、" +
|
||||
"SIG1040803、" +
|
||||
"SIG1040801、" +
|
||||
"SIG1040400、" +
|
||||
"SIG104010101、" +
|
||||
"SIG104010102、" +
|
||||
"SIG1040202、" +
|
||||
"SIG1040203、" +
|
||||
"SIG1040204、" +
|
||||
"SIG1040902").contains(companys.getString("number"))) {
|
||||
ApiService.paymentSlipsJson(dynamicObject, "BIP", dynamicObjectList, null);
|
||||
}
|
||||
});
|
||||
elecreceiptCollection.forEach(dynamicObject -> ApiService.paymentSlipsJson(dynamicObject, "BIP", dynamicObjectList, null));
|
||||
SaveServiceHelper.save(dynamicObjectList.toArray(new DynamicObject[0]));
|
||||
break;
|
||||
default:
|
||||
|
@ -187,4 +230,18 @@ public class PushTaskPlugin extends AbstractTask implements Plugin {
|
|||
}
|
||||
return date;
|
||||
}
|
||||
|
||||
private static Date getFirstDayOfMonth() {
|
||||
// 获取当前日期
|
||||
LocalDate currentDate = LocalDate.now();
|
||||
|
||||
// 获取当前年份和月份
|
||||
YearMonth yearMonth = YearMonth.from(currentDate);
|
||||
|
||||
// 获取当前月份的第一天
|
||||
LocalDate firstDayOfMonth = yearMonth.atDay(1);
|
||||
|
||||
// 将LocalDate转换为Date
|
||||
return Date.from(firstDayOfMonth.atStartOfDay(ZoneId.systemDefault()).toInstant());
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue