Browse Source

Merge remote-tracking branch 'origin/master'

zhanglei
God 3 years ago
parent
commit
8338c9d092
  1. 2
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/KingDeeBillId.java
  2. 13
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/bdmaterial/BdMaterial.java
  3. 32
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/bdmaterialcategory/BDMaterialcategory.java
  4. 25
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/bdsettletype/BDSettleType.java
  5. 49
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/stkinstock/StkInStock.java
  6. 2
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java
  7. 8
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeService.java
  8. 43
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdmaterial/BdMaterialService.java
  9. 44
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdmaterialcategory/BDMaterialcategoryCastToKingDeeBillFields.java
  10. 72
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdmaterialcategory/BDMaterialcategoryService.java
  11. 4
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdmaterialcategory/data.json
  12. 13
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdmaterialcategory/data_data.json
  13. 11
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdmaterialcategory/data_model.json
  14. 48
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdmaterialcategory/remarks.txt
  15. 23
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdmaterialcategory/webapi测试的数据.txt
  16. BIN
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdmaterialcategory/存货类别的参数必填备注.xlsx
  17. 44
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdsettletype/BDSettleTypeCastToKingDeeBillFields.java
  18. 74
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdsettletype/BDSettleTypeService.java
  19. 4
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdsettletype/data.json
  20. 13
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdsettletype/data_data.json
  21. 16
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdsettletype/data_model.json
  22. 56
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdsettletype/remarks.txt
  23. 28
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdsettletype/webapi测试的数据.txt
  24. BIN
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdsettletype/结算方式的参数必填备注.xlsx
  25. 4
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/paezcllx/PaezCllxService.java
  26. 2
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stkinstock/STKInStockService.java
  27. 4
      anrui-fin/anrui-fin-biz/src/main/resources/application-dev.yml
  28. 2
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/app/AppSysUserFeign.java
  29. 18
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclegression/ScmVehicleGressionService.java
  30. 198
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclepatrolinspectionsheet/ScmVehiclePatrolinspectionsheetService.java
  31. 159
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehinventoryreport/ScmVehInventoryreportService.java
  32. 24
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehpatrolinspectionreport/ScmVehPatrolinspectionreportService.java

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

