Browse Source

Merge remote-tracking branch 'origin/master'

zhanglei
yunuo970428 3 years ago
parent
commit
06c663cfbf
  1. 23
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemanufacturer/BaseManufacturerFeign.java
  2. 10
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemanufacturer/BaseManufacturerFeignFallback.java
  3. 23
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseoutsourcingapplication/BaseOutsourcingApplicationDto.java
  4. 1
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclebrand/BaseVehicleBrandFeign.java
  5. 5
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclebrand/BaseVehicleBrandFeignFallback.java
  6. 6
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclecertificate/BaseVehicleCertificate.java
  7. 7
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclecertificate/BaseVehicleCertificateDetailsVo.java
  8. 7
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclecertificate/BaseVehicleCertificateDto.java
  9. 8
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclecertificate/BaseVehicleCertificateVo.java
  10. 10
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclemodel/BaseVehicleModelFeign.java
  11. 5
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclemodel/BaseVehicleModelFeignFallback.java
  12. 4
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufacturer/BaseManufacturerMapper.java
  13. 22
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufacturer/BaseManufacturerMapper.xml
  14. 10
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufacturer/BaseManufacturerRest.java
  15. 12
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufacturer/BaseManufacturerService.java
  16. 2
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseoutsourcingapplication/BaseOutsourcingApplicationMapper.java
  17. 7
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseoutsourcingapplication/BaseOutsourcingApplicationMapper.xml
  18. 5
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseoutsourcingapplication/BaseOutsourcingApplicationService.java
  19. 5
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclebrand/BaseVehicleBrandRest.java
  20. 12
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclecertificate/BaseVehicleCertificateMapper.xml
  21. 16
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclemodel/BaseVehicleModelRest.java
  22. 16
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeign.java
  23. 18
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeignFallBack.java
  24. 3
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/KingDeeBillId.java
  25. 36
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/bdcustomer/BdCustomer.java
  26. 12
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/bdmaterial/BdMaterial.java
  27. 57
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/bdsupplier/BdSupplier.java
  28. 33
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/orgorganizations/OrgOrganizations.java
  29. 16
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/stktransferdirect/StkTransferDirect.java
  30. 42
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java
  31. 99
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeService.java
  32. 12
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/KingDeeSaveSKD.java
  33. 44
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdcustomer/BdCustomerCastToKingDeeBillFields.java
  34. 80
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdcustomer/BdCustomerService.java
  35. 4
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdcustomer/data.json
  36. 13
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdcustomer/data_data.json
  37. 35
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdcustomer/data_model.json
  38. 187
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdcustomer/remarks.txt
  39. 1
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdcustomer/webapi测试的数据.txt
  40. BIN
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdcustomer/客户的参数必填备注.xlsx
  41. 79
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdmaterial/BdMaterialService.java
  42. 7
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdmaterial/data_model.json
  43. 44
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdsupplier/BdSupplierCastToKingDeeBillFields.java
  44. 78
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdsupplier/BdSupplierService.java
  45. 4
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdsupplier/data.json
  46. 13
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdsupplier/data_data.json
  47. 29
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdsupplier/data_model.json
  48. 145
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdsupplier/remarks.txt
  49. 1
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdsupplier/webapi测试的数据.txt
  50. BIN
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdsupplier/供应商的参数必填备注.xlsx
  51. 48
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/orgorganizations/OrgOrganizationsCastToKingDeeBillFields.java
  52. 35
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/orgorganizations/OrgOrganizationsService.java
  53. 4
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/orgorganizations/data.json
  54. 13
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/orgorganizations/data_data.json
  55. 23
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/orgorganizations/data_model.json
  56. 73
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/orgorganizations/remarks.txt
  57. 1
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/orgorganizations/webapi测试的数据.txt
  58. BIN
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/orgorganizations/组织机构的参数必填备注.xlsx
  59. 4
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stktransferdirect/StkTransferDirectService.java
  60. 4
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stktransferdirect/data_FBillEntry.json
  61. 5
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysorganization/SysOrganizationFeign.java
  62. 5
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysorganization/SysOrganizationFeignFallback.java
  63. 2
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/PortalApplication.java
  64. 3
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysorganization/SysOrganizationMapper.java
  65. 7
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysorganization/SysOrganizationMapper.xml
  66. 5
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysorganization/SysOrganizationRest.java
  67. 35
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysorganization/SysOrganizationService.java
  68. 4
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinbound/ScmApplyInboundService.java
  69. 2
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/modelAdjust/AppBaseModelModpriceFeign.java

23
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemanufacturer/BaseManufacturerFeign.java

@ -56,6 +56,7 @@ public interface BaseManufacturerFeign {
@ResponseBody
public ResultBean<PagerVo<BaseManufacturerVo>> gysPagerList(@RequestBody PagerQuery<BaseManufacturerQuery> pagerQuery);
/**
* 新增保存
*
@ -102,6 +103,28 @@ public interface BaseManufacturerFeign {
@ResponseBody
public ResultBean<BaseManufacturerAllVo> details(@PathVariable("sid") String sid);
/**
* 外采供应商名称下拉选
*
* @param orgSid 分公司sid
* @return
*/
@ApiOperation("外采供应商名称下拉选")
@GetMapping("/wcgysNamesDown/{orgSid}")
@ResponseBody
public ResultBean<List<Map<String, String>>> wcgysNamesDown(@PathVariable("orgSid") String orgSid);
/**
* 开户行信息下拉选
*
* @param manufacturerSid 厂商sid
* @return
*/
@ApiOperation("开户行信息下拉选")
@GetMapping("/bankNamesDown/{manufacturerSid}")
@ResponseBody
public ResultBean<List<Map<String, String>>> bankNamesDown(@PathVariable("manufacturerSid") String manufacturerSid);
/**
* 导出供应厂商信息
*

10
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemanufacturer/BaseManufacturerFeignFallback.java

@ -56,6 +56,16 @@ public class BaseManufacturerFeignFallback implements BaseManufacturerFeign {
return new ResultBean<BaseManufacturerAllVo>().fail().setMsg("接口anrui-base/basemanufacturer/details无法访问");
}
@Override
public ResultBean<List<Map<String, String>>> wcgysNamesDown(String orgSid) {
return null;
}
@Override
public ResultBean<List<Map<String, String>>> bankNamesDown(String manufacturerSid) {
return null;
}
@Override
public void exportExcel(BaseManufacturerExportQuery query) {

23
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseoutsourcingapplication/BaseOutsourcingApplicationDto.java

@ -36,6 +36,7 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.math.BigDecimal;
import java.util.List;
@ -72,21 +73,29 @@ public class BaseOutsourcingApplicationDto implements Dto {
private String externalMiningTypeKey; // 外采类型key
@ApiModelProperty("外采类型value")
private String externalMiningTypeValue; // 外采类型value
@ApiModelProperty("采购单位sid")
private String purchasingUnitSid; // 采购单位sid
@ApiModelProperty("采购单位名称")
private String purchasingUnitName; // 采购单位名称
@ApiModelProperty("外采供应商sid")
@NotBlank(message = "外采供应商不能为空")
private String purchasingUnitSid; // 外采供应商sid
@ApiModelProperty("外采供应商名称")
@NotBlank(message = "外采供应商不能为空")
private String purchasingUnitName; // 外采供应商名称
@ApiModelProperty("车型sid")
@NotBlank(message = "车型不能为空")
private String modelSid; // 车型sid
@ApiModelProperty("车型名称")
@NotBlank(message = "车型不能为空")
private String modelName; // 车型名称
@ApiModelProperty("常用配置sid")
@NotBlank(message = "常用配置不能为空")
private String configSid; // 常用配置sid
@ApiModelProperty("常用配置名称")
@NotBlank(message = "常用配置不能为空")
private String configName; // 常用配置名称
@ApiModelProperty("采购价格")
@NotBlank(message = "采购价格不能为空")
private BigDecimal purchasePrice; // 采购价格
@ApiModelProperty("销售指导价")
@NotBlank(message = "销售指导价不能为空")
private BigDecimal guidedPrice; // 销售指导价
@ApiModelProperty("厂家合同价")
private BigDecimal manufactorSettlementPrice; // 厂家合同价
@ -100,8 +109,9 @@ public class BaseOutsourcingApplicationDto implements Dto {
private String depositBankName; // 车款开户银行
@ApiModelProperty("车款银行账号")
private String bankAccount; // 车款银行账号
@ApiModelProperty("车款收款账户名称")
private String accountName; // 车款收款账户名称
@ApiModelProperty("车款账户名称")
@NotBlank(message = "车款账户名称不能为空")
private String accountName; // 车款账户名称
@ApiModelProperty("台数")
private Integer num; // 台数
@ApiModelProperty("订金")
@ -131,6 +141,7 @@ public class BaseOutsourcingApplicationDto implements Dto {
@ApiModelProperty("备注")
private String remarks; // 备注
@ApiModelProperty("内部编码")
@NotBlank(message = "内部编码不能为空")
private String insideCode; // 内部编码
@ApiModelProperty("是否先付款")
private String isBeforePayment; // 是否先付款

1
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclebrand/BaseVehicleBrandFeign.java

@ -113,4 +113,5 @@ public interface BaseVehicleBrandFeign {
@GetMapping("/selectAppListByUserSid/{userSid}")
ResultBean<List<BaseVehicleBrandDictionariesVo>> selectAppListByUserSid(@PathVariable("userSid") String userSid);
BaseVehicleBrand fetchBySid(String sid);
}

5
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclebrand/BaseVehicleBrandFeignFallback.java

@ -81,5 +81,10 @@ public class BaseVehicleBrandFeignFallback implements BaseVehicleBrandFeign {
return null;
}
@Override
public BaseVehicleBrand fetchBySid(String sid) {
return null;
}
}

6
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclecertificate/BaseVehicleCertificate.java

@ -54,6 +54,12 @@ public class BaseVehicleCertificate extends BaseEntity {
@ApiModelProperty("到证日期(陕汽必须字段)")
private Date toCardDate;
@ApiModelProperty("接收日期")
private Date acceptDate;
@ApiModelProperty("接收人")
private String acceptName;
@ApiModelProperty("领取日期(陕汽必须字段)")
private Date receiveDate;

7
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclecertificate/BaseVehicleCertificateDetailsVo.java

@ -52,6 +52,13 @@ public class BaseVehicleCertificateDetailsVo implements Vo {
@ApiModelProperty("领取人(陕汽必须字段)")
private String receiver;
@ApiModelProperty("接收日期")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date acceptDate;
@ApiModelProperty("接收人")
private String acceptName;
@ApiModelProperty("合格证照片(陕汽必须字段)")
private List<String> certificatePhoto;

7
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclecertificate/BaseVehicleCertificateDto.java

@ -55,6 +55,13 @@ public class BaseVehicleCertificateDto implements Dto {
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date toCardDate;
@ApiModelProperty("接收日期")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date acceptDate;
@ApiModelProperty("接收人")
private String acceptName;
@ApiModelProperty("领取日期(陕汽必须字段)")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date receiveDate;

8
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclecertificate/BaseVehicleCertificateVo.java

@ -1,11 +1,13 @@
package com.yxt.anrui.base.api.basevehiclecertificate;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
@ -47,6 +49,12 @@ public class BaseVehicleCertificateVo implements Vo {
@ApiModelProperty("到证日期")
private String toCardDate;
@ApiModelProperty("接收日期")
private String acceptDate;
@ApiModelProperty("接收人")
private String acceptName;
@ApiModelProperty("领取日期")
private String receiveDate;

10
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclemodel/BaseVehicleModelFeign.java

@ -110,6 +110,16 @@ public interface BaseVehicleModelFeign {
@GetMapping("/getAll/{sid}/{userSid}")
public ResultBean<BaseVehicleModelSelectVo> getAll(@PathVariable("sid") String sid, @PathVariable("userSid") String userSid);
/**
* 快速新增回显
*
* @param sid 车型sid
* @return
*/
@ApiOperation("快速新增回显")
@GetMapping("/saveGetAll/{sid}/{userSid}")
public ResultBean<BaseVehicleModelSelectVo> saveGetAll(@PathVariable("sid") String sid, @PathVariable("userSid") String userSid);
/**
* 车型列表导出

5
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclemodel/BaseVehicleModelFeignFallback.java

@ -66,6 +66,11 @@ public class BaseVehicleModelFeignFallback implements BaseVehicleModelFeign {
return null;
}
@Override
public ResultBean<BaseVehicleModelSelectVo> saveGetAll(String sid, String userSid) {
return null;
}
@Override
public void exportExcel(BaseVehicleModelExportQuery query) {
}

4
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufacturer/BaseManufacturerMapper.java

@ -113,4 +113,8 @@ public interface BaseManufacturerMapper extends BaseMapper<BaseManufacturer> {
* @return
*/
int updateBySidIsDelete(@Param("list") List<String> sids);
List<Map<String, String>> wcgysNamesDown(String orgSid);
List<Map<String, String>> bankNamesDown(String manufacturerSid);
}

22
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufacturer/BaseManufacturerMapper.xml

@ -24,13 +24,15 @@
<select id="selectCountByName" resultType="int">
SELECT count(*)
FROM base_manufacturer
WHERE manufacturerName = #{name} and isDelete = 0
WHERE manufacturerName = #{name}
and isDelete = 0
</select>
<!--根据厂商名称和厂商sid查重-->
<select id="selectCountByNameAndSid" resultType="int">
SELECT count(*)
FROM base_manufacturer
WHERE manufacturerName = #{name} AND isDelete = 0
WHERE manufacturerName = #{name}
AND isDelete = 0
AND sid &lt;&gt; #{sid}
</select>
<!--供应厂商详情以及修改回显-->
@ -145,4 +147,20 @@
#{item}
</foreach>
</update>
<select id="wcgysNamesDown" resultType="java.util.Map">
SELECT sid,
manufacturerName
FROM base_manufacturer
WHERE supplierType = "0004"
AND createOrg = #{orgSid}
</select>
<select id="bankNamesDown" resultType="java.util.Map">
SELECT accountName,
depositBank,
bankAccount
FROM base_manufacturer_bank
WHERE manufacturerSid = #{manufacturerSid}
</select>
</mapper>

