|
|
|
|
@@ -58,11 +58,11 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService {
|
|
|
|
|
UserStorServiceImpl userStorService = new UserStorServiceImpl();
|
|
|
|
|
String in_stor_id = userStorService.getInStor();
|
|
|
|
|
|
|
|
|
|
if (ObjectUtil.isNotEmpty(in_stor_id)) map.put("in_stor_id",in_stor_id);
|
|
|
|
|
if (ObjectUtil.isNotEmpty(in_stor_id)) map.put("in_stor_id", in_stor_id);
|
|
|
|
|
|
|
|
|
|
JSONObject jo = WQL.getWO("QST_IVT_INANDOUTRETRUN").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "mst.input_time desc");
|
|
|
|
|
return jo;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
@@ -88,130 +88,104 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService {
|
|
|
|
|
for (int i = 0; i < rows.size(); i++) {
|
|
|
|
|
JSONObject jo_mst = rows.getJSONObject(i);
|
|
|
|
|
String isUpload = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("is_upload").getValue();
|
|
|
|
|
if (StrUtil.equals(isUpload, "1")) {
|
|
|
|
|
String bill_type = jo_mst.getString("bill_type");
|
|
|
|
|
//生产入库
|
|
|
|
|
if (StrUtil.equals(bill_type, "0001")) {
|
|
|
|
|
//1.回传MES
|
|
|
|
|
|
|
|
|
|
//查询该入库单下的所有箱子回传
|
|
|
|
|
JSONArray box_rows = WQL.getWO("QST_IVT_INANDOUTRETRUN").addParam("iostorinv_id",jo_mst.getString("iostorinv_id")).addParam("flag","2").process().getResultJSONArray(0);
|
|
|
|
|
for (int j = 0; j < box_rows.size(); j++) {
|
|
|
|
|
JSONObject box_row = box_rows.getJSONObject(j);
|
|
|
|
|
// 调用接口回传
|
|
|
|
|
JSONObject paramMesMst = new JSONObject();
|
|
|
|
|
paramMesMst.put("PackageBoxSN",box_row.getString("box_no"));
|
|
|
|
|
paramMesMst.put("User",box_row.getString("confirm_optname"));
|
|
|
|
|
new LmsToMesServiceImpl().childRollFGInboundComplete(paramMesMst);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 销售出库
|
|
|
|
|
if (StrUtil.equals(bill_type, "1001")) {
|
|
|
|
|
// 1.回传sap
|
|
|
|
|
JSONArray paramSapMstArr = new JSONArray();
|
|
|
|
|
|
|
|
|
|
JSONObject paramSapMst = new JSONObject();
|
|
|
|
|
paramSapMst.put("ZACTION", "P");
|
|
|
|
|
paramSapMst.put("BUDAT", jo_mst.getString("biz_date"));
|
|
|
|
|
paramSapMst.put("ZZYGYF", jo_mst.getString("estimated_freight"));
|
|
|
|
|
paramSapMst.put("ZZYFGY", jo_mst.getString("trans_code"));
|
|
|
|
|
|
|
|
|
|
JSONArray paramDtlArr = new JSONArray();
|
|
|
|
|
JSONArray dtlArr = wo_dtl.query("iostorinv_id = '" + jo_mst.getString("iostorinv_id") + "'").getResultJSONArray(0);
|
|
|
|
|
for (int k = 0; k < dtlArr.size(); k++) {
|
|
|
|
|
JSONArray paramDisArr = new JSONArray();
|
|
|
|
|
JSONObject json = dtlArr.getJSONObject(k);
|
|
|
|
|
JSONObject jsonMater = materTab.query("material_id = '" + json.getString("material_id") + "'").uniqueResult(0);
|
|
|
|
|
|
|
|
|
|
// 明细
|
|
|
|
|
JSONObject jsonDtl = new JSONObject();
|
|
|
|
|
jsonDtl.put("VBELN", json.getString("vbeln")); // 交货
|
|
|
|
|
paramSapMst.put("VBELN", json.getString("vbeln")); // 主表交货
|
|
|
|
|
jsonDtl.put("POSNR", json.getString("posnr")); // 项目
|
|
|
|
|
jsonDtl.put("MATNR", jsonMater.getString("material_code"));
|
|
|
|
|
|
|
|
|
|
// 分配明细
|
|
|
|
|
JSONArray disArr = wo_dis.query("iostorinvdtl_id = '" + json.getString("iostorinvdtl_id") + "'").getResultJSONArray(0);
|
|
|
|
|
for (int j = 0; j < disArr.size(); j++) {
|
|
|
|
|
JSONObject json2 = disArr.getJSONObject(j);
|
|
|
|
|
JSONObject jsonDis = new JSONObject();
|
|
|
|
|
|
|
|
|
|
JSONObject jsonSect = sectTab.query("sect_id = '" + json2.getString("sect_id") + "'").uniqueResult(0);
|
|
|
|
|
if (ObjectUtil.isNotEmpty(jsonSect)) {
|
|
|
|
|
//jsonDtl.put("LGORT", jsonSect.getString("ext_id")); // 明細储存地点
|
|
|
|
|
jsonDtl.put("LGORT", jo_mst.getString("remark")); // 明細储存地点
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
JSONObject jsonSub = subTab.query("container_name = '" + json2.getString("pcsn") + "'").uniqueResult(0);
|
|
|
|
|
if (ObjectUtil.isNotEmpty(jsonSect)) {
|
|
|
|
|
jsonDis.put("CHARG", jsonSub.getString("sap_pcsn")); // sap批次
|
|
|
|
|
}
|
|
|
|
|
jsonDis.put("VBELN", json.getString("vbeln")); // 交货
|
|
|
|
|
jsonDis.put("POSNR", json.getString("posnr")); // 项目
|
|
|
|
|
jsonDis.put("LFIMG", json2.getString("real_qty"));
|
|
|
|
|
jsonDis.put("VRKME", json.getString("qty_unit_name"));
|
|
|
|
|
jsonDis.put("PIKMG", json2.getString("real_qty"));
|
|
|
|
|
jsonDis.put("VRKMP", json2.getString("qty_unit_name"));
|
|
|
|
|
paramDisArr.add(jsonDis);
|
|
|
|
|
}
|
|
|
|
|
jsonDtl.put("CHARG_T", paramDisArr);
|
|
|
|
|
paramDtlArr.add(jsonDtl);
|
|
|
|
|
}
|
|
|
|
|
paramSapMst.put("ITEM", paramDtlArr);
|
|
|
|
|
paramSapMstArr.add(paramSapMst);
|
|
|
|
|
|
|
|
|
|
JSONObject param = new JSONObject();
|
|
|
|
|
param.put("HEAD", paramSapMstArr);
|
|
|
|
|
System.out.println(param.toString());
|
|
|
|
|
String bill_type = jo_mst.getString("bill_type");
|
|
|
|
|
String stor_id = jo_mst.getString("stor_id");
|
|
|
|
|
JSONObject stor_jo = WQLObject.getWQLObject("ST_IVT_BSRealStorAttr").query("stor_id = '" + stor_id + "'").uniqueResult(0);
|
|
|
|
|
String lgort = stor_jo.getString("ext_id");
|
|
|
|
|
String is_virtualstore = stor_jo.getString("is_virtualstore");
|
|
|
|
|
String is_productstore = stor_jo.getString("is_productstore");
|
|
|
|
|
//生产入库
|
|
|
|
|
if (StrUtil.equals(bill_type, "0001")) {
|
|
|
|
|
//1.回传MES
|
|
|
|
|
|
|
|
|
|
//查询该入库单下的所有箱子回传
|
|
|
|
|
JSONArray box_rows = WQL.getWO("QST_IVT_INANDOUTRETRUN").addParam("iostorinv_id", jo_mst.getString("iostorinv_id")).addParam("flag", "2").process().getResultJSONArray(0);
|
|
|
|
|
for (int j = 0; j < box_rows.size(); j++) {
|
|
|
|
|
JSONObject box_row = box_rows.getJSONObject(j);
|
|
|
|
|
// 调用接口回传
|
|
|
|
|
// new LmsToSapServiceImpl().returnDelivery(param);
|
|
|
|
|
|
|
|
|
|
// 2.回传mes
|
|
|
|
|
JSONObject paramMesMst = new JSONObject();
|
|
|
|
|
String userName = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_USERNAME").getValue();
|
|
|
|
|
String passWord = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_PASSWORD").getValue();
|
|
|
|
|
|
|
|
|
|
paramMesMst.put("UserName", userName);
|
|
|
|
|
paramMesMst.put("Password", passWord);
|
|
|
|
|
paramMesMst.put("iOutboundOrderNum", jo_mst.getString("bill_code"));
|
|
|
|
|
paramMesMst.put("iOutboundUser", jo_mst.getString("confirm_optname"));
|
|
|
|
|
paramMesMst.put("iOutboundTime", jo_mst.getString("confirm_time"));
|
|
|
|
|
|
|
|
|
|
JSONArray boxArr = WQL.getWO("ST_OUTIVT02").addParam("flag", "2")
|
|
|
|
|
.addParam("iostorinv_id", jo_mst.getString("iostorinv_id"))
|
|
|
|
|
.process().getResultJSONArray(0);
|
|
|
|
|
|
|
|
|
|
JSONArray paramArr = new JSONArray();
|
|
|
|
|
for (int j = 0; j < boxArr.size(); j++) {
|
|
|
|
|
JSONObject json = boxArr.getJSONObject(j);
|
|
|
|
|
JSONObject jsonBox = new JSONObject();
|
|
|
|
|
|
|
|
|
|
jsonBox.put("PackageBoxSN", json.getString("box_no"));
|
|
|
|
|
paramArr.add(jsonBox);
|
|
|
|
|
}
|
|
|
|
|
paramMesMst.put("item", paramArr);
|
|
|
|
|
|
|
|
|
|
// 调用接口回传
|
|
|
|
|
JSONObject jsonObject = new LmsToMesServiceImpl().childRollFGOutboundComplete(paramMesMst);
|
|
|
|
|
paramMesMst.put("PackageBoxSN", box_row.getString("box_no"));
|
|
|
|
|
paramMesMst.put("User", box_row.getString("confirm_optname"));
|
|
|
|
|
new LmsToMesServiceImpl().childRollFGInboundComplete(paramMesMst);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 改切出库
|
|
|
|
|
if (StrUtil.equals(bill_type, "1003")) {
|
|
|
|
|
JSONArray disArr = wo_dis.query("iostorinv_id = '" + jo_mst.getString("iostorinv_id") + "'").getResultJSONArray(0);
|
|
|
|
|
// 销售出库
|
|
|
|
|
if (StrUtil.equals(bill_type, "1001") && is_productstore.equals("1")) {
|
|
|
|
|
// 2.回传mes
|
|
|
|
|
JSONObject paramMesMst = new JSONObject();
|
|
|
|
|
String userName = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_USERNAME").getValue();
|
|
|
|
|
String passWord = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_PASSWORD").getValue();
|
|
|
|
|
|
|
|
|
|
//调用母卷配送到位接口
|
|
|
|
|
JSONObject mes_jo = new JSONObject();
|
|
|
|
|
paramMesMst.put("UserName", userName);
|
|
|
|
|
paramMesMst.put("Password", passWord);
|
|
|
|
|
paramMesMst.put("iOutboundOrderNum", jo_mst.getString("bill_code"));
|
|
|
|
|
paramMesMst.put("iOutboundUser", jo_mst.getString("confirm_optname"));
|
|
|
|
|
paramMesMst.put("iOutboundTime", jo_mst.getString("confirm_time"));
|
|
|
|
|
|
|
|
|
|
//查询该子卷对应的分切计划
|
|
|
|
|
//JSONArray cut_rows = WQLObject.getWQLObject("")
|
|
|
|
|
JSONObject source_dtl = WQLObject.getWQLObject("st_ivt_iostorinvdtl").query("iostorinv_id = '"+jo_mst.getString("iostorinv_id")+"' AND IFNULL(source_billdtl_id,'') <> ''").uniqueResult(0);
|
|
|
|
|
mes_jo.put("container_name", source_dtl.getString("pcsn"));
|
|
|
|
|
mes_jo.put("package_box_sn", source_dtl.getString("box_no"));
|
|
|
|
|
mes_jo.put("warehouse", "3");
|
|
|
|
|
new LmsToMesServiceImpl().cutPlanMomRollDeliveryComplete(mes_jo);
|
|
|
|
|
JSONArray boxArr = WQL.getWO("ST_OUTIVT02").addParam("flag", "2")
|
|
|
|
|
.addParam("iostorinv_id", jo_mst.getString("iostorinv_id"))
|
|
|
|
|
.process().getResultJSONArray(0);
|
|
|
|
|
|
|
|
|
|
JSONArray paramArr = new JSONArray();
|
|
|
|
|
for (int j = 0; j < boxArr.size(); j++) {
|
|
|
|
|
JSONObject json = boxArr.getJSONObject(j);
|
|
|
|
|
JSONObject jsonBox = new JSONObject();
|
|
|
|
|
|
|
|
|
|
jsonBox.put("PackageBoxSN", json.getString("box_no"));
|
|
|
|
|
paramArr.add(jsonBox);
|
|
|
|
|
}
|
|
|
|
|
paramMesMst.put("item", paramArr);
|
|
|
|
|
|
|
|
|
|
// 调用接口回传
|
|
|
|
|
new LmsToMesServiceImpl().childRollFGOutboundComplete(paramMesMst);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 调拨出库
|
|
|
|
|
if (StrUtil.equals(bill_type, "1004") && is_productstore.equals("1")) {
|
|
|
|
|
// 2.回传mes
|
|
|
|
|
JSONObject paramMesMst = new JSONObject();
|
|
|
|
|
String userName = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_USERNAME").getValue();
|
|
|
|
|
String passWord = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_PASSWORD").getValue();
|
|
|
|
|
|
|
|
|
|
paramMesMst.put("UserName", userName);
|
|
|
|
|
paramMesMst.put("Password", passWord);
|
|
|
|
|
paramMesMst.put("iOutboundOrderNum", jo_mst.getString("bill_code"));
|
|
|
|
|
paramMesMst.put("iOutboundUser", jo_mst.getString("confirm_optname"));
|
|
|
|
|
paramMesMst.put("iOutboundTime", jo_mst.getString("confirm_time"));
|
|
|
|
|
|
|
|
|
|
JSONArray boxArr = WQL.getWO("ST_OUTIVT02").addParam("flag", "2")
|
|
|
|
|
.addParam("iostorinv_id", jo_mst.getString("iostorinv_id"))
|
|
|
|
|
.process().getResultJSONArray(0);
|
|
|
|
|
|
|
|
|
|
JSONArray paramArr = new JSONArray();
|
|
|
|
|
for (int j = 0; j < boxArr.size(); j++) {
|
|
|
|
|
JSONObject json = boxArr.getJSONObject(j);
|
|
|
|
|
JSONObject jsonBox = new JSONObject();
|
|
|
|
|
|
|
|
|
|
jsonBox.put("PackageBoxSN", json.getString("box_no"));
|
|
|
|
|
paramArr.add(jsonBox);
|
|
|
|
|
}
|
|
|
|
|
paramMesMst.put("item", paramArr);
|
|
|
|
|
|
|
|
|
|
// 调用接口回传
|
|
|
|
|
new LmsToMesServiceImpl().childRollFGOutboundComplete(paramMesMst);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 改切出库
|
|
|
|
|
if (StrUtil.equals(bill_type, "1003")) {
|
|
|
|
|
JSONArray disArr = wo_dis.query("iostorinv_id = '" + jo_mst.getString("iostorinv_id") + "'").getResultJSONArray(0);
|
|
|
|
|
|
|
|
|
|
//调用母卷配送到位接口
|
|
|
|
|
JSONObject mes_jo = new JSONObject();
|
|
|
|
|
|
|
|
|
|
//查询该子卷对应的分切计划
|
|
|
|
|
//JSONArray cut_rows = WQLObject.getWQLObject("")
|
|
|
|
|
JSONObject source_dtl = WQLObject.getWQLObject("st_ivt_iostorinvdtl").query("iostorinv_id = '" + jo_mst.getString("iostorinv_id") + "' AND IFNULL(source_billdtl_id,'') <> ''").uniqueResult(0);
|
|
|
|
|
mes_jo.put("container_name", source_dtl.getString("pcsn"));
|
|
|
|
|
mes_jo.put("package_box_sn", source_dtl.getString("box_no"));
|
|
|
|
|
mes_jo.put("warehouse", "3");
|
|
|
|
|
new LmsToMesServiceImpl().cutPlanMomRollDeliveryComplete(mes_jo);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@@ -238,6 +212,11 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService {
|
|
|
|
|
String isUpload = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("is_upload").getValue();
|
|
|
|
|
if (StrUtil.equals(isUpload, "1")) {
|
|
|
|
|
String bill_type = jo_mst.getString("bill_type");
|
|
|
|
|
String stor_id = jo_mst.getString("stor_id");
|
|
|
|
|
JSONObject stor_jo = WQLObject.getWQLObject("ST_IVT_BSRealStorAttr").query("stor_id = '" + stor_id + "'").uniqueResult(0);
|
|
|
|
|
String lgort = stor_jo.getString("ext_id");
|
|
|
|
|
String is_virtualstore = stor_jo.getString("is_virtualstore");
|
|
|
|
|
String is_productstore = stor_jo.getString("is_productstore");
|
|
|
|
|
//退货入库
|
|
|
|
|
if (StrUtil.equals(bill_type, "0002")) {
|
|
|
|
|
// 1.回传sap
|
|
|
|
|
@@ -270,7 +249,7 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService {
|
|
|
|
|
JSONObject jsonSect = sectTab.query("sect_id = '" + json2.getString("sect_id") + "'").uniqueResult(0);
|
|
|
|
|
if (ObjectUtil.isNotEmpty(jsonSect)) {
|
|
|
|
|
//jsonDtl.put("LGORT", jsonSect.getString("ext_id")); // 明細储存地点
|
|
|
|
|
jsonDtl.put("LGORT", jo_mst.getString("remark")); // 明細储存地点
|
|
|
|
|
jsonDtl.put("LGORT", lgort); // 明細储存地点
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
JSONObject jsonSub = subTab.query("container_name = '" + json2.getString("pcsn") + "'").uniqueResult(0);
|
|
|
|
|
@@ -333,7 +312,7 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService {
|
|
|
|
|
JSONObject jsonSect = sectTab.query("sect_id = '" + json2.getString("sect_id") + "'").uniqueResult(0);
|
|
|
|
|
if (ObjectUtil.isNotEmpty(jsonSect)) {
|
|
|
|
|
//jsonDtl.put("LGORT", jsonSect.getString("ext_id")); // 明細储存地点
|
|
|
|
|
jsonDtl.put("LGORT", jo_mst.getString("remark")); // 明細储存地点
|
|
|
|
|
jsonDtl.put("LGORT", lgort); // 明細储存地点
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
JSONObject jsonSub = subTab.query("container_name = '" + json2.getString("pcsn") + "'").uniqueResult(0);
|
|
|
|
|
@@ -360,34 +339,6 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService {
|
|
|
|
|
|
|
|
|
|
// 调用接口回传
|
|
|
|
|
new LmsToSapServiceImpl().returnDelivery(param);
|
|
|
|
|
|
|
|
|
|
// 2.回传mes
|
|
|
|
|
JSONObject paramMesMst = new JSONObject();
|
|
|
|
|
String userName = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_USERNAME").getValue();
|
|
|
|
|
String passWord = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_PASSWORD").getValue();
|
|
|
|
|
|
|
|
|
|
paramMesMst.put("UserName", userName);
|
|
|
|
|
paramMesMst.put("Password", passWord);
|
|
|
|
|
paramMesMst.put("iOutboundOrderNum", jo_mst.getString("bill_code"));
|
|
|
|
|
paramMesMst.put("iOutboundUser", jo_mst.getString("confirm_optname"));
|
|
|
|
|
paramMesMst.put("iOutboundTime", jo_mst.getString("confirm_time"));
|
|
|
|
|
|
|
|
|
|
JSONArray boxArr = WQL.getWO("ST_OUTIVT02").addParam("flag", "2")
|
|
|
|
|
.addParam("iostorinv_id", jo_mst.getString("iostorinv_id"))
|
|
|
|
|
.process().getResultJSONArray(0);
|
|
|
|
|
|
|
|
|
|
JSONArray paramArr = new JSONArray();
|
|
|
|
|
for (int j = 0; j < boxArr.size(); j++) {
|
|
|
|
|
JSONObject json = boxArr.getJSONObject(j);
|
|
|
|
|
JSONObject jsonBox = new JSONObject();
|
|
|
|
|
|
|
|
|
|
jsonBox.put("PackageBoxSN", json.getString("box_no"));
|
|
|
|
|
paramArr.add(jsonBox);
|
|
|
|
|
}
|
|
|
|
|
paramMesMst.put("item", paramArr);
|
|
|
|
|
|
|
|
|
|
// 调用接口回传
|
|
|
|
|
// JSONObject jsonObject = new LmsToMesServiceImpl().childRollFGOutboundComplete(paramMesMst);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 改切出库
|
|
|
|
|
@@ -420,7 +371,7 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService {
|
|
|
|
|
JSONObject jsonSect = sectTab.query("sect_id = '" + json.getString("sect_id") + "'").uniqueResult(0);
|
|
|
|
|
if (ObjectUtil.isNotEmpty(jsonSect)) {
|
|
|
|
|
//jsonDtl.put("LGORT", jsonSect.getString("ext_id")); // 库存地点:库区外部标识
|
|
|
|
|
jsonDtl.put("LGORT", jo_mst.getString("remark")); // 库存地点:库区外部标识
|
|
|
|
|
jsonDtl.put("LGORT", lgort); // 库存地点:库区外部标识
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
JSONObject jsonSub = subTab.query("container_name = '" + json.getString("pcsn") + "'").uniqueResult(0);
|
|
|
|
|
@@ -496,176 +447,152 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService {
|
|
|
|
|
JSONArray rows = whereJson.getJSONArray("rows");
|
|
|
|
|
for (int i = 0; i < rows.size(); i++) {
|
|
|
|
|
JSONObject jo_mst = rows.getJSONObject(i);
|
|
|
|
|
String isUpload = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("is_upload").getValue();
|
|
|
|
|
if (StrUtil.equals(isUpload, "1")) {
|
|
|
|
|
String bill_type = jo_mst.getString("bill_type");
|
|
|
|
|
//生产入库
|
|
|
|
|
if (StrUtil.equals(bill_type, "0001")) {
|
|
|
|
|
//1.回传MES
|
|
|
|
|
String bill_type = jo_mst.getString("bill_type");
|
|
|
|
|
String stor_id = jo_mst.getString("stor_id");
|
|
|
|
|
JSONObject stor_jo = WQLObject.getWQLObject("ST_IVT_BSRealStorAttr").query("stor_id = '" + stor_id + "'").uniqueResult(0);
|
|
|
|
|
String lgort = stor_jo.getString("ext_id");
|
|
|
|
|
String is_virtualstore = stor_jo.getString("is_virtualstore");
|
|
|
|
|
String is_productstore = stor_jo.getString("is_productstore");
|
|
|
|
|
//生产入库
|
|
|
|
|
if (StrUtil.equals(bill_type, "0001")) {
|
|
|
|
|
//1.回传MES
|
|
|
|
|
|
|
|
|
|
//查询该入库单下的所有箱子回传
|
|
|
|
|
JSONArray box_rows = WQL.getWO("QST_IVT_INANDOUTRETRUN").addParam("iostorinv_id",jo_mst.getString("iostorinv_id")).addParam("flag","2").process().getResultJSONArray(0);
|
|
|
|
|
for (int j = 0; j < box_rows.size(); j++) {
|
|
|
|
|
JSONObject box_row = box_rows.getJSONObject(j);
|
|
|
|
|
// 调用接口回传
|
|
|
|
|
JSONObject paramMesMst = new JSONObject();
|
|
|
|
|
paramMesMst.put("PackageBoxSN",box_row.getString("box_no"));
|
|
|
|
|
paramMesMst.put("User",box_row.getString("confirm_optname"));
|
|
|
|
|
new LmsToMesServiceImpl().childRollFGInboundComplete(paramMesMst);
|
|
|
|
|
}
|
|
|
|
|
//查询该入库单下的所有箱子回传
|
|
|
|
|
JSONArray box_rows = WQL.getWO("QST_IVT_INANDOUTRETRUN").addParam("iostorinv_id", jo_mst.getString("iostorinv_id")).addParam("flag", "2").process().getResultJSONArray(0);
|
|
|
|
|
for (int j = 0; j < box_rows.size(); j++) {
|
|
|
|
|
JSONObject box_row = box_rows.getJSONObject(j);
|
|
|
|
|
// 调用接口回传
|
|
|
|
|
JSONObject paramMesMst = new JSONObject();
|
|
|
|
|
paramMesMst.put("PackageBoxSN", box_row.getString("box_no"));
|
|
|
|
|
paramMesMst.put("User", box_row.getString("confirm_optname"));
|
|
|
|
|
new LmsToMesServiceImpl().childRollFGInboundComplete(paramMesMst);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//退货入库
|
|
|
|
|
if (StrUtil.equals(bill_type, "0002")) {
|
|
|
|
|
// 1.回传sap
|
|
|
|
|
JSONArray paramSapMstArr = new JSONArray();
|
|
|
|
|
//退货入库
|
|
|
|
|
if (StrUtil.equals(bill_type, "0002")) {
|
|
|
|
|
// 1.回传sap
|
|
|
|
|
JSONArray paramSapMstArr = new JSONArray();
|
|
|
|
|
|
|
|
|
|
JSONObject paramSapMst = new JSONObject();
|
|
|
|
|
paramSapMst.put("ZACTION", "P");
|
|
|
|
|
paramSapMst.put("BUDAT", jo_mst.getString("biz_date"));
|
|
|
|
|
JSONObject paramSapMst = new JSONObject();
|
|
|
|
|
paramSapMst.put("ZACTION", "P");
|
|
|
|
|
paramSapMst.put("BUDAT", jo_mst.getString("biz_date"));
|
|
|
|
|
|
|
|
|
|
JSONArray paramDtlArr = new JSONArray();
|
|
|
|
|
JSONArray dtlArr = wo_dtl.query("iostorinv_id = '" + jo_mst.getString("iostorinv_id") + "'").getResultJSONArray(0);
|
|
|
|
|
for (int k = 0; k < dtlArr.size(); k++) {
|
|
|
|
|
JSONArray paramDisArr = new JSONArray();
|
|
|
|
|
JSONObject json = dtlArr.getJSONObject(k);
|
|
|
|
|
JSONObject jsonMater = materTab.query("material_id = '" + json.getString("material_id") + "'").uniqueResult(0);
|
|
|
|
|
JSONArray paramDtlArr = new JSONArray();
|
|
|
|
|
JSONArray dtlArr = wo_dtl.query("iostorinv_id = '" + jo_mst.getString("iostorinv_id") + "'").getResultJSONArray(0);
|
|
|
|
|
for (int k = 0; k < dtlArr.size(); k++) {
|
|
|
|
|
JSONArray paramDisArr = new JSONArray();
|
|
|
|
|
JSONObject json = dtlArr.getJSONObject(k);
|
|
|
|
|
JSONObject jsonMater = materTab.query("material_id = '" + json.getString("material_id") + "'").uniqueResult(0);
|
|
|
|
|
|
|
|
|
|
// 明细
|
|
|
|
|
JSONObject jsonDtl = new JSONObject();
|
|
|
|
|
jsonDtl.put("VBELN", json.getString("vbeln")); // 交货
|
|
|
|
|
paramSapMst.put("VBELN", json.getString("vbeln")); // 主表交货
|
|
|
|
|
jsonDtl.put("POSNR", json.getString("posnr")); // 项目
|
|
|
|
|
jsonDtl.put("MATNR", jsonMater.getString("material_code"));
|
|
|
|
|
// 明细
|
|
|
|
|
JSONObject jsonDtl = new JSONObject();
|
|
|
|
|
jsonDtl.put("VBELN", json.getString("vbeln")); // 交货
|
|
|
|
|
paramSapMst.put("VBELN", json.getString("vbeln")); // 主表交货
|
|
|
|
|
jsonDtl.put("POSNR", json.getString("posnr")); // 项目
|
|
|
|
|
jsonDtl.put("MATNR", jsonMater.getString("material_code"));
|
|
|
|
|
|
|
|
|
|
// 分配明细
|
|
|
|
|
JSONArray disArr = wo_dis.query("iostorinvdtl_id = '" + json.getString("iostorinvdtl_id") + "'").getResultJSONArray(0);
|
|
|
|
|
for (int j = 0; j < disArr.size(); j++) {
|
|
|
|
|
JSONObject json2 = disArr.getJSONObject(j);
|
|
|
|
|
JSONObject jsonDis = new JSONObject();
|
|
|
|
|
// 分配明细
|
|
|
|
|
JSONArray disArr = wo_dis.query("iostorinvdtl_id = '" + json.getString("iostorinvdtl_id") + "'").getResultJSONArray(0);
|
|
|
|
|
for (int j = 0; j < disArr.size(); j++) {
|
|
|
|
|
JSONObject json2 = disArr.getJSONObject(j);
|
|
|
|
|
JSONObject jsonDis = new JSONObject();
|
|
|
|
|
|
|
|
|
|
JSONObject jsonSect = sectTab.query("sect_id = '" + json2.getString("sect_id") + "'").uniqueResult(0);
|
|
|
|
|
if (ObjectUtil.isNotEmpty(jsonSect)) {
|
|
|
|
|
// jsonDtl.put("LGORT", jsonSect.getString("ext_id")); // 明細储存地点
|
|
|
|
|
jsonDtl.put("LGORT", jo_mst.getString("remark")); // 明細储存地点
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
JSONObject jsonSub = subTab.query("container_name = '" + json2.getString("pcsn") + "'").uniqueResult(0);
|
|
|
|
|
if (ObjectUtil.isNotEmpty(jsonSect)) {
|
|
|
|
|
jsonDis.put("CHARG", jsonSub.getString("sap_pcsn")); // sap批次
|
|
|
|
|
}
|
|
|
|
|
jsonDis.put("VBELN", json.getString("vbeln")); // 交货
|
|
|
|
|
jsonDis.put("POSNR", json.getString("posnr")); // 项目
|
|
|
|
|
jsonDis.put("LFIMG", json2.getString("real_qty"));
|
|
|
|
|
jsonDis.put("VRKME", json.getString("qty_unit_name"));
|
|
|
|
|
jsonDis.put("PIKMG", json2.getString("real_qty"));
|
|
|
|
|
jsonDis.put("VRKMP", json2.getString("qty_unit_name"));
|
|
|
|
|
paramDisArr.add(jsonDis);
|
|
|
|
|
JSONObject jsonSect = sectTab.query("sect_id = '" + json2.getString("sect_id") + "'").uniqueResult(0);
|
|
|
|
|
if (ObjectUtil.isNotEmpty(jsonSect)) {
|
|
|
|
|
// jsonDtl.put("LGORT", jsonSect.getString("ext_id")); // 明細储存地点
|
|
|
|
|
jsonDtl.put("LGORT", jo_mst.getString("remark")); // 明細储存地点
|
|
|
|
|
}
|
|
|
|
|
jsonDtl.put("CHARG_T", paramDisArr);
|
|
|
|
|
paramDtlArr.add(jsonDtl);
|
|
|
|
|
}
|
|
|
|
|
paramSapMst.put("ITEM", paramDtlArr);
|
|
|
|
|
paramSapMstArr.add(paramSapMst);
|
|
|
|
|
|
|
|
|
|
JSONObject param = new JSONObject();
|
|
|
|
|
param.put("HEAD", paramSapMstArr);
|
|
|
|
|
JSONObject jsonSub = subTab.query("container_name = '" + json2.getString("pcsn") + "'").uniqueResult(0);
|
|
|
|
|
if (ObjectUtil.isNotEmpty(jsonSect)) {
|
|
|
|
|
jsonDis.put("CHARG", jsonSub.getString("sap_pcsn")); // sap批次
|
|
|
|
|
}
|
|
|
|
|
jsonDis.put("VBELN", json.getString("vbeln")); // 交货
|
|
|
|
|
jsonDis.put("POSNR", json.getString("posnr")); // 项目
|
|
|
|
|
jsonDis.put("LFIMG", json2.getString("real_qty"));
|
|
|
|
|
jsonDis.put("VRKME", json.getString("qty_unit_name"));
|
|
|
|
|
jsonDis.put("PIKMG", json2.getString("real_qty"));
|
|
|
|
|
jsonDis.put("VRKMP", json2.getString("qty_unit_name"));
|
|
|
|
|
paramDisArr.add(jsonDis);
|
|
|
|
|
}
|
|
|
|
|
jsonDtl.put("CHARG_T", paramDisArr);
|
|
|
|
|
paramDtlArr.add(jsonDtl);
|
|
|
|
|
}
|
|
|
|
|
paramSapMst.put("ITEM", paramDtlArr);
|
|
|
|
|
paramSapMstArr.add(paramSapMst);
|
|
|
|
|
|
|
|
|
|
JSONObject param = new JSONObject();
|
|
|
|
|
param.put("HEAD", paramSapMstArr);
|
|
|
|
|
// System.out.println(param.toString());
|
|
|
|
|
|
|
|
|
|
// 调用接口回传
|
|
|
|
|
new LmsToSapServiceImpl().returnDelivery(param);
|
|
|
|
|
// 调用接口回传
|
|
|
|
|
new LmsToSapServiceImpl().returnDelivery(param);
|
|
|
|
|
}
|
|
|
|
|
// 销售出库
|
|
|
|
|
if (StrUtil.equals(bill_type, "1001")) {
|
|
|
|
|
// 1.回传sap
|
|
|
|
|
JSONArray paramSapMstArr = new JSONArray();
|
|
|
|
|
|
|
|
|
|
// 2.回传mes
|
|
|
|
|
JSONObject paramMesMst = new JSONObject();
|
|
|
|
|
String userName = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_USERNAME").getValue();
|
|
|
|
|
String passWord = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_PASSWORD").getValue();
|
|
|
|
|
JSONObject paramSapMst = new JSONObject();
|
|
|
|
|
paramSapMst.put("ZACTION", "P");
|
|
|
|
|
paramSapMst.put("BUDAT", jo_mst.getString("biz_date"));
|
|
|
|
|
paramSapMst.put("ZZYGYF", jo_mst.getString("estimated_freight"));
|
|
|
|
|
paramSapMst.put("ZZYFGY", jo_mst.getString("trans_code"));
|
|
|
|
|
|
|
|
|
|
paramMesMst.put("UserName", userName);
|
|
|
|
|
paramMesMst.put("Password", passWord);
|
|
|
|
|
paramMesMst.put("OutboundOrderNum", jo_mst.getString("bill_code"));
|
|
|
|
|
paramMesMst.put("OutboundUser", jo_mst.getString("confirm_optname"));
|
|
|
|
|
paramMesMst.put("OutboundTime", jo_mst.getString("confirm_time"));
|
|
|
|
|
JSONArray paramDtlArr = new JSONArray();
|
|
|
|
|
JSONArray dtlArr = wo_dtl.query("iostorinv_id = '" + jo_mst.getString("iostorinv_id") + "'").getResultJSONArray(0);
|
|
|
|
|
for (int k = 0; k < dtlArr.size(); k++) {
|
|
|
|
|
JSONArray paramDisArr = new JSONArray();
|
|
|
|
|
JSONObject json = dtlArr.getJSONObject(k);
|
|
|
|
|
JSONObject jsonMater = materTab.query("material_id = '" + json.getString("material_id") + "'").uniqueResult(0);
|
|
|
|
|
|
|
|
|
|
JSONArray boxArr = WQL.getWO("ST_OUTIVT02").addParam("flag", "2")
|
|
|
|
|
.addParam("iostorinv_id", jo_mst.getString("iostorinv_id"))
|
|
|
|
|
.process().getResultJSONArray(0);
|
|
|
|
|
// 明细
|
|
|
|
|
JSONObject jsonDtl = new JSONObject();
|
|
|
|
|
jsonDtl.put("VBELN", json.getString("vbeln")); // 交货
|
|
|
|
|
paramSapMst.put("VBELN", json.getString("vbeln")); // 主表交货
|
|
|
|
|
jsonDtl.put("POSNR", json.getString("posnr")); // 项目
|
|
|
|
|
jsonDtl.put("MATNR", jsonMater.getString("material_code"));
|
|
|
|
|
|
|
|
|
|
JSONArray paramArr = new JSONArray();
|
|
|
|
|
for (int j = 0; j < boxArr.size(); j++) {
|
|
|
|
|
JSONObject json = boxArr.getJSONObject(j);
|
|
|
|
|
JSONObject jsonBox = new JSONObject();
|
|
|
|
|
// 分配明细
|
|
|
|
|
JSONArray disArr = wo_dis.query("iostorinvdtl_id = '" + json.getString("iostorinvdtl_id") + "'").getResultJSONArray(0);
|
|
|
|
|
for (int j = 0; j < disArr.size(); j++) {
|
|
|
|
|
JSONObject json2 = disArr.getJSONObject(j);
|
|
|
|
|
JSONObject jsonDis = new JSONObject();
|
|
|
|
|
|
|
|
|
|
jsonBox.put("PackageBoxSN", json.getString("box_no"));
|
|
|
|
|
paramArr.add(jsonBox);
|
|
|
|
|
}
|
|
|
|
|
paramMesMst.put("item", paramArr);
|
|
|
|
|
|
|
|
|
|
// 调用接口回传
|
|
|
|
|
new LmsToMesServiceImpl().childRollFGOutboundComplete(paramMesMst);
|
|
|
|
|
}
|
|
|
|
|
// 销售出库
|
|
|
|
|
if (StrUtil.equals(bill_type, "1001")) {
|
|
|
|
|
// 1.回传sap
|
|
|
|
|
JSONArray paramSapMstArr = new JSONArray();
|
|
|
|
|
|
|
|
|
|
JSONObject paramSapMst = new JSONObject();
|
|
|
|
|
paramSapMst.put("ZACTION", "P");
|
|
|
|
|
paramSapMst.put("BUDAT", jo_mst.getString("biz_date"));
|
|
|
|
|
paramSapMst.put("ZZYGYF", jo_mst.getString("estimated_freight"));
|
|
|
|
|
paramSapMst.put("ZZYFGY", jo_mst.getString("trans_code"));
|
|
|
|
|
|
|
|
|
|
JSONArray paramDtlArr = new JSONArray();
|
|
|
|
|
JSONArray dtlArr = wo_dtl.query("iostorinv_id = '" + jo_mst.getString("iostorinv_id") + "'").getResultJSONArray(0);
|
|
|
|
|
for (int k = 0; k < dtlArr.size(); k++) {
|
|
|
|
|
JSONArray paramDisArr = new JSONArray();
|
|
|
|
|
JSONObject json = dtlArr.getJSONObject(k);
|
|
|
|
|
JSONObject jsonMater = materTab.query("material_id = '" + json.getString("material_id") + "'").uniqueResult(0);
|
|
|
|
|
|
|
|
|
|
// 明细
|
|
|
|
|
JSONObject jsonDtl = new JSONObject();
|
|
|
|
|
jsonDtl.put("VBELN", json.getString("vbeln")); // 交货
|
|
|
|
|
paramSapMst.put("VBELN", json.getString("vbeln")); // 主表交货
|
|
|
|
|
jsonDtl.put("POSNR", json.getString("posnr")); // 项目
|
|
|
|
|
jsonDtl.put("MATNR", jsonMater.getString("material_code"));
|
|
|
|
|
|
|
|
|
|
// 分配明细
|
|
|
|
|
JSONArray disArr = wo_dis.query("iostorinvdtl_id = '" + json.getString("iostorinvdtl_id") + "'").getResultJSONArray(0);
|
|
|
|
|
for (int j = 0; j < disArr.size(); j++) {
|
|
|
|
|
JSONObject json2 = disArr.getJSONObject(j);
|
|
|
|
|
JSONObject jsonDis = new JSONObject();
|
|
|
|
|
|
|
|
|
|
JSONObject jsonSect = sectTab.query("sect_id = '" + json2.getString("sect_id") + "'").uniqueResult(0);
|
|
|
|
|
if (ObjectUtil.isNotEmpty(jsonSect)) {
|
|
|
|
|
//jsonDtl.put("LGORT", jsonSect.getString("ext_id")); // 明細储存地点
|
|
|
|
|
jsonDtl.put("LGORT", jo_mst.getString("remark")); // 明細储存地点
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
JSONObject jsonSub = subTab.query("container_name = '" + json2.getString("pcsn") + "'").uniqueResult(0);
|
|
|
|
|
if (ObjectUtil.isNotEmpty(jsonSect)) {
|
|
|
|
|
jsonDis.put("CHARG", jsonSub.getString("sap_pcsn")); // sap批次
|
|
|
|
|
}
|
|
|
|
|
jsonDis.put("VBELN", json.getString("vbeln")); // 交货
|
|
|
|
|
jsonDis.put("POSNR", json.getString("posnr")); // 项目
|
|
|
|
|
jsonDis.put("LFIMG", json2.getString("real_qty"));
|
|
|
|
|
jsonDis.put("VRKME", json.getString("qty_unit_name"));
|
|
|
|
|
jsonDis.put("PIKMG", json2.getString("real_qty"));
|
|
|
|
|
jsonDis.put("VRKMP", json2.getString("qty_unit_name"));
|
|
|
|
|
paramDisArr.add(jsonDis);
|
|
|
|
|
JSONObject jsonSect = sectTab.query("sect_id = '" + json2.getString("sect_id") + "'").uniqueResult(0);
|
|
|
|
|
if (ObjectUtil.isNotEmpty(jsonSect)) {
|
|
|
|
|
//jsonDtl.put("LGORT", jsonSect.getString("ext_id")); // 明細储存地点
|
|
|
|
|
jsonDtl.put("LGORT", lgort); // 明細储存地点
|
|
|
|
|
}
|
|
|
|
|
jsonDtl.put("CHARG_T", paramDisArr);
|
|
|
|
|
paramDtlArr.add(jsonDtl);
|
|
|
|
|
|
|
|
|
|
JSONObject jsonSub = subTab.query("container_name = '" + json2.getString("pcsn") + "'").uniqueResult(0);
|
|
|
|
|
if (ObjectUtil.isNotEmpty(jsonSect)) {
|
|
|
|
|
jsonDis.put("CHARG", jsonSub.getString("sap_pcsn")); // sap批次
|
|
|
|
|
}
|
|
|
|
|
jsonDis.put("VBELN", json.getString("vbeln")); // 交货
|
|
|
|
|
jsonDis.put("POSNR", json.getString("posnr")); // 项目
|
|
|
|
|
jsonDis.put("LFIMG", json2.getString("real_qty"));
|
|
|
|
|
jsonDis.put("VRKME", json.getString("qty_unit_name"));
|
|
|
|
|
jsonDis.put("PIKMG", json2.getString("real_qty"));
|
|
|
|
|
jsonDis.put("VRKMP", json2.getString("qty_unit_name"));
|
|
|
|
|
paramDisArr.add(jsonDis);
|
|
|
|
|
}
|
|
|
|
|
paramSapMst.put("ITEM", paramDtlArr);
|
|
|
|
|
paramSapMstArr.add(paramSapMst);
|
|
|
|
|
jsonDtl.put("CHARG_T", paramDisArr);
|
|
|
|
|
paramDtlArr.add(jsonDtl);
|
|
|
|
|
}
|
|
|
|
|
paramSapMst.put("ITEM", paramDtlArr);
|
|
|
|
|
paramSapMstArr.add(paramSapMst);
|
|
|
|
|
|
|
|
|
|
JSONObject param = new JSONObject();
|
|
|
|
|
param.put("HEAD", paramSapMstArr);
|
|
|
|
|
System.out.println(param.toString());
|
|
|
|
|
JSONObject param = new JSONObject();
|
|
|
|
|
param.put("HEAD", paramSapMstArr);
|
|
|
|
|
System.out.println(param.toString());
|
|
|
|
|
|
|
|
|
|
// 调用接口回传
|
|
|
|
|
new LmsToSapServiceImpl().returnDelivery(param);
|
|
|
|
|
// 调用接口回传
|
|
|
|
|
new LmsToSapServiceImpl().returnDelivery(param);
|
|
|
|
|
|
|
|
|
|
// 2.回传mes
|
|
|
|
|
// 2.回传mes
|
|
|
|
|
if (is_productstore.equals("1")){
|
|
|
|
|
JSONObject paramMesMst = new JSONObject();
|
|
|
|
|
String userName = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_USERNAME").getValue();
|
|
|
|
|
String passWord = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_PASSWORD").getValue();
|
|
|
|
|
@@ -693,53 +620,84 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService {
|
|
|
|
|
// 调用接口回传
|
|
|
|
|
new LmsToMesServiceImpl().childRollFGOutboundComplete(paramMesMst);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 改切出库
|
|
|
|
|
if (StrUtil.equals(bill_type, "1003")) {
|
|
|
|
|
JSONObject paramMst = new JSONObject();
|
|
|
|
|
JSONArray paramArr = new JSONArray();
|
|
|
|
|
|
|
|
|
|
paramMst.put("BLDAT", jo_mst.getString("biz_date"));
|
|
|
|
|
paramMst.put("BUDAT", jo_mst.getString("biz_date"));
|
|
|
|
|
paramMst.put("BKTXT", ""); // 凭证抬头文本
|
|
|
|
|
paramMst.put("XBLNR", ""); // 参考
|
|
|
|
|
|
|
|
|
|
JSONArray disArr = wo_dis.query("iostorinv_id = '" + jo_mst.getString("iostorinv_id") + "'").getResultJSONArray(0);
|
|
|
|
|
for (int j = 0; j < disArr.size(); j++) {
|
|
|
|
|
JSONObject json = disArr.getJSONObject(j);
|
|
|
|
|
JSONObject jsonMater = materTab.query("material_id = '" + json.getString("material_id") + "'").uniqueResult(0);
|
|
|
|
|
|
|
|
|
|
JSONObject jsonDtl = new JSONObject();
|
|
|
|
|
jsonDtl.put("RSPOS", i + 1);
|
|
|
|
|
jsonDtl.put("MATNR", jsonMater.getString("material_code"));
|
|
|
|
|
jsonDtl.put("BWART", "311");
|
|
|
|
|
jsonDtl.put("MENGE", json.getDoubleValue("plan_qty"));
|
|
|
|
|
jsonDtl.put("MEINS", json.getString("qty_unit_id"));
|
|
|
|
|
jsonDtl.put("LGORT", jo_mst.getString("remark")); // 库存地点
|
|
|
|
|
jsonDtl.put("CHARG", json.getString("pcsn"));
|
|
|
|
|
jsonDtl.put("UMLGO", ""); // 收货库存地点
|
|
|
|
|
jsonDtl.put("UMCHA", json.getString("pcsn"));
|
|
|
|
|
jsonDtl.put("KDAUF", ""); // 销售订单
|
|
|
|
|
jsonDtl.put("KDPOS", ""); // 销售订单行项目
|
|
|
|
|
paramArr.add(jsonDtl);
|
|
|
|
|
}
|
|
|
|
|
paramMst.put("item", paramArr);
|
|
|
|
|
|
|
|
|
|
// 调用接口回传
|
|
|
|
|
new LmsToSapServiceImpl().returnMoveDtl(paramMst);
|
|
|
|
|
|
|
|
|
|
//调用母卷配送到位接口
|
|
|
|
|
JSONObject mes_jo = new JSONObject();
|
|
|
|
|
|
|
|
|
|
//查询该子卷对应的分切计划
|
|
|
|
|
//JSONArray cut_rows = WQLObject.getWQLObject("")
|
|
|
|
|
mes_jo.put("contain_name", disArr.getJSONObject(0).getString("pcsn"));
|
|
|
|
|
mes_jo.put("package_box_sn", disArr.getJSONObject(0).getString("box_no"));
|
|
|
|
|
mes_jo.put("warehouse", "3");
|
|
|
|
|
new LmsToMesServiceImpl().cutPlanMomRollDeliveryComplete(mes_jo);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 改切出库
|
|
|
|
|
if (StrUtil.equals(bill_type, "1003")) {
|
|
|
|
|
JSONObject paramMst = new JSONObject();
|
|
|
|
|
JSONArray paramArr = new JSONArray();
|
|
|
|
|
|
|
|
|
|
paramMst.put("BLDAT", jo_mst.getString("biz_date"));
|
|
|
|
|
paramMst.put("BUDAT", jo_mst.getString("biz_date"));
|
|
|
|
|
paramMst.put("BKTXT", ""); // 凭证抬头文本
|
|
|
|
|
paramMst.put("XBLNR", ""); // 参考
|
|
|
|
|
|
|
|
|
|
JSONArray disArr = wo_dis.query("iostorinv_id = '" + jo_mst.getString("iostorinv_id") + "'").getResultJSONArray(0);
|
|
|
|
|
for (int j = 0; j < disArr.size(); j++) {
|
|
|
|
|
JSONObject json = disArr.getJSONObject(j);
|
|
|
|
|
JSONObject jsonMater = materTab.query("material_id = '" + json.getString("material_id") + "'").uniqueResult(0);
|
|
|
|
|
|
|
|
|
|
JSONObject jsonDtl = new JSONObject();
|
|
|
|
|
jsonDtl.put("RSPOS", i + 1);
|
|
|
|
|
jsonDtl.put("MATNR", jsonMater.getString("material_code"));
|
|
|
|
|
jsonDtl.put("BWART", "311");
|
|
|
|
|
jsonDtl.put("MENGE", json.getDoubleValue("plan_qty"));
|
|
|
|
|
jsonDtl.put("MEINS", json.getString("qty_unit_id"));
|
|
|
|
|
jsonDtl.put("LGORT", lgort); // 库存地点
|
|
|
|
|
jsonDtl.put("CHARG", json.getString("pcsn"));
|
|
|
|
|
jsonDtl.put("UMLGO", ""); // 收货库存地点
|
|
|
|
|
jsonDtl.put("UMCHA", json.getString("pcsn"));
|
|
|
|
|
jsonDtl.put("KDAUF", ""); // 销售订单
|
|
|
|
|
jsonDtl.put("KDPOS", ""); // 销售订单行项目
|
|
|
|
|
paramArr.add(jsonDtl);
|
|
|
|
|
}
|
|
|
|
|
paramMst.put("item", paramArr);
|
|
|
|
|
|
|
|
|
|
// 调用接口回传
|
|
|
|
|
new LmsToSapServiceImpl().returnMoveDtl(paramMst);
|
|
|
|
|
|
|
|
|
|
//调用母卷配送到位接口
|
|
|
|
|
JSONObject mes_jo = new JSONObject();
|
|
|
|
|
|
|
|
|
|
//查询该子卷对应的分切计划
|
|
|
|
|
//JSONArray cut_rows = WQLObject.getWQLObject("")
|
|
|
|
|
mes_jo.put("contain_name", disArr.getJSONObject(0).getString("pcsn"));
|
|
|
|
|
mes_jo.put("package_box_sn", disArr.getJSONObject(0).getString("box_no"));
|
|
|
|
|
mes_jo.put("warehouse", "3");
|
|
|
|
|
new LmsToMesServiceImpl().cutPlanMomRollDeliveryComplete(mes_jo);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 调拨出库
|
|
|
|
|
if (StrUtil.equals(bill_type, "1004") && is_productstore.equals("1")) {
|
|
|
|
|
// 2.回传mes
|
|
|
|
|
JSONObject paramMesMst = new JSONObject();
|
|
|
|
|
String userName = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_USERNAME").getValue();
|
|
|
|
|
String passWord = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_PASSWORD").getValue();
|
|
|
|
|
|
|
|
|
|
paramMesMst.put("UserName", userName);
|
|
|
|
|
paramMesMst.put("Password", passWord);
|
|
|
|
|
paramMesMst.put("iOutboundOrderNum", jo_mst.getString("bill_code"));
|
|
|
|
|
paramMesMst.put("iOutboundUser", jo_mst.getString("confirm_optname"));
|
|
|
|
|
paramMesMst.put("iOutboundTime", jo_mst.getString("confirm_time"));
|
|
|
|
|
|
|
|
|
|
JSONArray boxArr = WQL.getWO("ST_OUTIVT02").addParam("flag", "2")
|
|
|
|
|
.addParam("iostorinv_id", jo_mst.getString("iostorinv_id"))
|
|
|
|
|
.process().getResultJSONArray(0);
|
|
|
|
|
|
|
|
|
|
JSONArray paramArr = new JSONArray();
|
|
|
|
|
for (int j = 0; j < boxArr.size(); j++) {
|
|
|
|
|
JSONObject json = boxArr.getJSONObject(j);
|
|
|
|
|
JSONObject jsonBox = new JSONObject();
|
|
|
|
|
|
|
|
|
|
jsonBox.put("PackageBoxSN", json.getString("box_no"));
|
|
|
|
|
paramArr.add(jsonBox);
|
|
|
|
|
}
|
|
|
|
|
paramMesMst.put("item", paramArr);
|
|
|
|
|
|
|
|
|
|
// 调用接口回传
|
|
|
|
|
new LmsToMesServiceImpl().childRollFGOutboundComplete(paramMesMst);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
jo_mst.put("is_upload", "1");
|
|
|
|
|
jo_mst.put("upload_optid", SecurityUtils.getCurrentUserId());
|
|
|
|
|
jo_mst.put("upload_time", DateUtil.now());
|
|
|
|
|
|