Browse Source

开发金蝶修改供应商的接口(反审核、提交、审核、分配)。

2、调整出库单中中介单位的编号的设置。
3、开发金蝶修改银行的接口(反审核、提交、审核、分配)。
5、沟通并开发根据物料查询入库单的状态 的审核状态 true 审核通过  false 未审核通过 已完成。
master
yxt_djz 3 years ago
parent
commit
8dec22195a
  1. 2
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapply/BaseAccadjApplyService.java
  2. 12
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeign.java
  3. 15
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeignFallBack.java
  4. 24
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/bdsupplier/BdSupplier.java
  5. 2
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/stkInstockNumber/FinStkInstockNumber.java
  6. 31
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java
  7. 37
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeService.java
  8. 79
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bank/BDBankService.java
  9. 1
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bddepartment/BdDepartmentCastToKingDeeBillFields.java
  10. 2
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bddepartment/data_data.json
  11. 9
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdempinfo/BDEmpinfoCastToKingDeeBillFields.java
  12. 1
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdempinfo/BDEmpinfoService.java
  13. 2
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdempinfo/data_data.json
  14. 2
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdempinfo/data_model.json
  15. 1
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdsupplier/BdSupplierCastToKingDeeBillFields.java
  16. 89
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdsupplier/BdSupplierService.java
  17. 2
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdsupplier/data_data.json
  18. 2
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdsupplier/data_model.json
  19. 8
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/push/PushService.java
  20. 2
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stkInstockNumber/FinStkInstockNumberMapper.java
  21. 10
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stkInstockNumber/FinStkInstockNumberMapper.xml
  22. 32
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stkInstockNumber/FinStkInstockNumberService.java
  23. 19
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stkinstock/STKInStockService.java
  24. 3
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinbound/ScmApplyInboundService.java

2
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapply/BaseAccadjApplyService.java

@ -584,7 +584,7 @@ public class BaseAccadjApplyService extends MybatisBaseService<BaseAccadjApplyMa
/**
* 日期:FDate (必填项)
*/
salOutStock.setFDate(baseAccadjApply.getApplyDate());
salOutStock.setFDate(DateUtil.today());
/**
* 项目类别:F_PAEZ_Assistant (必填项) 集团内部调车 034
*/

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