10
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufacturer/BaseManufacturerRest.java

@ -107,6 +107,16 @@ public class BaseManufacturerRest implements BaseManufacturerFeign {
return baseManufacturerService.details(sid);
}
@Override
public ResultBean<List<Map<String,String>>> wcgysNamesDown(String orgSid) {
return baseManufacturerService.wcgysNamesDown(orgSid);
}
@Override
public ResultBean<List<Map<String, String>>> bankNamesDown(String manufacturerSid) {
return baseManufacturerService.bankNamesDown(manufacturerSid);
}
@Override
public void exportExcel(BaseManufacturerExportQuery query) {
//得到所有要导出的数据

12
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufacturer/BaseManufacturerService.java

@ -385,4 +385,16 @@ public class BaseManufacturerService extends MybatisBaseService<BaseManufacturer
//baseManufacturerFinanceService.updateBySid(dto.getBaseManufacturerFinanceDto().toMap(), baseManufacturerFinance.getSid());
return rb.success().setMsg("修改成功");
}
public ResultBean<List<Map<String,String>>> wcgysNamesDown(String orgSid) {
ResultBean rb = ResultBean.fireFail();
List<Map<String,String>> manufacturerNames = baseMapper.wcgysNamesDown(orgSid);
return rb.success().setData(manufacturerNames);
}
public ResultBean<List<Map<String, String>>> bankNamesDown(String manufacturerSid) {
ResultBean rb = ResultBean.fireFail();
List<Map<String,String>> bankNames = baseMapper.bankNamesDown(manufacturerSid);
return rb.success().setData(bankNames);
}
}

2
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseoutsourcingapplication/BaseOutsourcingApplicationMapper.java

@ -69,4 +69,6 @@ public interface BaseOutsourcingApplicationMapper extends BaseMapper<BaseOutsour
int selectNum(String bill);
AppBaseOutsourcingApplicationVo getExternalPurchase(String sid);
int selectBySid(String join);
}

7
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseoutsourcingapplication/BaseOutsourcingApplicationMapper.xml

