diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapply/BaseAccadjApplyService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapply/BaseAccadjApplyService.java index 5988d0586b..e235c4c70e 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapply/BaseAccadjApplyService.java +++ b/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 draftStkInStock(@RequestBody @Valid StkInStock stkInStock) throws Exception; + @ApiOperation("根据物料查询入库单的状态 的审核状态 true 审核通过 false 未审核通过") + @GetMapping("/getStinstockState/{fMaterialId}") + @ResponseBody + public ResultBean getStinstockState(@PathVariable("fMaterialId")String fMaterialId) ; @ApiOperation("暂存采购退料单的接口") @PostMapping("/draftPurMrb") @ResponseBody @@ -94,6 +98,10 @@ public interface FinKingDeeFeign { @PostMapping("/draftBdSupplier") @ResponseBody ResultBean draftBdSupplier(@RequestBody @Valid BdSupplier bdSupplier); + @ApiOperation("修改供应商的接口") + @PostMapping("/updateBdSupplier") + @ResponseBody + ResultBean updateBdSupplier(@RequestBody @Valid BdSupplier bdSupplier); @ApiOperation("新增客户信息的接口 适用客户查询的批量推送财务客户数据") @PostMapping("/draftBdCustomer") @ResponseBody @@ -130,6 +138,10 @@ public interface FinKingDeeFeign { @PostMapping("/drafBDBank") @ResponseBody public ResultBean drafBDBank(@RequestBody @Valid BDBank bdBank) ; + @ApiOperation("修改银行的接口") + @PostMapping("/updateBDBank") + @ResponseBody + public ResultBean updateBDBank(@RequestBody @Valid BDBank bdBank) ; @ApiOperation("暂存银行账号的接口") @PostMapping("/drafCNBankacnt") @ResponseBody diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeignFallBack.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeignFallBack.java index ae75852b0c..7dda670eb1 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeignFallBack.java +++ b/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 getStinstockState(String fMaterialId) { + return null; + } + @Override public ResultBean draftPurMrb(PurMrb purMrb) { return null; @@ -83,6 +88,11 @@ implements FinKingDeeFeign{ return null; } + @Override + public ResultBean updateBdSupplier(BdSupplier bdSupplier) { + return null; + } + @Override public ResultBean draftBdCustomer(BdCustomer bdCustomer) { return null; @@ -128,6 +138,11 @@ implements FinKingDeeFeign{ return null; } + @Override + public ResultBean updateBDBank(BDBank bdBank) { + return null; + } + @Override public ResultBean drafCNBankacnt(CNBankacnt cnBankacnt) { return null; diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/bdsupplier/BdSupplier.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/bdsupplier/BdSupplier.java index 7875775dbc..c45d8a44c8 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/bdsupplier/BdSupplier.java +++ b/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 (必填项)*/ diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/stkInstockNumber/FinStkInstockNumber.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/stkInstockNumber/FinStkInstockNumber.java index f7ea2a7f41..83778298e4 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/stkInstockNumber/FinStkInstockNumber.java +++ b/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 { diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java index 008823a184..8ca25d9f05 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java +++ b/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 draftStkInStock(@RequestBody @Valid StkInStock stkInStock) throws Exception { return stkInStockService.draftStkInStock(stkInStock); } + @ApiOperation("根据物料查询入库单的状态 的审核状态 true 审核通过 false 未审核通过") + @GetMapping("/getStinstockState/{fMaterialId}") + @ResponseBody + @Override + public ResultBean getStinstockState(String fMaterialId) { + return stkInStockService.getStinstockState(fMaterialId); + } + @ApiOperation("暂存采购退料单的接口") @PostMapping("/draftPurMrb") @ResponseBody @@ -230,6 +238,13 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { public ResultBean draftBdSupplier(@RequestBody @Valid BdSupplier bdSupplier) { return bdSupplierService.draftBdSupplier(bdSupplier); } + @ApiOperation("修改供应商的接口") + @PostMapping("/updateBdSupplier") + @ResponseBody + @Override + public ResultBean 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 updateBDBank(BDBank bdBank) { + return bdBankService.updateBDBank(bdBank); + } + @ApiOperation("暂存银行账号的接口") @PostMapping("/drafCNBankacnt") @ResponseBody @@ -329,12 +352,16 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { public ResultBean updateBdDepartment(BdDepartment bdDepartment) { return bdDepartmentService.updateBdDepartment(bdDepartment); } - + @ApiOperation("保存员工的接口") + @PostMapping("/saveBDEmpinfo") + @ResponseBody @Override public ResultBean saveBDEmpinfo(BDEmpinfo bdEmpinfo) { return bDEmpinfoService.saveBDEmpinfo(bdEmpinfo); } - + @ApiOperation("修改员工的接口") + @PostMapping("/updateBDEmpinfo") + @ResponseBody @Override public ResultBean updateBDEmpinfo(BDEmpinfo bdEmpinfo) { return bDEmpinfoService.updateBDEmpinfo(bdEmpinfo); diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeService.java index 7ae099d6a4..afa3ead584 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeService.java +++ b/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 viewGetId(String formId,String number){ - return viewGetId(formId,number,null,null); + return viewGetId(formId,number,null,null); + } + public ResultBean viewById(String formId,String id){ + return viewById(formId,id,null,null); } public ResultBean 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 viewById(String formId,String id,String userName,String password){ + ResultBean rb=ResultBean.fireFail(); + String getKDForNumbers = getGetKDForIds(formId,id); + ResultBean 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 diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bank/BDBankService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bank/BDBankService.java index 1ec3fd75f9..0155d43745 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bank/BDBankService.java +++ b/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 map_fEntityModel_= object2Map(bDBank); + map_fEntityModel_.put("FBANKID","0"); + map_fEntityModel_.put("IsDeleteEntry", "True"); //准备 物料列表的数据 ForEntryBill String kingDeeData = BDBankCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_); ResultBean resultBean = accessKingDeeInterface( @@ -69,4 +72,80 @@ public class BDBankService extends FinKingDeeService { return rb; } + public ResultBean updateBDBank(BDBank bdBank) { + //bdSupplier=BdSupplier.createBdSupplier(); + ResultBean rb=ResultBean.fireFail(); + try { + Map map_fEntityModel_= object2Map(bdBank); + map_fEntityModel_.put("FBANKID","0"); + map_fEntityModel_.put("IsDeleteEntry", "True"); + String kingDeeData = BdSupplierCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_); + ResultBean 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 resultBean2 = submitAndAudit(id); + return resultBean2; + } catch (Exception e) { + e.printStackTrace(); + } + return rb; + } + /** + * 新增 + * @param kingDeeData + * @return + */ + private ResultBean addBDBank(String kingDeeData,String FNumber){ + ResultBean 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 submitAndAudit( String id){ + ResultBean rb=ResultBean.fireFail(); + try{ + String submitKDTempJson = getSubmitKDTempJson(KingDeeBillId.BD_BANK.getID(),id ); + ResultBean 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 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("银行提交审核失败"); + } + } } diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bddepartment/BdDepartmentCastToKingDeeBillFields.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bddepartment/BdDepartmentCastToKingDeeBillFields.java index d265e7f49b..810b80d741 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bddepartment/BdDepartmentCastToKingDeeBillFields.java +++ b/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); diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bddepartment/data_data.json b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bddepartment/data_data.json index f8b9dc071d..7318e63684 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bddepartment/data_data.json +++ b/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", diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdempinfo/BDEmpinfoCastToKingDeeBillFields.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdempinfo/BDEmpinfoCastToKingDeeBillFields.java index b3f340514b..9063324b81 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdempinfo/BDEmpinfoCastToKingDeeBillFields.java +++ b/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(); diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdempinfo/BDEmpinfoService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdempinfo/BDEmpinfoService.java index 8af2bf8885..b26994e16b 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdempinfo/BDEmpinfoService.java +++ b/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()); //提交审核 diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdempinfo/data_data.json b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdempinfo/data_data.json index f8b9dc071d..7318e63684 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdempinfo/data_data.json +++ b/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", diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdempinfo/data_model.json b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdempinfo/data_model.json index 1fef8300e0..e79b079d90 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdempinfo/data_model.json +++ b/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": { diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdsupplier/BdSupplierCastToKingDeeBillFields.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdsupplier/BdSupplierCastToKingDeeBillFields.java index 67501ef91f..5ffdf4cc0a 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdsupplier/BdSupplierCastToKingDeeBillFields.java +++ b/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); diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdsupplier/BdSupplierService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdsupplier/BdSupplierService.java index b1ef02d53c..e1404812ed 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdsupplier/BdSupplierService.java +++ b/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 updateBdSupplier(BdSupplier bdSupplier) { + //bdSupplier=BdSupplier.createBdSupplier(); + ResultBean rb=ResultBean.fireFail(); + try { + Map map_fEntityModel_= object2Map(bdSupplier); + map_fEntityModel_.put("FSupplierId","0"); + map_fEntityModel_.put("IsDeleteEntry", "True"); + String kingDeeData = BdSupplierCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_); + ResultBean 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 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 map_fEntityModel_= object2Map(bdSupplier); + map_fEntityModel_.put("FSupplierId","0"); + map_fEntityModel_.put("IsDeleteEntry", "True"); String kingDeeData = BdSupplierCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_); ResultBean 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 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 addBdSupplier(String kingDeeData,String FNumber){ + ResultBean 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 submitAndAudit( String id){ + ResultBean rb=ResultBean.fireFail(); + try{ + String submitKDTempJson = getSubmitKDTempJson(KingDeeBillId.BD_SUPPLIER.getID(),id ); + ResultBean 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 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("供应商提交审核失败"); + } + } } diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdsupplier/data_data.json b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdsupplier/data_data.json index 8a1e182ff3..72ef9a3c53 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdsupplier/data_data.json +++ b/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", diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdsupplier/data_model.json b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdsupplier/data_model.json index 8266920407..676736cabd 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdsupplier/data_model.json +++ b/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" }, diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/push/PushService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/push/PushService.java index af0d472ca0..18bf3d31a3 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/push/PushService.java +++ b/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 getFinStkInstockNumbers(STKInStockPushPurmrb sTKInStockPushPurmrb) { - Map param=new HashMap(); - param.put("FMaterialId", sTKInStockPushPurmrb.getFMaterialId()); - param.put("UseOrdSid", sTKInStockPushPurmrb.getUseOrdSid()); - List lists=finStkInstockNumberService.getDatasByFMaterialId(param); + FinStkInstockNumber finStkInstockNumber=new FinStkInstockNumber(); + finStkInstockNumber.setFMaterialId(sTKInStockPushPurmrb.getFMaterialId()); + finStkInstockNumber.setUseOrgSid(sTKInStockPushPurmrb.getUseOrdSid()); + List lists=finStkInstockNumberService.getDatasByFMaterialId(finStkInstockNumber); return lists; } diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stkInstockNumber/FinStkInstockNumberMapper.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stkInstockNumber/FinStkInstockNumberMapper.java index 4878641836..6457340ab8 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stkInstockNumber/FinStkInstockNumberMapper.java +++ b/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 { - List getDatasByFMaterialId(Map param); + List getDatasByFMaterialId(FinStkInstockNumber finStkInstockNumber); } \ No newline at end of file diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stkInstockNumber/FinStkInstockNumberMapper.xml b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stkInstockNumber/FinStkInstockNumberMapper.xml index febb695ab6..6064e24612 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stkInstockNumber/FinStkInstockNumberMapper.xml +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stkInstockNumber/FinStkInstockNumberMapper.xml @@ -1,15 +1,15 @@ - diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stkInstockNumber/FinStkInstockNumberService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stkInstockNumber/FinStkInstockNumberService.java index 75793c752c..e4bdb63366 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stkInstockNumber/FinStkInstockNumberService.java +++ b/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 { - public List getDatasByFMaterialId(Map param) { - return baseMapper.getDatasByFMaterialId(param); + @Autowired + private FinKingDeeService finKingDeeService; + public List getDatasByFMaterialId(FinStkInstockNumber finStkInstockNumber) { + return baseMapper.getDatasByFMaterialId(finStkInstockNumber); + } + + /** + * 根据物料的id 查询最新的入库 + * @param fMaterialId + * @return + */ + public ResultBean getStinstockByFMaterialId(String fMaterialId) { + ResultBean rb=ResultBean.fireFail(); + FinStkInstockNumber finStkInstockNumber=new FinStkInstockNumber(); + finStkInstockNumber.setFMaterialId(fMaterialId); + List datasByFMaterialId = getDatasByFMaterialId(finStkInstockNumber); + if(datasByFMaterialId==null||datasByFMaterialId.size()==0){ + return rb.setMsg("没有对应的入库单!"); + } + FinStkInstockNumber finStkInstockNumber1 = datasByFMaterialId.get(0); + String stkInstockId = finStkInstockNumber1.getStkInstockId(); + ResultBean stringResultBean = finKingDeeService.viewById(KingDeeBillId.STK_INSTOCK.getID(), stkInstockId); + log.info("stkInstock:{}",stringResultBean); + return stringResultBean; } } \ No newline at end of file diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stkinstock/STKInStockService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stkinstock/STKInStockService.java index dcb441616f..8b9df5b201 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stkinstock/STKInStockService.java +++ b/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 getStinstockState(String fMaterialId){ + ResultBean rb=ResultBean.fireFail(); + ResultBean 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)); + } } diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinbound/ScmApplyInboundService.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinbound/ScmApplyInboundService.java index d444589bb6..3484a27408 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinbound/ScmApplyInboundService.java +++ b/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