星空对接接口开发:修改对接星空接口逻辑,补充直接调拨单json实体

This commit is contained in:
16358 2025-06-26 11:48:53 +08:00
parent f02ba45876
commit 7996f41b74
12 changed files with 341 additions and 41 deletions

View File

@ -308,6 +308,21 @@ public class PoundBill extends BaseEntity
//直供商名称
private String zgsName;
//和钢喀钢组织编码
private String oaOrgNumber;
//调入仓库编码
private String inStockNumber;
//调入仓库名称
private String inStockName;
//调出仓库编码
private String outStockNumber;
//调出仓库名称
private String outStockName;
public String getZgsId() {
return zgsId;
}
@ -316,6 +331,46 @@ public class PoundBill extends BaseEntity
this.zgsId = zgsId;
}
public String getOaOrgNumber() {
return oaOrgNumber;
}
public void setOaOrgNumber(String oaOrgNumber) {
this.oaOrgNumber = oaOrgNumber;
}
public String getInStockNumber() {
return inStockNumber;
}
public void setInStockNumber(String inStockNumber) {
this.inStockNumber = inStockNumber;
}
public String getInStockName() {
return inStockName;
}
public void setInStockName(String inStockName) {
this.inStockName = inStockName;
}
public String getOutStockNumber() {
return outStockNumber;
}
public void setOutStockNumber(String outStockNumber) {
this.outStockNumber = outStockNumber;
}
public String getOutStockName() {
return outStockName;
}
public void setOutStockName(String outStockName) {
this.outStockName = outStockName;
}
public String getZgsName() {
return zgsName;
}

View File

