add: 报废出库回传mes

This commit is contained in:
2023-12-27 15:29:43 +08:00
parent d53c970bf0
commit d90e133f82
5 changed files with 173 additions and 0 deletions

View File

@@ -112,4 +112,11 @@ public class LmsToMesController {
public ResponseEntity<Object> proudDayData(@RequestBody JSONObject jo) {
return new ResponseEntity<>(lmsToMesService.proudDayData(jo), HttpStatus.OK);
}
@PostMapping("/ChildScrapUpdate")
@Log("成品日报推送")
@ApiOperation("成品日报推送")
public ResponseEntity<Object> ChildScrapUpdate(@RequestBody JSONObject jo) {
return new ResponseEntity<>(lmsToMesService.ChildScrapUpdate(jo), HttpStatus.OK);
}
}

View File

@@ -122,4 +122,17 @@ public interface LmsToMesService {
* 参数:
*/
JSONObject proudDayData(JSONObject jo);
/**
* 报废出库回传mes箱号、子卷号
* 参数:
* {
* PackageBoxSN 箱号
* Status 类型
* Details [
* {ContainerName: 子卷号 NetWeight重量}
* ]
* }
*/
JSONObject ChildScrapUpdate(JSONObject jo);
}

View File

@@ -661,4 +661,45 @@ public class LmsToMesServiceImpl implements LmsToMesService {
}
return result;
}
@Override
public JSONObject ChildScrapUpdate(JSONObject param) {
log.info("ChildScrapUpdate接口输入参数为-------------------" + param.toString());
JSONObject result = new JSONObject();
if (StrUtil.equals("0", is_connect_mes)) {
result.put("status", HttpStatus.OK.value());
result.put("message", "下发成功但未连接MES!");
result.put("data", new JSONObject());
return result;
}
String url = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("MES_URL").getValue();
String api = "CamstarApi/ChildScrapUpdate";
url = url + api;
String UserName = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("MES_USERNAME").getValue();
String Password = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("MES_PASSWORD").getValue();
param.put("UserName", UserName);
param.put("Password", Password);
try {
String resultMsg = HttpRequest.post(url)
.body(String.valueOf(param))
.execute().body();
result = JSONObject.parseObject(resultMsg);
log.info("ChildScrapUpdate接口输出参数为-------------------" + result.toString());
String RTYPE = result.getString("RTYPE");
if ("E".equals(RTYPE)) {
throw new BadRequestException(result.getString("RTMSG"));
}
} catch (Exception e) {
throw new BadRequestException("MES提示错误" + e.getMessage());
}
return result;
}
}

View File

@@ -29,6 +29,7 @@ import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.*;
import java.util.stream.Collectors;
/**
*
@@ -326,6 +327,54 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService {
WQLObject.getWQLObject("ST_IVT_IOStorInv").update(jo_mst);
}
// 报废出库回传mes
if (StrUtil.equals(bill_type, "1007") || StrUtil.equals(bill_type, "1008") || StrUtil.equals(bill_type, "1010") || StrUtil.equals(bill_type, "1002")) {
JSONArray disArr = WQL.getWO("QST_IVT_INANDOUTRETRUN").addParam("flag", "3").addParam("iostorinv_id", jo_mst.getString("iostorinv_id")).process().getResultJSONArray(0);
String box_no_in = disArr.toJavaList(JSONObject.class).stream()
.map(row -> row.getString("box_no"))
.collect(Collectors.joining("','"));
List<JSONObject> disList = WQLObject.getWQLObject("st_ivt_iostorinvdis").query("box_no in ('" + box_no_in + "') and iostorinv_id = '" + jo_mst.getString("iostorinv_id") + "'").getResultJSONArray(0).toJavaList(JSONObject.class);
JSONObject param = new JSONObject();
JSONArray item = new JSONArray();
for (int j = 0; j < disArr.size(); j++) {
JSONObject json = disArr.getJSONObject(j);
JSONObject jsonDtl = new JSONObject();
JSONArray details = new JSONArray();
jsonDtl.put("PackageBoxSN", json.getString("box_no"));
jsonDtl.put("Status", "1");
List<JSONObject> collect = disList.stream()
.filter(row -> row.getString("box_no").equals(json.getString("box_no")))
.collect(Collectors.toList());
for (int k = 0; k < collect.size(); k++) {
JSONObject jsonObject = collect.get(k);
JSONObject jsonObject1 = new JSONObject();
jsonObject1.put("ContainerName", jsonObject.getString("pcsn"));
jsonObject1.put("NetWeight", jsonObject.getString("plan_qty"));
details.add(jsonObject1);
}
jsonDtl.put("Details",details);
item.add(jsonDtl);
}
param.put("item", item);
new LmsToMesServiceImpl().ChildScrapUpdate(param);
jo_mst.put("upload_mes", "1");
jo_mst.put("is_upload", "1");
jo_mst.put("upload_optid", SecurityUtils.getCurrentUserId());
jo_mst.put("upload_time", DateUtil.now());
WQLObject.getWQLObject("ST_IVT_IOStorInv").update(jo_mst);
}
/*// 改切出库
if (StrUtil.equals(bill_type, "1003")) {
JSONArray disArr = wo_dis.query("iostorinv_id = '" + jo_mst.getString("iostorinv_id") + "'").getResultJSONArray(0);
@@ -1470,6 +1519,54 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService {
}
}
// 报废出库回传mes
if (StrUtil.equals(bill_type, "1007") || StrUtil.equals(bill_type, "1008") || StrUtil.equals(bill_type, "1010") || StrUtil.equals(bill_type, "1002")) {
JSONArray disArr = WQL.getWO("QST_IVT_INANDOUTRETRUN").addParam("flag", "3").addParam("iostorinv_id", jo_mst.getString("iostorinv_id")).process().getResultJSONArray(0);
String box_no_in = disArr.toJavaList(JSONObject.class).stream()
.map(row -> row.getString("box_no"))
.collect(Collectors.joining("','"));
List<JSONObject> disList = WQLObject.getWQLObject("st_ivt_iostorinvdis").query("box_no in ('" + box_no_in + "') and iostorinv_id = '" + jo_mst.getString("iostorinv_id") + "'").getResultJSONArray(0).toJavaList(JSONObject.class);
JSONObject param = new JSONObject();
JSONArray item = new JSONArray();
for (int j = 0; j < disArr.size(); j++) {
JSONObject json = disArr.getJSONObject(j);
JSONObject jsonDtl = new JSONObject();
JSONArray details = new JSONArray();
jsonDtl.put("PackageBoxSN", json.getString("box_no"));
jsonDtl.put("Status", "1");
List<JSONObject> collect = disList.stream()
.filter(row -> row.getString("box_no").equals(json.getString("box_no")))
.collect(Collectors.toList());
for (int k = 0; k < collect.size(); k++) {
JSONObject jsonObject = collect.get(k);
JSONObject jsonObject1 = new JSONObject();
jsonObject1.put("ContainerName", jsonObject.getString("pcsn"));
jsonObject1.put("NetWeight", jsonObject.getString("plan_qty"));
details.add(jsonObject1);
}
jsonDtl.put("Details",details);
item.add(jsonDtl);
}
param.put("item", item);
new LmsToMesServiceImpl().ChildScrapUpdate(param);
jo_mst.put("upload_mes", "1");
jo_mst.put("is_upload", "1");
jo_mst.put("upload_optid", SecurityUtils.getCurrentUserId());
jo_mst.put("upload_time", DateUtil.now());
WQLObject.getWQLObject("ST_IVT_IOStorInv").update(jo_mst);
}
}
}

View File

@@ -175,3 +175,18 @@
ENDSELECT
ENDQUERY
ENDIF
IF 输入.flag = "3"
QUERY
SELECT
dis.box_no
FROM
st_ivt_iostorinvdis dis
LEFT JOIN st_ivt_iostorinv mst ON mst.iostorinv_id = dis.iostorinv_id
WHERE
dis.iostorinv_id = 输入.iostorinv_id
GROUP BY dis.box_no
ENDSELECT
ENDQUERY
ENDIF