缓存线盘点-设满箱和空箱、删除
This commit is contained in:
@@ -195,6 +195,14 @@ public class CacheLineHandController{
|
|||||||
return RestBusinessTemplate.execute(() -> cacheLineHandService.setEmptyBox(param));
|
return RestBusinessTemplate.execute(() -> cacheLineHandService.setEmptyBox(param));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PostMapping("/deleteBox")
|
||||||
|
@Log("删除箱子")
|
||||||
|
@ApiOperation("删除箱子")
|
||||||
|
public CommonResult<Void> deleteBox(@RequestBody JSONObject param) {
|
||||||
|
log.info("海亮缓存线手持服务 [设置空框] 接口被请求, 请求参数-{}", param);
|
||||||
|
return RestBusinessTemplate.execute(() -> cacheLineHandService.deleteBox(param));
|
||||||
|
}
|
||||||
|
|
||||||
@PostMapping("/agvInBoxExceptionQuery")
|
@PostMapping("/agvInBoxExceptionQuery")
|
||||||
@Log("AGV入箱异常-查询")
|
@Log("AGV入箱异常-查询")
|
||||||
@ApiOperation("AGV入箱异常-查询")
|
@ApiOperation("AGV入箱异常-查询")
|
||||||
|
|||||||
@@ -273,4 +273,10 @@ public interface CacheLineHandService{
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
JSONArray getProductArea();
|
JSONArray getProductArea();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除箱子
|
||||||
|
* @param param
|
||||||
|
*/
|
||||||
|
void deleteBox(JSONObject param);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package org.nl.wms.pda.service.impl;
|
|||||||
|
|
||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.core.util.NumberUtil;
|
import cn.hutool.core.util.NumberUtil;
|
||||||
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONArray;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
@@ -259,16 +260,14 @@ public class CacheLineHandServiceImpl implements CacheLineHandService{
|
|||||||
public void setfullBox(JSONObject param) {
|
public void setfullBox(JSONObject param) {
|
||||||
//物料ID
|
//物料ID
|
||||||
String semimanufactures_uuid = param.getString("material_uuid");
|
String semimanufactures_uuid = param.getString("material_uuid");
|
||||||
|
// 缓存线位置编码
|
||||||
|
String position_code = param.getString("position_code");
|
||||||
// 料箱码
|
// 料箱码
|
||||||
String vehicle_code = param.getString("vehicle_code");
|
String vehicle_code = param.getString("vehicle_code");
|
||||||
// 层数
|
|
||||||
String layer_num = param.getString("layer_num");
|
|
||||||
// 顺序号
|
|
||||||
String seat_order_num = param.getString("seat_order_num");
|
|
||||||
//工序
|
//工序
|
||||||
String workprocedure_code = param.getString("workprocedure_uuid");
|
String workprocedure_code = param.getString("workprocedure_code");
|
||||||
// 缓存线
|
// 缓存线
|
||||||
String wcsdevice_code = param.getString("wcsdevice_code");
|
String cacheLine_code = param.getString("cacheLine_code");
|
||||||
String weight = param.getString("weight");
|
String weight = param.getString("weight");
|
||||||
String quantity = param.getString("quantity");
|
String quantity = param.getString("quantity");
|
||||||
if(StringUtils.isEmpty(quantity) || param.getInteger("quantity") <= 0) {
|
if(StringUtils.isEmpty(quantity) || param.getInteger("quantity") <= 0) {
|
||||||
@@ -276,30 +275,20 @@ public class CacheLineHandServiceImpl implements CacheLineHandService{
|
|||||||
}
|
}
|
||||||
//缓存线位置表
|
//缓存线位置表
|
||||||
WQLObject positionTab = WQLObject.getWQLObject("sch_cacheline_position");
|
WQLObject positionTab = WQLObject.getWQLObject("sch_cacheline_position");
|
||||||
JSONObject vehiobj = positionTab.query("order_no = " + seat_order_num + " and layer_num = " + layer_num + " and cacheLine_code like '%" + wcsdevice_code + "%'").uniqueResult(0);
|
// 缓存线位置
|
||||||
|
JSONObject vehiobj = positionTab.query("position_code = '" + position_code + "'").uniqueResult(0);
|
||||||
if(vehiobj == null) {
|
if(vehiobj == null) {
|
||||||
throw new BadRequestException("位置不存在,设置有误!");
|
throw new BadRequestException("位置不存在,设置有误!");
|
||||||
}
|
}
|
||||||
// 判断物料去的缓存线是否正确
|
|
||||||
//物料分类表
|
|
||||||
WQLObject corrTab = WQLObject.getWQLObject("md_pb_classstandard");
|
|
||||||
//工序表
|
//工序表
|
||||||
WQLObject wpTab = WQLObject.getWQLObject("pdm_bi_workprocedure");
|
WQLObject wpTab = WQLObject.getWQLObject("pdm_bi_workprocedure");
|
||||||
//物料表
|
//物料表
|
||||||
WQLObject meTab = WQLObject.getWQLObject("md_me_materialbase");
|
WQLObject meTab = WQLObject.getWQLObject("md_me_materialbase");
|
||||||
// 查询工序信息
|
// 查询工序信息
|
||||||
JSONObject wpObj = wpTab.query("workprocedure_code = '" + workprocedure_code + "'").uniqueResult(0);
|
JSONObject wpObj = wpTab.query("workprocedure_code = '" + workprocedure_code + "'").uniqueResult(0);
|
||||||
|
if (ObjectUtil.isEmpty(wpObj)) throw new BadRequestException("工序查询错误,请检查工序");
|
||||||
JSONObject meObj = meTab.query("material_id = '" + semimanufactures_uuid + "'").uniqueResult(0);
|
JSONObject meObj = meTab.query("material_id = '" + semimanufactures_uuid + "'").uniqueResult(0);
|
||||||
//查找物料分类信息
|
if (ObjectUtil.isEmpty(meObj)) throw new BadRequestException("物料查询错误,请检查物料");
|
||||||
String materialprocess_series = corrTab.query("class_id = '" + meObj.getString("material_type_id") + "'").uniqueResult(0).getString("class_name");
|
|
||||||
//TOFIX
|
|
||||||
// AgvTwoInst inst = new AgvTwoInst();
|
|
||||||
// String cachelineCode2 = inst.getCachelineCode(materialprocess_series, wpObj.getString("workprocedure_code"));
|
|
||||||
// 1.检查该缓存线位置是否存放非法物料
|
|
||||||
// if(!wcsdevice_code.equals(cachelineCode2)) {
|
|
||||||
// String materialprocess_seriesname = WQLObject.getWQLObject("PF_PB_SysDicInfo").query("sysdic_type = 'IF_WCS_DEVICESERIES' and sysdic_code = '" + materialprocess_series + "'").uniqueResult(0).getString("sysdic_name");
|
|
||||||
// throw new BadRequestException("该缓存线【" + wcsdevice_code + "】不能存放【" + materialprocess_seriesname + "】物料,操作失败!");
|
|
||||||
// }
|
|
||||||
vehiobj.put("vehicle_code", vehicle_code);
|
vehiobj.put("vehicle_code", vehicle_code);
|
||||||
//2.缓存线位置通过扫码绑定料箱条码
|
//2.缓存线位置通过扫码绑定料箱条码
|
||||||
positionTab.update(vehiobj);
|
positionTab.update(vehiobj);
|
||||||
@@ -311,7 +300,7 @@ public class CacheLineHandServiceImpl implements CacheLineHandService{
|
|||||||
HashMap<String,String> json = new HashMap<>();
|
HashMap<String,String> json = new HashMap<>();
|
||||||
json.put("vehmaterial_id", IdUtil.getStringId());
|
json.put("vehmaterial_id", IdUtil.getStringId());
|
||||||
json.put("vehicle_code", vehicle_code);
|
json.put("vehicle_code", vehicle_code);
|
||||||
json.put("cacheLine_code", wcsdevice_code);
|
json.put("cacheLine_code", cacheLine_code);
|
||||||
json.put("material_uuid", meObj.getString("material_id"));
|
json.put("material_uuid", meObj.getString("material_id"));
|
||||||
json.put("material_code", meObj.getString("material_code"));
|
json.put("material_code", meObj.getString("material_code"));
|
||||||
json.put("material_spec", meObj.getString("material_spec"));
|
json.put("material_spec", meObj.getString("material_spec"));
|
||||||
@@ -321,7 +310,7 @@ public class CacheLineHandServiceImpl implements CacheLineHandService{
|
|||||||
json.put("workprocedure_code", wpObj.getString("workprocedure_code"));
|
json.put("workprocedure_code", wpObj.getString("workprocedure_code"));
|
||||||
json.put("workprocedure_name", wpObj.getString("workprocedure_name"));
|
json.put("workprocedure_name", wpObj.getString("workprocedure_name"));
|
||||||
//有箱有料
|
//有箱有料
|
||||||
json.put("vehicle_status", "02");
|
json.put("vehicle_status", StatusEnum.CACHE_VEL_FULL.getCode());
|
||||||
json.put("create_time", DateUtil.now());
|
json.put("create_time", DateUtil.now());
|
||||||
//4.重新新建该缓存线位置上的料箱为满箱及所属工序,生产区域等信息
|
//4.重新新建该缓存线位置上的料箱为满箱及所属工序,生产区域等信息
|
||||||
ivtTab.insert(json);
|
ivtTab.insert(json);
|
||||||
@@ -330,32 +319,24 @@ public class CacheLineHandServiceImpl implements CacheLineHandService{
|
|||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void setEmptyBox(JSONObject param) {
|
public void setEmptyBox(JSONObject param) {
|
||||||
// 层数
|
// 缓存线位置编码
|
||||||
String layer_num = param.getString("layer_num");
|
String position_code = param.getString("position_code");
|
||||||
// 顺序号
|
|
||||||
String seat_order_num = param.getString("seat_order_num");
|
|
||||||
// 载具条码
|
// 载具条码
|
||||||
String vehicle_code = param.getString("vehicle_code");
|
String vehicle_code = param.getString("vehicle_code");
|
||||||
// 缓存线编码
|
|
||||||
String wcsdevice_code = param.getString("wcsdevice_code");
|
|
||||||
// 缓存线载具物料表
|
// 缓存线载具物料表
|
||||||
WQLObject ivtTab = WQLObject.getWQLObject("sch_cacheline_vehilematerial");
|
WQLObject ivtTab = WQLObject.getWQLObject("sch_cacheline_vehilematerial");
|
||||||
// 缓存线位置表
|
// 缓存线位置表
|
||||||
WQLObject positionTab = WQLObject.getWQLObject("sch_cacheline_position");
|
WQLObject positionTab = WQLObject.getWQLObject("sch_cacheline_position");
|
||||||
JSONObject vehiobj = positionTab.query("order_no = " + seat_order_num + " and layer_num = " + layer_num + " and cacheLine_code like '%" + wcsdevice_code + "%'").uniqueResult(0);
|
JSONObject vehiobj = positionTab.query("position_code = '" + position_code + "'").uniqueResult(0);
|
||||||
if(vehiobj == null) {
|
if(vehiobj == null) {
|
||||||
throw new BadRequestException("位置不存在,设置有误!");
|
throw new BadRequestException("位置不存在,设置有误!");
|
||||||
}
|
}
|
||||||
//1.缓存线位置通过扫码绑定料箱条码
|
//1.缓存线位置通过扫码绑定料箱条码
|
||||||
vehiobj.put("vehicle_code", vehicle_code);
|
vehiobj.put("vehicle_code", vehicle_code);
|
||||||
positionTab.update(vehiobj);
|
positionTab.update(vehiobj);
|
||||||
//2.先删除料箱的所有关联信息,包括物料,工序,生产区域
|
//2.清空
|
||||||
ivtTab.delete("vehicle_code = '" + vehicle_code + "'");
|
JSONObject json = ivtTab.query("vehicle_code = '" + vehicle_code + "'").uniqueResult(0);
|
||||||
JSONObject json = new JSONObject();
|
json.put("vehicle_status", StatusEnum.CACHE_VEL_EMT.getCode());
|
||||||
json.put("vehmaterial_id", IdUtil.getStringId());
|
|
||||||
json.put("vehicle_code", vehicle_code);
|
|
||||||
json.put("cacheLine_code", wcsdevice_code);
|
|
||||||
json.put("vehicle_status", "01");
|
|
||||||
json.put("material_uuid", "");
|
json.put("material_uuid", "");
|
||||||
json.put("material_code", "");
|
json.put("material_code", "");
|
||||||
json.put("material_spec", "");
|
json.put("material_spec", "");
|
||||||
@@ -364,9 +345,8 @@ public class CacheLineHandServiceImpl implements CacheLineHandService{
|
|||||||
json.put("quantity", "0");
|
json.put("quantity", "0");
|
||||||
json.put("workprocedure_code", "");
|
json.put("workprocedure_code", "");
|
||||||
json.put("workprocedure_name", "");
|
json.put("workprocedure_name", "");
|
||||||
json.put("create_time", DateUtil.now());
|
json.put("update_time", DateUtil.now());
|
||||||
// 3.重新新建该缓存线位置上的料箱为空箱子,是空料箱没有放物料等其他信息
|
ivtTab.update(json);
|
||||||
ivtTab.insert(json);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -770,7 +750,6 @@ public class CacheLineHandServiceImpl implements CacheLineHandService{
|
|||||||
public JSONArray getCacheLine(JSONObject param) {
|
public JSONArray getCacheLine(JSONObject param) {
|
||||||
// 生产区域
|
// 生产区域
|
||||||
String product_area = param.getString("product_area");
|
String product_area = param.getString("product_area");
|
||||||
String where = "region_code = 'A1_HCX'";
|
|
||||||
JSONArray resultJSONArray = WQL.getWO("PDA_QUERY")
|
JSONArray resultJSONArray = WQL.getWO("PDA_QUERY")
|
||||||
.addParamMap(MapOf.of("flag", "7", "product_area", product_area))
|
.addParamMap(MapOf.of("flag", "7", "product_area", product_area))
|
||||||
.process()
|
.process()
|
||||||
@@ -799,4 +778,12 @@ public class CacheLineHandServiceImpl implements CacheLineHandService{
|
|||||||
.getResultJSONArray(0);
|
.getResultJSONArray(0);
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public void deleteBox(JSONObject param) {
|
||||||
|
WQLObject cvTab = WQLObject.getWQLObject("SCH_CacheLine_VehileMaterial");
|
||||||
|
String vehicleCode = param.getString("vehicle_code");
|
||||||
|
if (ObjectUtil.isNotEmpty(vehicleCode)) cvTab.delete("vehicle_code = '" + vehicleCode + "'");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -153,13 +153,13 @@
|
|||||||
QUERY
|
QUERY
|
||||||
SELECT
|
SELECT
|
||||||
p.point_code as value,
|
p.point_code as value,
|
||||||
p.point_name as text,
|
p.point_name as text
|
||||||
FROM
|
FROM
|
||||||
sch_base_point p
|
sch_base_point p
|
||||||
WHERE
|
WHERE
|
||||||
p.region_code = 'A1_HCX'
|
p.region_code = 'A1_HCX'
|
||||||
OPTION 输入.product_area <> ""
|
OPTION 输入.product_area <> ""
|
||||||
cv.product_area = 输入.product_area
|
p.product_area = 输入.product_area
|
||||||
ENDOPTION
|
ENDOPTION
|
||||||
ORDER BY
|
ORDER BY
|
||||||
p.point_code
|
p.point_code
|
||||||
@@ -171,6 +171,7 @@
|
|||||||
SELECT
|
SELECT
|
||||||
sch_cacheline_position.cacheLine_code,
|
sch_cacheline_position.cacheLine_code,
|
||||||
sch_cacheline_position.position_code,
|
sch_cacheline_position.position_code,
|
||||||
|
sch_cacheline_position.position_name,
|
||||||
sch_cacheline_position.vehicle_code,
|
sch_cacheline_position.vehicle_code,
|
||||||
sch_cacheline_position.layer_num,
|
sch_cacheline_position.layer_num,
|
||||||
sch_cacheline_position.positionOrder_no,
|
sch_cacheline_position.positionOrder_no,
|
||||||
@@ -182,7 +183,7 @@
|
|||||||
sch_cacheline_vehilematerial.material_spec,
|
sch_cacheline_vehilematerial.material_spec,
|
||||||
sch_cacheline_vehilematerial.quantity,
|
sch_cacheline_vehilematerial.quantity,
|
||||||
sch_cacheline_vehilematerial.weight,
|
sch_cacheline_vehilematerial.weight,
|
||||||
IF (length(sch_cacheline_position.vehicle_code) > 0, IFNULL( sch_cacheline_vehilematerial.vehicle_status, 4), 5) AS vehicle_status
|
IF(length(sch_cacheline_position.vehicle_code) > 0, IFNULL(sch_cacheline_vehilematerial.vehicle_status, 4), 5) AS vehicle_status
|
||||||
FROM
|
FROM
|
||||||
sch_cacheline_position
|
sch_cacheline_position
|
||||||
LEFT JOIN sch_cacheline_vehilematerial ON sch_cacheline_position.vehicle_code = sch_cacheline_vehilematerial.vehicle_code
|
LEFT JOIN sch_cacheline_vehilematerial ON sch_cacheline_position.vehicle_code = sch_cacheline_vehilematerial.vehicle_code
|
||||||
@@ -203,7 +204,7 @@
|
|||||||
QUERY
|
QUERY
|
||||||
SELECT
|
SELECT
|
||||||
d.value,
|
d.value,
|
||||||
d.label as text,
|
d.label as text
|
||||||
FROM
|
FROM
|
||||||
sys_dict d
|
sys_dict d
|
||||||
WHERE
|
WHERE
|
||||||
|
|||||||
Reference in New Issue
Block a user