Commit 5d1819aa authored by 鲁鑫's avatar 鲁鑫

采购申请接口数据结构调整

parent 3bc4a26e
......@@ -87,7 +87,7 @@ function getGridColumns() {
type: 'system',
name: "dictionary",
getParam: function (item) {
return {paramValue: "WERKS"}
return {fieldName: "WERKS"}
},
back: {
WERKS: "werks",
......@@ -139,7 +139,7 @@ function getGridColumns() {
type: 'system',
name: "dictionary",
getParam: function (item) {
return {paramValue: "LGORT"}
return {fieldName: "LGORT"}
},
back: {
LGORT: "lgort",
......@@ -161,7 +161,7 @@ function getGridColumns() {
type: 'system',
name: "dictionary",
getParam: function (item) {
return {paramValue: "MATKL"}
return {fieldName: "MATKL"}
},
back: {
MATKL: "matkl"
......@@ -195,7 +195,7 @@ function getGridColumns() {
type: 'system',
name: "dictionary",
getParam: function (item) {
return {paramValue: "EKGRP"}
return {fieldName: "EKGRP"}
},
back: {
EKGRP: "ekgrp"
......@@ -250,24 +250,24 @@ function getGridColumns() {
editor: {type: 'text', required: false},
},
{display: "评估价格", name: "preis", width: "100", align: "left", type: "string",
editor: {type: 'text', mask: '9999999.99',required: false}
editor: {type: 'text', mask: '9999999.99',required: true}
},
{display: "价格基数", name: "ebanPeinh", width: "100", align: "left", type: "string",
editor: {type: 'text', mask: '9999999',required: false}
},
{display: "币种", name: "waers", width: "100", align: "left", type: "string",
editor: {
required: false, type: "select",
data: {
required: false, type: "text",
/*data: {
type: 'system',
name: "dictionary",
getParam: function (item) {
return {paramValue: "WAERS"}
return {fieldName: "WAERS"}
},
back: {
WAERS: "waers"
}
},
},*/
}
},
{display: "评估金额", name: "ebanNetwr", width: "100", align: "left", type: "string",
......
package com.huigou.topsun.sap.purchase.application.impl;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.huigou.cache.SystemCache;
......@@ -12,8 +13,10 @@ import com.huigou.topsun.sap.purchase.application.SapPurchaseItemApplication;
import com.huigou.topsun.sap.purchase.domain.SapPurchase;
import com.huigou.topsun.sap.purchase.domain.SapPurchaseItem;
import com.huigou.topsun.sap.purchase.domain.query.SapPurchaseQueryRequest;
import com.huigou.topsun.sap.purchase.domain.vo.SapPurchaseItemVo;
import com.huigou.topsun.sap.purchase.domain.vo.SapPurchaseVo;
import com.huigou.topsun.sap.purchase.repository.SapPurchaseRepository;
import com.huigou.topsun.sap.purchaseInfoRecord.domain.SapResult;
import com.huigou.uasp.bmp.common.BizBillStatus;
import com.huigou.uasp.bpm.FlowBroker;
import com.huigou.util.ClassHelper;
......@@ -23,6 +26,7 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
......@@ -83,10 +87,15 @@ public class SapPurchaseApplicationImpl extends FlowBroker implements SapPurchas
sapPurchase.setFrgdt(new Date());
sapPurchaseRepository.save(sapPurchase);
List<SapPurchaseVo> sapPurchaseVoList = this.getSapPurchaseVoJson(sapPurchase);
SapPurchaseVo sapPurchaseVo = this.getSapPurchaseVoJson(sapPurchase);
try {
String url = SystemCache.getParameter("sap.purchase.url", String.class);
String execute = httpClient.execute(sapPurchaseVoList, url);
String execute = httpClient.execute(sapPurchaseVo, url);
List<SapResult> resultList = JSONObject.parseArray(execute, SapResult.class);
SapResult sapResult = resultList.get(0);
if (!"S".equals(sapResult.getTYPE())){
throw new RuntimeException("数据传输失败,"+ sapResult.getMESSAGE());
}
System.out.println("返回结果:"+execute);
} catch (IOException e) {
throw new RuntimeException(e);
......@@ -98,18 +107,36 @@ public class SapPurchaseApplicationImpl extends FlowBroker implements SapPurchas
* @param sapPurchase
* @return
*/
public List<SapPurchaseVo> getSapPurchaseVoJson(SapPurchase sapPurchase){
public SapPurchaseVo getSapPurchaseVoJson(SapPurchase sapPurchase){
List<SapPurchaseItem> sapPurchaseItemList = this.sapPurchaseItemApplication.findBySapPurchaseId(sapPurchase.getId());
List<SapPurchaseVo> sapPurchaseVoList = new ArrayList<>();
List<SapPurchaseItemVo> sapPurchaseItemVos = new ArrayList<>();
SapPurchaseVo sapPurchaseVo = new SapPurchaseVo();
sapPurchaseVo.setBsart(sapPurchase.getBsart());
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
sapPurchaseItemList.forEach(sapPurchaseItem -> {
SapPurchaseVo sapPurchaseVo = new SapPurchaseVo();
BeanUtil.copyProperties(sapPurchaseItem,sapPurchaseVo);
sapPurchaseVo.setBillCode(sapPurchase.getBillCode());
sapPurchaseVo.setBsart(sapPurchase.getBsart());
sapPurchaseVo.setFrgdt(sapPurchase.getFrgdt());
sapPurchaseVo.setErnam(sapPurchase.getPersonMemberName());
sapPurchaseVoList.add(sapPurchaseVo);
SapPurchaseItemVo sapPurchaseItemVo = new SapPurchaseItemVo();
BeanUtil.copyProperties(sapPurchaseItem,sapPurchaseItemVo);
sapPurchaseItemVo.setBillCode(sapPurchase.getBillCode());
sapPurchaseItemVo.setErnam(sapPurchase.getPersonMemberName());
if (sapPurchaseItem.getBadat() != null){
String format = dateFormat.format(sapPurchaseItem.getBadat());
sapPurchaseItemVo.setBadat(format);
}
if (sapPurchaseItem.getErdat()!=null){
String format = dateFormat.format(sapPurchaseItem.getErdat());
sapPurchaseItemVo.setErdat(format);
}
if (sapPurchase.getFrgdt()!=null){
String format = dateFormat.format(sapPurchase.getFrgdt());
sapPurchaseItemVo.setFrgdt(format);
}
if (sapPurchaseItem.getLfdat()!=null){
String format = dateFormat.format(sapPurchaseItem.getLfdat());
sapPurchaseItemVo.setLfdat(format);
}
sapPurchaseItemVos.add(sapPurchaseItemVo);
});
sapPurchaseVo.setItemVos(sapPurchaseItemVos);
/*ObjectMapper objectMapper = new ObjectMapper();
String returnJson = null;
try {
......@@ -117,7 +144,7 @@ public class SapPurchaseApplicationImpl extends FlowBroker implements SapPurchas
} catch (JsonProcessingException e) {
throw new RuntimeException(e);
}*/
return sapPurchaseVoList;
return sapPurchaseVo;
}
@Override
......
package com.huigou.topsun.sap.purchase.domain.vo;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @Auther: xin.lu
* @Date: 2024/01/02/14:07
* @Description:
*/
public class SapPurchaseItemVo implements Serializable {
/**
* 需求跟踪号
*/
@JsonProperty("bednr")
private String billCode;
/**
* 采购申请编号
*/
//@JsonProperty("banfn")
//private String banfn;
/**
* 申购项次号
*/
@JsonProperty("bnfpo")
private Integer bnfpo;
/**
* 项次类别
*/
@JsonProperty("pstyp")
private String pstyp;
/**
* 科目分配类别
*/
@JsonProperty("knttp")
private String knttp;
/**
* 工厂
*/
@JsonProperty("werks")
private String werks;
/**
* 工厂名称
*/
//@JsonProperty("NAME1")
//private String name1;
/**
* 库存地点
*/
@JsonProperty("lgort")
private String lgort;
/**
* 库存地点名称
*/
//@JsonProperty("LGOBE")
//private String lgobe;
/**
* 物料编号
*/
@JsonProperty("matnr")
private String matnr;
/**
* 短文本
*/
@JsonProperty("txz01")
private String txz01;
/**
* 物料组
*/
@JsonProperty("matkl")
private String matkl;
/**
* 申购数量
*/
@JsonProperty("menge")
private BigDecimal menge;
/**
* 申购数量单位
*/
@JsonProperty("meins")
private String meins;
/**
* 采购组
*/
@JsonProperty("ekgrp")
private String ekgrp;
/**
* 申请日期
*/
@JsonProperty("badat")
private String badat;
/**
* 创建日期
*/
@JsonProperty("erdat")
private String erdat;
/**
* 批准日期
*/
@JsonProperty("frgdt")
private String frgdt;
/**
* 要求交货日期
*/
@JsonProperty("lfdat")
private String lfdat;
/**
* 服务主数据编号
*/
//@JsonProperty("SRVPOS")
//private String srvpos;
/**
* 服务短文本
*/
//@JsonProperty("KTEXT1")
//private String ktext1;
/**
* 服务条目数量
*/
//@JsonProperty("ESLL_MENGE")
//private BigDecimal esllMenge;
/**
* 服务计量单位
*/
//@JsonProperty("ESLL_MEINS")
//private String esllMeins;
/**
* 定价基数
*/
//@JsonProperty("PEINH")
//private Integer peinh;
/**
* 服务预估单价
*/
//@JsonProperty("BRTWR")
//private BigDecimal brtwr;
/**
* 服务预估金额
*/
//@JsonProperty("NETWR")
//private BigDecimal netwr;
/**
* 创建者
*/
@JsonProperty("ernam")
private String ernam;
/**
* 申请人
*/
@JsonProperty("afnam")
private String afnam;
/**
* 评估价格
*/
//@JsonProperty("PREIS")
//private BigDecimal preis;
/**
* 价格基数
*/
//@JsonProperty("EBAN_PEINH")
//private Integer ebanPeinh;
/**
* 币种
*/
@JsonProperty("waers")
private String waers;
/**
* 评估金额
*/
//@JsonProperty("EBAN_NETWR")
//private BigDecimal ebanNetwr;
/**
* 会计分配序号
*/
@JsonProperty("zebkn")
private Integer zebkn;
/**
* 多重科目分配
*/
@JsonProperty("vrtkz")
private String vrtkz;
/**
* 部分发票
*/
@JsonProperty("twrkz")
private String twrkz;
/**
* PR分解数量
*/
//@JsonProperty("EKBN_MENGE")
//private Long ekbnMenge;
/**
* 总账科目
*/
@JsonProperty("sakto")
private String sakto;
/**
* 成本中心
*/
@JsonProperty("kostl")
private String kostl;
/**
* 订单号
*/
@JsonProperty("aufnr")
private String aufnr;
/**
* 主资产号
*/
@JsonProperty("anln1")
private String anln1;
/**
* 子资产号
*/
@JsonProperty("anln2")
private String anln2;
/**
* 审批处理状态
*/
//@JsonProperty("banpr")
//private String banpr;
public void setBillCode(String billCode) {
this.billCode = billCode;
}
public void setBnfpo(Integer bnfpo) {
this.bnfpo = bnfpo;
}
public void setPstyp(String pstyp) {
this.pstyp = pstyp;
}
public void setKnttp(String knttp) {
this.knttp = knttp;
}
public void setWerks(String werks) {
this.werks = werks;
}
public void setLgort(String lgort) {
this.lgort = lgort;
}
public void setMatnr(String matnr) {
this.matnr = matnr;
}
public void setTxz01(String txz01) {
this.txz01 = txz01;
}
public void setMatkl(String matkl) {
this.matkl = matkl;
}
public void setMenge(BigDecimal menge) {
this.menge = menge;
}
public void setMeins(String meins) {
this.meins = meins;
}
public void setEkgrp(String ekgrp) {
this.ekgrp = ekgrp;
}
public void setBadat(String badat) {
this.badat = badat;
}
public void setErdat(String erdat) {
this.erdat = erdat;
}
public void setFrgdt(String frgdt) {
this.frgdt = frgdt;
}
public void setLfdat(String lfdat) {
this.lfdat = lfdat;
}
public void setErnam(String ernam) {
this.ernam = ernam;
}
public void setAfnam(String afnam) {
this.afnam = afnam;
}
public void setWaers(String waers) {
this.waers = waers;
}
public void setZebkn(Integer zebkn) {
this.zebkn = zebkn;
}
public void setVrtkz(String vrtkz) {
this.vrtkz = vrtkz;
}
public void setTwrkz(String twrkz) {
this.twrkz = twrkz;
}
public void setSakto(String sakto) {
this.sakto = sakto;
}
public void setKostl(String kostl) {
this.kostl = kostl;
}
public void setAufnr(String aufnr) {
this.aufnr = aufnr;
}
public void setAnln1(String anln1) {
this.anln1 = anln1;
}
public void setAnln2(String anln2) {
this.anln2 = anln2;
}
}
......@@ -5,6 +5,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* @Auther: xin.lu
......@@ -13,373 +14,20 @@ import java.util.Date;
*/
public class SapPurchaseVo implements Serializable {
/**
* 需求跟踪号
*/
@JsonProperty("bednr")
private String billCode;
/**
* pr类型
*/
@JsonProperty("bsart")
private String bsart;
/**
* 采购申请编号
*/
//@JsonProperty("banfn")
//private String banfn;
/**
* 申购项次号
*/
@JsonProperty("bnfpo")
private Integer bnfpo;
/**
* 项次类别
*/
@JsonProperty("pstyp")
private String pstyp;
/**
* 科目分配类别
*/
@JsonProperty("knttp")
private String knttp;
/**
* 工厂
*/
@JsonProperty("werks")
private String werks;
/**
* 工厂名称
*/
//@JsonProperty("NAME1")
//private String name1;
/**
* 库存地点
*/
@JsonProperty("lgort")
private String lgort;
/**
* 库存地点名称
*/
//@JsonProperty("LGOBE")
//private String lgobe;
/**
* 物料编号
*/
@JsonProperty("matnr")
private String matnr;
/**
* 短文本
*/
@JsonProperty("txz01")
private String txz01;
/**
* 物料组
*/
@JsonProperty("matkl")
private String matkl;
/**
* 申购数量
*/
@JsonProperty("menge")
private BigDecimal menge;
/**
* 申购数量单位
*/
@JsonProperty("meins")
private String meins;
/**
* 采购组
*/
@JsonProperty("ekgrp")
private String ekgrp;
/**
* 申请日期
*/
@JsonProperty("badat")
private Date badat;
/**
* 创建日期
*/
@JsonProperty("erdat")
private Date erdat;
/**
* 批准日期
*/
@JsonProperty("frgdt")
private Date frgdt;
/**
* 要求交货日期
*/
@JsonProperty("lfdat")
private Date lfdat;
/**
* 服务主数据编号
*/
//@JsonProperty("SRVPOS")
//private String srvpos;
/**
* 服务短文本
*/
//@JsonProperty("KTEXT1")
//private String ktext1;
/**
* 服务条目数量
*/
//@JsonProperty("ESLL_MENGE")
//private BigDecimal esllMenge;
/**
* 服务计量单位
*/
//@JsonProperty("ESLL_MEINS")
//private String esllMeins;
/**
* 定价基数
*/
//@JsonProperty("PEINH")
//private Integer peinh;
/**
* 服务预估单价
*/
//@JsonProperty("BRTWR")
//private BigDecimal brtwr;
/**
* 服务预估金额
*/
//@JsonProperty("NETWR")
//private BigDecimal netwr;
/**
* 创建者
*/
@JsonProperty("ernam")
private String ernam;
/**
* 申请人
*/
@JsonProperty("afnam")
private String afnam;
/**
* 评估价格
*/
//@JsonProperty("PREIS")
//private BigDecimal preis;
/**
* 价格基数
*/
//@JsonProperty("EBAN_PEINH")
//private Integer ebanPeinh;
/**
* 币种
*/
@JsonProperty("waers")
private String waers;
/**
* 评估金额
*/
//@JsonProperty("EBAN_NETWR")
//private BigDecimal ebanNetwr;
/**
* 会计分配序号
*/
@JsonProperty("zebkn")
private Integer zebkn;
/**
* 多重科目分配
*/
@JsonProperty("vrtkz")
private String vrtkz;
/**
* 部分发票
*/
@JsonProperty("twrkz")
private String twrkz;
/**
* PR分解数量
*/
//@JsonProperty("EKBN_MENGE")
//private Long ekbnMenge;
/**
* 总账科目
*/
@JsonProperty("sakto")
private String sakto;
/**
* 成本中心
*/
@JsonProperty("kostl")
private String kostl;
/**
* 订单号
*/
@JsonProperty("aufnr")
private String aufnr;
/**
* 主资产号
*/
@JsonProperty("anln1")
private String anln1;
/**
* 子资产号
*/
@JsonProperty("anln2")
private String anln2;
/**
* 审批处理状态
*/
//@JsonProperty("banpr")
//private String banpr;
public void setBillCode(String billCode) {
this.billCode = billCode;
}
@JsonProperty("ITEM")
private List<SapPurchaseItemVo> itemVos;
public void setBsart(String bsart) {
this.bsart = bsart;
}
public void setBnfpo(Integer bnfpo) {
this.bnfpo = bnfpo;
}
public void setPstyp(String pstyp) {
this.pstyp = pstyp;
}
public void setKnttp(String knttp) {
this.knttp = knttp;
}
public void setWerks(String werks) {
this.werks = werks;
}
public void setLgort(String lgort) {
this.lgort = lgort;
}
public void setMatnr(String matnr) {
this.matnr = matnr;
}
public void setTxz01(String txz01) {
this.txz01 = txz01;
}
public void setMatkl(String matkl) {
this.matkl = matkl;
}
public void setMenge(BigDecimal menge) {
this.menge = menge;
}
public void setMeins(String meins) {
this.meins = meins;
}
public void setEkgrp(String ekgrp) {
this.ekgrp = ekgrp;
}
public void setBadat(Date badat) {
this.badat = badat;
}
public void setErdat(Date erdat) {
this.erdat = erdat;
}
public void setFrgdt(Date frgdt) {
this.frgdt = frgdt;
}
public void setLfdat(Date lfdat) {
this.lfdat = lfdat;
}
public void setErnam(String ernam) {
this.ernam = ernam;
}
public void setAfnam(String afnam) {
this.afnam = afnam;
}
public void setWaers(String waers) {
this.waers = waers;
}
public void setZebkn(Integer zebkn) {
this.zebkn = zebkn;
}
public void setVrtkz(String vrtkz) {
this.vrtkz = vrtkz;
}
public void setTwrkz(String twrkz) {
this.twrkz = twrkz;
}
public void setSakto(String sakto) {
this.sakto = sakto;
}
public void setKostl(String kostl) {
this.kostl = kostl;
}
public void setAufnr(String aufnr) {
this.aufnr = aufnr;
}
public void setAnln1(String anln1) {
this.anln1 = anln1;
}
public void setAnln2(String anln2) {
this.anln2 = anln2;
public void setItemVos(List<SapPurchaseItemVo> itemVos) {
this.itemVos = itemVos;
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment