【工具类】基础数据映射查询

【接口】形态转换接口
This commit is contained in:
tanfengling@x-ri.com 2025-09-26 16:44:42 +08:00
parent 92868c1ce8
commit a63368198b
2 changed files with 25 additions and 18 deletions

View File

@ -34,7 +34,10 @@ public class WMSAdjustBillController {
@ApiPostMapping(value = "/WMSAdjustBill", desc = "WMS库存异动api") @ApiPostMapping(value = "/WMSAdjustBill", desc = "WMS库存异动api")
public CustomApiResult<ApiResultExt> wmsAdjustBill public CustomApiResult<ApiResultExt> wmsAdjustBill
(@NotNull @ApiParam(value = "入参", example = "") String data) { (@NotNull @ApiParam(value = "调整单号", required = true) String cPACode,
@NotNull @ApiParam(value = "归属", required = true) String BelongTo,
@NotNull @ApiParam(value = "仓库编码", required = true) String cWhCode,
@NotNull @ApiParam(value = "明细", required = true) String Details) {
ApiResultExt resultExt = new ApiResultExt(); ApiResultExt resultExt = new ApiResultExt();
List<ApiResultExt.ResultBean> results = new ArrayList<>(); List<ApiResultExt.ResultBean> results = new ArrayList<>();
ApiResultExt.ResultBean resultBean = new ApiResultExt.ResultBean(); ApiResultExt.ResultBean resultBean = new ApiResultExt.ResultBean();
@ -43,11 +46,6 @@ public class WMSAdjustBillController {
JSONObject keys = new JSONObject(); JSONObject keys = new JSONObject();
boolean billStatus = true; boolean billStatus = true;
JSONObject obj = JSON.parseObject(data);
String cPACode = obj.getString("cPACode");//调整单号
String cWhCode = obj.getString("cWhCode");//仓库编码
String BelongTo = obj.getString("BelongTo");//归属组织
if(StringUtils.isBlank(cPACode)){ if(StringUtils.isBlank(cPACode)){
rowMsg.add("入参调整单号字段cPACode为空"); rowMsg.add("入参调整单号字段cPACode为空");
billStatus = false; billStatus = false;
@ -61,12 +59,13 @@ public class WMSAdjustBillController {
billStatus = false; billStatus = false;
}else{ }else{
QFilter f = new QFilter("number", "=", cWhCode); QFilter f = new QFilter("number", "=", cWhCode);
DynamicObject[] whArr = BusinessDataServiceHelper.load("bos_warehouse", "id,name,number", new QFilter[]{f}); DynamicObject[] whArr = BusinessDataServiceHelper.load("bd_warehouse", "id,name,number", new QFilter[]{f});
if(whArr == null || whArr.length == 0){ if(whArr == null || whArr.length == 0){
rowMsg.add("根据仓库编码字段cWhCode【"+cWhCode+"】在金蝶系统中没有查询到对应的仓库信息"); rowMsg.add("根据仓库编码字段cWhCode【"+cWhCode+"】在金蝶系统中没有查询到对应的仓库信息");
billStatus = false; billStatus = false;
}else { }else {
warehouse = whArr[0]; warehouse = whArr[0];
warehouse = BusinessDataServiceHelper.loadSingle(warehouse.getPkValue(), "bd_warehouse");
} }
} }
@ -86,10 +85,10 @@ public class WMSAdjustBillController {
} }
} }
JSONArray Details = obj.getJSONArray("Details"); JSONArray DetailsArr = JSON.parseArray(Details);
if(Details != null && Details.size() > 0){ if(DetailsArr != null && DetailsArr.size() > 0){
for (int i = 0; i < Details.size(); i++) { for (int i = 0; i < DetailsArr.size(); i++) {
JSONObject detail = Details.getJSONObject(i); JSONObject detail = DetailsArr.getJSONObject(i);
String cInvCode = detail.getString("cInvCode");//产品编码 String cInvCode = detail.getString("cInvCode");//产品编码
String cOBatch = detail.getString("cOBatch");//挑战前批次 String cOBatch = detail.getString("cOBatch");//挑战前批次
String cIBatch = detail.getString("cIBatch");//调整后批次 String cIBatch = detail.getString("cIBatch");//调整后批次
@ -142,7 +141,7 @@ public class WMSAdjustBillController {
resultBean.setBillIndex(0); resultBean.setBillIndex(0);
resultBean.setKeys(keys); resultBean.setKeys(keys);
resultBean.setNumber(cPACode); resultBean.setNumber(cPACode);
if(billStatus){ if(!billStatus){
//出现错误后返回 //出现错误后返回
error.setKeys(keys); error.setKeys(keys);
error.setRowMsg(rowMsg); error.setRowMsg(rowMsg);
@ -172,7 +171,14 @@ public class WMSAdjustBillController {
DynamicObject invstatus = invstatusArr[0]; DynamicObject invstatus = invstatusArr[0];
//必填校验通过构建并保存数据 //必填校验通过构建并保存数据
DynamicObject adjustbill = BusinessDataServiceHelper.newDynamicObject("im_adjustbill"); DynamicObject adjustbill = null;
DynamicObject[] billArr = BusinessDataServiceHelper.load("im_adjustbill", "id", new QFilter[]{new QFilter("billno", "=", "cPACode")});
if(billArr != null && billArr.length > 0){
adjustbill = BusinessDataServiceHelper.loadSingle(billArr[0].getPkValue(), "im_adjustbill");
}else {
adjustbill = BusinessDataServiceHelper.newDynamicObject("im_adjustbill");
adjustbill.set("billno", cPACode);
}
adjustbill.set("billno", cPACode); adjustbill.set("billno", cPACode);
adjustbill.set("biztime", new Date()); adjustbill.set("biztime", new Date());
adjustbill.set("org", org); adjustbill.set("org", org);
@ -181,8 +187,8 @@ public class WMSAdjustBillController {
adjustbill.set("billstatus", "A"); adjustbill.set("billstatus", "A");
adjustbill.set("billcretype", "1"); adjustbill.set("billcretype", "1");
DynamicObjectCollection beforeEntries = adjustbill.getDynamicObjectCollection("billentry");//调整前明细 DynamicObjectCollection beforeEntries = adjustbill.getDynamicObjectCollection("billentry");//调整前明细
for (int i = 0; i < Details.size(); i++) { for (int i = 0; i < DetailsArr.size(); i++) {
JSONObject detail = Details.getJSONObject(i); JSONObject detail = DetailsArr.getJSONObject(i);
String cInvCode = detail.getString("cInvCode");//产品编码 String cInvCode = detail.getString("cInvCode");//产品编码
String cOBatch = detail.getString("cOBatch");//挑战前批次 String cOBatch = detail.getString("cOBatch");//挑战前批次
Date dOMDate = detail.getDate("dOMDate");//挑战前生产日期 Date dOMDate = detail.getDate("dOMDate");//挑战前生产日期
@ -198,8 +204,9 @@ public class WMSAdjustBillController {
DynamicObject material = materialArr[0]; DynamicObject material = materialArr[0];
//物料库存信息 //物料库存信息
f = new QFilter("masterid.id", "=", material.getPkValue()); f = new QFilter("masterid.id", "=", material.getPkValue());
DynamicObject[] materialinvArr = BusinessDataServiceHelper.load("bd_materialinventoryinfo", "id,number,name,baseunit", new QFilter[]{f}); DynamicObject[] materialinvArr = BusinessDataServiceHelper.load("bd_materialinventoryinfo", "id,number,name", new QFilter[]{f});
DynamicObject materialinv = materialinvArr[0]; DynamicObject materialinv = materialinvArr[0];
materialinv = BusinessDataServiceHelper.loadSingle(materialinv.getPkValue(), "bd_materialinventoryinfo");
//调整前商品 //调整前商品
DynamicObject oGoods = null; DynamicObject oGoods = null;
DynamicObject[] oGoodsArr = BaseDataMatchUtils.materialMatchGoods("cInvCode", cOBatch, true); DynamicObject[] oGoodsArr = BaseDataMatchUtils.materialMatchGoods("cInvCode", cOBatch, true);
@ -246,7 +253,7 @@ public class WMSAdjustBillController {
DynamicObject afterEntry = afterEntries.addNew(); DynamicObject afterEntry = afterEntries.addNew();
afterEntry.set("materialmasterid1", material); afterEntry.set("materialmasterid1", material);
afterEntry.set("material1", materialinv); afterEntry.set("material1", materialinv);
beforeEntry.set("tqq9_goods1", iGoods); afterEntry.set("tqq9_goods1", iGoods);
afterEntry.set("unit1", material.getDynamicObject("baseunit")); afterEntry.set("unit1", material.getDynamicObject("baseunit"));
afterEntry.set("qty1", iPAQuantity); afterEntry.set("qty1", iPAQuantity);
afterEntry.set("baseunit1", material.getDynamicObject("baseunit")); afterEntry.set("baseunit1", material.getDynamicObject("baseunit"));

View File

@ -39,7 +39,7 @@ public class BaseDataMatchUtils {
public static DynamicObject[] materialMatchGoods(String materialNumber, String lotNumber, boolean isauto){ public static DynamicObject[] materialMatchGoods(String materialNumber, String lotNumber, boolean isauto){
QFilter f1 = new QFilter("tqq9_mater.number", "=", materialNumber); QFilter f1 = new QFilter("tqq9_mater.number", "=", materialNumber);
QFilter f2 = new QFilter("tqq9_entry.tqq9_lot.number", "=", lotNumber); QFilter f2 = new QFilter("tqq9_entry.tqq9_lot.number", "=", lotNumber);
QFilter f3 = new QFilter("isauto", "=", isauto); QFilter f3 = new QFilter("tqq9_isauto", "=", isauto);
DynamicObject[] goodsA = BusinessDataServiceHelper.load("tqq9_goodspackage", DynamicObject[] goodsA = BusinessDataServiceHelper.load("tqq9_goodspackage",
"id,number,name,tqq9_mater.baseunit,tqq9_mater.modelnum,tqq9_isauto", "id,number,name,tqq9_mater.baseunit,tqq9_mater.modelnum,tqq9_isauto",
new QFilter[]{f1, f2, f3}); new QFilter[]{f1, f2, f3});