@ -68,4 +68,11 @@
from base_outsourcing_application
where sid = #{sid}
</select>
<select id="selectBySid" resultType="int">
SELECT COUNT(*)
FROM base_outsourcing_application
WHERE nodeState != '待提交'
and find_in_set(sid, #{list})
</select>
</mapper>

5
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseoutsourcingapplication/BaseOutsourcingApplicationService.java

@ -264,6 +264,11 @@ public class BaseOutsourcingApplicationService extends MybatisBaseService<BaseOu
public ResultBean delAllBySids(String[] sids) {
ResultBean rb = ResultBean.fireFail();
//查询该sid中是否有流程不是待提交的
int count = baseMapper.selectBySid(StringUtils.join(sids, ","));
if (count > 0) {
return rb.setMsg("删除的数据中包含已提交或已办结审批的数据,删除失败");
}
delBySids(sids);
for (String sid : sids) {
baseOutsourcingApplicationVehicleService.deleteByOutAppSid(sid);

5
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclebrand/BaseVehicleBrandRest.java

@ -176,4 +176,9 @@ public class BaseVehicleBrandRest implements BaseVehicleBrandFeign {
List<BaseVehicleBrandDictionariesVo> list = baseVehicleBrandService.selectAppListByUserSid(userSid);
return new ResultBean<List<BaseVehicleBrandDictionariesVo>>().success().setData(list);
}
@Override
public BaseVehicleBrand fetchBySid(String sid) {
return baseVehicleBrandService.fetchBySid(sid);
}
}

12
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclecertificate/BaseVehicleCertificateMapper.xml

@ -24,6 +24,10 @@
DATE_FORMAT(bvc.receiveDate, '%Y-%m-%d') as receiveDate,
<!--领取人-->
bvc.receiver,
<!--接收日期-->
DATE_FORMAT(bvc.acceptDate, '%Y-%m-%d') as acceptDate,
<!--接收人-->
bvc.acceptName,
<!--备注-->
bvc.remarks,
bvc.vinNo,
@ -55,6 +59,10 @@
bvc.receiveDate,
<!--领取人-->
bvc.receiver,
<!--接收日期-->
bvc.acceptDate,
<!--接收人-->
bvc.acceptName,
<!--备注-->
bvc.remarks
FROM base_vehicle_certificate bvc
@ -85,6 +93,10 @@
DATE_FORMAT(bvc.receiveDate, '%Y-%m-%d') as receiveDate,
<!--领取人-->
bvc.receiver,
<!--接收日期-->
DATE_FORMAT(bvc.acceptDate, '%Y-%m-%d') as acceptDate,
<!--接收人-->
bvc.acceptName,
<!--底盘ID-->
bvc.chassisId,
<!--转向类型-->

16
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclemodel/BaseVehicleModelRest.java

@ -204,6 +204,22 @@ public class BaseVehicleModelRest implements BaseVehicleModelFeign {
return rb.success().setData(vo);
}
@Override
public ResultBean<BaseVehicleModelSelectVo> saveGetAll(String sid, String userSid) {
ResultBean rb = ResultBean.fireFail();
BaseVehicleModelSelectVo vo = baseVehicleModelService.getAll(sid);
if (vo == null) {
return rb.setMsg("该车型信息不存在");
}
ResultBean<SysOrganizationVo> useOrgByUserSid = sysOrganizationFeign.getUseOrgByUserSid(userSid);
String sid1 = useOrgByUserSid.getData().getSid();
int i4 = baseVehicleModelService.checkByCreateOrgAndModelSid(sid1, sid);
if (i4 == 0) {
return rb.setMsg("该车型不属于当前分公司,无法修改");
}
return rb.success().setData(vo);
}
@Override
public void exportExcel(BaseVehicleModelExportQuery query) {
//得到所有要导出的数据

16
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeign.java

@ -3,7 +3,10 @@ package com.yxt.anrui.fin.api.kingdee;
import com.yxt.anrui.fin.api.kingdee.appayable.APPayable;
import com.yxt.anrui.fin.api.kingdee.appaybill.ApPayBill;
import com.yxt.anrui.fin.api.kingdee.arreceivable.ARReceivable;
import com.yxt.anrui.fin.api.kingdee.bdcustomer.BdCustomer;
import com.yxt.anrui.fin.api.kingdee.bdmaterial.BdMaterial;
import com.yxt.anrui.fin.api.kingdee.bdsupplier.BdSupplier;
import com.yxt.anrui.fin.api.kingdee.orgorganizations.OrgOrganizations;
import com.yxt.anrui.fin.api.kingdee.purmrb.PurMrb;
import com.yxt.anrui.fin.api.kingdee.saloutstock.SalOutStock;
import com.yxt.anrui.fin.api.kingdee.stkinstock.StkInStock;
@ -77,5 +80,18 @@ public interface FinKingDeeFeign {
@PostMapping("/draftStkTransferDirect")
@ResponseBody
public ResultBean<List<KingDeeResult>> draftStkTransferDirect(@RequestBody StkTransferDirect stkTransferDirect) ;
@ApiOperation("保存直接调拨单的接口")
@PostMapping("/draftOrgOrganizations")
@ResponseBody
public ResultBean<List<KingDeeResult>> draftOrgOrganizations(@RequestBody OrgOrganizations orgOrganizations) ;
@ApiOperation("保存供应商的接口")
@PostMapping("/draftBdSupplier")
@ResponseBody
ResultBean<List<KingDeeResult>> draftBdSupplier(@RequestBody BdSupplier bdSupplier);
@ApiOperation("保存客户信息的接口")
@PostMapping("/draftBdCustomer")
@ResponseBody
ResultBean<List<KingDeeResult>> draftBdCustomer(@RequestBody BdCustomer bdCustomer);
}

18
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeignFallBack.java

@ -3,7 +3,10 @@ package com.yxt.anrui.fin.api.kingdee;
import com.yxt.anrui.fin.api.kingdee.appayable.APPayable;
import com.yxt.anrui.fin.api.kingdee.appaybill.ApPayBill;
import com.yxt.anrui.fin.api.kingdee.arreceivable.ARReceivable;
import com.yxt.anrui.fin.api.kingdee.bdcustomer.BdCustomer;
import com.yxt.anrui.fin.api.kingdee.bdmaterial.BdMaterial;
import com.yxt.anrui.fin.api.kingdee.bdsupplier.BdSupplier;
import com.yxt.anrui.fin.api.kingdee.orgorganizations.OrgOrganizations;
import com.yxt.anrui.fin.api.kingdee.purmrb.PurMrb;
import com.yxt.anrui.fin.api.kingdee.saloutstock.SalOutStock;
import com.yxt.anrui.fin.api.kingdee.stkinstock.StkInStock;
@ -59,4 +62,19 @@ implements FinKingDeeFeign{
return null;
}
@Override
public ResultBean<List<KingDeeResult>> draftOrgOrganizations(OrgOrganizations orgOrganizations) {
return null;
}
@Override
public ResultBean<List<KingDeeResult>> draftBdSupplier(BdSupplier bdSupplier) {
return null;
}
@Override
public ResultBean<List<KingDeeResult>> draftBdCustomer(BdCustomer bdCustomer) {
return null;
}
}

3
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/KingDeeBillId.java

@ -9,6 +9,9 @@ public enum KingDeeBillId {
PUR_MRB("PUR_MRB","采购退料单"),
SAL_OUTSTOCK("SAL_OUTSTOCK","销售出库单"),
STK_TRANSFERDIRECT("STK_TransferDirect","直接调拨单"),
ORG_ORGANIZATIONS("ORG_Organizations","组织机构"),
BD_CUSTOMER("BD_Customer","客户"),
BD_SUPPLIER("BD_Supplier","供应商"),
BD_MATERIAL("BD_MATERIAL","物料");
private String ID;
private String NAME;

36
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/bdcustomer/BdCustomer.java

@ -0,0 +1,36 @@
package com.yxt.anrui.fin.api.kingdee.bdcustomer;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
@Data
public class BdCustomer {
/* 创建组织:FCreateOrgId (必填项)*/
/* @JsonProperty("FCreateOrgId")
private String FCreateOrgId;*/
/*客户名称:FName (必填项)*/
@JsonProperty("FName")
public String FName;
/*客户编码:FName (必填项)*/
@JsonProperty("FNumber")
public String FNumber;
/**
* 目标组织:TOrgId
*/
@JsonProperty("TOrgId")
public String TOrgIds;
public final static BdCustomer bdCustomer = new BdCustomer();
static {
/* 创建组织:FCreateOrgId (必填项)*/
// bdCustomer.setFCreateOrgId("100");
/*客户名称:FName (必填项)*/
bdCustomer.setFName("士大夫123");
/*客户编码:FNumber (必填项)*/
bdCustomer.setFNumber("33221133");
/*目标组织:TOrgId*/
bdCustomer.setTOrgIds("102");
}
public static BdCustomer createBdCustomer() {
return bdCustomer;
}
}

12
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/bdmaterial/BdMaterial.java

@ -18,13 +18,13 @@ public class BdMaterial {
/**
*创建组织:FCreateOrgId (必填项)
*/
@JsonProperty("FCreateOrgId")
private String FCreateOrgId;
// @JsonProperty("FCreateOrgId")
// private String FCreateOrgId;
/**
*使用组织:FUseOrgId (必填项)
*/
@JsonProperty("FUseOrgId")
private String FUseOrgId;
// @JsonProperty("FUseOrgId")
// private String FUseOrgId;
/**
*名称:FName (必填项)
*/
@ -66,6 +66,10 @@ public class BdMaterial {
* 目标组织:TOrgId
*/
// bdMaterial.setTOrgIds("101");
/**
* 车辆类型:F_PAEZ_Base (必填项)
*/
bdMaterial.setF_PAEZ_Base("02");
}
public static BdMaterial createBdMaterial() {
return bdMaterial;

57
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/bdsupplier/BdSupplier.java

@ -0,0 +1,57 @@
package com.yxt.anrui.fin.api.kingdee.bdsupplier;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
@Data
public class BdSupplier {
/* 名称:FName (必填项)*/
@JsonProperty("FName")
public String FName;
/* 创建组织:FCreateOrgId (必填项)*/
/* @JsonProperty("FCreateOrgId")
public String FCreateOrgId;*/
/* 使用组织:FUseOrgId (必填项)*/
/* @JsonProperty("FUseOrgId")
public String FUseOrgId;*/
/* 手机:FLocMobile (必填项)*/
@JsonProperty("FLocMobile")
public String FLocMobile;
/* 目标组织机构:TOrgIds (必填项)*/
@JsonProperty("TOrgIds")
public String TOrgIds;
/* 地点名称:FLocName (必填项)*/
/* @JsonProperty("FLocName")
public String FLocName;*/
/* 通讯地址:FLocAddress (必填项)*/
/* @JsonProperty("FLocAddress")
public String FLocAddress;*/
/* 联系人:FLocNewContact (必填项)*/
/*@JsonProperty("FLocNewContact")
public String FLocNewContact;*/
/* 结算币别:FPayCurrencyId (必填项)*/
/* @JsonProperty("FPayCurrencyId")
public String FPayCurrencyId="PRE001";*/
public static BdSupplier bdSupplier=new BdSupplier();
static {
/* 名称:FName (必填项)*/
bdSupplier.setFName("13");
/* 创建组织:FCreateOrgId (必填项)*/
// bdSupplier.setFCreateOrgId("100");
/* 使用组织:FUseOrgId (必填项)*/
// bdSupplier.setFUseOrgId("100");
/* 手机:FLocMobile (必填项)*/
bdSupplier.setFLocMobile("15097329653");
/* 目标组织机构:TOrgIds (必填项)*/
bdSupplier.setTOrgIds("100012");
/* 地点名称:FLocName (必填项)*/
// bdSupplier.setFLocName("");
/* 通讯地址:FLocAddress (必填项)*/
// bdSupplier.setFLocAddress("");
/* 联系人:FLocNewContact (必填项)*/
// bdSupplier.setFLocNewContact("");
}
public static BdSupplier createBdSupplier() {
return bdSupplier;
}
}

33
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/orgorganizations/OrgOrganizations.java

@ -0,0 +1,33 @@
package com.yxt.anrui.fin.api.kingdee.orgorganizations;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
/**
* 组织机构
*/
@Data
public class OrgOrganizations {
/*名称:FName (必填项)*/
@JsonProperty("FName")
public String FName;
/*编码:FNumber (必填项)*/
@JsonProperty("FNumber")
public String FNumber;
/*形态:FOrgFormID (必填项)*/
@JsonProperty("FOrgFormID")
public String FOrgFormID;
public final static OrgOrganizations orgOrganizations = new OrgOrganizations();
static {
/*名称:FName (必填项)*/
orgOrganizations.setFName("测试机构2");
/*编码:FNumber (必填项)*/
orgOrganizations.setFNumber("12367");
/*形态:FOrgFormID (必填项)*/
orgOrganizations.setFOrgFormID("102");
}
public static OrgOrganizations createOrgOrganizations() {
return orgOrganizations;
}
}

16
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/stktransferdirect/StkTransferDirect.java

@ -26,9 +26,9 @@ public class StkTransferDirect {
@NotBlank
public String FSrcStockStatusId;
/*基本单位:FBaseUnitId (必填项)*/
@JsonProperty("FBaseUnitId")
@NotBlank
public String FBaseUnitId;
//@JsonProperty("FBaseUnitId")
// @NotBlank
// public String FBaseUnitId;
/*调入货主类型:FOwnerTypeId (必填项)*/
@JsonProperty("FOwnerTypeId")
@NotBlank
@ -78,9 +78,9 @@ public class StkTransferDirect {
@NotBlank
public String FDestStockId;
/* 单位:FUnitID (必填项)*/
@JsonProperty("FUnitID")
@NotBlank
public String FUnitID;
// @JsonProperty("FUnitID")
// @NotBlank
//public String FUnitID;
/* 物料编码:FMaterialId (必填项)*/
@JsonProperty("FMaterialId")
@NotBlank
@ -157,11 +157,11 @@ public class StkTransferDirect {
/*调出批号:FLot*/
fbe.setFLot("1234567890");
/*基本单位:FBaseUnitId (必填项)*/
fbe.setFBaseUnitId("liang");
//fbe.setFBaseUnitId("liang");
/* 调入仓库:FDestStockId (必填项)*/
fbe.setFDestStockId("CK002");
/* 单位:FUnitID (必填项)*/
fbe.setFUnitID("liang");
//fbe.setFUnitID("liang");
/* 物料编码:FMaterialId (必填项)*/
fbe.setFMaterialId(" JX091054");

42
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java

@ -5,14 +5,20 @@ import com.yxt.anrui.fin.api.kingdee.KingDeeResult;
import com.yxt.anrui.fin.api.kingdee.appayable.APPayable;
import com.yxt.anrui.fin.api.kingdee.appaybill.ApPayBill;
import com.yxt.anrui.fin.api.kingdee.arreceivable.ARReceivable;
import com.yxt.anrui.fin.api.kingdee.bdcustomer.BdCustomer;
import com.yxt.anrui.fin.api.kingdee.bdmaterial.BdMaterial;
import com.yxt.anrui.fin.api.kingdee.bdsupplier.BdSupplier;
import com.yxt.anrui.fin.api.kingdee.orgorganizations.OrgOrganizations;
import com.yxt.anrui.fin.api.kingdee.purmrb.PurMrb;
import com.yxt.anrui.fin.api.kingdee.saloutstock.SalOutStock;
import com.yxt.anrui.fin.api.kingdee.stkinstock.StkInStock;
import com.yxt.anrui.fin.api.kingdee.stktransferdirect.StkTransferDirect;
import com.yxt.anrui.fin.biz.kingdee.appaybill.ApPayBillService;
import com.yxt.anrui.fin.biz.kingdee.appayable.APPayableService;
import com.yxt.anrui.fin.biz.kingdee.bdcustomer.BdCustomerService;
import com.yxt.anrui.fin.biz.kingdee.bdmaterial.BdMaterialService;
import com.yxt.anrui.fin.biz.kingdee.bdsupplier.BdSupplierService;
import com.yxt.anrui.fin.biz.kingdee.orgorganizations.OrgOrganizationsService;
import com.yxt.anrui.fin.biz.kingdee.purmrb.PurMrbService;
import com.yxt.anrui.fin.biz.kingdee.receivablebill.ReceivableBillService;
import com.yxt.anrui.fin.biz.kingdee.saloutstock.SalOutStockService;
@ -71,6 +77,21 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign {
*/
@Autowired
private StkTransferDirectService stkTransferDirectService;
/**
* 保存组织机构
*/
@Autowired
private OrgOrganizationsService orgOrganizationsService;
/**
* 保存供应商
*/
@Autowired
private BdSupplierService bdSupplierService;
/**
* 保存客户信息
*/
@Autowired
private BdCustomerService bdCustomerService;
@ApiOperation("入账保存应付单的接口")
@PostMapping("/draftEntryBill")
@ResponseBody
@ -136,4 +157,25 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign {
public ResultBean<List<KingDeeResult>> draftStkTransferDirect(@RequestBody StkTransferDirect stkTransferDirect) {
return stkTransferDirectService.draftStkTransferDirect(stkTransferDirect);
}
@ApiOperation("保存组织机构的接口")
@PostMapping("/draftOrgOrganizations")
@ResponseBody
@Override
public ResultBean<List<KingDeeResult>> draftOrgOrganizations(@RequestBody OrgOrganizations orgOrganizations) {
return orgOrganizationsService.draftOrgOrganizations(orgOrganizations);
}
@ApiOperation("保存供应商的接口")
@PostMapping("/draftBdSupplier")
@ResponseBody
@Override
public ResultBean<List<KingDeeResult>> draftBdSupplier(@RequestBody BdSupplier bdSupplier) {
return bdSupplierService.draftBdSupplier(bdSupplier);
}
@ApiOperation("保存客户信息的接口")
@PostMapping("/draftBdCustomer")
@ResponseBody
@Override
public ResultBean<List<KingDeeResult>> draftBdCustomer(@RequestBody BdCustomer bdCustomer) {
return bdCustomerService.draftBdCustomer(bdCustomer);
}
}

99
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeService.java

@ -1,6 +1,7 @@
package com.yxt.anrui.fin.biz.kingdee;
import com.alibaba.fastjson.JSONObject;
import com.yxt.anrui.fin.api.kingdee.KingDeeBillId;
import com.yxt.anrui.fin.api.kingdee.KingDeeResult;
import com.yxt.common.core.result.ResultBean;
import org.slf4j.Logger;
@ -44,6 +45,20 @@ public class FinKingDeeService {
log.info("listResultBean:{}",JSONObject.toJSONString(listResultBean));
return listResultBean;
}
/**
* 调用提交金蝶的数据接口
* @param formId
* @param result
* @return
*/
public ResultBean<List<KingDeeResult>> submitKingDeeBillData(String formId,ResultBean<List<KingDeeResult>> result) {
String data = getSubmitKD(result, formId);
KingDeeParams kdp = getKingDeeParams(formId, data);
log.info("kdp:{}",JSONObject.toJSONString(kdp));
ResultBean<List<KingDeeResult>> listResultBean = KingDeeSaveSKD.submitKingDeeBillData(kdp);
log.info("listResultBean:{}",JSONObject.toJSONString(listResultBean));
return listResultBean;
}
/**
* 调用审核金蝶的数据接口
* @param formId
@ -57,6 +72,20 @@ public class FinKingDeeService {
log.info("listResultBean:{}",JSONObject.toJSONString(listResultBean));
return listResultBean;
}
/**
* 调用审核金蝶的数据接口
* @param formId
* @param result
* @return
*/
public ResultBean<List<KingDeeResult>> auditKingDeeBillData(String formId,ResultBean<List<KingDeeResult>> result) {
String data = getAuditKD(result, formId);
KingDeeParams kdp = getKingDeeParams(formId, data);
log.info("kdp:{}",JSONObject.toJSONString(kdp));
ResultBean<List<KingDeeResult>> listResultBean = KingDeeSaveSKD.auditKingDeeBillData(kdp);
log.info("listResultBean:{}",JSONObject.toJSONString(listResultBean));
return listResultBean;
}
/**
* 调用分配金蝶的数据接口
* @param formId
@ -70,6 +99,21 @@ public class FinKingDeeService {
log.info("listResultBean:{}",JSONObject.toJSONString(listResultBean));
return listResultBean;
}
/**
* 调用分配金蝶的数据接口
* @param formId
* @param tOrgIds
* @param result
* @return
*/
public ResultBean<List<KingDeeResult>> allocateKingDeeBillData(String formId,String tOrgIds,ResultBean<List<KingDeeResult>> result){
String data = getAllocate(result,tOrgIds, formId);
KingDeeParams kdp = getKingDeeParams(formId, data);
log.info("kdp:{}",JSONObject.toJSONString(kdp));
ResultBean<List<KingDeeResult>> listResultBean = KingDeeSaveSKD.allocateKingDeeBillData(kdp);
log.info("listResultBean:{}",JSONObject.toJSONString(listResultBean));
return listResultBean;
}
private KingDeeParams getKingDeeParams(String formId, String data) {
KingDeeParams kdp=new KingDeeParams();
@ -117,6 +161,61 @@ public class FinKingDeeService {
}
return resultList;
}
/**
* 构造提交接口的数据格式
* @param resultBean
* @return
*/
public String getSubmitKD(ResultBean<List<KingDeeResult>> resultBean,String formId) {
//2.1.CreateOrgId:创建者组织内码,字符串类型(非必录)
//2.2.Numbers:单据编码集合,数组类型,格式:[No1,No2,...](使用编码时必录)
//2.3.Ids:单据内码集合,字符串类型,格式:"Id1,Id2,..."(使用内码时必录)
List<KingDeeResult> data = resultBean.getData();
StringBuilder Ids=new StringBuilder();
for (int i=0;i<data.size();i++){
Ids.append(data.get(i).getId()).append(",");
}
String s = Ids.toString();
s=s.substring(0,s.length()-1);
return "{\"formId\":\""+formId+"\",\"data\":\"{\\\"CreateOrgId\\\":\\\"\\\",\\\"Numbers\\\":[],\\\"Ids\\\":\\\""+s+"\\\"}\"}";
}
/**
* 构造审核接口的数据格式
* @param resultBean
* @return
*/
public String getAuditKD(ResultBean<List<KingDeeResult>> resultBean,String formId) {
//2.1.CreateOrgId:创建者组织内码,字符串类型(非必录)
//2.2.Numbers:单据编码集合,数组类型,格式:[No1,No2,...](使用编码时必录)
//2.3.Ids:单据内码集合,字符串类型,格式:"Id1,Id2,..."(使用内码时必录)
List<KingDeeResult> data = resultBean.getData();
StringBuilder Ids=new StringBuilder();
for (int i=0;i<data.size();i++){
Ids.append(data.get(i).getId()).append(",");
}
String s = Ids.toString();
s=s.substring(0,s.length()-1);
return "{\"formId\":\""+formId+"\",\"data\":\"{\\\"CreateOrgId\\\":\\\"\\\",\\\"Numbers\\\":[],\\\"Ids\\\":\\\""+s+"\\\",\\\"InterationFlags\\\":\\\"\\\"}\"}";
}
/**
* 构造分配接口的数据格式
* @param resultBean
* @return
*/
public String getAllocate(ResultBean<List<KingDeeResult>> resultBean,String tOrgIds,String formId) {
/* 2.1.PkIds被分配的基础资料内码集合字符串类型格式"PkId1,PkId2,..."必录
2.2.TOrgIds目标组织内码集合字符串类型格式"TOrgId1,TOrgId2,..."必录
2.3.IsAutoSubmitAndAudit是否自动提交与审核布尔类型默认false非必录*/
List<KingDeeResult> data = resultBean.getData();
StringBuilder Ids=new StringBuilder();
for (int i=0;i<data.size();i++){
Ids.append(data.get(i).getId()).append(",");
}
String s = Ids.toString();
s=s.substring(0,s.length()-1);
/*{\"PkIds\":\"0\",\"TOrgIds\":\"\",\"IsAutoSubmitAndAudit\":\"false\"}*/
return "{\"formId\":\""+formId+"\",\"data\":\"{\\\"PkIds\\\":\\\""+s+"\\\",\\\"TOrgIds\\\":\\\""+tOrgIds+"\\\",\\\"IsAutoSubmitAndAudit\\\":\\\"true\\\"}\"}";
}
/**
* 调用金蝶接口的数据格式
*/

12
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/KingDeeSaveSKD.java

@ -45,6 +45,14 @@ public class KingDeeSaveSKD {
* 登录金蝶的账户信息
*/
private static String password = "123321";
/**
* 登录金蝶的账户信息
*/
private static String userName_administrator = "administrator";
/**
* 登录金蝶的账户信息
*/
private static String password_administrator = "ANrui123456.";
/**
* 登录金蝶的账户信息
*/
@ -269,8 +277,8 @@ public class KingDeeSaveSKD {
//登录请求参数
Map<String,String> loginParams=new HashMap<>();
loginParams.put("acctID",acctID);
loginParams.put("userName",userName);
loginParams.put("password",password);
loginParams.put("userName",userName_administrator);
loginParams.put("password",password_administrator);
loginParams.put("lcid",lcid);
String jsonParamdl=JSON.toJSONString(loginParams);
StringEntity entity = new StringEntity(jsonParamdl, "utf-8");

44
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdcustomer/BdCustomerCastToKingDeeBillFields.java

@ -0,0 +1,44 @@
package com.yxt.anrui.fin.biz.kingdee.bdcustomer;
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 BdCustomerCastToKingDeeBillFields {
private static Logger log=LoggerFactory.getLogger(BdCustomerCastToKingDeeBillFields.class);
/**
* 构造金蝶需要的数据结构 并对字段赋值
*
* @param map_fEntityModel_
* @return
*/
public static String getKingDeeData(Map<String,String> map_fEntityModel_ ){
/**
* 取模板
*/
String readJsonFile = KingDeeUtils.readJsonFile("com/yxt/anrui/fin/biz/kingdee/bdcustomer/data.json");
String fEntityData_ = KingDeeUtils.readJsonFile("com/yxt/anrui/fin/biz/kingdee/bdcustomer/data_data.json");
String fEntityModel_ = KingDeeUtils.readJsonFile("com/yxt/anrui/fin/biz/kingdee/bdcustomer/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();
}
}

80
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdcustomer/BdCustomerService.java

@ -0,0 +1,80 @@
package com.yxt.anrui.fin.biz.kingdee.bdcustomer;
import com.yxt.anrui.fin.api.kingdee.KingDeeBillId;
import com.yxt.anrui.fin.api.kingdee.KingDeeResult;
import com.yxt.anrui.fin.api.kingdee.bdcustomer.BdCustomer;
import com.yxt.anrui.fin.api.kingdee.bdmaterial.BdMaterial;
import com.yxt.anrui.fin.api.kingdee.orgorganizations.OrgOrganizations;
import com.yxt.anrui.fin.biz.kingdee.FinKingDeeService;
import com.yxt.common.core.result.ResultBean;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@Service
public class BdCustomerService extends FinKingDeeService {
/**
* 保存客户信息 list
* @param bdCustomer
* @return
*/
public ResultBean<List<KingDeeResult>> draftBdMaterialList(List<BdCustomer> bdCustomer) {
List<KingDeeResult> list=new ArrayList<>();
ResultBean rb=ResultBean.fireFail();
for(BdCustomer b:bdCustomer) {
ResultBean<List<KingDeeResult>> resultBean = draftBdCustomer(b);
if (resultBean.getSuccess()) {
list.add(resultBean.getData().get(0));
}
}
return rb.success().setData(list);
}
/**
* 保存客户信息
* @param bdCustomer
* @return
*/
public ResultBean draftBdCustomer(BdCustomer bdCustomer) {
//bdCustomer=BdCustomer.createBdCustomer();
ResultBean rb=ResultBean.fireFail();
try {
//业务表的主表数据集合
Map<String,String> map_fEntityModel_= object2Map(bdCustomer);
//准备 物料列表的数据 ForEntryBill
String kingDeeData = BdCustomerCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_);
ResultBean<List<KingDeeResult>> resultBean = saveBill(KingDeeBillId.BD_CUSTOMER.getID(), kingDeeData);
//String submitKD = getSubmitKD(resultBean,KingDeeBillId.BD_CUSTOMER.getID());
ResultBean<List<KingDeeResult>> resultBean1 = submitKingDeeBillData(KingDeeBillId.BD_CUSTOMER.getID(), resultBean);
if(!resultBean1.getSuccess()){
log.info("客户提交失败!");
return rb.setMsg("客户提交失败!");
}
log.info("客户提交成功!");
//String auditKD = getAuditKD(resultBean,KingDeeBillId.BD_CUSTOMER.getID());
ResultBean<List<KingDeeResult>> resultBean2 = auditKingDeeBillData(KingDeeBillId.BD_CUSTOMER.getID(), resultBean);
if(!resultBean2.getSuccess()){
log.info("客户审核失败!");
return rb.setMsg("客户审核失败!");
}
log.info("客户审核成功!");
//String allocate = getAllocate(resultBean1,bdCustomer.getTOrgIds(),KingDeeBillId.BD_CUSTOMER.getID());
ResultBean<List<KingDeeResult>> resultBean3 = allocateKingDeeBillData(KingDeeBillId.BD_MATERIAL.getID(),bdCustomer.getTOrgIds(), resultBean1);
if(!resultBean3.getSuccess()){
log.info("客户分配失败!");
return rb.setMsg("客户分配失败!");
}
log.info("客户分配成功!");
return resultBean3;
} catch (Exception e) {
e.printStackTrace();
}
return rb;
}
}

4
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdcustomer/data.json

@ -0,0 +1,4 @@
{
"formId": "BD_Customer",
"data": "@KD_data"
}

13
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdcustomer/data_data.json

@ -0,0 +1,13 @@
{
"Creator": "",
"NeedUpDateFields": [],
"NeedReturnFields": [],
"IsDeleteEntry": "True",
"SubSystemId": "",
"IsVerifyBaseDataField": "false",
"IsEntryBatchFill": "True",
"ValidateFlag": "True",
"NumberSearch": "True",
"InterationFlags": "",
"Model": {}
}

35
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdcustomer/data_model.json

@ -0,0 +1,35 @@
{
"FCUSTID": 0,
"FCreateOrgId": {
"FNumber": "100"
},
"FNumber": "@KD_FNumber",
"FUseOrgId": {
"FNumber": "100"
},
"FName": "@KD_FName",
"FCOUNTRY": {
"FNumber": "China"
},
"FIsGroup": false,
"FIsDefPayer": false,
"FCustTypeId": {
"FNumber": "KHLB001_SYS"
},
"FTRADINGCURRID": {
"FNumber": "PRE001"
},
"FTaxType": {
"FNumber": "SFL02_SYS"
},
"FInvoiceType": "1",
"FTaxRate": {
"FNumber": "SL31_SYS"
},
"FPriority": 1,
"FISCREDITCHECK": true,
"FIsTrade": true,
"FT_BD_CUSTOMEREXT": {
"FEnableSL": false
}
}

187
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdcustomer/remarks.txt

@ -0,0 +1,187 @@
一、请求参数说明:
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\":{\"FCUSTID\":\"0\",\"FCreateOrgId\":{\"FNumber\":\"\"},\"FNumber\":\"\",\"FUseOrgId\":{\"FNumber\":\"\"},\"FName\":\"\",\"FShortName\":\"\",\"FCOUNTRY\":{\"FNumber\":\"\"},\"FPROVINCIAL\":{\"FNumber\":\"\"},\"FADDRESS\":\"\",\"FZIP1212\":\"\",\"FZIP121111\":\"\",\"FZIP12111\":\"\",\"FZIP13\":\"\",\"FZIP2\":\"\",\"FZIP122\":\"\",\"FZIP11\":\"\",\"FZIP1\":\"\",\"FZIP\":\"\",\"FZIP1211\":\"\",\"FZIP121\":\"\",\"FZIP12\":\"\",\"FWEBSITE\":\"\",\"FTEL111\":\"\",\"FTEL11\":\"\",\"FTEL\":\"\",\"FTEL1\":\"\",\"FFAX\":\"\",\"FTAXREGISTERCODE\":\"\",\"FCompanyClassify\":{\"FNumber\":\"\"},\"FCompanyNature\":{\"FNumber\":\"\"},\"FCompanyScale\":{\"FNumber\":\"\"},\"FSUPPLIERID\":{\"FNumber\":\"\"},\"FGROUPCUSTID\":{\"FNumber\":\"\"},\"FIsGroup\":\"false\",\"FIsDefPayer\":\"false\",\"FCustTypeId\":{\"FNumber\":\"\"},\"FGroup\":{\"FNumber\":\"\"},\"FCorrespondOrgId\":{\"FNumber\":\"\"},\"FTRADINGCURRID\":{\"FNumber\":\"\"},\"FSALDEPTID\":{\"FNumber\":\"\"},\"FDescription\":\"\",\"FSELLER\":{\"FNumber\":\"\"},\"FSETTLETYPEID\":{\"FNumber\":\"\"},\"FRECCONDITIONID\":{\"FNumber\":\"\"},\"FPRICELISTID\":{\"FNumber\":\"\"},\"FDISCOUNTLISTID\":{\"FNumber\":\"\"},\"FTRANSLEADTIME\":\"0\",\"FTaxType\":{\"FNumber\":\"\"},\"FInvoiceType\":\"\",\"FTaxRate\":{\"FNumber\":\"\"},\"FPriority\":\"0\",\"FRECEIVECURRID\":{\"FNumber\":\"\"},\"FISCREDITCHECK\":\"false\",\"FIsTrade\":\"false\",\"F_PAEZ_Date\":\"1900-01-01\",\"F_PAEZ_Base1\":{\"FNUMBER\":\"\"},\"F_PAEZ_Base22\":{\"FNUMBER\":\"\"},\"F_PAEZ_Base21\":{\"FNUMBER\":\"\"},\"F_PAEZ_Base2\":{\"FSTAFFNUMBER\":\"\"},\"F_PAEZ_Base3\":{\"FNUMBER\":\"\"},\"F_PAEZ_Text2\":\"\",\"F_PAEZ_Text3\":\"\",\"F_PAEZ_Text4\":\"\",\"F_PAEZ_Text6\":\"\",\"F_PAEZ_Remark2\":\"\",\"F_PAEZ_Remark3\":\"\",\"F_PAEZ_Remark\":\"\",\"F_PAEZ_Text\":\"\",\"F_PAEZ_Date1\":\"1900-01-01\",\"F_PAEZ_Date2\":\"1900-01-01\",\"F_PAEZ_Text12\":\"\",\"F_PAEZ_Text11\":\"\",\"F_PAEZ_Text1\":\"\",\"F_PAEZ_Text5\":\"\",\"F_PAEZ_Combo11\":\"\",\"F_PAEZ_Combo111\":\"\",\"F_PAEZ_Combo\":\"\",\"F_PAEZ_Combo1\":\"\",\"F_PAEZ_Date3\":\"1900-01-01\",\"F_PAEZ_Combo21\":\"\",\"F_PAEZ_Combo2\":\"\",\"F_PAEZ_LargeText\":\"\",\"F_PAEZ_LargeText_Tag\":\"\",\"F_PAEZ_Date4\":\"1900-01-01\",\"F_PAEZ_Remark1\":\"\",\"F_PAEZ_Text7\":\"\",\"F_PAEZ_Date5\":\"1900-01-01\",\"F_PAEZ_Date6\":\"1900-01-01\",\"F_PAEZ_Assistant\":{\"FNumber\":\"\"},\"FT_BD_CUSTOMEREXT\":{\"FEntryId\":\"0\",\"FEnableSL\":\"false\",\"FFreezeLimit\":\"\",\"FFreezeOperator\":{\"FUserID\":\"\"},\"FFreezeDate\":\"1900-01-01\",\"FPROVINCE\":{\"FNumber\":\"\"},\"FCITY\":{\"FNumber\":\"\"},\"FDefaultConsiLoc\":{\"FNUMBER\":\"\"},\"FDefaultSettleLoc\":{\"FNUMBER\":\"\"},\"FDefaultPayerLoc\":{\"FNUMBER\":\"\"},\"FDefaultContact\":{\"FNUMBER\":\"\"},\"FMarginLevel\":\"0\",\"FDebitCard\":\"\",\"FSettleId\":{\"FNUMBER\":\"\"},\"FChargeId\":{\"FNUMBER\":\"\"}},\"FT_BD_CUSTLOCATION\":[{\"FContactId\":{\"FNUMBER\":\"\"},\"FIsDefaultConsigneeCT\":\"false\"}],\"FT_BD_CUSTBANK\":[{\"FENTRYID\":\"0\",\"FCOUNTRY1\":{\"FNumber\":\"\"},\"FOPENBANKNAME\":\"\",\"FBANKCODE\":\"\",\"FACCOUNTNAME\":\"\",\"FTextBankDetail\":\"\",\"FOpenAddressRec\":\"\",\"FBankTypeRec\":{\"FNUMBER\":\"\"},\"FCNAPS\":\"\",\"FCURRENCYID\":{\"FNumber\":\"\"},\"FISDEFAULT1\":\"false\"}],\"FT_BD_CUSTCONTACT\":[{\"FENTRYID\":\"0\",\"FNUMBER1\":\"\",\"FNAME1\":\"\",\"FADDRESS1\":\"\",\"FTRANSLEADTIME1\":\"0\",\"FMOBILE\":\"\",\"FIsDefaultConsignee\":\"false\",\"FIsDefaultSettle\":\"false\",\"FIsDefaultPayer\":\"false\",\"FIsUsed\":\"false\"}],\"FT_BD_CUSTORDERORG\":[{\"FEntryID\":\"0\",\"FOrderOrgId\":{\"FNumber\":\"\"},\"FIsDefaultOrderOrg\":\"false\"}]}}
三、返回参数:
{\"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("BD_Customer","{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\",\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\",\"Model\":{\"FCUSTID\":\"0\",\"FCreateOrgId\":{\"FNumber\":\"\"},\"FNumber\":\"\",\"FUseOrgId\":{\"FNumber\":\"\"},\"FName\":\"\",\"FShortName\":\"\",\"FCOUNTRY\":{\"FNumber\":\"\"},\"FPROVINCIAL\":{\"FNumber\":\"\"},\"FADDRESS\":\"\",\"FZIP1212\":\"\",\"FZIP121111\":\"\",\"FZIP12111\":\"\",\"FZIP13\":\"\",\"FZIP2\":\"\",\"FZIP122\":\"\",\"FZIP11\":\"\",\"FZIP1\":\"\",\"FZIP\":\"\",\"FZIP1211\":\"\",\"FZIP121\":\"\",\"FZIP12\":\"\",\"FWEBSITE\":\"\",\"FTEL111\":\"\",\"FTEL11\":\"\",\"FTEL\":\"\",\"FTEL1\":\"\",\"FFAX\":\"\",\"FTAXREGISTERCODE\":\"\",\"FCompanyClassify\":{\"FNumber\":\"\"},\"FCompanyNature\":{\"FNumber\":\"\"},\"FCompanyScale\":{\"FNumber\":\"\"},\"FSUPPLIERID\":{\"FNumber\":\"\"},\"FGROUPCUSTID\":{\"FNumber\":\"\"},\"FIsGroup\":\"false\",\"FIsDefPayer\":\"false\",\"FCustTypeId\":{\"FNumber\":\"\"},\"FGroup\":{\"FNumber\":\"\"},\"FCorrespondOrgId\":{\"FNumber\":\"\"},\"FTRADINGCURRID\":{\"FNumber\":\"\"},\"FSALDEPTID\":{\"FNumber\":\"\"},\"FDescription\":\"\",\"FSELLER\":{\"FNumber\":\"\"},\"FSETTLETYPEID\":{\"FNumber\":\"\"},\"FRECCONDITIONID\":{\"FNumber\":\"\"},\"FPRICELISTID\":{\"FNumber\":\"\"},\"FDISCOUNTLISTID\":{\"FNumber\":\"\"},\"FTRANSLEADTIME\":\"0\",\"FTaxType\":{\"FNumber\":\"\"},\"FInvoiceType\":\"\",\"FTaxRate\":{\"FNumber\":\"\"},\"FPriority\":\"0\",\"FRECEIVECURRID\":{\"FNumber\":\"\"},\"FISCREDITCHECK\":\"false\",\"FIsTrade\":\"false\",\"F_PAEZ_Date\":\"1900-01-01\",\"F_PAEZ_Base1\":{\"FNUMBER\":\"\"},\"F_PAEZ_Base22\":{\"FNUMBER\":\"\"},\"F_PAEZ_Base21\":{\"FNUMBER\":\"\"},\"F_PAEZ_Base2\":{\"FSTAFFNUMBER\":\"\"},\"F_PAEZ_Base3\":{\"FNUMBER\":\"\"},\"F_PAEZ_Text2\":\"\",\"F_PAEZ_Text3\":\"\",\"F_PAEZ_Text4\":\"\",\"F_PAEZ_Text6\":\"\",\"F_PAEZ_Remark2\":\"\",\"F_PAEZ_Remark3\":\"\",\"F_PAEZ_Remark\":\"\",\"F_PAEZ_Text\":\"\",\"F_PAEZ_Date1\":\"1900-01-01\",\"F_PAEZ_Date2\":\"1900-01-01\",\"F_PAEZ_Text12\":\"\",\"F_PAEZ_Text11\":\"\",\"F_PAEZ_Text1\":\"\",\"F_PAEZ_Text5\":\"\",\"F_PAEZ_Combo11\":\"\",\"F_PAEZ_Combo111\":\"\",\"F_PAEZ_Combo\":\"\",\"F_PAEZ_Combo1\":\"\",\"F_PAEZ_Date3\":\"1900-01-01\",\"F_PAEZ_Combo21\":\"\",\"F_PAEZ_Combo2\":\"\",\"F_PAEZ_LargeText\":\"\",\"F_PAEZ_LargeText_Tag\":\"\",\"F_PAEZ_Date4\":\"1900-01-01\",\"F_PAEZ_Remark1\":\"\",\"F_PAEZ_Text7\":\"\",\"F_PAEZ_Date5\":\"1900-01-01\",\"F_PAEZ_Date6\":\"1900-01-01\",\"F_PAEZ_Assistant\":{\"FNumber\":\"\"},\"FT_BD_CUSTOMEREXT\":{\"FEntryId\":\"0\",\"FEnableSL\":\"false\",\"FFreezeLimit\":\"\",\"FFreezeOperator\":{\"FUserID\":\"\"},\"FFreezeDate\":\"1900-01-01\",\"FPROVINCE\":{\"FNumber\":\"\"},\"FCITY\":{\"FNumber\":\"\"},\"FDefaultConsiLoc\":{\"FNUMBER\":\"\"},\"FDefaultSettleLoc\":{\"FNUMBER\":\"\"},\"FDefaultPayerLoc\":{\"FNUMBER\":\"\"},\"FDefaultContact\":{\"FNUMBER\":\"\"},\"FMarginLevel\":\"0\",\"FDebitCard\":\"\",\"FSettleId\":{\"FNUMBER\":\"\"},\"FChargeId\":{\"FNUMBER\":\"\"}},\"FT_BD_CUSTLOCATION\":[{\"FContactId\":{\"FNUMBER\":\"\"},\"FIsDefaultConsigneeCT\":\"false\"}],\"FT_BD_CUSTBANK\":[{\"FENTRYID\":\"0\",\"FCOUNTRY1\":{\"FNumber\":\"\"},\"FOPENBANKNAME\":\"\",\"FBANKCODE\":\"\",\"FACCOUNTNAME\":\"\",\"FTextBankDetail\":\"\",\"FOpenAddressRec\":\"\",\"FBankTypeRec\":{\"FNUMBER\":\"\"},\"FCNAPS\":\"\",\"FCURRENCYID\":{\"FNumber\":\"\"},\"FISDEFAULT1\":\"false\"}],\"FT_BD_CUSTCONTACT\":[{\"FENTRYID\":\"0\",\"FNUMBER1\":\"\",\"FNAME1\":\"\",\"FADDRESS1\":\"\",\"FTRANSLEADTIME1\":\"0\",\"FMOBILE\":\"\",\"FIsDefaultConsignee\":\"false\",\"FIsDefaultSettle\":\"false\",\"FIsDefaultPayer\":\"false\",\"FIsUsed\":\"false\"}],\"FT_BD_CUSTORDERORG\":[{\"FEntryID\":\"0\",\"FOrderOrgId\":{\"FNumber\":\"\"},\"FIsDefaultOrderOrg\":\"false\"}]}}");
}
五、字段说明:
联系人编码:FContactId
默认:FISDEFAULT
职务:FJob
联系人名称:FCONTACT
挂靠单位:F_PAEZ_Assistant
登记证书编号:F_PAEZ_Text7
备注:F_PAEZ_Remark1
邮寄时间:F_PAEZ_Date6
收到日期::F_PAEZ_Date5
地点编码:FBIZLOCNUMBER
默认收货地址:FIsDefaultConsigneeCT
详细地址:FBizAddress
币别:FCURRENCYID
银行账号:FBANKCODE
传真:FFAX1
办公电话:FOFFICEPHONE
地点名称:FBIZLOCATION
邮箱:FContactEmail
移动电话:FMOBILEPHONE
合格证:F_PAEZ_Text1
抵押日期:F_PAEZ_Date2
抵押合同编号:F_PAEZ_Text12
进项发票:F_PAEZ_Text11
登记日期:F_PAEZ_Date1
车牌号:F_PAEZ_Remark
挂车架号:F_PAEZ_Remark3
钥匙:F_PAEZ_Text
车辆规格:FTEL11
邮寄单号:F_PAEZ_Text5
欠款:F_PAEZ_Combo21
续保:F_PAEZ_Combo2
邮寄日期:F_PAEZ_Date4
取回日期:F_PAEZ_LargeText
结清日期:F_PAEZ_Date3
保单:F_PAEZ_Combo1
合格证:F_PAEZ_Combo
发票:F_PAEZ_Combo111
抵押:F_PAEZ_Combo11
账户名称:FACCOUNTNAME
冻结范围:FFreezeLimit
冻结状态:FFreezeStatus
冻结日期:FFreezeDate
冻结人:FFreezeOperator
启用商联在线:FEnableSL
地址禁用状态:FLocationStatus
移动电话:FMOBILE
默认:FIsDefaultOrderOrg
订货组织:FOrderOrgId
省份:FPROVINCE
结算卡:FDebitCard
保证金比例(%):FMarginLevel
付款方:FChargeId
结算方:FSettleId
默认联系人:FDefaultContact
默认收货地点:FDefaultConsiLoc
城市:FCITY
默认付款地点:FDefaultPayerLoc
默认开票地点:FDefaultSettleLoc
选择银行网点:FTextBankDetail
联行号:FCNAPS
地点名称:FNAME1
地点编码:FNUMBER1
开户行地址:FOpenAddressRec
开户国家:FCOUNTRY1
默认:FISDEFAULT1
收款银行:FBankTypeRec
开户银行:FOPENBANKNAME
详细地址:FADDRESS1
电子邮箱:FEMail
固定电话:FTTel
联系人:FTContact
启用:FIsUsed
默认付款地址:FIsDefaultPayer
税率:FTAXRATE1
运输提前期:FTRANSLEADTIME1
默认开票地址:FIsDefaultSettle
默认收货地址:FIsDefaultConsignee
价目表:FPRICELISTID
运输提前期:FTRANSLEADTIME
结算方式:FSETTLETYPEID
折扣表:FDISCOUNTLISTID
销售员:FSELLER
结算币别:FTRADINGCURRID (必填项)
对应供应商:FSUPPLIERID
销售组:FSALGROUPID
销售部门:FSALDEPTID
收款币别:FRECEIVECURRID
税分类:FTaxType
禁用日期:FFORBIDDATE
身份证地址:FADDRESS
客户类别:FCustTypeId
禁用人:FFORBIDDERID
启用信用管理:FISCREDITCHECK
收款条件:FRECCONDITIONID
审核日期:FAPPROVEDATE
审核人:FAPPROVERID
使用组织:FUseOrgId
创建组织:FCreateOrgId (必填项)
修改人:FModifierId
创建人:FCreatorId
备注:FDescription
禁用状态:FForbidStatus
单据状态:FDocumentStatus
客户编码:FNumber
客户名称:FName (必填项)
创建日期:FCreateDate
GPS号:FTAXREGISTERCODE
联系电话:FTEL
对应集团客户:FGROUPCUSTID
实际车主:FFAX
贷款人姓名:FZIP
简称:FShortName
修改日期:FModifyDate
地区:FPROVINCIAL
国家:FCOUNTRY
公司网址:FWEBSITE
发票日期:F_PAEZ_Date
担保人电话:FZIP13
地区:F_PAEZ_Base1
发票金额:FTEL111
担保人姓名:FZIP2
发动机号:F_PAEZ_BaseProperty
数量:FTEL1
担保人证号:FZIP122
担保人地址:FZIP1212
城市:F_PAEZ_BaseProperty1
贷款期限:F_PAEZ_Text4
家访人:F_PAEZ_Text3
主车架号:F_PAEZ_Remark2
销售地区:F_PAEZ_Text6
银行账号:F_PAEZ_Text2
中介:F_PAEZ_Base21
业务员:F_PAEZ_Base2
贷款渠道:F_PAEZ_Base3
挂靠单位(旧):F_PAEZ_Base22
发票类型:FInvoiceType
客户优先级:FPriority
默认付款方:FIsDefPayer
默认税率:FTaxRate
对应组织:FCorrespondOrgId
公司规模:FCompanyScale
客户分组:FGroup
公司性质:FCompanyNature
公司类别:FCompanyClassify
订货平台管理员:FCPAdminCode
配偶姓名:FZIP1211
联系地址:FZIP121
配偶身份证:FZIP121111
配偶电话:FZIP12111
身份证号:FZIP12
是否交易客户:FIsTrade
集团客户:FIsGroup
邮政编码:FZIP11
贷款人电话:FZIP1

1
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdcustomer/webapi测试的数据.txt

@ -0,0 +1 @@
{"formId":"BD_Customer","data":"{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\",\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\",\"Model\":{\"FCUSTID\":0,\"FCreateOrgId\":{\"FNumber\":\"100\"},\"FNumber\":\"22113322\",\"FUseOrgId\":{\"FNumber\":\"100\"},\"FName\":\"13\",\"FCOUNTRY\":{\"FNumber\":\"China\"},\"FIsGroup\":false,\"FIsDefPayer\":false,\"FCustTypeId\":{\"FNumber\":\"KHLB001_SYS\"},\"FTRADINGCURRID\":{\"FNumber\":\"PRE001\"},\"FTaxType\":{\"FNumber\":\"SFL02_SYS\"},\"FInvoiceType\":\"1\",\"FTaxRate\":{\"FNumber\":\"SL31_SYS\"},\"FPriority\":1,\"FISCREDITCHECK\":true,\"FIsTrade\":true,\"FT_BD_CUSTOMEREXT\":{\"FEnableSL\":false}}}"}

BIN
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdcustomer/客户的参数必填备注.xlsx

Binary file not shown.

79
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdmaterial/BdMaterialService.java

@ -17,13 +17,13 @@ import java.util.List;
import java.util.Map;
/**
* 保存采购出库单
* 保存物料
*/
@Service
public class BdMaterialService extends FinKingDeeService {
private static Logger log= LoggerFactory.getLogger(BdMaterialService.class);
/**
* 保存采购出库单 list
* 保存物料 list
* @param bdMaterial
* @return
*/
@ -40,7 +40,7 @@ public class BdMaterialService extends FinKingDeeService {
return rb.success().setData(list);
}
/**
* 保存采购出库单
* 保存物料
* @param bdMaterial
* @return
*/
@ -59,24 +59,24 @@ public class BdMaterialService extends FinKingDeeService {
return rb.setMsg("物料保存失败!");
}
log.info("物料保存成功!");
String submitKD = getSubmitKD(resultBean);
ResultBean<List<KingDeeResult>> resultBean1 = submitKingDeeBillData(KingDeeBillId.BD_MATERIAL.getID(), submitKD);
//String submitKD = getSubmitKD(resultBean,KingDeeBillId.BD_MATERIAL.getID());
ResultBean<List<KingDeeResult>> resultBean1 = submitKingDeeBillData(KingDeeBillId.BD_MATERIAL.getID(), resultBean);//submitKingDeeBillData(KingDeeBillId.BD_MATERIAL.getID(), submitKD);
if(!resultBean1.getSuccess()){
log.info("物料提交失败!");
return rb.setMsg("物料提交失败!");
}
log.info("物料提交成功!");
String auditKD = getAuditKD(resultBean);
ResultBean<List<KingDeeResult>> resultBean2 = auditKingDeeBillData(KingDeeBillId.BD_MATERIAL.getID(), auditKD);
// String auditKD = getAuditKD(resultBean,KingDeeBillId.BD_MATERIAL.getID());
ResultBean<List<KingDeeResult>> resultBean2 = auditKingDeeBillData(KingDeeBillId.BD_MATERIAL.getID(), resultBean);//auditKingDeeBillData(KingDeeBillId.BD_MATERIAL.getID(), auditKD);
if(!resultBean2.getSuccess()){
log.info("物料审核失败!");
return rb.setMsg("物料审核失败!");
}
log.info("物料审核成功!");
String allocate = getAllocate(resultBean1,bdMaterial.getTOrgIds());
ResultBean<List<KingDeeResult>> resultBean3 = allocateKingDeeBillData(KingDeeBillId.BD_MATERIAL.getID(), allocate);
//String allocate = getAllocate(resultBean1,bdMaterial.getTOrgIds(),KingDeeBillId.BD_MATERIAL.getID());
ResultBean<List<KingDeeResult>> resultBean3 =allocateKingDeeBillData(KingDeeBillId.BD_MATERIAL.getID(),bdMaterial.getTOrgIds(), resultBean1);// allocateKingDeeBillData(KingDeeBillId.BD_MATERIAL.getID(), allocate);
if(!resultBean3.getSuccess()){
log.info("物料分配失败!");
return rb.setMsg("物料分配失败!");
@ -89,63 +89,4 @@ public class BdMaterialService extends FinKingDeeService {
return rb;
}
/**
* 构造分配接口的数据格式
* @param resultBean
* @return
*/
private String getAllocate(ResultBean<List<KingDeeResult>> resultBean,String tOrgIds) {
/* 2.1.PkIds被分配的基础资料内码集合字符串类型格式"PkId1,PkId2,..."必录
2.2.TOrgIds目标组织内码集合字符串类型格式"TOrgId1,TOrgId2,..."必录
2.3.IsAutoSubmitAndAudit是否自动提交与审核布尔类型默认false非必录*/
List<KingDeeResult> data = resultBean.getData();
StringBuilder Ids=new StringBuilder();
for (int i=0;i<data.size();i++){
Ids.append(data.get(i).getId()).append(",");
}
String s = Ids.toString();
s=s.substring(0,s.length()-1);
return "{\"formId\":\"BD_MATERIAL\",\"data\":\"{\\\"PkIds\\\":\\\""+s+"\\\",\\\"TOrgIds\\\":\\\""+tOrgIds+"\\\",\\\"IsAutoSubmitAndAudit\\\":\\\"true\\\"}\"}";
}
/**
* 构造审核接口的数据格式
* @param resultBean
* @return
*/
private String getAuditKD(ResultBean<List<KingDeeResult>> resultBean) {
//2.1.CreateOrgId:创建者组织内码,字符串类型(非必录)
//2.2.Numbers:单据编码集合,数组类型,格式:[No1,No2,...](使用编码时必录)
//2.3.Ids:单据内码集合,字符串类型,格式:"Id1,Id2,..."(使用内码时必录)
List<KingDeeResult> data = resultBean.getData();
StringBuilder Ids=new StringBuilder();
for (int i=0;i<data.size();i++){
Ids.append(data.get(i).getId()).append(",");
}
String s = Ids.toString();
s=s.substring(0,s.length()-1);
return "{\"formId\":\"BD_MATERIAL\",\"data\":\"{\\\"CreateOrgId\\\":\\\"\\\",\\\"Numbers\\\":[],\\\"Ids\\\":\\\""+s+"\\\",\\\"InterationFlags\\\":\\\"\\\"}\"}";
}
/**
* 构造提交接口的数据格式
* @param resultBean
* @return
*/
private String getSubmitKD(ResultBean<List<KingDeeResult>> resultBean) {
//2.1.CreateOrgId:创建者组织内码,字符串类型(非必录)
//2.2.Numbers:单据编码集合,数组类型,格式:[No1,No2,...](使用编码时必录)
//2.3.Ids:单据内码集合,字符串类型,格式:"Id1,Id2,..."(使用内码时必录)
List<KingDeeResult> data = resultBean.getData();
StringBuilder Ids=new StringBuilder();
for (int i=0;i<data.size();i++){
Ids.append(data.get(i).getId()).append(",");
}
String s = Ids.toString();
s=s.substring(0,s.length()-1);
return "{\"formId\":\"BD_MATERIAL\",\"data\":\"{\\\"CreateOrgId\\\":\\\"\\\",\\\"Numbers\\\":[],\\\"Ids\\\":\\\""+s+"\\\"}\"}";
}
}

7
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdmaterial/data_model.json

@ -1,10 +1,10 @@
{
"FMATERIALID": 0,
"FCreateOrgId": {
"FNumber": "@KD_FCreateOrgId"
"FNumber": "100"
},
"FUseOrgId": {
"FNumber": "@KD_FUseOrgId"
"FNumber": "100"
},
"FName": "@KD_FName",
"FMaterialGroup": {
@ -12,6 +12,9 @@
},
"FImgStorageType": "B",
"FIsSalseByNet": false,
"F_PAEZ_Base": {
"FNUMBER": "@KD_F_PAEZ_Base"
},
"SubHeadEntity": {
"FErpClsID": "1",
"FCategoryID": {

44
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdsupplier/BdSupplierCastToKingDeeBillFields.java

@ -0,0 +1,44 @@
package com.yxt.anrui.fin.biz.kingdee.bdsupplier;
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 BdSupplierCastToKingDeeBillFields {
private static Logger log=LoggerFactory.getLogger(BdSupplierCastToKingDeeBillFields.class);
/**
* 构造金蝶需要的数据结构 并对字段赋值
*
* @param map_fEntityModel_
* @return
*/
public static String getKingDeeData(Map<String,String> map_fEntityModel_ ){
/**
* 取模板
*/
String readJsonFile = KingDeeUtils.readJsonFile("com/yxt/anrui/fin/biz/kingdee/bdsupplier/data.json");
String fEntityData_ = KingDeeUtils.readJsonFile("com/yxt/anrui/fin/biz/kingdee/bdsupplier/data_data.json");
String fEntityModel_ = KingDeeUtils.readJsonFile("com/yxt/anrui/fin/biz/kingdee/bdsupplier/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();
}
}

78
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdsupplier/BdSupplierService.java

@ -0,0 +1,78 @@
package com.yxt.anrui.fin.biz.kingdee.bdsupplier;
import com.yxt.anrui.fin.api.kingdee.KingDeeBillId;
import com.yxt.anrui.fin.api.kingdee.KingDeeResult;
import com.yxt.anrui.fin.api.kingdee.bdmaterial.BdMaterial;
import com.yxt.anrui.fin.api.kingdee.bdsupplier.BdSupplier;
import com.yxt.anrui.fin.api.kingdee.orgorganizations.OrgOrganizations;
import com.yxt.anrui.fin.biz.kingdee.FinKingDeeService;
import com.yxt.common.core.result.ResultBean;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@Service
public class BdSupplierService extends FinKingDeeService {
/**
* 保存供应商 list
* @param bdSupplier
* @return
*/
public ResultBean<List<KingDeeResult>> draftBdMaterialList(List<BdSupplier> bdSupplier) {
// bdMaterial=BdMaterial.createBdMaterial();
List<KingDeeResult> list=new ArrayList<>();
ResultBean rb=ResultBean.fireFail();
for(BdSupplier b:bdSupplier) {
ResultBean<List<KingDeeResult>> resultBean = draftBdSupplier(b);
if (resultBean.getSuccess()) {
list.add(resultBean.getData().get(0));
}
}
return rb.success().setData(list);
}
/**
* 保存供应商
* @param bdSupplier
* @return
*/
public ResultBean draftBdSupplier(BdSupplier bdSupplier) {
//bdSupplier=BdSupplier.createBdSupplier();
ResultBean rb=ResultBean.fireFail();
try {
//业务表的主表数据集合
Map<String,String> map_fEntityModel_= object2Map(bdSupplier);
String kingDeeData = BdSupplierCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_);
ResultBean<List<KingDeeResult>> resultBean = saveBill(KingDeeBillId.BD_SUPPLIER.getID(), kingDeeData);
ResultBean<List<KingDeeResult>> resultBean1 = submitKingDeeBillData(KingDeeBillId.BD_CUSTOMER.getID(), resultBean);
if(!resultBean1.getSuccess()){
log.info("供应商提交失败!");
return rb.setMsg("供应商提交失败!");
}
log.info("供应商提交成功!");
//String auditKD = getAuditKD(resultBean,KingDeeBillId.BD_CUSTOMER.getID());
ResultBean<List<KingDeeResult>> resultBean2 = auditKingDeeBillData(KingDeeBillId.BD_CUSTOMER.getID(), resultBean);
if(!resultBean2.getSuccess()){
log.info("供应商审核失败!");
return rb.setMsg("供应商审核失败!");
}
log.info("供应商审核成功!");
//String allocate = getAllocate(resultBean1,bdCustomer.getTOrgIds(),KingDeeBillId.BD_CUSTOMER.getID());
ResultBean<List<KingDeeResult>> resultBean3 = allocateKingDeeBillData(KingDeeBillId.BD_MATERIAL.getID(),bdSupplier.getTOrgIds(), resultBean1);
if(!resultBean3.getSuccess()){
log.info("供应商分配失败!");
return rb.setMsg("供应商分配失败!");
}
log.info("供应商分配成功!");
return resultBean3;
} catch (Exception e) {
e.printStackTrace();
}
return rb;
}
}

4
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdsupplier/data.json

@ -0,0 +1,4 @@
{
"formId": "BD_Supplier",
"data": "@KD_data"
}

13
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdsupplier/data_data.json

@ -0,0 +1,13 @@
{
"Creator": "",
"NeedUpDateFields": [],
"NeedReturnFields": [],
"IsDeleteEntry": "True",
"SubSystemId": "",
"IsVerifyBaseDataField": "false",
"IsEntryBatchFill": "True",
"ValidateFlag": "True",
"NumberSearch": "True",
"InterationFlags": "",
"Model":{}
}

29
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdsupplier/data_model.json

@ -0,0 +1,29 @@
{
"FSupplierId": 0,
"FCreateOrgId": {
"FNumber": "100"
},
"FUseOrgId": {
"FNumber": "100"
},
"FName": "@KD_FName",
"FBaseInfo": {
"FSupplyClassify": "CG"
},
"FBusinessInfo": {
"FVmiBusiness": false,
"FEnableSL": false
},
"FFinanceInfo": {
"FPayCurrencyId": {
"FNumber": "PRE001"
},
"FTaxType": {
"FNumber": "SFL02_SYS"
},
"FInvoiceType": "1",
"FTaxRateId": {
"FNUMBER": "SL31_SYS"
}
}
}

145
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdsupplier/remarks.txt

@ -0,0 +1,145 @@
一、请求参数说明:
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\":{\"FSupplierId\":\"0\",\"FCreateOrgId\":{\"FNumber\":\"\"},\"FNumber\":\"\",\"FUseOrgId\":{\"FNumber\":\"\"},\"FName\":\"\",\"FShortName\":\"\",\"FGroup\":{\"FNumber\":\"\"},\"FCorrespondOrgId\":{\"FNumber\":\"\"},\"FDescription\":\"\",\"FForbiderId\":{\"FUserID\":\"\"},\"FForbidDate\":\"1900-01-01\",\"FBaseInfo\":{\"FEntryId\":\"0\",\"FCountry\":{\"FNumber\":\"\"},\"FProvincial\":{\"FNumber\":\"\"},\"FAddress\":\"\",\"FZip\":\"\",\"FLanguage\":{\"FNumber\":\"\"},\"FWebSite\":\"\",\"FTrade\":{\"FNumber\":\"\"},\"FFoundDate\":\"1900-01-01\",\"FLegalPerson\":\"\",\"FRegisterFund\":\"0\",\"FRegisterCode\":\"\",\"FSOCIALCRECODE\":\"\",\"FTendPermit\":\"\",\"FRegisterAddress\":\"\",\"FDeptId\":{\"FNumber\":\"\"},\"FStaffId\":{\"FNumber\":\"\"},\"FSupplierClassify\":{\"FNumber\":\"\"},\"FSupplyClassify\":\"\",\"FSupplierGrade\":{\"FNumber\":\"\"},\"FCompanyClassify\":{\"FNumber\":\"\"},\"FCompanyNature\":{\"FNumber\":\"\"},\"FCompanyScale\":{\"FNumber\":\"\"}},\"FBusinessInfo\":{\"FEntryId\":\"0\",\"FFreezeOperator\":{\"FUserID\":\"\"},\"FFreezeDate\":\"1900-01-01\",\"FPurchaserGroupId\":{\"FNumber\":\"\"},\"FParentSupplierId\":{\"FNumber\":\"\"},\"FSettleTypeId\":{\"FNumber\":\"\"},\"FPRICELISTID\":{\"FNumber\":\"\"},\"FDiscountListId\":{\"FNumber\":\"\"},\"FProviderId\":{\"FNumber\":\"\"},\"FWipStockId\":{\"FNumber\":\"\"},\"FVmiBusiness\":\"false\",\"FWipStockPlaceId\":{\"FWIPSTOCKPLACEID__FF100001\":{\"FNumber\":\"\"},\"FWIPSTOCKPLACEID__FF100002\":{\"FNumber\":\"\"},\"FWIPSTOCKPLACEID__FF100003\":{\"FNumber\":\"\"},\"FWIPSTOCKPLACEID__FF100004\":{\"FNumber\":\"\"},\"FWIPSTOCKPLACEID__FF100005\":{\"FNumber\":\"\"},\"FWIPSTOCKPLACEID__FF100006\":{\"FNumber\":\"\"},\"FWIPSTOCKPLACEID__FF100007\":{\"FNumber\":\"\"},\"FWIPSTOCKPLACEID__FF100008\":{\"FNumber\":\"\"},\"FWIPSTOCKPLACEID__FF100009\":{\"FNumber\":\"\"},\"FWIPSTOCKPLACEID__FF100010\":{\"FNumber\":\"\"}},\"FVmiStockId\":{\"FNUMBER\":\"\"},\"FEnableSL\":\"false\"},\"FFinanceInfo\":{\"FEntryId\":\"0\",\"FCustomerId\":{\"FNumber\":\"\"},\"FPayCurrencyId\":{\"FNumber\":\"\"},\"FPayCondition\":{\"FNumber\":\"\"},\"FSettleId\":{\"FNumber\":\"\"},\"FPayAdvanceAmount\":\"0\",\"FTaxType\":{\"FNumber\":\"\"},\"FTaxRegisterCode\":\"\",\"FChargeId\":{\"FNumber\":\"\"},\"FInvoiceType\":\"\",\"FTaxRateId\":{\"FNUMBER\":\"\"},\"FFinanceDesc\":\"\"},\"FBankInfo\":[{\"FBankId\":\"0\",\"FBankCountry\":{\"FNumber\":\"\"},\"FOpenBankName\":\"\",\"FBankCode\":\"\",\"FBankHolder\":\"\",\"FBankTypeRec\":{\"FNUMBER\":\"\"},\"FTextBankDetail\":\"\",\"FOpenAddressRec\":\"\",\"FCNAPS\":\"\",\"FSwiftCode\":\"\",\"FBankCurrencyId\":{\"FNumber\":\"\"},\"FBankIsDefault\":\"false\",\"FBankDesc\":\"\"}],\"FLocationInfo\":[{\"FLocationId\":\"0\",\"FLocName\":\"\",\"FLocNewContact\":{\"FNUMBER\":\"\"},\"FLocAddress\":\"\",\"FLocMobile\":\"\"}],\"FSupplierContact\":[{\"FContactId\":\"0\"}]}}
三、返回参数:
{\"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("BD_Supplier","{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\",\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\",\"Model\":{\"FSupplierId\":\"0\",\"FCreateOrgId\":{\"FNumber\":\"\"},\"FNumber\":\"\",\"FUseOrgId\":{\"FNumber\":\"\"},\"FName\":\"\",\"FShortName\":\"\",\"FGroup\":{\"FNumber\":\"\"},\"FCorrespondOrgId\":{\"FNumber\":\"\"},\"FDescription\":\"\",\"FForbiderId\":{\"FUserID\":\"\"},\"FForbidDate\":\"1900-01-01\",\"FBaseInfo\":{\"FEntryId\":\"0\",\"FCountry\":{\"FNumber\":\"\"},\"FProvincial\":{\"FNumber\":\"\"},\"FAddress\":\"\",\"FZip\":\"\",\"FLanguage\":{\"FNumber\":\"\"},\"FWebSite\":\"\",\"FTrade\":{\"FNumber\":\"\"},\"FFoundDate\":\"1900-01-01\",\"FLegalPerson\":\"\",\"FRegisterFund\":\"0\",\"FRegisterCode\":\"\",\"FSOCIALCRECODE\":\"\",\"FTendPermit\":\"\",\"FRegisterAddress\":\"\",\"FDeptId\":{\"FNumber\":\"\"},\"FStaffId\":{\"FNumber\":\"\"},\"FSupplierClassify\":{\"FNumber\":\"\"},\"FSupplyClassify\":\"\",\"FSupplierGrade\":{\"FNumber\":\"\"},\"FCompanyClassify\":{\"FNumber\":\"\"},\"FCompanyNature\":{\"FNumber\":\"\"},\"FCompanyScale\":{\"FNumber\":\"\"}},\"FBusinessInfo\":{\"FEntryId\":\"0\",\"FFreezeOperator\":{\"FUserID\":\"\"},\"FFreezeDate\":\"1900-01-01\",\"FPurchaserGroupId\":{\"FNumber\":\"\"},\"FParentSupplierId\":{\"FNumber\":\"\"},\"FSettleTypeId\":{\"FNumber\":\"\"},\"FPRICELISTID\":{\"FNumber\":\"\"},\"FDiscountListId\":{\"FNumber\":\"\"},\"FProviderId\":{\"FNumber\":\"\"},\"FWipStockId\":{\"FNumber\":\"\"},\"FVmiBusiness\":\"false\",\"FWipStockPlaceId\":{\"FWIPSTOCKPLACEID__FF100001\":{\"FNumber\":\"\"},\"FWIPSTOCKPLACEID__FF100002\":{\"FNumber\":\"\"},\"FWIPSTOCKPLACEID__FF100003\":{\"FNumber\":\"\"},\"FWIPSTOCKPLACEID__FF100004\":{\"FNumber\":\"\"},\"FWIPSTOCKPLACEID__FF100005\":{\"FNumber\":\"\"},\"FWIPSTOCKPLACEID__FF100006\":{\"FNumber\":\"\"},\"FWIPSTOCKPLACEID__FF100007\":{\"FNumber\":\"\"},\"FWIPSTOCKPLACEID__FF100008\":{\"FNumber\":\"\"},\"FWIPSTOCKPLACEID__FF100009\":{\"FNumber\":\"\"},\"FWIPSTOCKPLACEID__FF100010\":{\"FNumber\":\"\"}},\"FVmiStockId\":{\"FNUMBER\":\"\"},\"FEnableSL\":\"false\"},\"FFinanceInfo\":{\"FEntryId\":\"0\",\"FCustomerId\":{\"FNumber\":\"\"},\"FPayCurrencyId\":{\"FNumber\":\"\"},\"FPayCondition\":{\"FNumber\":\"\"},\"FSettleId\":{\"FNumber\":\"\"},\"FPayAdvanceAmount\":\"0\",\"FTaxType\":{\"FNumber\":\"\"},\"FTaxRegisterCode\":\"\",\"FChargeId\":{\"FNumber\":\"\"},\"FInvoiceType\":\"\",\"FTaxRateId\":{\"FNUMBER\":\"\"},\"FFinanceDesc\":\"\"},\"FBankInfo\":[{\"FBankId\":\"0\",\"FBankCountry\":{\"FNumber\":\"\"},\"FOpenBankName\":\"\",\"FBankCode\":\"\",\"FBankHolder\":\"\",\"FBankTypeRec\":{\"FNUMBER\":\"\"},\"FTextBankDetail\":\"\",\"FOpenAddressRec\":\"\",\"FCNAPS\":\"\",\"FSwiftCode\":\"\",\"FBankCurrencyId\":{\"FNumber\":\"\"},\"FBankIsDefault\":\"false\",\"FBankDesc\":\"\"}],\"FLocationInfo\":[{\"FLocationId\":\"0\",\"FLocName\":\"\",\"FLocNewContact\":{\"FNUMBER\":\"\"},\"FLocAddress\":\"\",\"FLocMobile\":\"\"}],\"FSupplierContact\":[{\"FContactId\":\"0\"}]}}");
}
五、字段说明:
银行账号:FBankCode
账户名称:FBankHolder
默认:FBankIsDefault
国家:FBankCountry
结算方:FSettleId
收款方:FChargeId
默认税率:FTaxRateId
开户行地址:FOpenAddressRec
联行号:FCNAPS
SwiftCode:FSwiftCode
收款银行:FBankTypeRec
描述:FBankDesc
币别:FBankCurrencyId
开户银行:FOpenBankName
启用供应商协同:FEnableSL
结算币别:FPayCurrencyId (必填项)
对应客户:FCustomerId
VMI业务:FVmiBusiness
冻结人:FFreezeOperator
冻结日期:FFreezeDate
VMI仓库:FVmiStockId
描述:FFinanceDesc
付款条件:FPayCondition
发票类型:FInvoiceType
税分类:FTaxType
单次预付额度:FPayAdvanceAmount
税务登记号:FTaxRegisterCode
经营类型:FTendType
职务:FPost
电话:FTel
手机:FMobile
联系人:FContact
默认收款地址:FIsDefaultPayee
联系人(旧):FLocContact
联系人:FLocNewContact (必填项)
备注:FContactDescription
供应商联系人:FCommonContactId
编码:FContactNumber
默认联系人:FContactIsDefault
传真:FFax
电子邮箱:FEMail
即时通讯:FIMCode
地点编码:FLocNumber
地点名称:FLocName (必填项)
通讯地址:FLocAddress (必填项)
备注:FLocDesc
选择银行网点:FTextBankDetail
运输时间:FTransportDays
计划交货周期:FPlanDeliveryPeriod
电子邮箱:FLocEMail
默认供货地址:FIsDefaultSupply
默认开票地址:FIsDefaultSettle
传真:FLocFax
启用:FLocIsUsed
电话:FLocTel
手机:FLocMobile (必填项)
供货方:FProviderId
对应组织:FCorrespondOrgId
同步货主状态(GY):FSYNCGYOWNERSTATUS
注册编码:FRegNumber
供应商分组:FGroup
审核日期:FAuditDate
审核人:FAuditorId
通讯地址:FAddress
公司网址:FWebSite
注册地址:FRegisterAddress
语言:FLanguage
国家:FCountry
地区:FProvincial
邮政编码:FZip
描述:FDescription
创建组织:FCreateOrgId (必填项)
使用组织:FUseOrgId (必填项)
编码:FNumber
数据状态:FDocumentStatus
禁用状态:FForbidStatus
名称:FName (必填项)
简称:FShortName
禁用人:FForbiderId
禁用日期:FForbidDate
修改日期:FModifyDate
创建人:FCreatorId
修改人:FModifierId
创建日期:FCreateDate
最小订单量:FMinPOValue
需要确认:FNeedConfirm
汇总公司:FParentSupplierId
采购组:FPurchaserGroupId
公司规模:FCompanyScale
供应类别:FSupplyClassify
统一社会信用代码:FSOCIALCRECODE
默认WIP仓位:FWipStockPlaceId
默认WIP仓库:FWipStockId
默认折扣表:FDiscountListId
默认价目表:FPRICELISTID
业务状态:FBusinessStatus
冻结范围:FFreezeLimit
结算方式:FSettleTypeId
注册资金(万元):FRegisterFund
工商登记号:FRegisterCode
生产经营许可证:FTendPermit
法人代表:FLegalPerson
行业:FTrade
公司性质:FCompanyNature
创立日期:FFoundDate
供应商等级:FSupplierGrade
生效日期:FStartDate
失效日期:FEndDate
公司类别:FCompanyClassify
负责部门:FDeptId
负责人:FStaffId
供应商分类:FSupplierClassify

1
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdsupplier/webapi测试的数据.txt

@ -0,0 +1 @@
{"formId":"BD_Supplier","data":"{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\",\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\",\"Model\":{\"FSupplierId\":0,\"FCreateOrgId\":{\"FNumber\":\"100\"},\"FUseOrgId\":{\"FNumber\":\"100\"},\"FName\":\"13\",\"FBaseInfo\":{\"FSupplyClassify\":\"CG\"},\"FBusinessInfo\":{\"FVmiBusiness\":false,\"FEnableSL\":false},\"FFinanceInfo\":{\"FPayCurrencyId\":{\"FNumber\":\"PRE001\"},\"FTaxType\":{\"FNumber\":\"SFL02_SYS\"},\"FInvoiceType\":\"1\",\"FTaxRateId\":{\"FNUMBER\":\"SL31_SYS\"}}}}"}

BIN
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdsupplier/供应商的参数必填备注.xlsx

Binary file not shown.

48
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/orgorganizations/OrgOrganizationsCastToKingDeeBillFields.java

@ -0,0 +1,48 @@
package com.yxt.anrui.fin.biz.kingdee.orgorganizations;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
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.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 封装转换的类
*/
public class OrgOrganizationsCastToKingDeeBillFields {
private static Logger log=LoggerFactory.getLogger(OrgOrganizationsCastToKingDeeBillFields.class);
/**
* 构造金蝶需要的数据结构 并对字段赋值
*
* @param map_fEntityModel_
* @return
*/
public static String getKingDeeData(Map<String,String> map_fEntityModel_ ){
/**
* 取模板
*/
String readJsonFile = KingDeeUtils.readJsonFile("com/yxt/anrui/fin/biz/kingdee/orgorganizations/data.json");
String fEntityData_ = KingDeeUtils.readJsonFile("com/yxt/anrui/fin/biz/kingdee/orgorganizations/data_data.json");
String fEntityModel_ = KingDeeUtils.readJsonFile("com/yxt/anrui/fin/biz/kingdee/orgorganizations/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();
}
}

35
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/orgorganizations/OrgOrganizationsService.java

@ -0,0 +1,35 @@
package com.yxt.anrui.fin.biz.kingdee.orgorganizations;
import com.yxt.anrui.fin.api.kingdee.KingDeeBillId;
import com.yxt.anrui.fin.api.kingdee.orgorganizations.OrgOrganizations;
import com.yxt.anrui.fin.api.kingdee.stktransferdirect.StkTransferDirect;
import com.yxt.anrui.fin.biz.kingdee.FinKingDeeService;
import com.yxt.common.core.result.ResultBean;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
@Service
public class OrgOrganizationsService extends FinKingDeeService {
/**
* 保存组织机构
* @param orgOrganizations
* @return
*/
public ResultBean draftOrgOrganizations(OrgOrganizations orgOrganizations) {
//orgOrganizations=OrgOrganizations.createOrgOrganizations();
ResultBean rb=ResultBean.fireFail();
try {
//业务表的主表数据集合
Map<String,String> map_fEntityModel_= object2Map(orgOrganizations);
//准备 物料列表的数据 ForEntryBill
String kingDeeData = OrgOrganizationsCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_);
return saveBill(KingDeeBillId.ORG_ORGANIZATIONS.getID(),kingDeeData);
} catch (Exception e) {
e.printStackTrace();
}
return rb;
}
}

4
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/orgorganizations/data.json

@ -0,0 +1,4 @@
{
"formId": "ORG_Organizations",
"data": "@KD_data"
}

13
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/orgorganizations/data_data.json

@ -0,0 +1,13 @@
{
"Creator": "",
"NeedUpDateFields": [],
"NeedReturnFields": [],
"IsDeleteEntry": "True",
"SubSystemId": "",
"IsVerifyBaseDataField": "false",
"IsEntryBatchFill": "True",
"ValidateFlag": "True",
"NumberSearch": "True",
"InterationFlags": "",
"Model": {}
}

23
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/orgorganizations/data_model.json

@ -0,0 +1,23 @@
{
"FOrgID": 0,
"FNumber": "@KD_FNumber",
"FName": "@KD_FName",
"FOrgFormID": "@KD_FOrgFormID",
"FIsAccountOrg": true,
"FIsBusinessOrg": false,
"FSaleBox": false,
"FPurchaseBox": false,
"FStockBox": false,
"FQualityBox": false,
"FCapitalBox": false,
"FFactoryBox": false,
"FReceiptAndPayBox": false,
"FHRBox": false,
"FClearingBox": false,
"FAssetBox": false,
"FShareCenter": false,
"FService": false,
"FMarketing": false,
"FIsSynCERPOwer": false,
"FAcctOrgType": "1"
}

73
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/orgorganizations/remarks.txt

@ -0,0 +1,73 @@
一、请求参数说明:
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\":{\"FOrgID\":\"0\",\"FNumber\":\"\",\"FName\":\"\",\"FOrgFormID\":\"\",\"FContact\":\"\",\"FTel\":\"\",\"FPostCode\":\"\",\"FADDRESS\":\"\",\"FDescription\":\"\",\"FIsAccountOrg\":\"false\",\"FIsBusinessOrg\":\"false\",\"FSaleBox\":\"false\",\"FPurchaseBox\":\"false\",\"FStockBox\":\"false\",\"FQualityBox\":\"false\",\"FCapitalBox\":\"false\",\"FFactoryBox\":\"false\",\"FReceiptAndPayBox\":\"false\",\"FHRBox\":\"false\",\"FClearingBox\":\"false\",\"FAssetBox\":\"false\",\"FParentID\":{\"FNumber\":\"\"},\"FShareCenter\":\"false\",\"FService\":\"false\",\"FMarketing\":\"false\",\"FIsSynCERPOwer\":\"false\",\"FTimeZone\":{\"FNUMBER\":\"\"},\"FAcctOrgType\":\"\"}}
三、返回参数:
{\"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("ORG_Organizations","{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\",\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\",\"Model\":{\"FOrgID\":\"0\",\"FNumber\":\"\",\"FName\":\"\",\"FOrgFormID\":\"\",\"FContact\":\"\",\"FTel\":\"\",\"FPostCode\":\"\",\"FADDRESS\":\"\",\"FDescription\":\"\",\"FIsAccountOrg\":\"false\",\"FIsBusinessOrg\":\"false\",\"FSaleBox\":\"false\",\"FPurchaseBox\":\"false\",\"FStockBox\":\"false\",\"FQualityBox\":\"false\",\"FCapitalBox\":\"false\",\"FFactoryBox\":\"false\",\"FReceiptAndPayBox\":\"false\",\"FHRBox\":\"false\",\"FClearingBox\":\"false\",\"FAssetBox\":\"false\",\"FParentID\":{\"FNumber\":\"\"},\"FShareCenter\":\"false\",\"FService\":\"false\",\"FMarketing\":\"false\",\"FIsSynCERPOwer\":\"false\",\"FTimeZone\":{\"FNUMBER\":\"\"},\"FAcctOrgType\":\"\"}}");
}
五、字段说明:
库存职能:FStockBox
采购职能:FPurchaseBox
工厂职能:FFactoryBox
结算职能:FClearingBox
HR职能:FHRBox
审核日期:FAUDITDATE
核算组织:FIsAccountOrg
审核人:FAUDITORID
销售职能:FSaleBox
邮编:FPostCode
服务职能:FService
组织职能:FOrgFunctions
共享中心:FShareCenter
时区:FTimeZone
同步管易货主:FIsSynCERPOwer
收付职能:FReceiptAndPayBox
资产职能:FAssetBox
质检职能:FQualityBox
营销职能:FMarketing
资金职能:FCapitalBox
创建日期:FCreateDate
创建人:FCreatorId
修改日期:FModifyDate
联系人:FContact
描述:FDescription
禁用状态:FForbidStatus
数据状态:FDocumentStatus
名称:FName (必填项)
修改人:FModifierId
编码:FNumber (必填项)
所属法人:FParentID
法人:FIsCorp
禁用人:FFORBIDORID
业务组织:FIsBusinessOrg
禁用日期:FForbidDate
地址:FADDRESS
形态:FOrgFormID (必填项)
联系电话:FTel
利润中心:FIsProfileCenter
核算组织类型:FAcctOrgType

1
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/orgorganizations/webapi测试的数据.txt

@ -0,0 +1 @@
{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\",\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\",\"Model\":{\"FOrgID\":0,\"FNumber\":\"1236\",\"FName\":\"测试机构1\",\"FOrgFormID\":\"102\",\"FIsAccountOrg\":true,\"FIsBusinessOrg\":false,\"FSaleBox\":false,\"FPurchaseBox\":false,\"FStockBox\":false,\"FQualityBox\":false,\"FCapitalBox\":false,\"FFactoryBox\":false,\"FReceiptAndPayBox\":false,\"FHRBox\":false,\"FClearingBox\":false,\"FAssetBox\":false,\"FShareCenter\":false,\"FService\":false,\"FMarketing\":false,\"FIsSynCERPOwer\":false,\"FAcctOrgType\":\"1\"}}

BIN
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/orgorganizations/组织机构的参数必填备注.xlsx

Binary file not shown.

4
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stktransferdirect/StkTransferDirectService.java

@ -13,12 +13,12 @@ import java.util.Map;
public class StkTransferDirectService extends FinKingDeeService {
/**
* 保存采购入库
* 保存直接调拨
* @param stkTransferDirect
* @return
*/
public ResultBean draftStkTransferDirect(StkTransferDirect stkTransferDirect) {
stkTransferDirect=StkTransferDirect.createStkTransferDirect();
//stkTransferDirect=StkTransferDirect.createStkTransferDirect();
ResultBean rb=ResultBean.fireFail();
try {
//业务表的主表数据集合

4
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stktransferdirect/data_FBillEntry.json

@ -3,7 +3,7 @@
"FNumber": "@KD_FMaterialId"
},
"FUnitID": {
"FNumber": "@KD_FUnitID"
"FNumber": "liang"
},
"FDestLot":{
"FNumber": "@KD_FDestLot"
@ -34,7 +34,7 @@
"FNumber": "@KD_FOwnerId"
},
"FBaseUnitId": {
"FNumber": "@KD_FBaseUnitId"
"FNumber": "liang"
},
"FBaseQty": 1.0,
"FISFREE": false,

5
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysorganization/SysOrganizationFeign.java

@ -95,6 +95,11 @@ public interface SysOrganizationFeign {
@GetMapping("/getListOrg")
ResultBean<List<SysOrgVo>> getListOrg();
@ApiOperation("获取同品牌下分公司")
@ResponseBody
@GetMapping("/getListOrgByBrand/{orgSid}")
ResultBean<List<SysOrgVo>> getListOrgByBrand(@PathVariable(value = "orgSid") String orgSid);
@ApiOperation("根据业务员sid获取到分公司")
@ResponseBody
@GetMapping("/getUseOrgByUserSid")

5
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysorganization/SysOrganizationFeignFallback.java

@ -103,6 +103,11 @@ public class SysOrganizationFeignFallback implements SysOrganizationFeign {
return null;
}
@Override
public ResultBean<List<SysOrgVo>> getListOrgByBrand(String orgSid) {
return null;
}
@Override
public ResultBean<SysOrganizationVo> getUseOrgByUserSid(String staffSid) {
return null;

2
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/PortalApplication.java

@ -14,7 +14,7 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
"com.yxt.anrui.portal"
})
@EnableDiscoveryClient
@EnableFeignClients(basePackages = {"com.yxt.anrui.crm","com.yxt.anrui.flowable","com.yxt.messagecenter","com.yxt.anrui.terminal"})
@EnableFeignClients(basePackages = {"com.yxt.anrui.crm","com.yxt.anrui.flowable","com.yxt.messagecenter","com.yxt.anrui.terminal","com.yxt.anrui.base"})
public class PortalApplication {
public static void main(String[] args) {

3
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysorganization/SysOrganizationMapper.java

@ -102,4 +102,7 @@ public interface SysOrganizationMapper extends BaseMapper<SysOrganization> {
SysOrganizationVo getUseOrgByStaffSid(String sid);
List<Map<String, String>> selectUseOrgSidBySid(String psid);
SysOrgVo getListOrgByBrand(String sid);
}

7
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysorganization/SysOrganizationMapper.xml

@ -166,4 +166,11 @@
AND isDelete = 0
AND isDept = 0
</select>
<select id="getListOrgByBrand" resultType="com.yxt.anrui.portal.api.sysorganization.SysOrgVo">
SELECT so.name, so.psid, so.id, so.sid, so.orgSidPath
FROM sys_organization so
WHERE isDept = 0 AND so.sid = #{sid}
ORDER BY psid
</select>
</mapper>

5
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysorganization/SysOrganizationRest.java

@ -207,6 +207,11 @@ public class SysOrganizationRest implements SysOrganizationFeign {
return rb.success().setData(menuTree2VoList);
}
@Override
public ResultBean<List<SysOrgVo>> getListOrgByBrand(String orgSid) {
return sysOrganizationService.getListOrgByBrand(orgSid);
}
@Override
public ResultBean<SysOrganizationVo> getUseOrgByUserSid(String userSid) {
ResultBean<SysOrganizationVo> rb = ResultBean.fireFail();

35
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysorganization/SysOrganizationService.java

@ -3,6 +3,10 @@ package com.yxt.anrui.portal.biz.sysorganization;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.base.api.basevehiclebrand.BaseVehicleBrand;
import com.yxt.anrui.base.api.basevehiclebrand.BaseVehicleBrandFeign;
import com.yxt.anrui.base.api.basevehiclebrand.BaseVehicleBrandSelectQuery;
import com.yxt.anrui.base.api.basevehiclebrand.BaseVehicleBrandSelectVo;
import com.yxt.anrui.portal.api.sysorganization.*;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgVo;
@ -12,6 +16,7 @@ import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@ -40,6 +45,8 @@ public class SysOrganizationService extends MybatisBaseService<SysOrganizationMa
private SysUserService sysUserService;
@Autowired
private FileUploadComponent fileUploadComponent;
@Autowired
private BaseVehicleBrandFeign baseVehicleBrandFeign;
public PagerVo<SysOrganization> listPage(PagerQuery<SysOrganizationQuery> pq) {
SysOrganizationQuery query = pq.getParams();
@ -293,6 +300,34 @@ public class SysOrganizationService extends MybatisBaseService<SysOrganizationMa
return list;
}
public ResultBean<List<SysOrgVo>> getListOrgByBrand(String orgSid) {
ResultBean<List<SysOrgVo>> rb = ResultBean.fireFail();
BaseVehicleBrandSelectQuery baseVehicleBrandSelectQuery = new BaseVehicleBrandSelectQuery();
baseVehicleBrandSelectQuery.setOrgSid(orgSid);
List<BaseVehicleBrandSelectVo> data = baseVehicleBrandFeign.selectByOrgSid(baseVehicleBrandSelectQuery).getData();
if (data.size() < 1) {
return rb.setMsg("该分公司未别品牌方授权");
}
List<String> orgSids = new ArrayList<>();
List<SysOrgVo> list = new ArrayList<>();
for (BaseVehicleBrandSelectVo datum : data) {
String sid = datum.getSid();
BaseVehicleBrand baseVehicleBrand = baseVehicleBrandFeign.fetchBySid(sid);
String useOrg = baseVehicleBrand.getUseOrg();
if (StringUtils.isNotBlank(useOrg)) {
String[] orgSidss = useOrg.split(",");
for (String sidss : orgSidss) {
if (!orgSids.contains(sidss)) {
orgSids.add(sidss);
SysOrgVo sysOrgVo = baseMapper.getListOrgByBrand(sidss);
list.add(sysOrgVo);
}
}
}
}
return rb.success().setData(list);
}
public SysOrganization selectOrgCodeByPsid() {
return baseMapper.selectOrgCodeByPsid();
}

4
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinbound/ScmApplyInboundService.java

@ -561,11 +561,11 @@ public class ScmApplyInboundService extends MybatisBaseService<ScmApplyInboundMa
try {
for(ScmApplyInboundVehicleDto s:scmApplyInboundVehicleDtos){
BdMaterial bm=new BdMaterial();
bm.setFCreateOrgId("100");//创建机构
//bm.setFCreateOrgId("100");//创建机构
ResultBean<BaseVehicle> baseVehicleResultBean = baseVehicleFeign.selectByVinNoAndOrgSid(s.getVinNo(),scmApplyInbound.getUseOrgSid());
bm.setFName(baseVehicleResultBean.getData().getVinNo());//物料名称
bm.setFMaterialGroup("03");//物料分组
bm.setFUseOrgId("100");//使用组织
//bm.setFUseOrgId("100");//使用组织
bm.setTOrgIds("100020");//欧曼黑龙江
bm.setF_PAEZ_Base("牵引");//车辆类型
list.add(bm);

2
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/modelAdjust/AppBaseModelModpriceFeign.java

@ -49,7 +49,7 @@ import javax.validation.Valid;
*/
@Api(tags = "车型调价申请表")
@FeignClient(
contextId = "anrui-base-BaseModelModprice",
contextId = "anrui-base-AppBaseModelModprice",
name = "anrui-terminal",
path = "/supplychain/v1/modelAdjust",
fallback = AppBaseModelModpriceFeignFallback.class)

Loading…
Cancel
Save