@ -62,6 +62,10 @@ public interface FinKingDeeFeign {
@PostMapping("/draftStkInStock")
@ResponseBody
public ResultBean<String> draftStkInStock(@RequestBody @Valid StkInStock stkInStock) throws Exception;
@ApiOperation("根据物料查询入库单的状态 的审核状态 true 审核通过 false 未审核通过")
@GetMapping("/getStinstockState/{fMaterialId}")
@ResponseBody
public ResultBean<Boolean> getStinstockState(@PathVariable("fMaterialId")String fMaterialId) ;
@ApiOperation("暂存采购退料单的接口")
@PostMapping("/draftPurMrb")
@ResponseBody
@ -94,6 +98,10 @@ public interface FinKingDeeFeign {
@PostMapping("/draftBdSupplier")
@ResponseBody
ResultBean<String> draftBdSupplier(@RequestBody @Valid BdSupplier bdSupplier);
@ApiOperation("修改供应商的接口")
@PostMapping("/updateBdSupplier")
@ResponseBody
ResultBean<String> updateBdSupplier(@RequestBody @Valid BdSupplier bdSupplier);
@ApiOperation("新增客户信息的接口 适用客户查询的批量推送财务客户数据")
@PostMapping("/draftBdCustomer")
@ResponseBody
@ -130,6 +138,10 @@ public interface FinKingDeeFeign {
@PostMapping("/drafBDBank")
@ResponseBody
public ResultBean<String> drafBDBank(@RequestBody @Valid BDBank bdBank) ;
@ApiOperation("修改银行的接口")
@PostMapping("/updateBDBank")
@ResponseBody
public ResultBean<String> updateBDBank(@RequestBody @Valid BDBank bdBank) ;
@ApiOperation("暂存银行账号的接口")
@PostMapping("/drafCNBankacnt")
@ResponseBody

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

@ -44,6 +44,11 @@ implements FinKingDeeFeign{
return null;
}
@Override
public ResultBean<Boolean> getStinstockState(String fMaterialId) {
return null;
}
@Override
public ResultBean<String> draftPurMrb(PurMrb purMrb) {
return null;
@ -83,6 +88,11 @@ implements FinKingDeeFeign{
return null;
}
@Override
public ResultBean<String> updateBdSupplier(BdSupplier bdSupplier) {
return null;
}
@Override
public ResultBean<String> draftBdCustomer(BdCustomer bdCustomer) {
return null;
@ -128,6 +138,11 @@ implements FinKingDeeFeign{
return null;
}
@Override
public ResultBean<String> updateBDBank(BDBank bdBank) {
return null;
}
@Override
public ResultBean<String> drafCNBankacnt(CNBankacnt cnBankacnt) {
return null;

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

@ -11,12 +11,6 @@ public class BdSupplier {
@JsonProperty("FName")
@NotBlank(message = "FName不能为空")
public String FName;
/* 创建组织:FCreateOrgId (必填项)*/
/* @JsonProperty("FCreateOrgId")
public String FCreateOrgId;*/
/* 使用组织:FUseOrgId (必填项)*/
/* @JsonProperty("FUseOrgId")
public String FUseOrgId;*/
/* 手机:FLocMobile (必填项)*/
@JsonProperty("FLocMobile")
@NotBlank(message = "FLocMobile不能为空")
@ -25,6 +19,18 @@ public class BdSupplier {
@JsonProperty("FUseOrgId")
@NotBlank(message = "FUseOrgId不能为空")
public String FUseOrgId;
/**
* 编号 FNumber
*/
@NotBlank(message = "FNumber不能为空")
@JsonProperty("FNumber")
public String FNumber;
/* 创建组织:FCreateOrgId (必填项)*/
/* @JsonProperty("FCreateOrgId")
public String FCreateOrgId;*/
/* 使用组织:FUseOrgId (必填项)*/
/* @JsonProperty("FUseOrgId")
public String FUseOrgId;*/
/* 目标组织机构:TOrgIds (必填项)*/
/* @JsonProperty("TOrgIds")
@NotBlank
@ -41,12 +47,6 @@ public class BdSupplier {
/* 结算币别:FPayCurrencyId (必填项)*/
/* @JsonProperty("FPayCurrencyId")
public String FPayCurrencyId="PRE001";*/
/**
* 编号 FNumber
*/
@NotBlank(message = "FNumber不能为空")
@JsonProperty("FNumber")
public String FNumber;
public static BdSupplier bdSupplier=new BdSupplier();
static {
/* 名称:FName (必填项)*/

2
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/stkInstockNumber/FinStkInstockNumber.java

@ -5,9 +5,11 @@ import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "物料 分公司和金蝶系统中入库单的编号 、id关联表", description = "物料 分公司和金蝶系统中入库单的编号 、id关联表")
@TableName("fin_stkinstock_number")
public class FinStkInstockNumber extends BaseEntity {

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

@ -174,6 +174,14 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign {
public ResultBean<String> draftStkInStock(@RequestBody @Valid StkInStock stkInStock) throws Exception {
return stkInStockService.draftStkInStock(stkInStock);
}
@ApiOperation("根据物料查询入库单的状态 的审核状态 true 审核通过 false 未审核通过")
@GetMapping("/getStinstockState/{fMaterialId}")
@ResponseBody
@Override
public ResultBean<Boolean> getStinstockState(String fMaterialId) {
return stkInStockService.getStinstockState(fMaterialId);
}
@ApiOperation("暂存采购退料单的接口")
@PostMapping("/draftPurMrb")
@ResponseBody
@ -230,6 +238,13 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign {
public ResultBean<String> draftBdSupplier(@RequestBody @Valid BdSupplier bdSupplier) {
return bdSupplierService.draftBdSupplier(bdSupplier);
}
@ApiOperation("修改供应商的接口")
@PostMapping("/updateBdSupplier")
@ResponseBody
@Override
public ResultBean<String> updateBdSupplier(@RequestBody @Valid BdSupplier bdSupplier) {
return bdSupplierService.updateBdSupplier(bdSupplier);
}
@ApiOperation("暂存客户信息的接口")
@PostMapping("/draftBdCustomer")
@ResponseBody
@ -300,6 +315,14 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign {
return bdBankService.draftBDBank(bdBank);//bdCustomerService;//bdCustomerService.getKingBillDataInfoList("","");
}
@ApiOperation("修改银行的接口")
@PostMapping("/updateBDBank")
@ResponseBody
@Override
public ResultBean<String> updateBDBank(BDBank bdBank) {
return bdBankService.updateBDBank(bdBank);
}
@ApiOperation("暂存银行账号的接口")
@PostMapping("/drafCNBankacnt")
@ResponseBody
@ -329,12 +352,16 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign {
public ResultBean<String> updateBdDepartment(BdDepartment bdDepartment) {
return bdDepartmentService.updateBdDepartment(bdDepartment);
}
@ApiOperation("保存员工的接口")
@PostMapping("/saveBDEmpinfo")
@ResponseBody
@Override
public ResultBean<String> saveBDEmpinfo(BDEmpinfo bdEmpinfo) {
return bDEmpinfoService.saveBDEmpinfo(bdEmpinfo);
}
@ApiOperation("修改员工的接口")
@PostMapping("/updateBDEmpinfo")
@ResponseBody
@Override
public ResultBean<String> updateBDEmpinfo(BDEmpinfo bdEmpinfo) {
return bDEmpinfoService.updateBDEmpinfo(bdEmpinfo);

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

@ -121,7 +121,7 @@ public class FinKingDeeService {
"\\\"OrderString\\\":\\\"\\\",\\\"TopRowCount\\\":\\\"0\\\",\\\"StartRow\\\":\\\"0\\\",\\\"Limit\\\":\\\"20\\\"}\"}";
}
/**
* 构造查看接口的数据格式
* 构造查看接口的数据格式 根据number
* @return
*/
public String getGetKDForNumbers(String formId, String Numbers) {
@ -130,6 +130,7 @@ public class FinKingDeeService {
//2.3.Ids:单据内码集合,字符串类型,格式:"Id1,Id2,..."(使用内码时必录)
return "{\"formId\":\""+formId+"\",\"data\":\"{\\\"CreateOrgId\\\":\\\"\\\",\\\"Number\\\":\\\""+Numbers+"\\\",\\\"Id\\\":\\\"\\\"}\"}";
}
/**
* 构造查看接口的数据格式
* @return
@ -384,7 +385,10 @@ public class FinKingDeeService {
* @return
*/
public ResultBean<String> viewGetId(String formId,String number){
return viewGetId(formId,number,null,null);
return viewGetId(formId,number,null,null);
}
public ResultBean<String> viewById(String formId,String id){
return viewById(formId,id,null,null);
}
public ResultBean<String> viewGetId(String formId,String number,String userName,String password){
ResultBean rb=ResultBean.fireFail();
@ -417,6 +421,35 @@ public class FinKingDeeService {
}
return rb.setData("0").setMsg(KingDeeCode.NOTEXIST.getMsg());
}
public ResultBean<String> viewById(String formId,String id,String userName,String password){
ResultBean rb=ResultBean.fireFail();
String getKDForNumbers = getGetKDForIds(formId,id);
ResultBean<String> kingDataInfoByNumber = null;
try {
if(KingDeeBillId.ORG_ORGANIZATIONS.getID().equals(formId)){
kingDataInfoByNumber = accessKingDeeInterface(formId, getKDForNumbers,
kingDeeConfig.getUserName_administrator(),
kingDeeConfig.getPassword_administrator(),
KingDeeBillUrl.VIEW_URL.getURL());
}else{
kingDataInfoByNumber = accessKingDeeInterface(formId, getKDForNumbers,userName,password,KingDeeBillUrl.VIEW_URL.getURL());
}
} catch (Exception e) {
e.printStackTrace();
return rb.setMsg("查询单据出错!");
}
JSONObject jsonObject = JSONObject.parseObject(kingDataInfoByNumber.getData());
JSONObject result = (JSONObject)jsonObject.get("Result");
JSONObject responseStatus = (JSONObject)result.get("ResponseStatus");
if(responseStatus==null){
String vie_result =kingDataInfoByNumber.getData();
jsonObject = JSONObject.parseObject(vie_result);
JSONObject result1 = (JSONObject)jsonObject.get("Result");
return rb.success().setData(result1.get("Result").toString());
}
return rb.setData("0").setMsg(KingDeeCode.NOTEXIST.getMsg());
}
/**
* 提交
* @param data

79
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bank/BDBankService.java

@ -5,6 +5,7 @@ import com.yxt.anrui.fin.api.kingdee.KingDeeBillUrl;
import com.yxt.anrui.fin.api.kingdee.KingDeeResult;
import com.yxt.anrui.fin.api.kingdee.bank.BDBank;
import com.yxt.anrui.fin.biz.kingdee.FinKingDeeService;
import com.yxt.anrui.fin.biz.kingdee.bdsupplier.BdSupplierCastToKingDeeBillFields;
import com.yxt.common.core.result.ResultBean;
import org.springframework.stereotype.Service;
@ -41,6 +42,8 @@ public class BDBankService extends FinKingDeeService {
try {
//业务表的主表数据集合
Map<String,String> map_fEntityModel_= object2Map(bDBank);
map_fEntityModel_.put("FBANKID","0");
map_fEntityModel_.put("IsDeleteEntry", "True");
//准备 物料列表的数据 ForEntryBill
String kingDeeData = BDBankCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_);
ResultBean<String> resultBean = accessKingDeeInterface(
@ -69,4 +72,80 @@ public class BDBankService extends FinKingDeeService {
return rb;
}
public ResultBean<String> updateBDBank(BDBank bdBank) {
//bdSupplier=BdSupplier.createBdSupplier();
ResultBean<String> rb=ResultBean.fireFail();
try {
Map<String,String> map_fEntityModel_= object2Map(bdBank);
map_fEntityModel_.put("FBANKID","0");
map_fEntityModel_.put("IsDeleteEntry", "True");
String kingDeeData = BdSupplierCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_);
ResultBean<String> stringResultBean = viewGetId(KingDeeBillId.BD_BANK.getID(), bdBank.getFNumber());
String id = stringResultBean.getData();
if(!stringResultBean.getSuccess()&&"0".equals(id)){
return addBDBank(kingDeeData,bdBank.getFNumber());
}
//反审核
boolean c = isAudit(KingDeeBillId.BD_BANK.getID(), "C", id);
//修改
map_fEntityModel_.put("FBANKID",id);
map_fEntityModel_.put("IsDeleteEntry", "False");
map_fEntityModel_.put("fields","FName,FNumber");
kingDeeData = BdSupplierCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_);
rb= accessKingDeeInterface(KingDeeBillId.BD_BANK.getID(), kingDeeData,KingDeeBillUrl.SAVE_URL.getURL());
//提交审核
ResultBean<String> resultBean2 = submitAndAudit(id);
return resultBean2;
} catch (Exception e) {
e.printStackTrace();
}
return rb;
}
/**
* 新增
* @param kingDeeData
* @return
*/
private ResultBean<String> addBDBank(String kingDeeData,String FNumber){
ResultBean<String> rb=ResultBean.fireFail();
try{
rb= accessKingDeeInterface(KingDeeBillId.BD_BANK.getID(), kingDeeData,KingDeeBillUrl.SAVE_URL.getURL());
String s = draftResultGetId(rb.getData());
return submitAndAudit(s);
}catch (Exception e){
e.printStackTrace();
return rb.setMsg("银行新增失败");
}
}
/**
* 提交审核银行
* @param id
* @return
*/
private ResultBean<String> submitAndAudit( String id){
ResultBean<String> rb=ResultBean.fireFail();
try{
String submitKDTempJson = getSubmitKDTempJson(KingDeeBillId.BD_BANK.getID(),id );
ResultBean<String> resultBean1 = accessKingDeeInterface(KingDeeBillId.BD_BANK.getID(), submitKDTempJson,
KingDeeBillUrl.SUBMIT_URL.getURL());
if(!resultBean1.getSuccess()){
log.info("银行提交失败!");
return rb.setMsg("银行提交失败!");
}
log.info("银行提交成功!");
String auditKDTempJson = getAuditKDTempJson(KingDeeBillId.BD_BANK.getID(), id);
ResultBean<String> resultBean2 =
accessKingDeeInterface(KingDeeBillId.BD_BANK.getID(), auditKDTempJson,
KingDeeBillUrl.AUDIT_URL.getURL());
if(!resultBean2.getSuccess()){
log.info("银行审核失败!");
return rb.setMsg("银行审核失败!");
}
log.info("银行审核成功!");
return resultBean2;
} catch (Exception e){
e.printStackTrace();
return rb.setMsg("银行提交审核失败");
}
}
}

1
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bddepartment/BdDepartmentCastToKingDeeBillFields.java

@ -33,6 +33,7 @@ public class BdDepartmentCastToKingDeeBillFields {
//模板字符创转json
JSONObject jsonObj= JSONObject.parseObject(readJsonFile, Feature.OrderedField);
fEntityData_ = KingDeeUtils.replaceTemplateParams(fEntityData_, map_fEntityModel_);
JSONObject jsonFEntityData_= JSONObject.parseObject(fEntityData_,Feature.OrderedField);
fEntityModel_ =KingDeeUtils.replaceTemplateParams(fEntityModel_, map_fEntityModel_);
JSONObject jsonFEntityModel_= JSONObject.parseObject(fEntityModel_,Feature.OrderedField);

2
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bddepartment/data_data.json

@ -2,7 +2,7 @@
"Creator": "",
"NeedUpDateFields": [],
"NeedReturnFields": [],
"IsDeleteEntry": "True",
"IsDeleteEntry": "@KD_IsDeleteEntry",
"SubSystemId": "",
"IsVerifyBaseDataField": "false",
"IsEntryBatchFill": "True",

9
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdempinfo/BDEmpinfoCastToKingDeeBillFields.java

@ -1,9 +1,11 @@
package com.yxt.anrui.fin.biz.kingdee.bdempinfo;
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 com.yxt.common.base.utils.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -33,10 +35,15 @@ public class BDEmpinfoCastToKingDeeBillFields {
//模板字符创转json
JSONObject jsonObj= JSONObject.parseObject(readJsonFile, Feature.OrderedField);
fEntityData_ = KingDeeUtils.replaceTemplateParams(fEntityData_, map_fEntityModel_);
JSONObject jsonFEntityData_= JSONObject.parseObject(fEntityData_,Feature.OrderedField);
fEntityModel_ =KingDeeUtils.replaceTemplateParams(fEntityModel_, map_fEntityModel_);
JSONObject jsonFEntityModel_= JSONObject.parseObject(fEntityModel_,Feature.OrderedField);
String fields = map_fEntityModel_.get("fields");
if(StringUtils.isNotBlank(fields)){
String[] split = fields.split(",");
jsonFEntityData_.put("NeedUpDateFields", JSONArray.parseArray(JSON.toJSONString(split)));
}
jsonFEntityData_.put("Model",JSONObject.parseObject(JSON.toJSONString(jsonFEntityModel_),Feature.OrderedField));
jsonObj.put("data",jsonFEntityData_.toJSONString());
return jsonObj.toJSONString();

1
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdempinfo/BDEmpinfoService.java

@ -80,6 +80,7 @@ public class BDEmpinfoService extends FinKingDeeService {
//修改
map_fEntityModel_.put("FID",id);
map_fEntityModel_.put("IsDeleteEntry", "False");
map_fEntityModel_.put("fields","FName,FNumber,FDescription,FMobile,FAddress");
kingDeeData = BDEmpinfoCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_);
rb= accessKingDeeInterface(KingDeeBillId.BD_Empinfo.getID(), kingDeeData,KingDeeBillUrl.SAVE_URL.getURL());
//提交审核

2
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdempinfo/data_data.json

@ -2,7 +2,7 @@
"Creator": "",
"NeedUpDateFields": [],
"NeedReturnFields": [],
"IsDeleteEntry": "True",
"IsDeleteEntry": "@KD_IsDeleteEntry",
"SubSystemId": "",
"IsVerifyBaseDataField": "false",
"IsEntryBatchFill": "True",

2
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdempinfo/data_model.json

@ -1,6 +1,6 @@
{
"FID": @KD_FID,
"FName": "@KD_FNAME",
"FName": "@KD_FName",
"FMobile": "@KD_FMobile",
"FAddress": "@KD_FAddress",
"FUseOrgId": {

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

@ -33,6 +33,7 @@ public class BdSupplierCastToKingDeeBillFields {
//模板字符创转json
JSONObject jsonObj= JSONObject.parseObject(readJsonFile, Feature.OrderedField);
fEntityData_ = KingDeeUtils.replaceTemplateParams(fEntityData_, map_fEntityModel_);
JSONObject jsonFEntityData_= JSONObject.parseObject(fEntityData_,Feature.OrderedField);
fEntityModel_ =KingDeeUtils.replaceTemplateParams(fEntityModel_, map_fEntityModel_);
JSONObject jsonFEntityModel_= JSONObject.parseObject(fEntityModel_,Feature.OrderedField);

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

@ -6,6 +6,7 @@ import com.yxt.anrui.fin.api.kingdee.KingDeeResult;
import com.yxt.anrui.fin.api.kingdee.bdsupplier.BdSupplier;
import com.yxt.anrui.fin.biz.kingdee.FinKingDeeService;
import com.yxt.anrui.fin.biz.kingdee.KingDeeConfig;
import com.yxt.anrui.fin.biz.kingdee.bdempinfo.BDEmpinfoCastToKingDeeBillFields;
import com.yxt.common.core.result.ResultBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -35,6 +36,36 @@ public class BdSupplierService extends FinKingDeeService {
}
return rb.success().setData(list);
}
public ResultBean<String> updateBdSupplier(BdSupplier bdSupplier) {
//bdSupplier=BdSupplier.createBdSupplier();
ResultBean<String> rb=ResultBean.fireFail();
try {
Map<String,String> map_fEntityModel_= object2Map(bdSupplier);
map_fEntityModel_.put("FSupplierId","0");
map_fEntityModel_.put("IsDeleteEntry", "True");
String kingDeeData = BdSupplierCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_);
ResultBean<String> stringResultBean = viewGetId(KingDeeBillId.BD_SUPPLIER.getID(), bdSupplier.getFNumber());
String id = stringResultBean.getData();
if(!stringResultBean.getSuccess()&&"0".equals(id)){
return addBdSupplier(kingDeeData,bdSupplier.getFNumber());
}
//反审核
boolean c = isAudit(KingDeeBillId.BD_SUPPLIER.getID(), "C", id);
//修改
map_fEntityModel_.put("FSupplierId",id);
map_fEntityModel_.put("IsDeleteEntry", "False");
map_fEntityModel_.put("fields","FName,FNumber,FLocMobile");
kingDeeData = BdSupplierCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_);
rb= accessKingDeeInterface(KingDeeBillId.BD_SUPPLIER.getID(), kingDeeData,KingDeeBillUrl.SAVE_URL.getURL());
//提交审核
ResultBean<String> resultBean2 = submitAndAudit(id);
return resultBean2;
} catch (Exception e) {
e.printStackTrace();
}
return rb;
}
/**
* 保存供应商
* @param bdSupplier
@ -46,6 +77,8 @@ public class BdSupplierService extends FinKingDeeService {
try {
//业务表的主表数据集合
Map<String,String> map_fEntityModel_= object2Map(bdSupplier);
map_fEntityModel_.put("FSupplierId","0");
map_fEntityModel_.put("IsDeleteEntry", "True");
String kingDeeData = BdSupplierCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_);
ResultBean<String> resultBean = accessKingDeeInterface(KingDeeBillId.BD_SUPPLIER.getID(), kingDeeData,
kingDeeConfig.getUserName_administrator(),kingDeeConfig.getPassword_administrator(), KingDeeBillUrl.DRAFT_URL.getURL());
@ -64,18 +97,58 @@ public class BdSupplierService extends FinKingDeeService {
return rb.setMsg("供应商审核失败!");
}
log.info("供应商审核成功!");
/* String allocate = getAllocate(resultBean.getData(),bdSupplier.getTOrgIds(),KingDeeBillId.BD_SUPPLIER.getID());
ResultBean<String> resultBean3 = accessKingDeeInterface(
KingDeeBillId.BD_SUPPLIER.getID(), allocate,KingDeeBillUrl.ALLOCATE_URL.getURL());
if(!resultBean3.getSuccess()){
log.info("供应商分配失败!");
return rb.setMsg("供应商分配失败!");
}
log.info("供应商分配成功!");*/
return resultBean2;
} catch (Exception e) {
e.printStackTrace();
}
return rb;
}
/**
* 新增
* @param kingDeeData
* @return
*/
private ResultBean<String> addBdSupplier(String kingDeeData,String FNumber){
ResultBean<String> rb=ResultBean.fireFail();
try{
rb= accessKingDeeInterface(KingDeeBillId.BD_SUPPLIER.getID(), kingDeeData,KingDeeBillUrl.SAVE_URL.getURL());
String s = draftResultGetId(rb.getData());
return submitAndAudit(s);
}catch (Exception e){
e.printStackTrace();
return rb.setMsg("供应商新增失败");
}
}
/**
* 提交审核供应商
* @param id
* @return
*/
private ResultBean<String> submitAndAudit( String id){
ResultBean<String> rb=ResultBean.fireFail();
try{
String submitKDTempJson = getSubmitKDTempJson(KingDeeBillId.BD_SUPPLIER.getID(),id );
ResultBean<String> resultBean1 = accessKingDeeInterface(KingDeeBillId.BD_SUPPLIER.getID(), submitKDTempJson,
KingDeeBillUrl.SUBMIT_URL.getURL());
if(!resultBean1.getSuccess()){
log.info("供应商提交失败!");
return rb.setMsg("供应商提交失败!");
}
log.info("供应商提交成功!");
String auditKDTempJson = getAuditKDTempJson(KingDeeBillId.BD_SUPPLIER.getID(), id);
ResultBean<String> resultBean2 =
accessKingDeeInterface(KingDeeBillId.BD_SUPPLIER.getID(), auditKDTempJson,
KingDeeBillUrl.AUDIT_URL.getURL());
if(!resultBean2.getSuccess()){
log.info("供应商审核失败!");
return rb.setMsg("供应商审核失败!");
}
log.info("供应商审核成功!");
return resultBean2;
} catch (Exception e){
e.printStackTrace();
return rb.setMsg("供应商提交审核失败");
}
}
}

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

@ -2,7 +2,7 @@
"Creator": "",
"NeedUpDateFields": [],
"NeedReturnFields": [],
"IsDeleteEntry": "True",
"IsDeleteEntry": "@KD_IsDeleteEntry",
"SubSystemId": "",
"IsVerifyBaseDataField": "false",
"IsEntryBatchFill": "True",

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

@ -1,5 +1,5 @@
{
"FSupplierId": 0,
"FSupplierId": @KD_FSupplierId,
"FCreateOrgId": {
"FNumber": "@KD_FUseOrgId"
},

8
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/push/PushService.java

@ -84,10 +84,10 @@ public class PushService extends FinKingDeeService {
* @return
*/
private List<FinStkInstockNumber> getFinStkInstockNumbers(STKInStockPushPurmrb sTKInStockPushPurmrb) {
Map<String,String> param=new HashMap<String ,String>();
param.put("FMaterialId", sTKInStockPushPurmrb.getFMaterialId());
param.put("UseOrdSid", sTKInStockPushPurmrb.getUseOrdSid());
List<FinStkInstockNumber> lists=finStkInstockNumberService.getDatasByFMaterialId(param);
FinStkInstockNumber finStkInstockNumber=new FinStkInstockNumber();
finStkInstockNumber.setFMaterialId(sTKInStockPushPurmrb.getFMaterialId());
finStkInstockNumber.setUseOrgSid(sTKInStockPushPurmrb.getUseOrdSid());
List<FinStkInstockNumber> lists=finStkInstockNumberService.getDatasByFMaterialId(finStkInstockNumber);
return lists;
}

2
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stkInstockNumber/FinStkInstockNumberMapper.java

@ -55,5 +55,5 @@ import java.util.Map;
*/
@Mapper
public interface FinStkInstockNumberMapper extends BaseMapper<FinStkInstockNumber> {
List<FinStkInstockNumber> getDatasByFMaterialId(Map<String,String> param);
List<FinStkInstockNumber> getDatasByFMaterialId(FinStkInstockNumber finStkInstockNumber);
}

10
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stkInstockNumber/FinStkInstockNumberMapper.xml

@ -1,15 +1,15 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.anrui.fin.biz.kingdee.stkInstockNumber.FinStkInstockNumberMapper">
<select id="getDatasByFMaterialId" parameterType="Map"
<select id="getDatasByFMaterialId" parameterType="com.yxt.anrui.fin.api.kingdee.stkInstockNumber.FinStkInstockNumber"
resultType="com.yxt.anrui.fin.api.kingdee.stkInstockNumber.FinStkInstockNumber">
select * from fin_stkInstock_number
where 1=1
<if test="FMaterialId!=null">
and fMaterialId=#{FMaterialId}
<if test="fMaterialId!=null">
and fMaterialId=#{fMaterialId}
</if>
<if test="UseOrgSid!=null">
and useOrgSid=#{UseOrgSid}
<if test="useOrgSid!=null">
and useOrgSid=#{useOrgSid}
</if>
order by id desc;
</select>

32
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stkInstockNumber/FinStkInstockNumberService.java

@ -25,9 +25,14 @@
*********************************************************/
package com.yxt.anrui.fin.biz.kingdee.stkInstockNumber;
import com.yxt.anrui.fin.api.kingdee.KingDeeBillId;
import com.yxt.anrui.fin.api.kingdee.push.STKInStockPushPurmrb;
import com.yxt.anrui.fin.api.kingdee.stkInstockNumber.FinStkInstockNumber;
import com.yxt.anrui.fin.biz.kingdee.FinKingDeeService;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.core.result.ResultBean;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@ -47,9 +52,32 @@ import java.util.Map;
* @version 1.0
* @since 1.0
*/
@Slf4j
@Service
public class FinStkInstockNumberService extends MybatisBaseService<FinStkInstockNumberMapper, FinStkInstockNumber> {
public List<FinStkInstockNumber> getDatasByFMaterialId(Map<String,String> param) {
return baseMapper.getDatasByFMaterialId(param);
@Autowired
private FinKingDeeService finKingDeeService;
public List<FinStkInstockNumber> getDatasByFMaterialId(FinStkInstockNumber finStkInstockNumber) {
return baseMapper.getDatasByFMaterialId(finStkInstockNumber);
}
/**
* 根据物料的id 查询最新的入库
* @param fMaterialId
* @return
*/
public ResultBean<String> getStinstockByFMaterialId(String fMaterialId) {
ResultBean<String> rb=ResultBean.fireFail();
FinStkInstockNumber finStkInstockNumber=new FinStkInstockNumber();
finStkInstockNumber.setFMaterialId(fMaterialId);
List<FinStkInstockNumber> datasByFMaterialId = getDatasByFMaterialId(finStkInstockNumber);
if(datasByFMaterialId==null||datasByFMaterialId.size()==0){
return rb.setMsg("没有对应的入库单!");
}
FinStkInstockNumber finStkInstockNumber1 = datasByFMaterialId.get(0);
String stkInstockId = finStkInstockNumber1.getStkInstockId();
ResultBean<String> stringResultBean = finKingDeeService.viewById(KingDeeBillId.STK_INSTOCK.getID(), stkInstockId);
log.info("stkInstock:{}",stringResultBean);
return stringResultBean;
}
}

19
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stkinstock/STKInStockService.java

@ -185,4 +185,23 @@ public class STKInStockService extends FinKingDeeService {
}
}
/**
* 根据物料查询入库单的状态 的审核状态 true 审核通过 false 未审核通过
* @param fMaterialId
* @return
*/
public ResultBean<Boolean> getStinstockState(String fMaterialId){
ResultBean rb=ResultBean.fireFail();
ResultBean<String> stinstockByFMaterialId = finStkInstockNumberService.getStinstockByFMaterialId(fMaterialId);
if(!stinstockByFMaterialId.getSuccess()||stinstockByFMaterialId.getData()==null){
return rb.setData(false);
}
String data = stinstockByFMaterialId.getData();
log.info("getStinstockState:{}",data);
JSONObject jsonObject = JSONObject.parseObject(data);
String documentStatus = (String)jsonObject.get("DocumentStatus");
log.info("getStinstockState-documentStatus:{}",documentStatus);
return rb.setData("C".equals(documentStatus));
}
}

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

@ -1,6 +1,7 @@
package com.yxt.anrui.scm.biz.scmapplyinbound;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.thread.ThreadUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@ -640,7 +641,7 @@ public class ScmApplyInboundService extends MybatisBaseService<ScmApplyInboundMa
// stkInStock.setFStockOrgId("101");// 收料组织
stkInStock.setFPurchaseDeptId("05.04");// 采购部门
stkInStock.setFSupplierId("010001");// 供应商
stkInStock.setFDate(scmApplyInbound.getApplicationDate());
stkInStock.setFDate(DateUtil.today());
// stkInStock.setFOwnerIdHead("101");// 货主
// stkInStock.setFSettleOrgId("101"); // 结算组织
stkInStock.setTOrgId("100012");

Loading…
Cancel
Save