@ -264,8 +264,8 @@ public class ApiTask {
// String F_YMZ = row.getString(8); // 原毛重中台回传
// String F_YPZ = row.getString(9); // 原皮重中台回传
// Integer F_JS = row.getInteger(10); // 件数中台回传
// Integer F_GMSHDW = row.getInteger(11); // 国贸收货单位中台回传
// Integer F_CYDW = row.getInteger(12); // 承运单位中台回传
String F_GMSHDW = row.getString(11); // 国贸收货单位
String F_CYDW = row.getString(12); // 承运单位
// Integer F_BDMC = row.getInteger(13); // 磅点名称中台回传
String materialNumber = row.getString(14); // 物料编码
String fid = row.getString(15); // 单据头内码
@ -284,6 +284,8 @@ public class ApiTask {
poundappli.setSpecification(specification);
poundappli.setSrccleanmqty(new BigDecimal(weight));
poundappli.setItmno(materialNumber);
poundappli.setRecentname(F_GMSHDW);
poundappli.setTrnentname(F_CYDW);
poundappli.setFid(fid);
poundappli.setFentity_fentryid(fentryid);
poundappli.setSrcbillusrcode(sourceBillNo);
@ -294,7 +296,7 @@ public class ApiTask {
}
}
/**保存星空数据为中台<主榜单>数据
/**保存星空数据为中台<主榜单>数据暂时废弃业务变更
* @param formid 星空单据id
* @param oaData 星空数据
*/

View File

@ -1,9 +1,6 @@
package com.ruoyi.webApi.saveRequestBody.billHandlerUtil;
import com.ruoyi.webApi.saveRequestBody.billHandlerUtil.impl.PURHandler;
import com.ruoyi.webApi.saveRequestBody.billHandlerUtil.impl.SALHandler;
import com.ruoyi.webApi.saveRequestBody.billHandlerUtil.impl.SPHandler;
import com.ruoyi.webApi.saveRequestBody.billHandlerUtil.impl.STKHandler;
import com.ruoyi.webApi.saveRequestBody.billHandlerUtil.impl.*;
public enum BillHandlers {
SAL_DELIVERYNOTICE {
@ -29,6 +26,12 @@ public enum BillHandlers {
public BillHandler getHandler() {
return new SPHandler();
}
},
STK_TransferDirect {
@Override
public BillHandler getHandler() {
return new STKTDHandler();
}
};
public abstract BillHandler getHandler();
@ -43,6 +46,8 @@ public enum BillHandlers {
return STK_TRANSFERAPPLY.getHandler();
case "SP_InStock":
return SP_InStock.getHandler();
case "STK_TransferDirect":
return STK_TransferDirect.getHandler();
default:
throw new IllegalArgumentException("不支持的单据类型: " + type);
}

View File

@ -0,0 +1,24 @@
package com.ruoyi.webApi.saveRequestBody.billHandlerUtil.impl;
import com.ruoyi.bill.domain.PoundBill;
import com.ruoyi.webApi.saveRequestBody.billHandlerUtil.BillHandler;
import com.ruoyi.webApi.saveRequestBody.requestbody.DynamicFormRequest;
import com.ruoyi.webApi.saveRequestBody.requestbody.RequestData;
import com.ruoyi.webApi.saveRequestBody.requestbody.model.STKModel;
import com.ruoyi.webApi.saveRequestBody.requestbody.model.STKTDModel;
/**
* @author 16358
* @date 2025/6/26
*/
public class STKTDHandler implements BillHandler {
@Override
public DynamicFormRequest buildRequest(PoundBill bill) {
DynamicFormRequest request = new DynamicFormRequest("STK_TransferDirect");
RequestData data = new RequestData();
STKTDModel model = new STKTDModel(bill);
data.setModel(model);
request.setData(data);
return request;
}
}

View File

@ -0,0 +1,21 @@
package com.ruoyi.webApi.saveRequestBody.requestbody;
/**
* @author 16358
* @date 2025/6/25
*/
public class FNumberRef {
private String FNumber;
public FNumberRef(String FNumber) {
this.FNumber = FNumber;
}
public String getFNumber() {
return FNumber;
}
public void setFNumber(String FNumber) {
this.FNumber = FNumber;
}
}

View File

@ -0,0 +1,22 @@
package com.ruoyi.webApi.saveRequestBody.requestbody;
/**
* @author 16358
* @date 2025/6/25
*/
public class Ref<T> {
private T FNumber;
public Ref(T FNumber) {
this.FNumber = FNumber;
}
public T getFNumber() {
return FNumber;
}
public void setFNumber(T FNumber) {
this.FNumber = FNumber;
}
}

View File

@ -11,7 +11,7 @@ public class RequestModel {
private String F_BDMC;
private Object FEntity; // 根据类型可以是 Entity[] DetailEntity[]
// Getter and Setter
// Getter and Settershkd_bdim_winningbidd_ext
public String getFID() {
return FID;
}

View File

@ -1,5 +1,8 @@
package com.ruoyi.webApi.saveRequestBody.requestbody.entity;
import com.ruoyi.webApi.saveRequestBody.requestbody.FNumberRef;
import com.ruoyi.webApi.saveRequestBody.requestbody.Ref;
import java.math.BigDecimal;
/**
@ -16,6 +19,8 @@ public class SPEntity {
private Ref<FNumberRef> FStockId;
private Ref<FNumberRef> FWorkShopId1;
private Ref<FNumberRef> FShiftGroupId;
private String FOwnerTypeId;
private Ref<FNumberRef> FOwnerId;
private Long F_CZ;
private String FMemo;
private String F_LC;
@ -147,6 +152,22 @@ public class SPEntity {
F_KH = f_KH;
}
public String getFOwnerTypeId() {
return FOwnerTypeId;
}
public void setFOwnerTypeId(String FOwnerTypeId) {
this.FOwnerTypeId = FOwnerTypeId;
}
public Ref<FNumberRef> getFOwnerId() {
return FOwnerId;
}
public void setFOwnerId(Ref<FNumberRef> FOwnerId) {
this.FOwnerId = FOwnerId;
}
public Long getF_PJZL() {
return F_PJZL;
}
@ -170,37 +191,5 @@ public class SPEntity {
public void setF_PH(String f_PH) {
F_PH = f_PH;
}
public static class Ref<T> {
private T FNumber;
public Ref(T FNumber) {
this.FNumber = FNumber;
}
public T getFNumber() {
return FNumber;
}
public void setFNumber(T FNumber) {
this.FNumber = FNumber;
}
}
public static class FNumberRef {
private String FNumber;
public FNumberRef(String FNumber) {
this.FNumber = FNumber;
}
public String getFNumber() {
return FNumber;
}
public void setFNumber(String FNumber) {
this.FNumber = FNumber;
}
}
}

View File

@ -0,0 +1,65 @@
package com.ruoyi.webApi.saveRequestBody.requestbody.entity;
import com.ruoyi.webApi.saveRequestBody.requestbody.FNumberRef;
import com.ruoyi.webApi.saveRequestBody.requestbody.Ref;
/**
* @author 16358
* @date 2025/6/26
* @description: 直接调拨单Entity
*/
public class STKTDEntity {
private String FEntryID;
private Ref<FNumberRef> FMaterialId;
private String FQty;
private Ref<FNumberRef> FSrcStockId;
private Ref<FNumberRef> FDestStockId;
public STKTDEntity(String FEntryID, Ref<FNumberRef> FMaterialId, String FQty, Ref<FNumberRef> FSrcStockId, Ref<FNumberRef> FDestStockId) {
this.FEntryID = FEntryID;
this.FMaterialId = FMaterialId;
this.FQty = FQty;
this.FSrcStockId = FSrcStockId;
this.FDestStockId = FDestStockId;
}
public String getFEntryID() {
return FEntryID;
}
public void setFEntryID(String FEntryID) {
this.FEntryID = FEntryID;
}
public Ref<FNumberRef> getFMaterialId() {
return FMaterialId;
}
public void setFMaterialId(Ref<FNumberRef> FMaterialId) {
this.FMaterialId = FMaterialId;
}
public String getFQty() {
return FQty;
}
public void setFQty(String FQty) {
this.FQty = FQty;
}
public Ref<FNumberRef> getFSrcStockId() {
return FSrcStockId;
}
public void setFSrcStockId(Ref<FNumberRef> FSrcStockId) {
this.FSrcStockId = FSrcStockId;
}
public Ref<FNumberRef> getFDestStockId() {
return FDestStockId;
}
public void setFDestStockId(Ref<FNumberRef> FDestStockId) {
this.FDestStockId = FDestStockId;
}
}

View File

@ -1,9 +1,14 @@
package com.ruoyi.webApi.saveRequestBody.requestbody.model;
import com.ruoyi.bill.domain.PoundBill;
import com.ruoyi.webApi.saveRequestBody.requestbody.FNumberRef;
import com.ruoyi.webApi.saveRequestBody.requestbody.Ref;
import com.ruoyi.webApi.saveRequestBody.requestbody.entity.SPEntity;
import com.ruoyi.webApi.saveRequestBody.requestbody.RequestModel;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* @author 16358
* @date 2025/6/18 下午3:53
@ -11,6 +16,13 @@ import com.ruoyi.webApi.saveRequestBody.requestbody.RequestModel;
*/
public class SPModel extends RequestModel {
private SPEntity[] FEntity;
private Ref<FNumberRef> FBillType;
private String FDate;
private Ref<FNumberRef> FStockOrgId;
private Ref<FNumberRef> FPrdOrgId;
private Ref<FNumberRef> FCurrId;
private String FOwnerTypeId0;
private Ref<FNumberRef> FOwnerId0;
private String F_YWBD;
private String F_SJYWBD;
private String F_ZGS;
@ -19,6 +31,13 @@ public class SPModel extends RequestModel {
public SPModel(PoundBill bill) {
setFID(bill.getFid());
this.FBillType = new Ref<>(new FNumberRef("JDSCRK01_SYS"));
this.FDate = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
this.FStockOrgId = new Ref<>(new FNumberRef(bill.getOaOrgNumber()));
this.FPrdOrgId = new Ref<>(new FNumberRef(bill.getOaOrgNumber()));
this.FCurrId = new Ref<>(new FNumberRef("PRE001"));
this.FOwnerTypeId0 = "BD_OwnerOrg";
this.FOwnerId0 = new Ref<>(new FNumberRef(bill.getOaOrgNumber()));
this.F_YWBD = bill.getPoundid();
this.F_SJYWBD = bill.getPoundid();
this.F_ZGS = bill.getZgsId();
@ -35,6 +54,8 @@ public class SPModel extends RequestModel {
setFStockId(new Ref<>(new FNumberRef("")));
setFWorkShopId1(new Ref<>(new FNumberRef("")));
setFShiftGroupId(new Ref<>(new FNumberRef("")));
setFOwnerTypeId("BD_OwnerOrg");
setFOwnerId(new Ref<>(new FNumberRef(bill.getOaOrgNumber())));
setF_CZ(0l);
setFMemo(bill.getRemark());
setF_LC(bill.getBoilerno());

View File

@ -0,0 +1,71 @@
package com.ruoyi.webApi.saveRequestBody.requestbody.model;
import com.ruoyi.bill.domain.PoundBill;
import com.ruoyi.webApi.saveRequestBody.requestbody.FNumberRef;
import com.ruoyi.webApi.saveRequestBody.requestbody.Ref;
import com.ruoyi.webApi.saveRequestBody.requestbody.RequestModel;
import com.ruoyi.webApi.saveRequestBody.requestbody.entity.STKTDEntity;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* @author 16358
* @date 2025/6/26
* @description: 直接调拨单model
*/
public class STKTDModel extends RequestModel {
private STKTDEntity[] FBillEntry;
private Ref<FNumberRef> FBillTypeID;
private String FBizType;
private String FTransferDirect;
private String FTransferBizType;
private Ref<FNumberRef> FSaleOrgId;
private Ref<FNumberRef> FSettleOrgId;
private Ref<FNumberRef> FStockOutOrgId;
private String FOwnerTypeOutIdHead;
private Ref<FNumberRef> FOwnerOutIdHead;
private Ref<FNumberRef> FStockOrgId;
private String FOwnerTypeIdHead;
private Ref<FNumberRef> FSETTLECURRID;
private Ref<FNumberRef> FExchangeTypeId;
private Ref<FNumberRef> FOwnerIdHead;
private String FDate;
public STKTDModel(PoundBill bill) {
setFID(bill.getFid());
this.FBillTypeID = new Ref<>(new FNumberRef("ZJDB01_SYS"));
this.FBizType = "NORMAL";
this.FTransferDirect = "GENERAL";
this.FTransferBizType = "InnerOrgTransfer";
this.FSaleOrgId = new Ref<>(new FNumberRef(bill.getOaOrgNumber()));
this.FSettleOrgId = new Ref<>(new FNumberRef(bill.getOaOrgNumber()));
this.FStockOutOrgId = new Ref<>(new FNumberRef(bill.getOaOrgNumber()));
this.FOwnerTypeOutIdHead = "BD_OwnerOrg";
this.FOwnerOutIdHead = new Ref<>(new FNumberRef(bill.getOaOrgNumber()));
this.FStockOrgId = new Ref<>(new FNumberRef(bill.getOaOrgNumber()));
this.FOwnerTypeIdHead = "BD_OwnerOrg";
this.FSETTLECURRID = new Ref<>(new FNumberRef("PRE001"));
this.FExchangeTypeId = new Ref<>(new FNumberRef(bill.getOaOrgNumber()));
this.FOwnerIdHead = new Ref<>(new FNumberRef(bill.getOaOrgNumber()));
this.FDate = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
this.FBillEntry = new STKTDEntity[]{
new STKTDEntity(
bill.getFentity_fentryid(),
new Ref<FNumberRef>(new FNumberRef(bill.getItnumber())),
bill.getNetmqty().toString(),
new Ref<FNumberRef>(new FNumberRef(bill.getOutStockNumber())),
new Ref<FNumberRef>(new FNumberRef(bill.getInStockNumber()))
)
};
}
public STKTDEntity[] getFBillEntry() {
return FBillEntry;
}
public void setFBillEntry(STKTDEntity[] FEntity) {
this.FBillEntry = FEntity;
super.setFEntity(FEntity);
}
}

View File

@ -77,12 +77,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="isinuse" column="isinuse" />
<result property="crtdt" column="crtdt" />
<result property="crtopr" column="crtopr" />
<result property="oaOrgNumber" column="oaOrgNumber" />
<result property="inStockNumber" column="inStockNumber" />
<result property="inStockName" column="inStockName" />
<result property="outStockNumber" column="outStockNumber" />
<result property="outStockName" column="outStockName" />
<result property="lstedtdt" column="lstedtdt" />
<result property="lstedtopr" column="lstedtopr" />
</resultMap>
<sql id="selectPoundBillVo">
select id, billstate, usrcode, carno, wghmqty, empmqty, netmqty, wghdt, empdt, srcpunmqty, srcwghmqty, srcempmqty, srcnetmqty, itmname, itnumber, bundleNo, wghdtoprname, empdtoprname, specification, msrname, poundid, poundname, empsysid, empusrcode, wghsysid, wghusrcode, recunitid, recunitname, sendunitid, sendunitname, trnunitid, trnunitname, bsnunitid, bsnunitname, bsndptid, bsndptname, wghtype, scltype, cardriver, srcblltype, pondsrc, wetusrcode, srcbllusrcode, remark, boilerno,agnstatus,agngrossmqty,agntaremqty,agnnetmqty,ductmqty,ductmqtypre, steeno, unitlen, indexid, carnolz, steeltype, linetype, batno, lzno, lqty, bdcode, crtorgid, printcount, zgsId, zgsName, fid, fentity_fentryid, isinuse, crtdt, crtopr, lstedtdt, lstedtopr from t_data_poundbill
select id, billstate, usrcode, carno, wghmqty, empmqty, netmqty, wghdt, empdt, srcpunmqty, srcwghmqty, srcempmqty, srcnetmqty, itmname, itnumber, bundleNo, wghdtoprname, empdtoprname, specification, msrname, poundid, poundname, empsysid, empusrcode, wghsysid, wghusrcode, recunitid, recunitname, sendunitid, sendunitname, trnunitid, trnunitname, bsnunitid, bsnunitname, bsndptid, bsndptname, wghtype, scltype, cardriver, srcblltype, pondsrc, wetusrcode, srcbllusrcode, remark, boilerno,agnstatus,agngrossmqty,agntaremqty,agnnetmqty,ductmqty,ductmqtypre, steeno, unitlen, indexid, carnolz, steeltype, linetype, batno, lzno, lqty, bdcode, crtorgid, printcount, zgsId, zgsName, fid, fentity_fentryid, isinuse, crtdt, crtopr,oaOrgNumber,inStockNumber,inStockName,outStockNumber,outStockName, lstedtdt, lstedtopr from t_data_poundbill
</sql>
<select id="selectPoundBillList" parameterType="PoundBill" resultMap="PoundBillResult">
@ -150,6 +155,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="isinuse != null and isinuse != ''"> and isinuse = #{isinuse}</if>
<if test="crtdt != null "> and crtdt = #{crtdt}</if>
<if test="crtopr != null and crtopr != ''"> and crtopr = #{crtopr}</if>
<if test="oaOrgNumber != null and oaOrgNumber != ''"> and oaOrgNumber = #{oaOrgNumber}</if>
<if test="inStockNumber != null and inStockNumber != ''"> and inStockNumber = #{inStockNumber}</if>
<if test="inStockName != null and inStockName != ''"> and inStockName = #{inStockName}</if>
<if test="outStockNumber != null and outStockNumber != ''"> and outStockNumber = #{outStockNumber}</if>
<if test="outStockName != null and outStockName != ''"> and outStockName = #{outStockName}</if>
<if test="lstedtdt != null "> and lstedtdt = #{lstedtdt}</if>
<if test="lstedtopr != null and lstedtopr != ''"> and lstedtopr = #{lstedtopr}</if>
<if test="params.oabilltypes != null and params.oabilltypes != ''">
@ -242,6 +252,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="isinuse != null">isinuse,</if>
<if test="crtdt != null">crtdt,</if>
<if test="crtopr != null">crtopr,</if>
<if test="oaOrgNumber != null">oaOrgNumber,</if>
<if test="inStockNumber != null">inStockNumber,</if>
<if test="inStockName != null">inStockName,</if>
<if test="outStockNumber != null">outStockNumber,</if>
<if test="outStockName != null">outStockName,</if>
<if test="lstedtdt != null">lstedtdt,</if>
<if test="lstedtopr != null">lstedtopr,</if>
</trim>
@ -318,6 +333,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="isinuse != null">#{isinuse},</if>
<if test="crtdt != null">#{crtdt},</if>
<if test="crtopr != null">#{crtopr},</if>
<if test="oaOrgNumber != null">#{oaOrgNumber},</if>
<if test="inStockNumber != null">#{inStockNumber},</if>
<if test="inStockName != null">#{inStockName},</if>
<if test="outStockNumber != null">#{outStockNumber},</if>
<if test="outStockName != null">#{outStockName},</if>
<if test="lstedtdt != null">#{lstedtdt},</if>
<if test="lstedtopr != null">#{lstedtopr},</if>
</trim>
@ -397,6 +417,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="isinuse != null">isinuse = #{isinuse},</if>
<if test="crtdt != null">crtdt = #{crtdt},</if>
<if test="crtopr != null">crtopr = #{crtopr},</if>
<if test="oaOrgNumber != null">oaOrgNumber = #{oaOrgNumber},</if>
<if test="inStockNumber != null">inStockNumber = #{inStockNumber},</if>
<if test="inStockName != null">inStockName = #{inStockName},</if>
<if test="outStockNumber != null">outStockNumber = #{outStockNumber},</if>
<if test="outStockName != null">outStockName = #{outStockName},</if>
<if test="lstedtdt != null">lstedtdt = #{lstedtdt},</if>
<if test="lstedtopr != null">lstedtopr = #{lstedtopr},</if>
</trim>