This commit is contained in:
2022-12-26 20:16:23 +08:00
parent 47660577b3
commit dd7d1dbbea
6 changed files with 310 additions and 10 deletions

View File

@@ -57,6 +57,7 @@ public class GlobalExceptionHandler {
@ExceptionHandler(value = NotLoginException.class)
public ResponseEntity<ApiError> notLoginException(Exception e) {
// log.error(ThrowableUtil.getStackTrace(e));
log.error("token超时:-------------------------------------"+e.getMessage());
return buildResponseEntity(ApiError.error(401,"token 失效"));
}

View File

@@ -58,7 +58,6 @@ public class MesToLmsServiceImpl implements MesToLmsService {
*
* @return
*/
@LokiLog(type = LokiLogType.MES_TO_LMS)
@Override
@Transactional(rollbackFor = Exception.class)
public JSONObject momRollFoilStart(JSONObject param) {
@@ -141,7 +140,6 @@ public class MesToLmsServiceImpl implements MesToLmsService {
*
* @return
*/
@LokiLog(type = LokiLogType.MES_TO_LMS)
@Override
@Transactional(rollbackFor = Exception.class)
public JSONObject momRollFoilWeighing(JSONObject param) {
@@ -191,7 +189,6 @@ public class MesToLmsServiceImpl implements MesToLmsService {
* @param param
* @return
*/
@LokiLog(type = LokiLogType.MES_TO_LMS)
@Override
@Transactional(rollbackFor = Exception.class)
public JSONObject momRollFoilComplete(JSONObject param) {
@@ -251,7 +248,6 @@ public class MesToLmsServiceImpl implements MesToLmsService {
* @param param
* @return
*/
@LokiLog(type = LokiLogType.MES_TO_LMS)
@Override
@Transactional(rollbackFor = Exception.class)
public JSONObject momRollBakeNextSpecTransfer(JSONObject param) {
@@ -337,7 +333,6 @@ public class MesToLmsServiceImpl implements MesToLmsService {
* @param param
* @return
*/
@LokiLog(type = LokiLogType.MES_TO_LMS)
@Override
@Transactional(rollbackFor = Exception.class)
public JSONObject cutPlanTransfer(JSONObject param) {
@@ -464,7 +459,6 @@ public class MesToLmsServiceImpl implements MesToLmsService {
* @param param
* @return
*/
@LokiLog(type = LokiLogType.MES_TO_LMS)
@Override
@Transactional(rollbackFor = Exception.class)
public JSONObject callNextAssAndMomRoll(JSONObject param) {
@@ -655,7 +649,6 @@ public class MesToLmsServiceImpl implements MesToLmsService {
* @param param
* @return
*/
@LokiLog(type = LokiLogType.MES_TO_LMS)
@Override
@Transactional(rollbackFor = Exception.class)
public JSONObject childRollCutStartComp(JSONArray param) {
@@ -776,7 +769,6 @@ public class MesToLmsServiceImpl implements MesToLmsService {
* @param param
* @return
*/
@LokiLog(type = LokiLogType.MES_TO_LMS)
@Override
@Transactional(rollbackFor = Exception.class)
public JSONObject childRollPackComplete(JSONObject param) {
@@ -905,7 +897,6 @@ public class MesToLmsServiceImpl implements MesToLmsService {
* @param param
* @return
*/
@LokiLog(type = LokiLogType.MES_TO_LMS)
@Override
@Transactional(rollbackFor = Exception.class)
public JSONObject inventoryTransferInfoSync(JSONObject param) {
@@ -1022,7 +1013,6 @@ public class MesToLmsServiceImpl implements MesToLmsService {
* @param param
* @return
*/
@LokiLog(type = LokiLogType.MES_TO_LMS)
@Override
@Transactional(rollbackFor = Exception.class)
public JSONObject childRollInfoUpdate(JSONObject param) {

View File

@@ -3,6 +3,7 @@ package org.nl.wms.st.inbill.service.impl;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
@@ -162,6 +163,10 @@ public class InbillServiceImpl {
i_form.put("qty_unit_name", dis_row.getString("qty_unit_name"));
storPublicService.IOStor(i_form, "33");
JSONObject sub_jo = WQLObject.getWQLObject("pdm_bi_subpackagerelation").query("package_box_SN = '"+dis_row.getString("box_no")+"' AND container_name = '"+dis_row.getString("pcsn")+"' AND status = '1'").uniqueResult(0);
if (ObjectUtil.isEmpty(sub_jo)){
throw new BadRequestException("未查询到子卷号为:"+dis_row.getString("pcsn")+"对应状态为包装状态的包装关系,请分析数据!");
}
//更新该子卷对应的包装关系为入库
HashMap<String,String> map = new HashMap<>();
map.put("status","2");

View File

@@ -118,6 +118,20 @@ public class OutChargeServiceImpl implements OutChargeService {
whereJson.put("update_optid", currentUserId + "");
whereJson.put("update_optname", nickName);
whereJson.put("update_time", now);
whereJson.put("dis_optid", currentUserId + "");
whereJson.put("dis_optname", nickName);
whereJson.put("dis_time", now);
whereJson.put("confirm_optid", "");
whereJson.put("confirm_optid", "");
whereJson.put("confirm_optid", "");
whereJson.put("is_upload", "");
whereJson.put("upload_optid", "");
whereJson.put("upload_time", "");
whereJson.put("is_writeoff", "0");
whereJson.put("writeoff_optid", "");
whereJson.put("writeoff_time", "");
whereJson.put("upload_mes", "");
whereJson.put("upload_sap", "");
mst_wql.insert(whereJson);
for (int i = 0; i < dis_rows.size(); i++) {

View File

@@ -468,6 +468,8 @@
IFNULL( sub.container_name, '' ) = ''
AND
plan.is_delete = '0'
AND
plan.status < '09'
OPTION 输入.sale_order_name <> ""
plan.sale_order_name = 输入.sale_order_name
ENDOPTION

View File

@@ -360,6 +360,78 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService {
}
// 手工入库
if (StrUtil.equals(bill_type, "0009")) {
// 1.回传sap
JSONArray paramSapMstArr = new JSONArray();
JSONObject paramSapMst = new JSONObject();
paramSapMst.put("ZACTION", "R");
paramSapMst.put("BUDAT", jo_mst.getString("biz_date"));
paramSapMst.put("ZZYGYF", jo_mst.getString("estimated_freight"));
paramSapMst.put("ZZYFGY", jo_mst.getString("trans_code"));
String vbeln = "";
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);
vbeln = json.getString("vbeln");
// 明细
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")); // 明細储存地点
}
JSONObject jsonSub = subTab.query("container_name = '" + json2.getString("pcsn") + "'").uniqueResult(0);
if (ObjectUtil.isNotEmpty(jsonSub)) {
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);
if (ObjectUtil.isNotEmpty(vbeln)) {
try {
// 调用接口回传
new LmsToSapServiceImpl().returnDelivery(param);
} catch (Exception e) {
throw new BadRequestException("回传sap失败"+e.getMessage());
}
}
}
// 销售出库
if (StrUtil.equals(bill_type, "1001")) {
// 1.回传sap
@@ -489,6 +561,78 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService {
}
WQLObject.getWQLObject("ST_IVT_IOStorInv").update(jo_mst);
}
//手工出库
if (StrUtil.equals(bill_type, "1009")) {
// 1.回传sap
JSONArray paramSapMstArr = new JSONArray();
JSONObject paramSapMst = new JSONObject();
paramSapMst.put("ZACTION", "R");
paramSapMst.put("BUDAT", jo_mst.getString("biz_date"));
paramSapMst.put("ZZYGYF", jo_mst.getString("estimated_freight"));
paramSapMst.put("ZZYFGY", jo_mst.getString("trans_code"));
String vbeln = "";
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);
vbeln = json.getString("vbeln");
// 明细
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")); // 明細储存地点
}
JSONObject jsonSub = subTab.query("container_name = '" + json2.getString("pcsn") + "'").uniqueResult(0);
if (ObjectUtil.isNotEmpty(jsonSub)) {
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);
if (ObjectUtil.isNotEmpty(vbeln)) {
try {
// 调用接口回传
new LmsToSapServiceImpl().returnDelivery(param);
} catch (Exception e) {
throw new BadRequestException("回传sap失败"+e.getMessage());
}
}
}
}
}
}
@@ -648,6 +792,78 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService {
WQLObject.getWQLObject("ST_IVT_IOStorInv").update(jo_mst);
}
// 手工入库
if (StrUtil.equals(bill_type, "0009")) {
// 1.回传sap
JSONArray paramSapMstArr = new JSONArray();
JSONObject paramSapMst = new JSONObject();
paramSapMst.put("ZACTION", "R");
paramSapMst.put("BUDAT", jo_mst.getString("biz_date"));
paramSapMst.put("ZZYGYF", jo_mst.getString("estimated_freight"));
paramSapMst.put("ZZYFGY", jo_mst.getString("trans_code"));
String vbeln = "";
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);
vbeln = json.getString("vbeln");
// 明细
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")); // 明細储存地点
}
JSONObject jsonSub = subTab.query("container_name = '" + json2.getString("pcsn") + "'").uniqueResult(0);
if (ObjectUtil.isNotEmpty(jsonSub)) {
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);
if (ObjectUtil.isNotEmpty(vbeln)) {
try {
// 调用接口回传
new LmsToSapServiceImpl().returnDelivery(param);
} catch (Exception e) {
throw new BadRequestException("回传sap失败"+e.getMessage());
}
}
}
// 拆分出库回传mes
if (StrUtil.equals(bill_type, "1005")) {
JSONArray disArr = wo_dis.query("iostorinv_id = '" + jo_mst.getString("iostorinv_id") + "'").getResultJSONArray(0);
@@ -859,6 +1075,78 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService {
jo_mst.put("is_upload", "1");
WQLObject.getWQLObject("ST_IVT_IOStorInv").update(jo_mst);
}
// 手工出库
if (StrUtil.equals(bill_type, "1009")) {
// 1.回传sap
JSONArray paramSapMstArr = new JSONArray();
JSONObject paramSapMst = new JSONObject();
paramSapMst.put("ZACTION", "R");
paramSapMst.put("BUDAT", jo_mst.getString("biz_date"));
paramSapMst.put("ZZYGYF", jo_mst.getString("estimated_freight"));
paramSapMst.put("ZZYFGY", jo_mst.getString("trans_code"));
String vbeln = "";
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);
vbeln = json.getString("vbeln");
// 明细
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")); // 明細储存地点
}
JSONObject jsonSub = subTab.query("container_name = '" + json2.getString("pcsn") + "'").uniqueResult(0);
if (ObjectUtil.isNotEmpty(jsonSub)) {
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);
if (ObjectUtil.isNotEmpty(vbeln)) {
try {
// 调用接口回传
new LmsToSapServiceImpl().returnDelivery(param);
} catch (Exception e) {
throw new BadRequestException("回传sap失败"+e.getMessage());
}
}
}
}
}