提交内容:修改资金计划调整代码

时间:2025-07-16 16:29
提交人:邹江涛
This commit is contained in:
zoujiangtao 2025-07-16 16:29:57 +08:00
parent 74972d482e
commit ce724d6f64
2 changed files with 26 additions and 18 deletions

View File

@ -1,5 +1,6 @@
package shkd.sys.sys.mservice;
import com.alibaba.fastjson.JSONArray;
import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.logging.Log;
import kd.bos.logging.LogFactory;
@ -23,6 +24,7 @@ import microsoft.exchange.webservices.data.core.service.response.ResponseObject;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
/**
@ -105,7 +107,7 @@ public class PlanningService {
// 4. 反序列化响应结果
FpmResponse<Void> responseObject = SerializationUtils.deSerializeFromBase64(result);
logger.info("是否成功:{}\n消息列表{}\n反序列化对象{}",
logger.info("计划编制批量写入是否成功:{}\n消息列表{}\n反序列化对象{}",
responseObject.isSuccess(), responseObject.getMessage(), responseObject.getData());
return responseObject;
}
@ -116,13 +118,12 @@ public class PlanningService {
* @param adjustReason 调整原因
* @param orgCode 编报主体编码
* @param periodCode 编报期间编码
* @param subjectCode 计划科目
* @param entryPeriodCode 主维度数据分录期间 code
* @param amount 调整金额
* @param adjustProjects 调整项目计划科目 金额
* @return
*/
public static FpmResponse<ReportAdjustBillBatchSaveResDTO> planAdjustment(String adjustReason, String orgCode, String periodCode, String subjectCode, String entryPeriodCode, String amount) {
logger.info("计划调整服务入参adjustReason={},orgCode={},periodCode={},subjectCode={},entryPeriodCode={},amount={}", adjustReason, orgCode, periodCode, subjectCode, entryPeriodCode, amount);
public static FpmResponse<ReportAdjustBillBatchSaveResDTO> planAdjustment(String adjustReason, String orgCode, String periodCode, String entryPeriodCode, JSONArray adjustProjects) {
logger.info("计划调整服务入参adjustReason={},orgCode={},periodCode={},subjectCode={},entryPeriodCode={},amount={}", adjustReason, orgCode, periodCode, entryPeriodCode, adjustProjects);
ReportAdjustBillBatchSaveDTO reportAdjustBillBatchSaveDTO = new ReportAdjustBillBatchSaveDTO();
reportAdjustBillBatchSaveDTO.setSystemCode("SYS-005");// 体系编码
@ -137,21 +138,29 @@ public class PlanningService {
reportAdjustBillSaveDTO.setReportTypeCode("M-002");// 编报类型编码
ArrayList<ReportAdjustDataSaveDTO> reportAdjustDataSaveDTOS = new ArrayList<>();
for (Object adjustProject : adjustProjects) {
HashMap<String, Object> adjustProjectHashMap = (HashMap<String, Object>) adjustProject;
// 计划科目
Object subjectCode = adjustProjectHashMap.get("subjectCode");
// 调整金额
Object amount = adjustProjectHashMap.get("amount");
ReportAdjustDataSaveDTO reportAdjustDataSaveDTO = new ReportAdjustDataSaveDTO();
// reportAdjustDataSaveDTO.setAdjustReason();// 维度组合下每一行的调整原因
// reportAdjustDataSaveDTO.setAmountUnit();// 单位
reportAdjustDataSaveDTO.setCurrencyCode("CNY");// 币别 code
reportAdjustDataSaveDTO.setSubjectCode(subjectCode);// 计划科目
reportAdjustDataSaveDTO.setSubjectCode(subjectCode.toString());// 计划科目
reportAdjustDataSaveDTO.setTemplateCode("FIX-013");// 调整数据所属编制表的模板编码
// reportAdjustDataSaveDTO.setCompanyCode();// 公司code
reportAdjustDataSaveDTO.setCurrentAdjustAmt(new BigDecimal(amount));// 本次调整金额
reportAdjustDataSaveDTO.setCurrentAdjustAmt(new BigDecimal(amount.toString()));// 本次调整金额
// reportAdjustDataSaveDTO.setCustom1Code();// 自定义维度1值code
// reportAdjustDataSaveDTO.setCustom2Code();// 自定义维度2值code
// reportAdjustDataSaveDTO.setCustom3Code();// 自定义维度3值code
reportAdjustDataSaveDTO.setEntryPeriodCode(entryPeriodCode);// 主维度数据分录期间 code
// reportAdjustDataSaveDTO.setSettleTypeCode();// 结算方式 code
reportAdjustDataSaveDTOS.add(reportAdjustDataSaveDTO);
}
reportAdjustBillSaveDTO.setAdjustDataList(reportAdjustDataSaveDTOS);// 调整数据 List<ReportAdjustDataSaveDTO> adjustDataList
reportAdjustBillSaveDTOS.add(reportAdjustBillSaveDTO);
@ -172,7 +181,7 @@ public class PlanningService {
reportAdjustBillBatchSaveResDTO.getSuccessSize();// 成功写入的调整单据总数
reportAdjustBillBatchSaveResDTO.getFailSize();// 失败写入的调整单据总数
List<String> adjustBillNoList = reportAdjustBillBatchSaveResDTO.getAdjustBillNoList();// 调整单据编号列表
logger.info("是否成功:{}\n消息列表{}\n反序列化对象{}",
logger.info("计划调整是否成功:{}\n消息列表{}\n反序列化对象{}",
responseObject.isSuccess(), responseObject.getMessage(), responseObject.getData());
if (responseObject.isSuccess()) {
logger.info("调整单据编号列表:{}", adjustBillNoList);

View File

@ -1,5 +1,6 @@
package shkd.sys.sys.plugin.api;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import kd.bos.list.plugin.AbstractListPlugin;
import kd.bos.logging.Log;
@ -79,16 +80,14 @@ public class InterfacePracticePlug extends AbstractListPlugin implements Seriali
jsonObject.getString("adjustReason");// 调整原因
jsonObject.getString("orgCode");// 编报主体
jsonObject.getString("periodCode");// 编报期间
jsonObject.getString("subjectCode");// 计划科目
jsonObject.getString("entryPeriodCode");// 主维度数据分录期间code
jsonObject.getString("amount");// 金额
jsonObject.getJSONArray("adjustProject");// 调整项目计划科目 金额
FpmResponse<ReportAdjustBillBatchSaveResDTO> fpmResponse = planAdjustment(
jsonObject.getString("adjustReason"),
jsonObject.getString("orgCode"),
jsonObject.getString("periodCode"),
jsonObject.getString("subjectCode"),
jsonObject.getString("entryPeriodCode"),
jsonObject.getString("amount")
jsonObject.getJSONArray("adjustProject")
);