
28 changed files with 399 additions and 44 deletions
@ -0,0 +1,18 @@ |
|||
package com.yxt.anrui.base.api.busvehicleorder; |
|||
|
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* 采购系统(部门)sid、采购系统(部门)名称字段、厂家销售通路sid、厂家销售通路 |
|||
*/ |
|||
@Data |
|||
public class ActualAndOrgDeptDto { |
|||
//厂家销售通路sid
|
|||
private String actualSid; |
|||
//厂家销售通路
|
|||
private String actualPay; |
|||
//采购系统(部门)
|
|||
private String orgDeptName; |
|||
//采购系统(部门)sid
|
|||
private String orgDeptSid; |
|||
} |
@ -0,0 +1,37 @@ |
|||
package com.yxt.anrui.fin.api.kingdee.paezcllx; |
|||
|
|||
import com.fasterxml.jackson.annotation.JsonProperty; |
|||
import lombok.Data; |
|||
|
|||
import javax.validation.constraints.NotBlank; |
|||
|
|||
/** |
|||
* 车辆类型 |
|||
*/ |
|||
@Data |
|||
public class PaezCllx { |
|||
/** |
|||
* 使用组织:FUseOrgId (必填项) |
|||
*/ |
|||
@JsonProperty("FUseOrgId") |
|||
@NotBlank |
|||
public String FUseOrgId; |
|||
/** |
|||
* 创建组织:FCreateOrgId (必填项) |
|||
*/ |
|||
@JsonProperty("FCreateOrgId") |
|||
@NotBlank |
|||
public String FCreateOrgId; |
|||
/** |
|||
* 类型名称:FName (必填项) |
|||
*/ |
|||
@JsonProperty("FName") |
|||
@NotBlank |
|||
public String FName; |
|||
/** |
|||
* 类型编码:FNumber (必填项) |
|||
*/ |
|||
@JsonProperty("FNumber") |
|||
@NotBlank |
|||
public String FNumber; |
|||
} |
@ -0,0 +1,44 @@ |
|||
package com.yxt.anrui.fin.biz.kingdee.paezcllx; |
|||
|
|||
import com.alibaba.fastjson.JSON; |
|||
import com.alibaba.fastjson.JSONObject; |
|||
import com.alibaba.fastjson.parser.Feature; |
|||
import com.yxt.anrui.fin.biz.kingdee.KingDeeUtils; |
|||
import org.slf4j.Logger; |
|||
import org.slf4j.LoggerFactory; |
|||
|
|||
import java.util.Map; |
|||
|
|||
/** |
|||
* 封装转换的类 |
|||
*/ |
|||
public class PaezCllxCastToKingDeeBillFields { |
|||
private static Logger log=LoggerFactory.getLogger(PaezCllxCastToKingDeeBillFields.class); |
|||
/** |
|||
* 构造金蝶需要的数据结构 并对字段赋值 |
|||
* |
|||
* @param map_fEntityModel_ |
|||
* @return |
|||
*/ |
|||
public static String getKingDeeData(Map<String,String> map_fEntityModel_ ){ |
|||
/** |
|||
* 取模板 |
|||
*/ |
|||
String readJsonFile = KingDeeUtils.readJsonFile("com/yxt/anrui/fin/biz/kingdee/paezcllx/data.json"); |
|||
String fEntityData_ = KingDeeUtils.readJsonFile("com/yxt/anrui/fin/biz/kingdee/paezcllx/data_data.json"); |
|||
String fEntityModel_ = KingDeeUtils.readJsonFile("com/yxt/anrui/fin/biz/kingdee/paezcllx/data_model.json"); |
|||
log.info("readJsonFile:{}",readJsonFile); |
|||
log.info("fEntityData_:{}",fEntityData_); |
|||
log.info("fEntityModel_:{}",fEntityModel_); |
|||
|
|||
//模板字符创转json
|
|||
JSONObject jsonObj= JSONObject.parseObject(readJsonFile, Feature.OrderedField); |
|||
JSONObject jsonFEntityData_= JSONObject.parseObject(fEntityData_,Feature.OrderedField); |
|||
fEntityModel_ =KingDeeUtils.replaceTemplateParams(fEntityModel_, map_fEntityModel_); |
|||
JSONObject jsonFEntityModel_= JSONObject.parseObject(fEntityModel_,Feature.OrderedField); |
|||
|
|||
jsonFEntityData_.put("Model",JSONObject.parseObject(JSON.toJSONString(jsonFEntityModel_),Feature.OrderedField)); |
|||
jsonObj.put("data",jsonFEntityData_.toJSONString()); |
|||
return jsonObj.toJSONString(); |
|||
} |
|||
} |
@ -0,0 +1,74 @@ |
|||
package com.yxt.anrui.fin.biz.kingdee.paezcllx; |
|||
|
|||
import com.yxt.anrui.fin.api.kingdee.KingDeeBillId; |
|||
import com.yxt.anrui.fin.api.kingdee.KingDeeBillUrl; |
|||
import com.yxt.anrui.fin.api.kingdee.KingDeeResult; |
|||
import com.yxt.anrui.fin.api.kingdee.paezcllx.PaezCllx; |
|||
import com.yxt.anrui.fin.biz.kingdee.FinKingDeeService; |
|||
import com.yxt.anrui.fin.biz.kingdee.bank.BDBankService; |
|||
import com.yxt.common.core.result.ResultBean; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
import java.util.ArrayList; |
|||
import java.util.List; |
|||
import java.util.Map; |
|||
|
|||
@Service |
|||
public class PaezCllxService extends FinKingDeeService { |
|||
/** |
|||
* 保存车辆类型信息 list |
|||
* @param paezCllx |
|||
* @return |
|||
*/ |
|||
public ResultBean<List<KingDeeResult>> draftPaezCllxList(List<PaezCllx> paezCllx) { |
|||
List<KingDeeResult> list=new ArrayList<>(); |
|||
ResultBean rb=ResultBean.fireFail(); |
|||
for(PaezCllx p:paezCllx) { |
|||
ResultBean<List<KingDeeResult>> resultBean = draftPaezCllx(p); |
|||
if (resultBean.getSuccess()) { |
|||
list.add(resultBean.getData().get(0)); |
|||
} |
|||
} |
|||
return rb.success().setData(list); |
|||
} |
|||
/** |
|||
* 保存车辆类型信息 |
|||
* @param paezCllx |
|||
* @return |
|||
*/ |
|||
public ResultBean draftPaezCllx(PaezCllx paezCllx) { |
|||
//bdCustomer=BdCustomer.createBdCustomer();
|
|||
ResultBean rb=ResultBean.fireFail(); |
|||
try { |
|||
//业务表的主表数据集合
|
|||
Map<String,String> map_fEntityModel_= object2Map(paezCllx); |
|||
//准备 物料列表的数据 ForEntryBill
|
|||
String kingDeeData = PaezCllxCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_); |
|||
|
|||
ResultBean<String> resultBean = accessKingDeeInterface( |
|||
KingDeeBillId.PAEZ_CLLX.getID(), kingDeeData, KingDeeBillUrl.DRAFT_URL.getURL()); |
|||
|
|||
String submitKD = getSubmitKD(resultBean.getData(),KingDeeBillId.PAEZ_CLLX.getID()); |
|||
ResultBean<String> resultBean1 = accessKingDeeInterface(KingDeeBillId.PAEZ_CLLX.getID(), |
|||
submitKD,KingDeeBillUrl.SUBMIT_URL.getURL()); |
|||
if(!resultBean1.getSuccess()){ |
|||
log.info("车辆类型提交失败!"); |
|||
return rb.setMsg("车辆类型提交失败!"); |
|||
} |
|||
log.info("车辆类型提交成功!"); |
|||
|
|||
String auditKD = getAuditKD(resultBean.getData(),KingDeeBillId.CN_BANKACNT.getID()); |
|||
ResultBean<String> resultBean2 = accessKingDeeInterface(KingDeeBillId.CN_BANKACNT.getID(), auditKD,KingDeeBillUrl.AUDIT_URL.getURL()); |
|||
if(!resultBean2.getSuccess()){ |
|||
log.info("车辆类型审核失败!"); |
|||
return rb.setMsg("车辆类型审核失败!"); |
|||
} |
|||
log.info("车辆类型审核成功!"); |
|||
return resultBean; |
|||
} catch (Exception e) { |
|||
e.printStackTrace(); |
|||
} |
|||
return rb; |
|||
} |
|||
} |
@ -0,0 +1,4 @@ |
|||
{ |
|||
"formId": "PAEZ_CLLX", |
|||
"data": "@KD_data" |
|||
} |
@ -0,0 +1,13 @@ |
|||
{ |
|||
"Creator": "", |
|||
"NeedUpDateFields": [], |
|||
"NeedReturnFields": [], |
|||
"IsDeleteEntry": "True", |
|||
"SubSystemId": "", |
|||
"IsVerifyBaseDataField": "false", |
|||
"IsEntryBatchFill": "True", |
|||
"ValidateFlag": "True", |
|||
"NumberSearch": "True", |
|||
"InterationFlags": "", |
|||
"Model":{} |
|||
} |
@ -0,0 +1,11 @@ |
|||
{ |
|||
"FContactId": 0, |
|||
"FNumber": "@KD_FNumber", |
|||
"FName": "@KD_FName", |
|||
"FUseOrgId": { |
|||
"FNumber": "@KD_FUseOrgId" |
|||
}, |
|||
"FCreateOrgId": { |
|||
"FNumber": "@KD_FCreateOrgId" |
|||
} |
|||
} |
@ -0,0 +1,44 @@ |
|||
一、请求参数说明: |
|||
1.formid:业务对象表单Id,字符串类型(必录) |
|||
2.data:Json格式数据(详情参考Json格式数据)(必录) |
|||
2.1.Creator:创建者内码(非必录) |
|||
2.2.NeedUpDateFields:需要更新的字段,数组类型,格式:[key1,key2,...](非必录),注(更新单据体字段得加上单据体key) |
|||
2.3.NeedReturnFields:需返回结果的字段集合,数组类型,格式:[key,entitykey.key,...](非必录),注(返回单据体字段格式:entitykey.key) |
|||
2.4.IsDeleteEntry:是否删除已存在的分录,布尔类型,默认true(非必录) |
|||
2.5.SubSystemId:表单所在的子系统内码,字符串类型(非必录) |
|||
2.6.IsVerifyBaseDataField:是否验证所有的基础资料有效性,布尔类,默认false(非必录) |
|||
2.7.IsEntryBatchFill:是否批量填充分录,默认true(非必录) |
|||
2.8.ValidateFlag:是否验证标志,布尔类型,默认true(非必录) |
|||
2.9.NumberSearch:是否用编码搜索基础资料,布尔类型,默认true(非必录) |
|||
2.10.InterationFlags:交互标志集合,字符串类型,分号分隔,格式:"flag1;flag2;..."(非必录),例如(允许负库存标识:STK_InvCheckResult) |
|||
2.11.Model:表单数据包,Json类型(必录) |
|||
|
|||
二、Json格式数据: |
|||
{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\",\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\",\"Model\":{\"FContactId\":\"0\",\"FNumber\":\"\",\"FName\":\"\",\"FUseOrgId\":{\"FNumber\":\"\"},\"FCreateOrgId\":{\"FNumber\":\"\"},\"FDescription\":\"\"}} |
|||
|
|||
三、返回参数: |
|||
{\"Result\":{\"ResponseStatus\":{\"ErrorCode\":\"\",\"IsSuccess\":\"false\",\"Errors\":[{\"FieldName\":\"\",\"Message\":\"\",\"DIndex\":0}],\"SuccessEntitys\":[{\"Id\":\"\",\"Number\":\"\",\"DIndex\":0}],\"SuccessMessages\":[{\"FieldName\":\"\",\"Message\":\"\",\"DIndex\":0}]},\"Id\":\"\",\"NeedReturnData\":[{}]}} |
|||
|
|||
四、代码示例: |
|||
// 使用webapi引用组件Kingdee.BOS.WebApi.Client.dll |
|||
K3CloudApiClient client = new K3CloudApiClient("http://121.36.43.55/k3cloud/"); |
|||
var ret = client.ValidateLogin("61dce6601125a0","Administrator","888888",2052); |
|||
var result = JObject.Parse(ret)["LoginResultType"].Value<int>(); |
|||
// 登陆成功 |
|||
if (result == 1) |
|||
{ |
|||
client.Draft("PAEZ_CLLX","{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\",\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\",\"Model\":{\"FContactId\":\"0\",\"FNumber\":\"\",\"FName\":\"\",\"FUseOrgId\":{\"FNumber\":\"\"},\"FCreateOrgId\":{\"FNumber\":\"\"},\"FDescription\":\"\"}}"); |
|||
} |
|||
|
|||
五、字段说明: |
|||
创建人:FCreatorId |
|||
使用组织:FUseOrgId (必填项) |
|||
修改人:FModifierId |
|||
修改日期:FModifyDate |
|||
创建日期:FCreateDate |
|||
创建组织:FCreateOrgId (必填项) |
|||
禁用状态:FForbidStatus |
|||
数据状态:FDocumentStatus |
|||
类型名称:FName (必填项) |
|||
描述:FDescription |
|||
类型编码:FNumber (必填项) |
@ -0,0 +1 @@ |
|||
{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\",\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\",\"Model\":{\"FContactId\":0,\"FNumber\":\"21\",\"FName\":\"2121\",\"FUseOrgId\":{\"FNumber\":\"101\"},\"FCreateOrgId\":{\"FNumber\":\"101\"}}} |
Binary file not shown.
Loading…
Reference in new issue