提交人:陈绍鑫

日期:2025/01/21 10:30
内容:流水生单api
This commit is contained in:
陈绍鑫 2026-01-21 12:04:02 +08:00
parent 73d9668cfb
commit c32e503cbe
1 changed files with 38 additions and 15 deletions

View File

@ -5,20 +5,16 @@ import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.dataentity.metadata.IDataEntityProperty;
import kd.bos.dataentity.metadata.clr.DataEntityPropertyCollection;
import kd.bos.dataentity.resource.ResManager;
import kd.bos.dataentity.serialization.DataEntitySerializer;
import kd.bos.dataentity.serialization.DataEntitySerializerOption;
import kd.bos.dataentity.serialization.SerializationUtils;
import kd.bos.db.DB;
import kd.bos.entity.EntityMetadataCache;
import kd.bos.entity.botp.ConvertRuleElement;
import kd.bos.entity.datamodel.ListSelectedRow;
import kd.bos.entity.datamodel.ListSelectedRowCollection;
import kd.bos.entity.operate.result.IOperateInfo;
import kd.bos.entity.operate.result.OperateErrorInfo;
import kd.bos.entity.operate.result.OperationResult;
import kd.bos.entity.validate.ErrorLevel;
import kd.bos.form.FormShowParameter;
import kd.bos.form.IPageCache;
import kd.bos.form.ShowType;
import kd.bos.logging.Log;
import kd.bos.logging.LogFactory;
@ -58,24 +54,31 @@ public class SavePayByWorkflowApiPlugin implements Serializable {
private static final Log logger = LogFactory.getLog(SavePayByWorkflowApiPlugin.class);
@ApiPostMapping(
value = "/getsupplierforbizorg",
desc = "通过业务组织获取供应商信息"
value = "/SavePayByWorkflow",
desc = "根据流水生成收款处理单api"
)
public CustomApiResult<SavePayByWorkflowReturnModel> SavePayByWorkflow(@Valid @NotNull @ApiParam(value = "Request") List<SavePayByWorkflowRequestModel> Request){
public CustomApiResult<SavePayByWorkflowReturnModel> SavePayByWorkflow(@Valid @NotNull @ApiParam(value = "billnos") List<SavePayByWorkflowRequestModel> Request,
@Valid @NotNull @ApiParam(value = "receivingtype") String reqreceivingtype,
@Valid @NotNull @ApiParam(value = "payertype") String reqpayertype,
@Valid @NotNull @ApiParam(value = "e_payerid") String reqe_payerid,
@Valid @NotNull @ApiParam(value = "e_payerid") String reqe_payername,
@Valid @NotNull @ApiParam(value = "fundflowitem") String reqfundflowitem,
@Valid @NotNull @ApiParam(value = "remark") String reqremark){
SavePayByWorkflowReturnModel model = new SavePayByWorkflowReturnModel();
List<String> billnos = new ArrayList<>();
List<Long> billnoids = new ArrayList<>();
for (SavePayByWorkflowRequestModel savePayByWorkflowRequestModel : Request) {
String billno = savePayByWorkflowRequestModel.getBillno();
DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle("bei_intelrec", "id,billno", new QFilter("billno", QCP.equals, billno).toArray());
if (dynamicObject==null){
model.setMsg("生单失败:编号"+billno+"交易明细在系统中不存在");
model.setSuccess(false);
return CustomApiResult.success(model);
}
billnoids.add(dynamicObject.getLong("id"));
billnos.add(billno);
}
QFilter qFilter = new QFilter("billno", QCP.in,billnos);
DynamicObject[] bei_intelrecs = BusinessDataServiceHelper.load("bei_intelrec", "id,billno", qFilter.toArray());
for (DynamicObject bei_intelrec : bei_intelrecs) {
billnoids.add(bei_intelrec.getLong("id"));
}
Map<String, Object> returnData=getreturnData(bei_intelrecs,Request);
Map<String, Object> returnData=getreturnData(Request,reqreceivingtype,reqpayertype,reqe_payerid,reqfundflowitem,reqremark,reqe_payername);
HashMap returnDataMapmerge=(HashMap)returnData;
if (EmptyUtil.isEmpty(returnDataMapmerge)) {
model.setMsg("生单失败");
@ -190,12 +193,32 @@ public class SavePayByWorkflowApiPlugin implements Serializable {
}
}
private Map<String, Object> getreturnData(DynamicObject[] bei_intelrecs, List<SavePayByWorkflowRequestModel> request) {
private Map<String, Object> getreturnData(List<SavePayByWorkflowRequestModel> request, String reqreceivingtype, String reqpayertype, String reqe_payerid, String reqfundflowitem, String reqremark,String reqe_payername) {
Map<String, Object> returnData = new HashMap();
//初始化单据
DynamicObject dataEntity = BusinessDataServiceHelper.newDynamicObject("cas_recbizinfo");
dataEntity.set("handlebill","recbill");//入账单据
DynamicObject cas_receivingbilltype = BusinessDataServiceHelper.loadSingle("cas_receivingbilltype", "id,number", new QFilter("number", QCP.equals, reqreceivingtype).toArray());
dataEntity.set("receivingtype",cas_receivingbilltype);//收款类型
dataEntity.set("payertype",reqpayertype);//付款人类型
if (AsstActTypeEnum.OTHER.getValue().equals(reqpayertype)) {
dataEntity.set("e_payerbasetype",null);//付款人资料类型
}else {
dataEntity.set("e_payerbasetype",reqpayertype);//付款人资料类型
}
dataEntity.set("e_payer",reqe_payername);//付款人(文本)
if (AsstActTypeEnum.OTHER.getValue().equals(reqpayertype)) {
dataEntity.set("e_payerid",null);//付款人
}else {
DynamicObject e_payerid = BusinessDataServiceHelper.loadSingle(reqpayertype, "id,number", new QFilter("number", QCP.equals, reqe_payerid).toArray());
dataEntity.set("e_payerid",e_payerid);//付款人
}
DataEntityPropertyCollection properties = dataEntity.getDataEntityType().getProperties();
for (IDataEntityProperty property : properties) {
String remark = property.getName();