@ -16,6 +16,8 @@ public enum KingDeeBillId {
BD_BANK("BD_BANK","银行"), BD_BANK("BD_BANK","银行"),
CN_BANKACNT("CN_BANKACNT","银行账号"), CN_BANKACNT("CN_BANKACNT","银行账号"),
PAEZ_CLLX("PAEZ_CLLX","车辆类型"), PAEZ_CLLX("PAEZ_CLLX","车辆类型"),
BD_MATERIALCATEGORY("BD_MATERIALCATEGORY","存货类别"),
BD_SETTLETYPE("BD_SETTLETYPE","结算方式"),
CN_RECPAYPURPOSE("CN_RECPAYPURPOSE","收付款用途"), CN_RECPAYPURPOSE("CN_RECPAYPURPOSE","收付款用途"),
BD_STOCK("BD_STOCK","仓库"); BD_STOCK("BD_STOCK","仓库");
private String ID; private String ID;

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

@ -77,6 +77,12 @@ public class BdMaterial {
*/ */
@JsonProperty("FDescription") @JsonProperty("FDescription")
public String FDescription=""; public String FDescription="";
@NotBlank(message = "存货类别:FCategoryIDKey ")
@JsonProperty("FCategoryIDKey")
public String FCategoryIDKey;
@NotBlank(message = "存货类别:FCategoryIDType")
@JsonProperty("FCategoryIDType")
public String FCategoryIDType;
/** /**
*创建组织:FCreateOrgId (必填项) *创建组织:FCreateOrgId (必填项)
*/ */
@ -93,12 +99,7 @@ public class BdMaterial {
/*@NotBlank(message = "存货类别:FCategoryID ") /*@NotBlank(message = "存货类别:FCategoryID ")
@JsonProperty("FCategoryID") @JsonProperty("FCategoryID")
public String FCategoryID;*/ public String FCategoryID;*/
@NotBlank(message = "存货类别:FCategoryIDKey ")
@JsonProperty("FCategoryIDKey")
public String FCategoryIDKey;
@NotBlank(message = "存货类别:FCategoryIDType")
@JsonProperty("FCategoryIDType")
public String FCategoryIDType;
public final static BdMaterial bdMaterial = new BdMaterial(); public final static BdMaterial bdMaterial = new BdMaterial();
static { static {
/** /**

32
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/bdmaterialcategory/BDMaterialcategory.java

@ -0,0 +1,32 @@
package com.yxt.anrui.fin.api.kingdee.bdmaterialcategory;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* 存货类别
*/
@Data
public class BDMaterialcategory {
/* 名称:FName (必填项)*/
@JsonProperty("FName")
@NotBlank(message = "FName不能为空")
public String FName;
/*编码:FNumber (必填项)*/
@JsonProperty("FNumber")
@NotBlank(message = "FNumber不能为空")
public String FNumber;
/*使用组织:FUseOrgId (必填项)*/
@JsonProperty("FUseOrgId")
@NotBlank(message = "FUseOrgId不能为空")
public String FUseOrgId;
/*创建组织:FCreateOrgId (必填项)*/
@JsonProperty("FCreateOrgId")
@NotBlank(message = "FCreateOrgId不能为空")
public String FCreateOrgId;
/*描述:FDescription*/
@JsonProperty("FDescription")
public String FDescription;
}

25
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/bdsettletype/BDSettleType.java

@ -0,0 +1,25 @@
package com.yxt.anrui.fin.api.kingdee.bdsettletype;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* 结算方式
*/
@Data
public class BDSettleType {
/*业务分类:FTYPE (必填项)*/
@JsonProperty("FTYPE")
@NotBlank(message = "FTYPE不能为空")
public String FTYPE;
/*结算方式类别:FSETTLECATEGORY (必填项)*/
@JsonProperty("FSETTLECATEGORY")
@NotBlank(message = "FSETTLECATEGORY不能为空")
public String FSETTLECATEGORY;
/*名称:FName (必填项)*/
@JsonProperty("FName")
@NotBlank(message = "FName不能为空")
public String FName;
}

49
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/stkinstock/StkInStock.java

@ -105,30 +105,6 @@ public class StkInStock {
@NotBlank(message = "FMaterialId不能为空") @NotBlank(message = "FMaterialId不能为空")
public String FMaterialId; public String FMaterialId;
/**
* // 库存单位:FUnitID (必填项)
*///@JsonProperty("FUnitID")
//@NotBlank
//public String FUnitID="liang";
/**
* // 实收数量:FRealQty
*///@JsonProperty("FRealQty")
//@NotBlank
//public double FRealQty;
/**
* // 计价数量:FPriceUnitQty
*///@JsonProperty("FPriceUnitQty")
// @NotBlank
// public String FPriceUnitQty;
/**
* // 采购数量:FRemainInStockQty
*///@JsonProperty("FRemainInStockQty")
// @NotBlank
//public double FRemainInStockQty;
/** /**
* // 批号:FLot * // 批号:FLot
*/ */
@ -159,6 +135,31 @@ public class StkInStock {
@JsonProperty("FNote") @JsonProperty("FNote")
public String FNote=""; public String FNote="";
/**
* // 库存单位:FUnitID (必填项)
*///@JsonProperty("FUnitID")
//@NotBlank
//public String FUnitID="liang";
/**
* // 实收数量:FRealQty
*///@JsonProperty("FRealQty")
//@NotBlank
//public double FRealQty;
/**
* // 计价数量:FPriceUnitQty
*///@JsonProperty("FPriceUnitQty")
// @NotBlank
// public String FPriceUnitQty;
/**
* // 采购数量:FRemainInStockQty
*///@JsonProperty("FRemainInStockQty")
// @NotBlank
//public double FRemainInStockQty;
} }
public final static StkInStock stkInStock = new StkInStock(); public final static StkInStock stkInStock = new StkInStock();

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

@ -264,7 +264,7 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign {
return cnBankcntService.draftCNBankcnt(cNBankacnt);//bdCustomerService;//bdCustomerService.getKingBillDataInfoList("",""); return cnBankcntService.draftCNBankcnt(cNBankacnt);//bdCustomerService;//bdCustomerService.getKingBillDataInfoList("","");
} }
@ApiOperation("暂存银行账号的接口") @ApiOperation("暂存收付款用途的接口")
@PostMapping("/draftCNRecpaypurpose") @PostMapping("/draftCNRecpaypurpose")
@ResponseBody @ResponseBody
@Override @Override

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

@ -1,5 +1,6 @@
package com.yxt.anrui.fin.biz.kingdee; package com.yxt.anrui.fin.biz.kingdee;
import cn.hutool.json.JSONString;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.yxt.anrui.fin.api.kingdee.KingDeeBillId; import com.yxt.anrui.fin.api.kingdee.KingDeeBillId;
@ -172,7 +173,7 @@ public class FinKingDeeService {
} }
public String getUnAuditKD(String s, String id) { public String getUnAuditKD(String s, String id) {
// "{\"formId\":\""+formId+"\",\"data\":\"{\\\"CreateOrgId\\\":\\\"\\\",\\\"Numbers\\\":[],\\\"Ids\\\":\\\""+s+"\\\",\\\"InterationFlags\\\":\\\"\\\"}\"}"; // "{\"formId\":\""+formId+"\",\"data\":\"{\\\"CreateOrgId\\\":\\\"\\\",\\\"Numbers\\\":[],\\\"Ids\\\":\\\""+s+"\\\",\\\"InterationFlags\\\":\\\"\\\"}\"}";
return"{\"formId\":\""+ id+"\",\"data\":\"{\\\"CreateOrgId\\\":\\\"\\\",\\\"Numbers\\\":[],\\\"Ids\\\":\\\""+s+"\\\",\\\"InterationFlags\\\":\\\"\\\"}\"}"; return"{\"formId\":\""+ id+"\",\"data\":\"{\\\"CreateOrgId\\\":\\\"\\\",\\\"Numbers\\\":[],\\\"Ids\\\":\\\""+s+"\\\",\\\"InterationFlags\\\":\\\"\\\"}\"}";
} }
public String getSubmitKD(String data,String formId) { public String getSubmitKD(String data,String formId) {
@ -251,7 +252,10 @@ public class FinKingDeeService {
*/ */
public ResultBean< String> setMappingInfosParams(Map<String, String> map_fEntityModel_, Map<String, Object> data,List<KeyItem> kis){ public ResultBean< String> setMappingInfosParams(Map<String, String> map_fEntityModel_, Map<String, Object> data,List<KeyItem> kis){
ResultBean< String> rb=ResultBean.fireFail(); ResultBean< String> rb=ResultBean.fireFail();
log.info("setMappingInfosParams.data:{}", JSONObject.toJSONString(data));
for(Map.Entry<String, Object> entry : data.entrySet()){ for(Map.Entry<String, Object> entry : data.entrySet()){
log.info("setMappingInfosParams.entry:{}",JSONObject.toJSONString(entry));
log.info("setMappingInfosParams.data.entrySet():{}",JSONObject.toJSONString(entry));
Object value = entry.getValue(); Object value = entry.getValue();
if(value==null){ if(value==null){
log.info("物料映射表不存在值!"); log.info("物料映射表不存在值!");
@ -262,6 +266,7 @@ public class FinKingDeeService {
JSONObject s= (JSONObject) jsonArray.get(i); JSONObject s= (JSONObject) jsonArray.get(i);
Object map_item = s.get("map_item"); Object map_item = s.get("map_item");
Object map_itemKey = s.get("map_itemKey"); Object map_itemKey = s.get("map_itemKey");
Object map_itemValue = s.get("map_itemValue");
if(map_item==null|| map_itemKey==null){ if(map_item==null|| map_itemKey==null){
log.info("物料映射表不存在值!"); log.info("物料映射表不存在值!");
return rb.setMsg("物料映射表不存在值!"); return rb.setMsg("物料映射表不存在值!");
@ -269,6 +274,7 @@ public class FinKingDeeService {
kis.forEach(keyItem -> { kis.forEach(keyItem -> {
if(map_item.equals(keyItem.getItem())){ if(map_item.equals(keyItem.getItem())){
map_fEntityModel_.put(keyItem.getKey(),map_itemKey.toString()); map_fEntityModel_.put(keyItem.getKey(),map_itemKey.toString());
map_fEntityModel_.put(keyItem.getKey()+"Name",map_itemValue.toString());
} }
}); });
} }

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

@ -1,19 +1,17 @@
package com.yxt.anrui.fin.biz.kingdee.bdmaterial; package com.yxt.anrui.fin.biz.kingdee.bdmaterial;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.yxt.anrui.fin.api.kingdee.KingDeeBillId; import com.yxt.anrui.fin.api.kingdee.KingDeeBillId;
import com.yxt.anrui.fin.api.kingdee.KingDeeBillUrl; import com.yxt.anrui.fin.api.kingdee.KingDeeBillUrl;
import com.yxt.anrui.fin.api.kingdee.KingDeeCode; import com.yxt.anrui.fin.api.kingdee.KingDeeCode;
import com.yxt.anrui.fin.api.kingdee.bank.BDBank;
import com.yxt.anrui.fin.api.kingdee.bdmaterial.BdMaterial; import com.yxt.anrui.fin.api.kingdee.bdmaterial.BdMaterial;
import com.yxt.anrui.fin.api.kingdee.bdmaterialcategory.BDMaterialcategory;
import com.yxt.anrui.fin.api.kingdee.paezcllx.PaezCllx; import com.yxt.anrui.fin.api.kingdee.paezcllx.PaezCllx;
import com.yxt.anrui.fin.biz.kingdee.FinKingDeeService; import com.yxt.anrui.fin.biz.kingdee.FinKingDeeService;
import com.yxt.anrui.fin.biz.kingdee.KingDeeConfig; import com.yxt.anrui.fin.biz.kingdee.KingDeeConfig;
import com.yxt.anrui.fin.biz.kingdee.bdmaterialcategory.BDMaterialcategoryService;
import com.yxt.anrui.fin.biz.kingdee.paezcllx.PaezCllxService; import com.yxt.anrui.fin.biz.kingdee.paezcllx.PaezCllxService;
import com.yxt.anrui.portal.api.dictcommon.DictCommonFeign;
import com.yxt.anrui.portal.api.sysmapping.SysMappingInfoQueryBatch; import com.yxt.anrui.portal.api.sysmapping.SysMappingInfoQueryBatch;
import com.yxt.common.base.utils.StringUtils; import com.yxt.common.base.utils.StringUtils;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
@ -34,6 +32,8 @@ public class BdMaterialService extends FinKingDeeService {
private static Logger log= LoggerFactory.getLogger(BdMaterialService.class); private static Logger log= LoggerFactory.getLogger(BdMaterialService.class);
@Autowired @Autowired
private PaezCllxService paezCllxService; private PaezCllxService paezCllxService;
@Autowired
private BDMaterialcategoryService bDMaterialcategoryService;
/** /**
* 批量暂存物料 list * 批量暂存物料 list
* @param bdMaterials * @param bdMaterials
@ -139,20 +139,32 @@ public class BdMaterialService extends FinKingDeeService {
try { try {
//车辆类型 //车辆类型
String F_PAEZ_Base = map_fEntityModel_.get("F_PAEZ_Base"); String F_PAEZ_Base = map_fEntityModel_.get("F_PAEZ_Base");
JSONObject result = view(F_PAEZ_Base); JSONObject result_F_PAEZ_Base = view(KingDeeBillId.PAEZ_CLLX.getID(),F_PAEZ_Base);
log.info(JSONObject.toJSONString(result)); log.info(JSONObject.toJSONString(result_F_PAEZ_Base));
Object result1 = result.get("Result"); if(result_F_PAEZ_Base.get("Result")==null){
if(result1==null){
PaezCllx p=new PaezCllx(); PaezCllx p=new PaezCllx();
String TOrgIds = map_fEntityModel_.get("TOrgIds"); String TOrgIds = map_fEntityModel_.get("TOrgIds");
p.setFUseOrgId(TOrgIds); p.setFUseOrgId(TOrgIds);
p.setFCreateOrgId(TOrgIds); p.setFCreateOrgId(TOrgIds);
String F_PAEZ_BaseName = map_fEntityModel_.get("F_PAEZ_BaseName"); String F_PAEZ_BaseName = map_fEntityModel_.get("F_PAEZ_BaseName");
p.setFName(F_PAEZ_BaseName); p.setFName(F_PAEZ_BaseName);
String F_PAEZ_BaseKey = map_fEntityModel_.get("F_PAEZ_BaseKey"); p.setFNumber(F_PAEZ_Base);
p.setFNumber(F_PAEZ_BaseKey);
paezCllxService.draftPaezCllx(p); paezCllxService.draftPaezCllx(p);
} }
//存货类别
String FCategoryID = map_fEntityModel_.get("FCategoryID");
JSONObject result_FCategory = view(KingDeeBillId.BD_MATERIALCATEGORY.getID(),FCategoryID);
log.info(JSONObject.toJSONString(result_FCategory));
if(result_FCategory.get("Result")==null){
BDMaterialcategory b=new BDMaterialcategory();
String TOrgIds = map_fEntityModel_.get("TOrgIds");
b.setFUseOrgId(TOrgIds);
b.setFCreateOrgId(TOrgIds);
String F_PAEZ_BaseName = map_fEntityModel_.get("FCategoryIDName");
b.setFName(F_PAEZ_BaseName);
b.setFNumber(FCategoryID);
bDMaterialcategoryService.draftBDMaterialcategory(b);
}
ResultBean<String> draft = draft(kingDeeData); ResultBean<String> draft = draft(kingDeeData);
String data = draft.getData(); String data = draft.getData();
ResultBean<String> submit = submitAuditAllocate(data); ResultBean<String> submit = submitAuditAllocate(data);
@ -335,7 +347,7 @@ public class BdMaterialService extends FinKingDeeService {
*/ */
public ResultBean<String> unAudit(BdMaterial bdMaterial) throws Exception { public ResultBean<String> unAudit(BdMaterial bdMaterial) throws Exception {
ResultBean<String> rb=ResultBean.fireFail(); ResultBean<String> rb=ResultBean.fireFail();
JSONObject result = view(bdMaterial.getOldFName()); JSONObject result = viewBdMaterial(KingDeeBillId.BD_MATERIAL.getID(),bdMaterial.getOldFName());
JSONObject responseStatus = (JSONObject)result.get("ResponseStatus"); JSONObject responseStatus = (JSONObject)result.get("ResponseStatus");
if(responseStatus!=null){//不存在该物料 //新增物料 if(responseStatus!=null){//不存在该物料 //新增物料
return rb.setCode(KingDeeCode.NOTEXIST.getCode()).setMsg(KingDeeCode.NOTEXIST.getMsg()); return rb.setCode(KingDeeCode.NOTEXIST.getCode()).setMsg(KingDeeCode.NOTEXIST.getMsg());
@ -354,13 +366,18 @@ public class BdMaterialService extends FinKingDeeService {
/** /**
* 查看物料 * 查看物料
* @param formid
* @param oldFName * @param oldFName
* @return * @return
* @throws Exception * @throws Exception
*/ */
private JSONObject view(String oldFName) throws Exception { private JSONObject viewBdMaterial(String formid,String oldFName) throws Exception {
String getKDForNumbers = getGetKDForNumbers(KingDeeBillId.BD_MATERIAL.getID(), oldFName); String getKDForNumbers = getGetKDForNumbers(KingDeeBillId.BD_MATERIAL.getID(), oldFName);
ResultBean<String> kingDataInfoByNumber = accessKingDeeInterface(KingDeeBillId.BD_MATERIAL.getID(), getKDForNumbers, return view(formid,getKDForNumbers);
}
private JSONObject view(String formid,String getKDForNumbers) throws Exception {
ResultBean<String> kingDataInfoByNumber = accessKingDeeInterface(formid, getKDForNumbers,
KingDeeConfig.userName_administrator,KingDeeConfig.password_administrator, KingDeeBillUrl.VIEW_URL.getURL()); KingDeeConfig.userName_administrator,KingDeeConfig.password_administrator, KingDeeBillUrl.VIEW_URL.getURL());
log.info("kingDataInfoByNumber:{}",kingDataInfoByNumber.getData()); log.info("kingDataInfoByNumber:{}",kingDataInfoByNumber.getData());
JSONObject jsonObject = JSONObject.parseObject(kingDataInfoByNumber.getData().toString()); JSONObject jsonObject = JSONObject.parseObject(kingDataInfoByNumber.getData().toString());

44
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdmaterialcategory/BDMaterialcategoryCastToKingDeeBillFields.java

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

72
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdmaterialcategory/BDMaterialcategoryService.java

@ -0,0 +1,72 @@
package com.yxt.anrui.fin.biz.kingdee.bdmaterialcategory;
import com.yxt.anrui.fin.api.kingdee.KingDeeBillId;
import com.yxt.anrui.fin.api.kingdee.KingDeeBillUrl;
import com.yxt.anrui.fin.api.kingdee.KingDeeResult;
import com.yxt.anrui.fin.api.kingdee.bdmaterialcategory.BDMaterialcategory;
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 BDMaterialcategoryService extends FinKingDeeService {
/**
* 保存存货类别信息 list
* @param bDMaterialcategory
* @return
*/
public ResultBean<List<KingDeeResult>> draftBDMaterialcategoryList(List<BDMaterialcategory> bDMaterialcategory) {
List<KingDeeResult> list=new ArrayList<>();
ResultBean rb=ResultBean.fireFail();
for(BDMaterialcategory p:bDMaterialcategory) {
ResultBean<List<KingDeeResult>> resultBean = draftBDMaterialcategory(p);
if (resultBean.getSuccess()) {
list.add(resultBean.getData().get(0));
}
}
return rb.success().setData(list);
}
/**
* 保存存货类别信息
* @param bDMaterialcategory
* @return
*/
public ResultBean draftBDMaterialcategory(BDMaterialcategory bDMaterialcategory) {
//bdCustomer=BdCustomer.createBdCustomer();
ResultBean rb=ResultBean.fireFail();
try {
//业务表的主表数据集合
Map<String,String> map_fEntityModel_= object2Map(bDMaterialcategory);
//准备 物料列表的数据 ForEntryBill
String kingDeeData = BDMaterialcategoryCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_);
ResultBean<String> resultBean = accessKingDeeInterface(
KingDeeBillId.BD_MATERIALCATEGORY.getID(), kingDeeData, KingDeeBillUrl.DRAFT_URL.getURL());
String submitKD = getSubmitKD(resultBean.getData(),KingDeeBillId.BD_MATERIALCATEGORY.getID());
ResultBean<String> resultBean1 = accessKingDeeInterface(KingDeeBillId.BD_MATERIALCATEGORY.getID(),
submitKD,KingDeeBillUrl.SUBMIT_URL.getURL());
if(!resultBean1.getSuccess()){
log.info("存货类别提交失败!");
return rb.setMsg("存货类别提交失败!");
}
log.info("存货类别提交成功!");
String auditKD = getAuditKD(resultBean.getData(),KingDeeBillId.BD_MATERIALCATEGORY.getID());
ResultBean<String> resultBean2 = accessKingDeeInterface(KingDeeBillId.BD_MATERIALCATEGORY.getID(), auditKD,KingDeeBillUrl.AUDIT_URL.getURL());
if(!resultBean2.getSuccess()){
log.info("存货类别审核失败!");
return rb.setMsg("存货类别审核失败!");
}
log.info("存货类别审核成功!");
return resultBean;
} catch (Exception e) {
e.printStackTrace();
}
return rb;
}
}

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

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

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

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

11
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdmaterialcategory/data_model.json

@ -0,0 +1,11 @@
{
"FCATEGORYID": 0,
"FNumber": "@KD_FNumber",
"FName": "@KD_FName",
"FCreateOrgId": {
"FNumber": "@KD_FCreateOrgId"
},
"FUseOrgId": {
"FNumber": "@KD_FCreateOrgId"
}
}

48
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdmaterialcategory/remarks.txt

@ -0,0 +1,48 @@
一、请求参数说明:
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\":{\"FCATEGORYID\":\"0\",\"FDescription\":\"\",\"FNumber\":\"\",\"FName\":\"\",\"FCreateOrgId\":{\"FNumber\":\"\"},\"FUseOrgId\":{\"FNumber\":\"\"},\"FForbidderId\":{\"FUserID\":\"\"},\"FForbidDate\":\"1900-01-01\"}}
三、返回参数:
{\"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_MATERIALCATEGORY","{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\",\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\",\"Model\":{\"FCATEGORYID\":\"0\",\"FDescription\":\"\",\"FNumber\":\"\",\"FName\":\"\",\"FCreateOrgId\":{\"FNumber\":\"\"},\"FUseOrgId\":{\"FNumber\":\"\"},\"FForbidderId\":{\"FUserID\":\"\"},\"FForbidDate\":\"1900-01-01\"}}");
}
五、字段说明:
修改日期:FModifyDate
创建日期:FCreateDate
修改人:FModifierId
审核人:FApproverId
禁用日期:FForbidDate
禁用人:FForbidderId
审核日期:FApproveDate
创建人:FCreatorId
名称:FName (必填项)
禁用状态:FForbidStatus
数据状态:FDocumentStatus
编码:FNumber (必填项)
使用组织:FUseOrgId (必填项)
创建组织:FCreateOrgId (必填项)
描述:FDescription

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

@ -0,0 +1,23 @@
{
"Creator": "",
"NeedUpDateFields": [],
"NeedReturnFields": [],
"IsDeleteEntry": "True",
"SubSystemId": "",
"IsVerifyBaseDataField": "false",
"IsEntryBatchFill": "True",
"ValidateFlag": "True",
"NumberSearch": "True",
"InterationFlags": "",
"Model": {
"FCATEGORYID": 0,
"FNumber": "9876543211",
"FName": "9876543211",
"FCreateOrgId": {
"FNumber": "101"
},
"FUseOrgId": {
"FNumber": "101"
}
}
}

BIN
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdmaterialcategory/存货类别的参数必填备注.xlsx

Binary file not shown.

44
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdsettletype/BDSettleTypeCastToKingDeeBillFields.java

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

74
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdsettletype/BDSettleTypeService.java

@ -0,0 +1,74 @@
package com.yxt.anrui.fin.biz.kingdee.bdsettletype;
import com.yxt.anrui.fin.api.kingdee.KingDeeBillId;
import com.yxt.anrui.fin.api.kingdee.KingDeeBillUrl;
import com.yxt.anrui.fin.api.kingdee.KingDeeResult;
import com.yxt.anrui.fin.api.kingdee.bdmaterialcategory.BDMaterialcategory;
import com.yxt.anrui.fin.api.kingdee.bdsettletype.BDSettleType;
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 BDSettleTypeService extends FinKingDeeService {
/**
* 保存结算方式信息 list
* @param bDSettleType
* @return
*/
public ResultBean<List<KingDeeResult>> draftBDSettleTypeList(List<BDSettleType> bDSettleType) {
List<KingDeeResult> list=new ArrayList<>();
ResultBean rb=ResultBean.fireFail();
for(BDSettleType p:bDSettleType) {
ResultBean<List<KingDeeResult>> resultBean = draftBDSettleType(p);
if (resultBean.getSuccess()) {
list.add(resultBean.getData().get(0));
}
}
return rb.success().setData(list);
}
/**
* 保存结算方式信息
* @param bDSettleType
* @return
*/
public ResultBean draftBDSettleType(BDSettleType bDSettleType) {
//bdCustomer=BdCustomer.createBdCustomer();
ResultBean rb=ResultBean.fireFail();
try {
//业务表的主表数据集合
Map<String,String> map_fEntityModel_= object2Map(bDSettleType);
//准备 物料列表的数据 ForEntryBill
String kingDeeData = BDSettleTypeCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_);
ResultBean<String> resultBean = accessKingDeeInterface(
KingDeeBillId.BD_SETTLETYPE.getID(), kingDeeData, KingDeeBillUrl.DRAFT_URL.getURL());
String submitKD = getSubmitKD(resultBean.getData(),KingDeeBillId.BD_SETTLETYPE.getID());
ResultBean<String> resultBean1 = accessKingDeeInterface(KingDeeBillId.BD_SETTLETYPE.getID(),
submitKD,KingDeeBillUrl.SUBMIT_URL.getURL());
if(!resultBean1.getSuccess()){
log.info("结算方式提交失败!");
return rb.setMsg("结算方式提交失败!");
}
log.info("结算方式提交成功!");
String auditKD = getAuditKD(resultBean.getData(),KingDeeBillId.BD_SETTLETYPE.getID());
ResultBean<String> resultBean2 = accessKingDeeInterface(KingDeeBillId.BD_SETTLETYPE.getID(),
auditKD,KingDeeBillUrl.AUDIT_URL.getURL());
if(!resultBean2.getSuccess()){
log.info("结算方式审核失败!");
return rb.setMsg("结算方式审核失败!");
}
log.info("结算方式审核成功!");
return resultBean;
} catch (Exception e) {
e.printStackTrace();
}
return rb;
}
}

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

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

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

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

16
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdsettletype/data_model.json

@ -0,0 +1,16 @@
{
"FID": 0,
"FCreateOrgId": {
"FNumber": "@KD_FCreateOrgId"
},
"FUseOrgId": {
"FNumber": "@KD_FCreateOrgId"
},
"FNumber": "@KD_FNumber",
"FName": "@KD_FName",
"FSETTLECATEGORY": "2",
"FTYPE": "1",
"FISNEEDPAYCHARGE": false,
"FISDEFAULT": false,
"FIsSupBankPay": false
}

56
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdsettletype/remarks.txt

@ -0,0 +1,56 @@
一、请求参数说明:
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\":{\"FID\":\"0\",\"FCreateOrgId\":{\"FNumber\":\"\"},\"FUseOrgId\":{\"FNumber\":\"\"},\"FNumber\":\"\",\"FName\":\"\",\"FSETTLECATEGORY\":\"\",\"FTYPE\":\"\",\"FPAYCHARGEPERSON\":\"\",\"FPAYTYPE\":\"\",\"FISNEEDPAYCHARGE\":\"false\",\"FISDEFAULT\":\"false\",\"FIsSupBankPay\":\"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_SETTLETYPE","{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\",\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\",\"Model\":{\"FID\":\"0\",\"FCreateOrgId\":{\"FNumber\":\"\"},\"FUseOrgId\":{\"FNumber\":\"\"},\"FNumber\":\"\",\"FName\":\"\",\"FSETTLECATEGORY\":\"\",\"FTYPE\":\"\",\"FPAYCHARGEPERSON\":\"\",\"FPAYTYPE\":\"\",\"FISNEEDPAYCHARGE\":\"false\",\"FISDEFAULT\":\"false\",\"FIsSupBankPay\":\"false\"}}");
}
五、字段说明:
支付方式:FPAYTYPE
系统预设:FIsSysPreset
承担方:FPAYCHARGEPERSON
业务分类:FTYPE (必填项)
支付手续费:FISNEEDPAYCHARGE
禁用日期:FForbidDate
默认结算方式:FISDEFAULT
支持网银付款:FIsSupBankPay
禁用人:FForbidderID
审核人:FAuditorID
审核日期:FAuditDate
结算方式类别:FSETTLECATEGORY (必填项)
编码:FNumber
描述:FDescription
名称:FName (必填项)
数据状态:FDocumentStatus
禁用状态:FForbidStatus
创建组织:FCreateOrgId
创建日期:FCreateDate
修改日期:FModifyDate
修改人:FModifierId
使用组织:FUseOrgId
创建人:FCreatorId

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

@ -0,0 +1,28 @@
{
"Creator": "",
"NeedUpDateFields": [],
"NeedReturnFields": [],
"IsDeleteEntry": "True",
"SubSystemId": "",
"IsVerifyBaseDataField": "false",
"IsEntryBatchFill": "True",
"ValidateFlag": "True",
"NumberSearch": "True",
"InterationFlags": "",
"Model": {
"FID": 0,
"FCreateOrgId": {
"FNumber": "104"
},
"FUseOrgId": {
"FNumber": "104"
},
"FNumber": "123123123123",
"FName": "123123123123123",
"FSETTLECATEGORY": "2",
"FTYPE": "1",
"FISNEEDPAYCHARGE": false,
"FISDEFAULT": false,
"FIsSupBankPay": false
}
}

BIN
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdsettletype/结算方式的参数必填备注.xlsx

Binary file not shown.

4
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/paezcllx/PaezCllxService.java

@ -58,8 +58,8 @@ public class PaezCllxService extends FinKingDeeService {
} }
log.info("车辆类型提交成功!"); log.info("车辆类型提交成功!");
String auditKD = getAuditKD(resultBean.getData(),KingDeeBillId.CN_BANKACNT.getID()); String auditKD = getAuditKD(resultBean.getData(),KingDeeBillId.PAEZ_CLLX.getID());
ResultBean<String> resultBean2 = accessKingDeeInterface(KingDeeBillId.CN_BANKACNT.getID(), auditKD,KingDeeBillUrl.AUDIT_URL.getURL()); ResultBean<String> resultBean2 = accessKingDeeInterface(KingDeeBillId.PAEZ_CLLX.getID(), auditKD,KingDeeBillUrl.AUDIT_URL.getURL());
if(!resultBean2.getSuccess()){ if(!resultBean2.getSuccess()){
log.info("车辆类型审核失败!"); log.info("车辆类型审核失败!");
return rb.setMsg("车辆类型审核失败!"); return rb.setMsg("车辆类型审核失败!");

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

@ -101,6 +101,8 @@ public class STKInStockService extends FinKingDeeService {
bdMaterial.setF_PAEZ_BaseType(f.getCllxType()); bdMaterial.setF_PAEZ_BaseType(f.getCllxType());
bdMaterial.setFMaterialGroup(f.getWlfz()); bdMaterial.setFMaterialGroup(f.getWlfz());
bdMaterial.setTOrgIds(stkInStock.getTOrgId()); bdMaterial.setTOrgIds(stkInStock.getTOrgId());
bdMaterial.setFCategoryIDType(f.getFCategoryIDType());
bdMaterial.setFCategoryIDKey(f.getFCategoryIDKey());
List<BdMaterial> list=new ArrayList<>(); List<BdMaterial> list=new ArrayList<>();
list.add(bdMaterial); list.add(bdMaterial);
bdMaterialService.draftBdMaterialList(list); bdMaterialService.draftBdMaterialList(list);

4
anrui-fin/anrui-fin-biz/src/main/resources/application-dev.yml

@ -3,7 +3,7 @@ spring:
driver-class-name: com.mysql.cj.jdbc.Driver driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/anrui_fin?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true url: jdbc:mysql://127.0.0.1:3306/anrui_fin?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
username: root username: root
password: root password: yxt_mysql_138
nacos: nacos:
discovery: discovery:
server-addr: 127.0.0.1:8848 server-addr: 127.0.0.1:8848
@ -16,7 +16,7 @@ spring:
max-idle: 8 #连接池中的最大空闲连接 max-idle: 8 #连接池中的最大空闲连接
max-wait: -1 # 连接池最大阻塞等待时间(使用负值表示没有限制) max-wait: -1 # 连接池最大阻塞等待时间(使用负值表示没有限制)
min-idle: 0 # 连接池中的最小空闲连接 min-idle: 0 # 连接池中的最小空闲连接
password: 123456 password:
port: 6379 port: 6379
timeout: 0 # 连接超时时间(毫秒) timeout: 0 # 连接超时时间(毫秒)
image: image:

2
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/app/AppSysUserFeign.java

@ -38,7 +38,7 @@ public interface AppSysUserFeign {
@ApiOperation(value = "我的信息") @ApiOperation(value = "我的信息")
@ResponseBody @ResponseBody
@GetMapping("/getMyInfo/{userSid}") // @GetMapping("/getMyInfo/{userSid}")
public ResultBean getMyInfo(@PathVariable("userSid") String userSid); public ResultBean getMyInfo(@PathVariable("userSid") String userSid);
@ApiOperation(value = "我的信息:切换机构") @ApiOperation(value = "我的信息:切换机构")

18
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclegression/ScmVehicleGressionService.java

@ -575,6 +575,7 @@ public class ScmVehicleGressionService extends MybatisBaseService<ScmVehicleGres
if (scmVehicleGression != null) { if (scmVehicleGression != null) {
if (StringUtils.isBlank(scmVehicleGression.getNodeState())) { if (StringUtils.isBlank(scmVehicleGression.getNodeState())) {
int i = deleteBySid(sid); int i = deleteBySid(sid);
baseVehicleTempstateFeign.delByBusSid(sid);
if (i <= 0) { if (i <= 0) {
return rb.setMsg("删除失败"); return rb.setMsg("删除失败");
} }
@ -703,7 +704,7 @@ public class ScmVehicleGressionService extends MybatisBaseService<ScmVehicleGres
String orgSidPath = staffOrgResultBean.getData().getOrgSidPath(); String orgSidPath = staffOrgResultBean.getData().getOrgSidPath();
//用户的部门全路径sid //用户的部门全路径sid
bv.setOrgSidPath(orgSidPath); bv.setOrgSidPath(orgSidPath);
}else{ } else {
bv.setOrgPath(orgPath); bv.setOrgPath(orgPath);
} }
@ -901,6 +902,17 @@ public class ScmVehicleGressionService extends MybatisBaseService<ScmVehicleGres
0L, TimeUnit.MILLISECONDS, 0L, TimeUnit.MILLISECONDS,
new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy());
if ("Event_end".equals(resultBean.getData().getTaskDefKey())) { if ("Event_end".equals(resultBean.getData().getTaskDefKey())) {
//存放地点变更推送车辆台账
VehicleGression vehicleGression = new VehicleGression();
List<String> list = scmVehicleGressionVehService.fetchVoByMainSid(scmVehicleGression.getSid());
if (list != null) {
vehicleGression.setVin(list);
vehicleGression.setLocation(scmVehicleGression.getTargetLocationSid());
vehicleGression.setLocationName(scmVehicleGression.getTargetLocation());
baseVehicleFeign.updateVehicleGressionByVin(vehicleGression);
}
//删除台账锁定车辆
baseVehicleTempstateFeign.delByBusSid(scmVehicleGression.getSid());
Future future1 = pool.submit(() -> { Future future1 = pool.submit(() -> {
String pdfPath = createPdf(bv.getBusinessSid()); String pdfPath = createPdf(bv.getBusinessSid());
//将生成的出门证添加到出门证表中 //将生成的出门证添加到出门证表中
@ -1384,9 +1396,9 @@ public class ScmVehicleGressionService extends MybatisBaseService<ScmVehicleGres
return pdfName; return pdfName;
} }
public ResultBean<String> getToDoNum(String userSid,String orgPath) { public ResultBean<String> getToDoNum(String userSid, String orgPath) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
if(StringUtils.isBlank(orgPath)){ if (StringUtils.isBlank(orgPath)) {
orgPath = sysStaffOrgFeign.getPathSidByUserSid(userSid).getData(); orgPath = sysStaffOrgFeign.getPathSidByUserSid(userSid).getData();
} }
int count = baseMapper.getToDoNum(orgPath, userSid); int count = baseMapper.getToDoNum(orgPath, userSid);

198
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclepatrolinspectionsheet/ScmVehiclePatrolinspectionsheetService.java

@ -55,6 +55,7 @@ import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo; import com.yxt.common.core.vo.PagerVo;
import com.yxt.messagecenter.api.message.AppMessageDto; import com.yxt.messagecenter.api.message.AppMessageDto;
import com.yxt.messagecenter.api.message.AppScmMessageFlowableQuery;
import com.yxt.messagecenter.api.message.MessageFeign; import com.yxt.messagecenter.api.message.MessageFeign;
import com.yxt.messagecenter.api.message.MsgTargetUriEnum; import com.yxt.messagecenter.api.message.MsgTargetUriEnum;
import com.yxt.messagecenter.api.messagelist.MessageListDto; import com.yxt.messagecenter.api.messagelist.MessageListDto;
@ -324,19 +325,28 @@ public class ScmVehiclePatrolinspectionsheetService extends MybatisBaseService<S
List<String> receiveIdList = new ArrayList<>(); List<String> receiveIdList = new ArrayList<>();
List<AppLiableListDto> liableList = new ArrayList<>(); List<AppLiableListDto> liableList = new ArrayList<>();
AppLiableListDto appLiableListDto = new AppLiableListDto(); AppLiableListDto appLiableListDto = new AppLiableListDto();
List<String> recipientSidList = new ArrayList<>();
appLiableListDto.setLiableName(dto.getLiableName()); appLiableListDto.setLiableName(dto.getLiableName());
appLiableListDto.setLiableSid(dto.getLiableSid()); appLiableListDto.setLiableSid(dto.getLiableSid());
liableList.add(appLiableListDto); liableList.add(appLiableListDto);
recipientSidList.add(appLiableListDto.getLiableSid());
SysUserVo sysUserVos = sysUserFeign.fetchBySid(dto.getLiableSid()).getData(); SysUserVo sysUserVos = sysUserFeign.fetchBySid(dto.getLiableSid()).getData();
Integer id = sysUserVos.getId(); Integer id = sysUserVos.getId();
receiveIdList.add(String.valueOf(id)); receiveIdList.add(String.valueOf(id));
AppPatrolinspectionDto appPatrolinspectionDto = new AppPatrolinspectionDto();
appPatrolinspectionDto.setMsgContent(sysUserVo.getName());
appPatrolinspectionDto.setList(liableList);
appPatrolinspectionDto.setMainSid(dto.getMainSid());
appPatrolinspectionDto.setReceiveIdList(receiveIdList);
// 消息推送 // 消息推送
sendMessage(appPatrolinspectionDto); AppScmMessageFlowableQuery query = new AppScmMessageFlowableQuery();
query.setMainSid(dto.getMainSid());
query.setList(recipientSidList);
query.setReceiveIdList(receiveIdList);
query.setMsgTitle("月度巡检问题");
query.setMsgContent(sysUserVo.getName() + "提交的月度巡检问题,请查阅");
query.setMsgSource("供应链");
query.setMsgTargetUri(MsgTargetUriEnum.GYLPKBG.getUri());
query.setApp_type("2");
query.setModuleSid("98ff0724-5df4-4fc7-ab6d-3996e7706acd");
query.setName("供应链");
// 消息推送
messageFeign.sendMessage(query);
return rb.success().setMsg("添加成功"); return rb.success().setMsg("添加成功");
} }
BeanUtil.copyProperties(dto, scmVehiclePatrolinspectionsheet, "sid"); BeanUtil.copyProperties(dto, scmVehiclePatrolinspectionsheet, "sid");
@ -361,20 +371,29 @@ public class ScmVehiclePatrolinspectionsheetService extends MybatisBaseService<S
scmVehiclePatrolinspectionService.updateByMainSid(oneKey, oneValue, newDate, sysUserVo.getName(), dto.getMainSid()); scmVehiclePatrolinspectionService.updateByMainSid(oneKey, oneValue, newDate, sysUserVo.getName(), dto.getMainSid());
List<String> receiveIdList = new ArrayList<>(); List<String> receiveIdList = new ArrayList<>();
List<AppLiableListDto> liableList = new ArrayList<>(); List<AppLiableListDto> liableList = new ArrayList<>();
List<String> recipientSidList = new ArrayList<>();
AppLiableListDto appLiableListDto = new AppLiableListDto(); AppLiableListDto appLiableListDto = new AppLiableListDto();
appLiableListDto.setLiableName(dto.getLiableName()); appLiableListDto.setLiableName(dto.getLiableName());
appLiableListDto.setLiableSid(dto.getLiableSid()); appLiableListDto.setLiableSid(dto.getLiableSid());
liableList.add(appLiableListDto); liableList.add(appLiableListDto);
recipientSidList.add(dto.getLiableSid());
SysUserVo sysUserVos = sysUserFeign.fetchBySid(dto.getLiableSid()).getData(); SysUserVo sysUserVos = sysUserFeign.fetchBySid(dto.getLiableSid()).getData();
Integer id = sysUserVos.getId(); Integer id = sysUserVos.getId();
receiveIdList.add(String.valueOf(id)); receiveIdList.add(String.valueOf(id));
AppPatrolinspectionDto appPatrolinspectionDto = new AppPatrolinspectionDto();
appPatrolinspectionDto.setMsgContent(sysUserVo.getName());
appPatrolinspectionDto.setList(liableList);
appPatrolinspectionDto.setMainSid(dto.getMainSid());
appPatrolinspectionDto.setReceiveIdList(receiveIdList);
// 消息推送 // 消息推送
sendMessage(appPatrolinspectionDto); AppScmMessageFlowableQuery query = new AppScmMessageFlowableQuery();
query.setMainSid(dto.getMainSid());
query.setList(recipientSidList);
query.setReceiveIdList(receiveIdList);
query.setMsgTitle("月度巡检问题");
query.setMsgContent(sysUserVo.getName() + "提交的月度巡检问题,请查阅");
query.setMsgSource("供应链");
query.setMsgTargetUri(MsgTargetUriEnum.GYLPKBG.getUri());
query.setApp_type("2");
query.setModuleSid("98ff0724-5df4-4fc7-ab6d-3996e7706acd");
query.setName("供应链");
// 消息推送
messageFeign.sendMessage(query);
return rb.success(); return rb.success();
} }
@ -489,86 +508,95 @@ public class ScmVehiclePatrolinspectionsheetService extends MybatisBaseService<S
receiveIdList.add(String.valueOf(id)); receiveIdList.add(String.valueOf(id));
List<AppLiableListDto> liableList = new ArrayList<>(); List<AppLiableListDto> liableList = new ArrayList<>();
AppLiableListDto appLiableListDto = new AppLiableListDto(); AppLiableListDto appLiableListDto = new AppLiableListDto();
List<String> recipientSidList = new ArrayList<>();
appLiableListDto.setLiableName(scmWarehouse.getLibTubeName()); appLiableListDto.setLiableName(scmWarehouse.getLibTubeName());
appLiableListDto.setLiableSid(scmWarehouse.getLibTubeSid()); appLiableListDto.setLiableSid(scmWarehouse.getLibTubeSid());
recipientSidList.add(dto.getLiableSid());
liableList.add(appLiableListDto); liableList.add(appLiableListDto);
AppPatrolinspectionDto appPatrolinspectionDto = new AppPatrolinspectionDto();
appPatrolinspectionDto.setMsgContent(sysUserVo.getName());
appPatrolinspectionDto.setList(liableList);
appPatrolinspectionDto.setMainSid(dto.getMainSid());
appPatrolinspectionDto.setReceiveIdList(receiveIdList);
// 消息推送 // 消息推送
sendMessage(appPatrolinspectionDto); AppScmMessageFlowableQuery query = new AppScmMessageFlowableQuery();
query.setMainSid(dto.getMainSid());
query.setList(recipientSidList);
query.setReceiveIdList(receiveIdList);
query.setMsgTitle("月度巡检问题");
query.setMsgContent(sysUserVo.getName() + "提交的月度巡检问题,请查阅");
query.setMsgSource("供应链");
query.setMsgTargetUri(MsgTargetUriEnum.GYLPKBG.getUri());
query.setApp_type("2");
query.setModuleSid("98ff0724-5df4-4fc7-ab6d-3996e7706acd");
query.setName("供应链");
// 消息推送
messageFeign.sendMessage(query);
return rb.success().setMsg("添加成功"); return rb.success().setMsg("添加成功");
} }
/** // /**
* 保存消息发出推送 // * 保存消息、发出推送
* // *
* @throws InterruptedException // * @throws InterruptedException
*/ // */
public void sendMessage(AppPatrolinspectionDto appPatrolinspectionDto) { // public void sendMessage(AppPatrolinspectionDto appPatrolinspectionDto) {
// 1、保存消息体 // // 1、保存消息体
AppMessageDto messageDto = new AppMessageDto(); // AppMessageDto messageDto = new AppMessageDto();
ResultBean<List<MessageTypeVo>> messageBean = messageTypeFeign.selectAppMsgTypeList(IDENTIFIER); // ResultBean<List<MessageTypeVo>> messageBean = messageTypeFeign.selectAppMsgTypeList(IDENTIFIER);
if (messageBean.getSuccess() && messageBean.getData() != null) { // if (messageBean.getSuccess() && messageBean.getData() != null) {
List<MessageTypeVo> typeVoList = messageBean.getData(); // List<MessageTypeVo> typeVoList = messageBean.getData();
for (MessageTypeVo message : typeVoList) { // for (MessageTypeVo message : typeVoList) {
if (message.getMsgType().equals("供应链")) { // if (message.getMsgType().equals("供应链")) {
messageDto.setMsgTypeSid(message.getMsgTypeSid()); // messageDto.setMsgTypeSid(message.getMsgTypeSid());
messageDto.setMsgType(message.getMsgType()); // messageDto.setMsgType(message.getMsgType());
} // }
} // }
} // }
messageDto.setMsgTitle("月度巡检问题"); // messageDto.setMsgTitle("月度巡检问题");
messageDto.setMsgContent(appPatrolinspectionDto.getMsgContent() + "提交的月度巡检问题,请查阅"); // messageDto.setMsgContent(appPatrolinspectionDto.getMsgContent() + "提交的月度巡检问题,请查阅");
messageDto.setMsgSource("供应链"); // messageDto.setMsgSource("供应链");
messageDto.setMsgTargetUri(MsgTargetUriEnum.GYLXJWT.getUri()); // messageDto.setMsgTargetUri(MsgTargetUriEnum.GYLXJWT.getUri());
messageDto.setApp_type("2"); // messageDto.setApp_type("2");
messageDto.setModuleSid("98ff0724-5df4-4fc7-ab6d-3996e7706acd"); // messageDto.setModuleSid("98ff0724-5df4-4fc7-ab6d-3996e7706acd");
JSONObject json = new JSONObject(); // JSONObject json = new JSONObject();
json.put("sid", appPatrolinspectionDto.getMainSid()); // json.put("sid", appPatrolinspectionDto.getMainSid());
messageDto.setArgs_json(json.toJSONString()); // messageDto.setArgs_json(json.toJSONString());
String msgSid = (String) messageFeign.saveOrUpdateAppMessage(messageDto).getData(); // String msgSid = (String) messageFeign.saveOrUpdateAppMessage(messageDto).getData();
String msgTypeSid = messageDto.getMsgTypeSid(); // String msgTypeSid = messageDto.getMsgTypeSid();
// 2、保存至消息列表 // // 2、保存至消息列表
List<AppLiableListDto> list = appPatrolinspectionDto.getList(); // List<AppLiableListDto> list = appPatrolinspectionDto.getList();
// 使用多线程保存 // // 使用多线程保存
List<Future<?>> futures = new ArrayList<Future<?>>(); // List<Future<?>> futures = new ArrayList<Future<?>>();
ExecutorService executor = Executors.newFixedThreadPool(4); // ExecutorService executor = Executors.newFixedThreadPool(4);
for (AppLiableListDto appLiableListDto : list) { // for (AppLiableListDto appLiableListDto : list) {
Future<?> f = executor.submit(new Runnable() { // Future<?> f = executor.submit(new Runnable() {
@Override // @Override
public void run() { // public void run() {
try { // try {
System.out.println("run start-----------------" + System.currentTimeMillis() + ":" + Thread.currentThread().getName()); // System.out.println("run start-----------------" + System.currentTimeMillis() + ":" + Thread.currentThread().getName());
MessageListDto messageList = new MessageListDto(); // MessageListDto messageList = new MessageListDto();
messageList.setMsgSid(msgSid); // messageList.setMsgSid(msgSid);
messageList.setRDelStatus(0); // messageList.setRDelStatus(0);
messageList.setSDelStatus(0); // messageList.setSDelStatus(0);
messageList.setReceiverSid(appLiableListDto.getLiableSid()); // messageList.setReceiverSid(appLiableListDto.getLiableSid());
messageListFeign.save(messageList); // messageListFeign.save(messageList);
// Thread.sleep(5 * 1000); //// Thread.sleep(5 * 1000);
System.out.println("run end-----------------" + System.currentTimeMillis() + ":" + Thread.currentThread().getName()); // System.out.println("run end-----------------" + System.currentTimeMillis() + ":" + Thread.currentThread().getName());
} catch (Exception e) { // } catch (Exception e) {
e.printStackTrace(); // e.printStackTrace();
} // }
} // }
}); // });
futures.add(f); // futures.add(f);
} // }
executor.shutdown(); // executor.shutdown();
for (int i = 0; i < appPatrolinspectionDto.getReceiveIdList().size(); i++) { // for (int i = 0; i < appPatrolinspectionDto.getReceiveIdList().size(); i++) {
/** // /**
* msgTitle:排产申请 // * msgTitle:排产申请
* content:xxx的排产申请 // * content:xxx的排产申请
*/ // */
JPushServer.sendPushAlias(messageDto.getMsgTitle(), messageDto.getMsgContent(), msgTypeSid, "供应链", appPatrolinspectionDto.getReceiveIdList().get(i)); // JPushServer.sendPushAlias(messageDto.getMsgTitle(), messageDto.getMsgContent(), msgTypeSid, "供应链", appPatrolinspectionDto.getReceiveIdList().get(i));
} // 3、推送 // } // 3、推送
// JPushServer.sendPushAll(messageDto.getMsgTitle(), messageDto.getMsgContent(), msgTypeSid, messageDto.getMsgType()); //// JPushServer.sendPushAll(messageDto.getMsgTitle(), messageDto.getMsgContent(), msgTypeSid, messageDto.getMsgType());
// JPushServer.sendPushAlias(messageDto.getMsgTitle(), messageDto.getMsgContent(), msgSid, messageDto.getMsgType(), "23","26","66"); // 别名 //// JPushServer.sendPushAlias(messageDto.getMsgTitle(), messageDto.getMsgContent(), msgSid, messageDto.getMsgType(), "23","26","66"); // 别名
System.out.println("process end"); // System.out.println("process end");
} // }
/** /**
* 手机端-通过巡检操作 * 手机端-通过巡检操作

159
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehinventoryreport/ScmVehInventoryreportService.java

@ -41,6 +41,7 @@ import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo; import com.yxt.common.core.vo.PagerVo;
import com.yxt.messagecenter.api.message.AppMessageDto; import com.yxt.messagecenter.api.message.AppMessageDto;
import com.yxt.messagecenter.api.message.AppScmMessageFlowableQuery;
import com.yxt.messagecenter.api.message.MessageFeign; import com.yxt.messagecenter.api.message.MessageFeign;
import com.yxt.messagecenter.api.message.MsgTargetUriEnum; import com.yxt.messagecenter.api.message.MsgTargetUriEnum;
import com.yxt.messagecenter.api.messagelist.MessageListDto; import com.yxt.messagecenter.api.messagelist.MessageListDto;
@ -141,7 +142,7 @@ public class ScmVehInventoryreportService extends MybatisBaseService<ScmVehInven
SysUserVo sysUserVo = sysUserFeign.fetchBySid(dto.getUserSid()).getData(); SysUserVo sysUserVo = sysUserFeign.fetchBySid(dto.getUserSid()).getData();
ScmVehInventoryreport scmVehInventoryreport = new ScmVehInventoryreport(); ScmVehInventoryreport scmVehInventoryreport = new ScmVehInventoryreport();
BeanUtil.copyProperties(dto, scmVehInventoryreport, "sid"); BeanUtil.copyProperties(dto, scmVehInventoryreport, "sid");
AppScmVehInventorymonthInfoVo data = scmVehInventorymonthService.getCarInventoryReport(dto.getMainSid(),dto.getUserSid()).getData(); AppScmVehInventorymonthInfoVo data = scmVehInventorymonthService.getCarInventoryReport(dto.getMainSid(), dto.getUserSid()).getData();
scmVehInventoryreport.setReportContent(data.getProfitRemarks() + data.getLossRemarks() + data.getDamageRemarks()); scmVehInventoryreport.setReportContent(data.getProfitRemarks() + data.getLossRemarks() + data.getDamageRemarks());
scmVehInventorymonthService.updateByMainSid(dto.getMainSid()); scmVehInventorymonthService.updateByMainSid(dto.getMainSid());
List<RecipientListDto> recipientList = dto.getRecipientList(); List<RecipientListDto> recipientList = dto.getRecipientList();
@ -155,89 +156,99 @@ public class ScmVehInventoryreportService extends MybatisBaseService<ScmVehInven
scmVehInventoryreport.setReceiverSids(receiverSids.substring(0, receiverSids.length() - 1)); scmVehInventoryreport.setReceiverSids(receiverSids.substring(0, receiverSids.length() - 1));
scmVehInventoryreport.setCreateBySid(dto.getUserSid()); scmVehInventoryreport.setCreateBySid(dto.getUserSid());
save(scmVehInventoryreport); save(scmVehInventoryreport);
List<String> receiveIdList = new ArrayList<>(); List<String> receiveIdList = new ArrayList<>();
List<String> recipientSidList = new ArrayList<>();
for (RecipientListDto recipientListDto : recipientList) { for (RecipientListDto recipientListDto : recipientList) {
SysUserVo sysUserVos = sysUserFeign.fetchBySid(recipientListDto.getSid()).getData(); SysUserVo sysUserVos = sysUserFeign.fetchBySid(recipientListDto.getSid()).getData();
Integer id = sysUserVos.getId(); Integer id = sysUserVos.getId();
recipientSidList.add(recipientListDto.getSid());
receiveIdList.add(String.valueOf(id)); receiveIdList.add(String.valueOf(id));
} }
AppReportDto appReportDto = new AppReportDto();
appReportDto.setMsgContent(sysUserVo.getName()); AppScmMessageFlowableQuery query = new AppScmMessageFlowableQuery();
appReportDto.setList(recipientList); query.setMainSid(dto.getMainSid());
appReportDto.setMainSid(dto.getMainSid()); query.setList(recipientSidList);
appReportDto.setReceiveIdList(receiveIdList); query.setReceiveIdList(receiveIdList);
query.setMsgTitle("供应链");
query.setMsgContent(sysUserVo.getName() + "提交的月度盘库报告,请查阅");
query.setMsgSource("供应链");
query.setMsgTargetUri(MsgTargetUriEnum.GYLPKBG.getUri());
query.setApp_type("2");
query.setModuleSid("98ff0724-5df4-4fc7-ab6d-3996e7706acd");
query.setName("供应链");
// 消息推送 // 消息推送
sendMessage(appReportDto); messageFeign.sendMessage(query);
return rb.success(); return rb.success();
} }
/** // /**
* 保存消息发出推送 // * 保存消息、发出推送
* // *
* @throws InterruptedException // * @throws InterruptedException
*/ // */
public void sendMessage(AppReportDto appReportDto) { // public void sendMessage(AppReportDto appReportDto) {
// 1、保存消息体 // // 1、保存消息体
AppMessageDto messageDto = new AppMessageDto(); // AppMessageDto messageDto = new AppMessageDto();
ResultBean<List<MessageTypeVo>> messageBean = messageTypeFeign.selectAppMsgTypeList(IDENTIFIER); // ResultBean<List<MessageTypeVo>> messageBean = messageTypeFeign.selectAppMsgTypeList(IDENTIFIER);
if (messageBean.getSuccess() && messageBean.getData() != null) { // if (messageBean.getSuccess() && messageBean.getData() != null) {
List<MessageTypeVo> typeVoList = messageBean.getData(); // List<MessageTypeVo> typeVoList = messageBean.getData();
for (MessageTypeVo message : typeVoList) { // for (MessageTypeVo message : typeVoList) {
if (message.getMsgType().equals("供应链")) { // if (message.getMsgType().equals("供应链")) {
messageDto.setMsgTypeSid(message.getMsgTypeSid()); // messageDto.setMsgTypeSid(message.getMsgTypeSid());
messageDto.setMsgType(message.getMsgType()); // messageDto.setMsgType(message.getMsgType());
} // }
} // }
} // }
messageDto.setMsgTitle("月度盘库报告"); // messageDto.setMsgTitle("月度盘库报告");
messageDto.setMsgContent(appReportDto.getMsgContent() + "提交的月度盘库报告,请查阅"); // messageDto.setMsgContent(appReportDto.getMsgContent() + "提交的月度盘库报告,请查阅");
messageDto.setMsgSource("供应链"); // messageDto.setMsgSource("供应链");
messageDto.setMsgTargetUri(MsgTargetUriEnum.GYLPKBG.getUri()); // messageDto.setMsgTargetUri(MsgTargetUriEnum.GYLPKBG.getUri());
messageDto.setApp_type("2"); // messageDto.setApp_type("2");
messageDto.setModuleSid("98ff0724-5df4-4fc7-ab6d-3996e7706acd"); // messageDto.setModuleSid("98ff0724-5df4-4fc7-ab6d-3996e7706acd");
JSONObject json = new JSONObject(); // JSONObject json = new JSONObject();
json.put("sid", appReportDto.getMainSid()); // json.put("sid", appReportDto.getMainSid());
messageDto.setArgs_json(json.toJSONString()); // messageDto.setArgs_json(json.toJSONString());
String msgSid = (String) messageFeign.saveOrUpdateAppMessage(messageDto).getData(); // String msgSid = (String) messageFeign.saveOrUpdateAppMessage(messageDto).getData();
String msgTypeSid = messageDto.getMsgTypeSid(); // String msgTypeSid = messageDto.getMsgTypeSid();
// 2、保存至消息列表 // // 2、保存至消息列表
List<RecipientListDto> list = appReportDto.getList(); // List<RecipientListDto> list = appReportDto.getList();
// 使用多线程保存 // // 使用多线程保存
List<Future<?>> futures = new ArrayList<Future<?>>(); // List<Future<?>> futures = new ArrayList<Future<?>>();
ExecutorService executor = Executors.newFixedThreadPool(4); // ExecutorService executor = Executors.newFixedThreadPool(4);
for (RecipientListDto recipientListDto : list) { // for (RecipientListDto recipientListDto : list) {
Future<?> f = executor.submit(new Runnable() { // Future<?> f = executor.submit(new Runnable() {
@Override // @Override
public void run() { // public void run() {
try { // try {
System.out.println("run start-----------------" + System.currentTimeMillis() + ":" + Thread.currentThread().getName()); // System.out.println("run start-----------------" + System.currentTimeMillis() + ":" + Thread.currentThread().getName());
MessageListDto messageList = new MessageListDto(); // MessageListDto messageList = new MessageListDto();
messageList.setMsgSid(msgSid); // messageList.setMsgSid(msgSid);
messageList.setRDelStatus(0); // messageList.setRDelStatus(0);
messageList.setSDelStatus(0); // messageList.setSDelStatus(0);
messageList.setReceiverSid(recipientListDto.getSid()); // messageList.setReceiverSid(recipientListDto.getSid());
messageListFeign.save(messageList); // messageListFeign.save(messageList);
// Thread.sleep(5 * 1000); //// Thread.sleep(5 * 1000);
System.out.println("run end-----------------" + System.currentTimeMillis() + ":" + Thread.currentThread().getName()); // System.out.println("run end-----------------" + System.currentTimeMillis() + ":" + Thread.currentThread().getName());
} catch (Exception e) { // } catch (Exception e) {
e.printStackTrace(); // e.printStackTrace();
} // }
} // }
}); // });
futures.add(f); // futures.add(f);
} // }
executor.shutdown(); // executor.shutdown();
for (int i = 0; i < appReportDto.getReceiveIdList().size(); i++) { // for (int i = 0; i < appReportDto.getReceiveIdList().size(); i++) {
/** // /**
* msgTitle:排产申请 // * msgTitle:排产申请
* content:xxx的排产申请 // * content:xxx的排产申请
*/ // */
JPushServer.sendPushAlias(messageDto.getMsgTitle(), messageDto.getMsgContent(), msgTypeSid, "供应链", appReportDto.getReceiveIdList().get(i)); // JPushServer.sendPushAlias(messageDto.getMsgTitle(), messageDto.getMsgContent(), msgTypeSid, "供应链", appReportDto.getReceiveIdList().get(i));
} // 3、推送 // } // 3、推送
// JPushServer.sendPushAll(messageDto.getMsgTitle(), messageDto.getMsgContent(), msgTypeSid, messageDto.getMsgType()); //// JPushServer.sendPushAll(messageDto.getMsgTitle(), messageDto.getMsgContent(), msgTypeSid, messageDto.getMsgType());
// JPushServer.sendPushAlias(messageDto.getMsgTitle(), messageDto.getMsgContent(), msgSid, messageDto.getMsgType(), "23","26","66"); // 别名 //// JPushServer.sendPushAlias(messageDto.getMsgTitle(), messageDto.getMsgContent(), msgSid, messageDto.getMsgType(), "23","26","66"); // 别名
System.out.println("process end"); // System.out.println("process end");
} // }
public List<RecipientListVo> selectByMainSid(String userSid) { public List<RecipientListVo> selectByMainSid(String userSid) {
return baseMapper.selectByMainSid(userSid); return baseMapper.selectByMainSid(userSid);

24
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehpatrolinspectionreport/ScmVehPatrolinspectionreportService.java

@ -43,6 +43,7 @@ import com.yxt.anrui.scm.biz.scmvehinventorymonth.ScmVehInventorymonthService;
import com.yxt.anrui.scm.biz.scmvehpatrolinspectionmonth.ScmVehPatrolinspectionmonthService; import com.yxt.anrui.scm.biz.scmvehpatrolinspectionmonth.ScmVehPatrolinspectionmonthService;
import com.yxt.common.base.utils.JPushServer; import com.yxt.common.base.utils.JPushServer;
import com.yxt.messagecenter.api.message.AppMessageDto; import com.yxt.messagecenter.api.message.AppMessageDto;
import com.yxt.messagecenter.api.message.AppScmMessageFlowableQuery;
import com.yxt.messagecenter.api.message.MessageFeign; import com.yxt.messagecenter.api.message.MessageFeign;
import com.yxt.messagecenter.api.message.MsgTargetUriEnum; import com.yxt.messagecenter.api.message.MsgTargetUriEnum;
import com.yxt.messagecenter.api.messagelist.MessageListDto; import com.yxt.messagecenter.api.messagelist.MessageListDto;
@ -95,6 +96,8 @@ public class ScmVehPatrolinspectionreportService extends MybatisBaseService<ScmV
ScmVehiclePatrolinspectionsheetService scmVehiclePatrolinspectionsheetService; ScmVehiclePatrolinspectionsheetService scmVehiclePatrolinspectionsheetService;
@Autowired @Autowired
private SysUserFeign sysUserFeign; private SysUserFeign sysUserFeign;
@Autowired
private MessageFeign messageFeign;
private QueryWrapper<ScmVehPatrolinspectionreport> createQueryWrapper(ScmVehPatrolinspectionreportQuery query) { private QueryWrapper<ScmVehPatrolinspectionreport> createQueryWrapper(ScmVehPatrolinspectionreportQuery query) {
// todo: 这里根据具体业务调整查询条件 // todo: 这里根据具体业务调整查询条件
@ -186,17 +189,26 @@ public class ScmVehPatrolinspectionreportService extends MybatisBaseService<ScmV
scmVehiclePatrolinspectionService.updateState(dto.getMainSid()); scmVehiclePatrolinspectionService.updateState(dto.getMainSid());
scmVehPatrolinspectionmonthService.updateBySidState(dto.getMainSid()); scmVehPatrolinspectionmonthService.updateBySidState(dto.getMainSid());
List<String> receiveIdList = new ArrayList<>(); List<String> receiveIdList = new ArrayList<>();
List<String> recipientSidList = new ArrayList<>();
List<AppLiableListDto> list = dto.getList(); List<AppLiableListDto> list = dto.getList();
for (AppLiableListDto appLiableListDto : list) { for (AppLiableListDto appLiableListDto : list) {
SysUserVo data = sysUserFeign.fetchBySid(appLiableListDto.getLiableSid()).getData(); SysUserVo data = sysUserFeign.fetchBySid(appLiableListDto.getLiableSid()).getData();
receiveIdList.add(String.valueOf(data.getId())); receiveIdList.add(String.valueOf(data.getId()));
recipientSidList.add(appLiableListDto.getLiableSid());
} }
AppPatrolinspectionDto appPatrolinspectionDto = new AppPatrolinspectionDto(); AppScmMessageFlowableQuery query = new AppScmMessageFlowableQuery();
appPatrolinspectionDto.setMsgContent(sysUserVo.getName()); query.setMainSid(dto.getMainSid());
appPatrolinspectionDto.setList(dto.getList()); query.setList(recipientSidList);
appPatrolinspectionDto.setMainSid(dto.getMainSid()); query.setReceiveIdList(receiveIdList);
appPatrolinspectionDto.setReceiveIdList(receiveIdList); query.setMsgTitle("月度巡检问题");
scmVehiclePatrolinspectionsheetService.sendMessage(appPatrolinspectionDto); query.setMsgContent(sysUserVo.getName() + "提交的月度巡检问题,请查阅");
query.setMsgSource("供应链");
query.setMsgTargetUri(MsgTargetUriEnum.GYLPKBG.getUri());
query.setApp_type("2");
query.setModuleSid("98ff0724-5df4-4fc7-ab6d-3996e7706acd");
query.setName("供应链");
// 消息推送
messageFeign.sendMessage(query);
return rb.success(); return rb.success();
} }

Loading…
Cancel
Save