@ -22,11 +22,11 @@ import org.nl.wms.sch.manage.RegionEnum;
import org.nl.wms.sch.manage.TaskStatusEnum ;
import org.nl.wms.sch.manage.WorkOrderEnum ;
import org.nl.wms.sch.service.TaskService ;
import org.nl.wms.sch.tasks.PointUpdateUtil ;
import org.nl.wms.sch.tasks.callEmpty.FjCallEmptyVehicleTask ;
import org.nl.wms.sch.tasks.callEmpty.HnCallEmptyVehicleTask ;
import org.nl.wms.sch.tasks.callEmpty.YzjCallEmptyVehicleTask ;
import org.nl.wms.sch.tasks.callMaterial.FjCallMaterialTask ;
import org.nl.wms.sch.tasks.callMaterial.SzCallMaterialTask ;
import org.nl.wms.sch.tasks.callMaterial.YzjCallMaterialTask ;
import org.nl.wms.sch.tasks.sendEmpty.DpSendEmpVehicleTask ;
import org.nl.wms.sch.tasks.sendEmpty.FjSendEmpVehicleTask ;
@ -185,62 +185,23 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
String weight = whereJson . getString ( "weight" ) ;
String qty = whereJson . getString ( "qty" ) ;
if ( ObjectUtil . isEmpty ( type ) ) throw new BadRequestException ( "类型不能为空" ) ;
if ( ObjectUtil . isEmpty ( point_code ) ) throw new BadRequestException ( "点位不能为空" ) ;
// 类型映射
/ * *
* 类型映射
* 1 : 送料入库
* 2 : 叫料出库
* 3 : 送空托盘
* 4 : 叫空托盘
* /
String regionId = WQLObject
. getWQLObject ( "sch_base_point" )
. query ( "point_code = '" + point_code + "'" )
. uniqueResult ( 0 )
. getString ( "region_id" ) ;
switch ( type ) {
case "1" :
// 设备送料入库
if ( StrUtil . equals ( regionId , RegionEnum . HNQ . getId ( ) ) ) {
type = "1" ;
} else if ( StrUtil . equals ( regionId , RegionEnum . YZQ . getId ( ) ) ) {
type = "5" ;
} else if ( StrUtil . equals ( regionId , RegionEnum . YQ . getId ( ) ) ) {
type = "8" ;
} else if ( StrUtil . equals ( regionId , RegionEnum . ZDCDX . getId ( ) ) ) {
type = "11" ;
}
break ;
case "2" :
// 设备叫料出库
if ( StrUtil . equals ( regionId , RegionEnum . YZQ . getId ( ) ) ) {
type = "3" ;
} else if ( StrUtil . equals ( regionId , RegionEnum . YQ . getId ( ) ) ) {
type = "7" ;
} else if ( StrUtil . equals ( regionId , RegionEnum . ZDCDX . getId ( ) ) ) {
type = "9" ;
}
break ;
case "3" :
// 设备送空托盘
if ( StrUtil . equals ( regionId , RegionEnum . YZQ . getId ( ) ) ) {
type = "4" ;
} else if ( StrUtil . equals ( regionId , RegionEnum . ZDCDX . getId ( ) ) ) {
type = "10" ;
} else if ( StrUtil . equals ( regionId , RegionEnum . KGTDPQ . getId ( ) ) ) {
type = "13" ;
}
break ;
case "4" :
// 设备叫空托盘
if ( StrUtil . equals ( regionId , RegionEnum . HNQ . getId ( ) ) ) {
type = "2" ;
} else if ( StrUtil . equals ( regionId , RegionEnum . YZQ . getId ( ) ) ) {
type = "6" ;
} else if ( StrUtil . equals ( regionId , RegionEnum . ZDCDX . getId ( ) ) ) {
type = "12" ;
}
break ;
default :
throw new BadRequestException ( "ACS任务类型错误" ) ;
}
RegionEnum regionEnum = RegionEnum . get ( regionId ) ;
// 参数统一获取
JSONObject param = new JSONObject ( ) ;
@ -257,7 +218,6 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
* 4 . 压制机上料位送空盅
* 5 . 压制机满料入库
* 6 . 压制机呼叫空钢托盘
* 7 . 烧制叫料出库
* 8 . 烧制送料入库
* 9 . 分拣叫料出库
* 10 . 分拣送空钢托盘
@ -267,76 +227,99 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
* /
switch ( type ) {
case "1" :
// 1.混碾机送料入库:混碾机物料送到困料货架
// 创建任务
param . put ( "point_code1" , point_code ) ; // 起点
SpringContextHolder . getBean ( HnSendMaterialTask . class ) . createTask ( param ) ;
switch ( regionEnum ) {
case HNQ :
// 1.混碾机送料入库:混碾机物料送到困料货架
// 创建任务
param . put ( "point_code1" , point_code ) ; // 起点
SpringContextHolder . getBean ( HnSendMaterialTask . class ) . createTask ( param ) ;
break ;
case YZQ :
// 5.压制机满料入库
param . put ( "point_code1" , point_code ) ; // 起点
param . put ( "group_id" , whereJson . getString ( "group_id" ) ) ; // 组盘标识 - 机械手过来的
// 创建任务
SpringContextHolder . getBean ( YzjSendMaterialTask . class ) . createTask ( param ) ;
break ;
case YQ :
// 8.烧制送料入库
param . put ( "point_code1" , point_code ) ; // 起点
SpringContextHolder . getBean ( SzSendMaterialTask . class ) . createTask ( param ) ;
break ;
case ZDCDX :
// 11.分拣送料入库
param . put ( "point_code1" , point_code ) ; // 起点
param . put ( "group_id" , whereJson . getString ( "group_id" ) ) ; // 组盘标识 - 机械手过来的
SpringContextHolder . getBean ( FjSendMaterialTask . class ) . createTask ( param ) ;
break ;
default :
throw new BadRequestException ( "ACS任务类型错误" ) ;
}
break ;
case "2" :
param . put ( "point_code2" , point_code ) ; // 终点
// 创建任务
SpringContextHolder . getBean ( HnCallEmptyVehicleTask . class ) . createTask ( param ) ;
switch ( regionEnum ) {
case YZQ :
// 3.压制机叫料任务
param . put ( "point_code2" , point_code ) ; // 终点
// 创建任务
SpringContextHolder . getBean ( YzjCallMaterialTask . class ) . createTask ( param ) ;
break ;
case ZDCDX :
// 9.分拣叫料出库
param . put ( "point_code2" , point_code ) ; // 终点
SpringContextHolder . getBean ( FjCallMaterialTask . class ) . createTask ( param ) ;
break ;
default :
throw new BadRequestException ( "ACS任务类型错误" ) ;
}
break ;
case "3" :
// 压制机叫料任务
param . put ( "point_code2" , point_code ) ; // 终点
// 创建任务
SpringContextHolder . getBean ( YzjCallMaterialTask . class ) . createTask ( param ) ;
switch ( regionEnum ) {
case YZQ :
// 4.压制机送空盅
param . put ( "point_code1" , point_code ) ; // 起点
// 创建任务
SpringContextHolder . getBean ( YzjSendEmpVehicleTask . class ) . createTask ( param ) ;
break ;
case ZDCDX :
// 10.分拣送钢托盘
param . put ( "point_code1" , point_code ) ; // 起点
SpringContextHolder . getBean ( FjSendEmpVehicleTask . class ) . createTask ( param ) ;
break ;
case KGTDPQ :
// 13.叠盘区送空钢托盘
param . put ( "point_code1" , point_code ) ; // 起点
SpringContextHolder . getBean ( DpSendEmpVehicleTask . class ) . createTask ( param ) ;
break ;
default :
throw new BadRequestException ( "ACS任务类型错误" ) ;
}
break ;
case "4" :
// 压制机送空盅
param . put ( "point_code1" , point_code ) ; // 起点
// 创建任务
SpringContextHolder . getBean ( YzjSendEmpVehicleTask . class ) . createTask ( param ) ;
break ;
case "5" :
// 压制机满料入库
param . put ( "point_code1" , point_code ) ; // 起点
param . put ( "group_id" , whereJson . getString ( "group_id" ) ) ; // 组盘标识
// 创建任务
SpringContextHolder . getBean ( YzjSendMaterialTask . class ) . createTask ( param ) ;
break ;
case "6" :
// 压制机呼叫空托盘
param . put ( "point_code2" , point_code ) ; // 终点
// 创建任务
SpringContextHolder . getBean ( YzjCallEmptyVehicleTask . class ) . createTask ( param ) ;
break ;
case "7" :
// 烧制叫料出库
param . put ( "point_code2" , point_code ) ; // 终点
SpringContextHolder . getBean ( SzCallMaterialTask . class ) . createTask ( param ) ;
break ;
case "8" :
// 烧制送料入库
param . put ( "point_code1" , point_code ) ; // 起点
SpringContextHolder . getBean ( SzSendMaterialTask . class ) . createTask ( param ) ;
break ;
case "9" :
// 分拣叫料出库
param . put ( "point_code2" , point_code ) ; // 终点
SpringContextHolder . getBean ( FjCallMaterialTask . class ) . createTask ( param ) ;
break ;
case "10" :
// 分拣送钢托盘
param . put ( "point_code1" , point_code ) ; // 起点
SpringContextHolder . getBean ( FjSendEmpVehicleTask . class ) . createTask ( param ) ;
break ;
case "11" :
// 分拣送料入库
param . put ( "point_code1" , point_code ) ; // 起点
SpringContextHolder . getBean ( FjSendMaterialTask . class ) . createTask ( param ) ;
break ;
case "12" :
// 分拣呼叫木托盘
param . put ( "point_code2" , point_code ) ; // 起点
SpringContextHolder . getBean ( FjCallEmptyVehicleTask . class ) . createTask ( param ) ;
break ;
case "13" :
// 叠盘区送空钢托盘
param . put ( "point_code1" , point_code ) ; // 起点
SpringContextHolder . getBean ( DpSendEmpVehicleTask . class ) . createTask ( param ) ;
switch ( regionEnum ) {
case HNQ :
// 2.混碾机呼叫空托盘
param . put ( "point_code2" , point_code ) ; // 终点
// 创建任务
SpringContextHolder . getBean ( HnCallEmptyVehicleTask . class ) . createTask ( param ) ;
break ;
case YZQ :
// 6.压制机呼叫空托盘
param . put ( "point_code2" , point_code ) ; // 终点
// 创建任务
SpringContextHolder . getBean ( YzjCallEmptyVehicleTask . class ) . createTask ( param ) ;
break ;
case ZDCDX :
// 12.分拣呼叫木托盘 -- xxx
param . put ( "point_code2" , point_code ) ; // 起点
SpringContextHolder . getBean ( FjCallEmptyVehicleTask . class ) . createTask ( param ) ;
break ;
default :
throw new BadRequestException ( "ACS任务类型错误" ) ;
}
break ;
default :
throw new BadRequestException ( "ACS任务类型错误" ) ;
}
return null ;
}
@ -349,6 +332,8 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
* /
@Override
public void manipulatorApply ( JSONObject jsonObject ) {
WQLObject pointTab = WQLObject . getWQLObject ( "SCH_BASE_Point" ) ;
WQLObject groupTab = WQLObject . getWQLObject ( "st_buss_vehiclegroup" ) ;
//组盘
JSONObject produceInfoByCode = new JSONObject ( ) ;
String device_code = ( String ) jsonObject . get ( "device_code" ) ; // 对接位
@ -358,99 +343,105 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
produceInfoByCode = this . getProduceInfoByCode ( device_code ) ; // 获取设备的
String material_id = ( String ) produceInfoByCode . get ( "material_id" ) ;
String cust_id = ( String ) produceInfoByCode . get ( "cust_id" ) ;
String producetask_id = ( String ) produceInfoByCode . get ( "producetask_id" ) ;
WQLObject . getWQLObject ( "st_buss_vehiclegroup" ) . delete ( "vehicle_code ='" + vehicle_code + "'" ) ;
// // 如果上报不了,则去点位上取(木托盘情况)
// if (StrUtil.equals("0", vehicle_code)) {
// vehicle_code = produceInfoByCode.getString("vehicle_code");
// }
String producetask_id = ( String ) produceInfoByCode . get ( "workorder_id" ) ;
// 物料
JSONObject materialObj = WQLObject
. getWQLObject ( "MD_ME_MaterialBase" )
. query ( "material_id='" + material_id + "'" )
. query ( "material_id = '" + material_id + "'" )
. uniqueResult ( 0 ) ;
JSONObject groubObj = new JSONObject ( ) ;
long nextId = IdUtil . getSnowflake ( 1 , 1 ) . nextId ( ) ;
groubObj . put ( "group_id" , nextId ) ;
groubObj . put ( "vehicle_code" , vehicle_code ) ;
groubObj . put ( "material_uuid" , material_id ) ;
groubObj . put ( "material_code" , materialObj . getString ( "material_code" ) ) ;
groubObj . put ( "material_name" , materialObj . getString ( "material_name" ) ) ;
groubObj . put ( "cust_id" , cust_id ) ;
groubObj . put ( "qty" , qty ) ;
groubObj . put ( "producetask_id" , producetask_id ) ;
// groubObj.put("AlongSide", jsonObject.get("AlongSide"));
// groubObj.put("BshortSide", jsonObject.get("BshortSide"));
// groubObj.put("Htrapezoidal", jsonObject.get("Htrapezoidal"));
// groubObj.put("Wthickness", jsonObject.get("Wthickness"));
groubObj . put ( "tray_qty" , jsonObject . get ( "tray_qty" ) ) ;
groubObj . put ( "crib_category" , jsonObject . get ( "crib_category" ) ) ;
groubObj . put ( "tray_high" , jsonObject . get ( "tray_high" ) ) ;
groubObj . put ( "palletX1_line" , jsonObject . get ( "palletX1_line" ) ) ;
groubObj . put ( "palletY1_row" , jsonObject . get ( "palletY1_row" ) ) ;
groubObj . put ( "palletA1_angle" , jsonObject . get ( "palletA1_angle" ) ) ;
groubObj . put ( "palletX2_line" , jsonObject . get ( "palletX2_line" ) ) ;
groubObj . put ( "palletY2_row" , jsonObject . get ( "palletY2_row" ) ) ;
groubObj . put ( "palletA2_angle" , jsonObject . get ( "palletA2_angle" ) ) ;
groubObj . put ( "palletX3_line" , jsonObject . get ( "palletX3_line" ) ) ;
groubObj . put ( "palletY3_row" , jsonObject . get ( "palletY3_row" ) ) ;
groubObj . put ( "pressCribX1_line" , jsonObject . get ( "pressCribX1_line" ) ) ;
groubObj . put ( "palletA3_angle" , jsonObject . get ( "palletA3_angle" ) ) ;
groubObj . put ( "pressCribY1_row" , jsonObject . get ( "pressCribY1_row" ) ) ;
groubObj . put ( "pressCribA1_angle" , jsonObject . get ( "pressCribA1_angle" ) ) ;
groubObj . put ( "pressCribX2_line" , jsonObject . get ( "pressCribX2_line" ) ) ;
groubObj . put ( "pressCribY2_row" , jsonObject . get ( "pressCribY2_row" ) ) ;
groubObj . put ( "pressCribA2_angle" , jsonObject . get ( "pressCribA2_angle" ) ) ;
groubObj . put ( "pressCribX3_line" , jsonObject . get ( "pressCribX3_line" ) ) ;
groubObj . put ( "pressCribY3_row" , jsonObject . get ( "pressCribY3_row" ) ) ;
groubObj . put ( "pressCribA3_angle" , jsonObject . get ( "pressCribA3_angle" ) ) ;
groubObj . put ( "Zoffset" , jsonObject . get ( "Zoffset" ) ) ;
groubObj . put ( "pallet_layerQty" , jsonObject . get ( "pallet_layerQty" ) ) ;
groubObj . put ( "pressCrib_layerQty" , jsonObject . get ( "pressCrib_layerQty" ) ) ;
groubObj . put ( "codeLayerX1_interval" , jsonObject . get ( "codeLayerX1_interval" ) ) ;
groubObj . put ( "codeLayerY1_interval" , jsonObject . get ( "codeLayerY1_interval" ) ) ;
groubObj . put ( "pressCrib_layerQty" , jsonObject . get ( "pressCrib_layerQty" ) ) ;
groubObj . put ( "codeLayerX2_interval" , jsonObject . get ( "codeLayerX2_interval" ) ) ;
groubObj . put ( "codeLayerY2_interval" , jsonObject . get ( "codeLayerY2_interval" ) ) ;
groubObj . put ( "codeLayerX3_interval" , jsonObject . get ( "codeLayerX3_interval" ) ) ;
groubObj . put ( "codeLayerY3_interval" , jsonObject . get ( "codeLayerY3_interval" ) ) ;
groubObj . put ( "codeLayerY1_offset" , jsonObject . get ( "codeLayerY1_offset" ) ) ;
groubObj . put ( "codeLayerX1_offset" , jsonObject . get ( "codeLayerX1_offset" ) ) ;
groubObj . put ( "codeLayerX3_interval" , jsonObject . get ( "codeLayerX3_interval" ) ) ;
groubObj . put ( "codeLayerX2_offset" , jsonObject . get ( "codeLayerX2_offset" ) ) ;
groubObj . put ( "codeLayerX3_offset" , jsonObject . get ( "codeLayerX3_offset" ) ) ;
groubObj . put ( "codeLayerY3_offset" , jsonObject . get ( "codeLayerY3_offset" ) ) ;
groubObj . put ( "pressLayerX1_interval" , jsonObject . get ( "pressLayerX1_interval" ) ) ;
groubObj . put ( "pressLayerY1_interval" , jsonObject . get ( "pressLayerY1_interval" ) ) ;
groubObj . put ( "pressLayerX2_interval" , jsonObject . get ( "pressLayerX2_interval" ) ) ;
groubObj . put ( "pressLayerY2_interval" , jsonObject . get ( "pressLayerY2_interval" ) ) ;
groubObj . put ( "pressLayerX3_interval" , jsonObject . get ( "pressLayerX3_interval" ) ) ;
groubObj . put ( "pressLayerY3_interval" , jsonObject . get ( "pressLayerY3_interval" ) ) ;
groubObj . put ( "pressLayerX1_offset" , jsonObject . get ( "pressLayerX1_offset" ) ) ;
groubObj . put ( "pressLayerY1_offset" , jsonObject . get ( "pressLayerY1_offset" ) ) ;
groubObj . put ( "pressLayerX2_offset" , jsonObject . get ( "pressLayerX2_offset" ) ) ;
groubObj . put ( "pressLayerY2_offset" , jsonObject . get ( "pressLayerY2_offset" ) ) ;
groubObj . put ( "pressLayerX3_offset" , jsonObject . get ( "pressLayerX3_offset" ) ) ;
groubObj . put ( "pressLayerY3_offset" , jsonObject . get ( "pressLayerY3_offset" ) ) ;
groubObj . put ( "one_cribTotal" , jsonObject . get ( "one_cribTotal" ) ) ;
groubObj . put ( "two_cribTotal" , jsonObject . get ( "two_cribTotal" ) ) ;
groubObj . put ( "one_qty" , jsonObject . get ( "one_qty" ) ) ;
groubObj . put ( "two_qty" , jsonObject . get ( "two_qty" ) ) ;
groubObj . put ( "tool_coordinate" , jsonObject . get ( "tool_coordinate" ) ) ;
groubObj . put ( "create_id" , SecurityUtils . getCurrentUserId ( ) ) ;
groubObj . put ( "create_name" , SecurityUtils . getCurrentNickName ( ) ) ;
groubObj . put ( "create_time" , DateUtil . now ( ) ) ;
WQLObject . getWQLObject ( "st_buss_vehiclegroup" ) . insert ( groubObj ) ;
jsonObject . put ( "group_id" , nextId ) ; // 组盘标识
// 判断是分拣还是压制的送料入库
if ( device_code . startsWith ( "FJCD" ) ) {
jsonObject . put ( "type" , "11" ) ;
// 机械手下料位
JSONObject pointObj = pointTab . query ( "point_code = '" + device_code + "'" ) . uniqueResult ( 0 ) ;
JSONObject groupObj = new JSONObject ( ) ;
if ( ObjectUtil . isNotEmpty ( pointObj . getString ( "group_id" ) ) ) { // 存在组盘id,表示是半托
// 半托只需要修改参数即可
groupObj = groupTab . query ( "group_id = '" + pointObj . getString ( "group_id" ) + "'" ) . uniqueResult ( 0 ) ;
jsonObject . put ( "group_id" , ObjectUtil . isNotEmpty ( pointObj . getString ( "group_id" ) ) ) ; // 组盘标识
} else {
jsonObject . put ( "type" , "5" ) ;
long nextId = IdUtil . getSnowflake ( 1 , 1 ) . nextId ( ) ;
groupObj . put ( "group_id" , nextId ) ;
jsonObject . put ( "group_id" , nextId ) ; // 组盘标识
}
this . apply ( jsonObject ) ;
groupObj . put ( "vehicle_code" , vehicle_code ) ;
groupObj . put ( "material_uuid" , material_id ) ;
groupObj . put ( "material_code" , materialObj . getString ( "material_code" ) ) ;
groupObj . put ( "material_name" , materialObj . getString ( "material_name" ) ) ;
groupObj . put ( "cust_id" , cust_id ) ;
groupObj . put ( "qty" , qty ) ;
groupObj . put ( "producetask_id" , producetask_id ) ;
groupObj . put ( "tray_qty" , jsonObject . get ( "tray_qty" ) ) ;
groupObj . put ( "crib_category" , jsonObject . get ( "crib_category" ) ) ;
groupObj . put ( "tray_high" , jsonObject . get ( "tray_high" ) ) ;
groupObj . put ( "palletX1_line" , jsonObject . get ( "palletX1_line" ) ) ;
groupObj . put ( "palletY1_row" , jsonObject . get ( "palletY1_row" ) ) ;
groupObj . put ( "palletA1_angle" , jsonObject . get ( "palletA1_angle" ) ) ;
groupObj . put ( "palletX2_line" , jsonObject . get ( "palletX2_line" ) ) ;
groupObj . put ( "palletY2_row" , jsonObject . get ( "palletY2_row" ) ) ;
groupObj . put ( "palletA2_angle" , jsonObject . get ( "palletA2_angle" ) ) ;
groupObj . put ( "palletX3_line" , jsonObject . get ( "palletX3_line" ) ) ;
groupObj . put ( "palletY3_row" , jsonObject . get ( "palletY3_row" ) ) ;
groupObj . put ( "pressCribX1_line" , jsonObject . get ( "pressCribX1_line" ) ) ;
groupObj . put ( "palletA3_angle" , jsonObject . get ( "palletA3_angle" ) ) ;
groupObj . put ( "pressCribY1_row" , jsonObject . get ( "pressCribY1_row" ) ) ;
groupObj . put ( "pressCribA1_angle" , jsonObject . get ( "pressCribA1_angle" ) ) ;
groupObj . put ( "pressCribX2_line" , jsonObject . get ( "pressCribX2_line" ) ) ;
groupObj . put ( "pressCribY2_row" , jsonObject . get ( "pressCribY2_row" ) ) ;
groupObj . put ( "pressCribA2_angle" , jsonObject . get ( "pressCribA2_angle" ) ) ;
groupObj . put ( "pressCribX3_line" , jsonObject . get ( "pressCribX3_line" ) ) ;
groupObj . put ( "pressCribY3_row" , jsonObject . get ( "pressCribY3_row" ) ) ;
groupObj . put ( "pressCribA3_angle" , jsonObject . get ( "pressCribA3_angle" ) ) ;
groupObj . put ( "Zoffset" , jsonObject . get ( "Zoffset" ) ) ;
groupObj . put ( "pallet_layerQty" , jsonObject . get ( "pallet_layerQty" ) ) ;
groupObj . put ( "pressCrib_layerQty" , jsonObject . get ( "pressCrib_layerQty" ) ) ;
groupObj . put ( "codeLayerX1_interval" , jsonObject . get ( "codeLayerX1_interval" ) ) ;
groupObj . put ( "codeLayerY1_interval" , jsonObject . get ( "codeLayerY1_interval" ) ) ;
groupObj . put ( "pressCrib_layerQty" , jsonObject . get ( "pressCrib_layerQty" ) ) ;
groupObj . put ( "codeLayerX2_interval" , jsonObject . get ( "codeLayerX2_interval" ) ) ;
groupObj . put ( "codeLayerY2_interval" , jsonObject . get ( "codeLayerY2_interval" ) ) ;
groupObj . put ( "codeLayerX3_interval" , jsonObject . get ( "codeLayerX3_interval" ) ) ;
groupObj . put ( "codeLayerY3_interval" , jsonObject . get ( "codeLayerY3_interval" ) ) ;
groupObj . put ( "codeLayerY1_offset" , jsonObject . get ( "codeLayerY1_offset" ) ) ;
groupObj . put ( "codeLayerX1_offset" , jsonObject . get ( "codeLayerX1_offset" ) ) ;
groupObj . put ( "codeLayerX3_interval" , jsonObject . get ( "codeLayerX3_interval" ) ) ;
groupObj . put ( "codeLayerX2_offset" , jsonObject . get ( "codeLayerX2_offset" ) ) ;
groupObj . put ( "codeLayerX3_offset" , jsonObject . get ( "codeLayerX3_offset" ) ) ;
groupObj . put ( "codeLayerY3_offset" , jsonObject . get ( "codeLayerY3_offset" ) ) ;
groupObj . put ( "pressLayerX1_interval" , jsonObject . get ( "pressLayerX1_interval" ) ) ;
groupObj . put ( "pressLayerY1_interval" , jsonObject . get ( "pressLayerY1_interval" ) ) ;
groupObj . put ( "pressLayerX2_interval" , jsonObject . get ( "pressLayerX2_interval" ) ) ;
groupObj . put ( "pressLayerY2_interval" , jsonObject . get ( "pressLayerY2_interval" ) ) ;
groupObj . put ( "pressLayerX3_interval" , jsonObject . get ( "pressLayerX3_interval" ) ) ;
groupObj . put ( "pressLayerY3_interval" , jsonObject . get ( "pressLayerY3_interval" ) ) ;
groupObj . put ( "pressLayerX1_offset" , jsonObject . get ( "pressLayerX1_offset" ) ) ;
groupObj . put ( "pressLayerY1_offset" , jsonObject . get ( "pressLayerY1_offset" ) ) ;
groupObj . put ( "pressLayerX2_offset" , jsonObject . get ( "pressLayerX2_offset" ) ) ;
groupObj . put ( "pressLayerY2_offset" , jsonObject . get ( "pressLayerY2_offset" ) ) ;
groupObj . put ( "pressLayerX3_offset" , jsonObject . get ( "pressLayerX3_offset" ) ) ;
groupObj . put ( "pressLayerY3_offset" , jsonObject . get ( "pressLayerY3_offset" ) ) ;
groupObj . put ( "one_cribTotal" , jsonObject . get ( "one_cribTotal" ) ) ;
groupObj . put ( "two_cribTotal" , jsonObject . get ( "two_cribTotal" ) ) ;
groupObj . put ( "one_qty" , jsonObject . get ( "one_qty" ) ) ;
groupObj . put ( "two_qty" , jsonObject . get ( "two_qty" ) ) ;
groupObj . put ( "tool_coordinate" , jsonObject . get ( "tool_coordinate" ) ) ;
groupObj . put ( "create_id" , SecurityUtils . getCurrentUserId ( ) ) ;
groupObj . put ( "create_name" , SecurityUtils . getCurrentNickName ( ) ) ;
groupObj . put ( "create_time" , DateUtil . now ( ) ) ;
if ( ObjectUtil . isNotEmpty ( pointObj . getString ( "group_id" ) ) ) {
groupTab . update ( groupObj ) ;
// 清除对接位的组盘标识
pointObj . put ( "group_id" , null ) ;
pointTab . update ( pointObj ) ;
} else {
groupTab . insert ( groupObj ) ;
}
// 物料更新
materialObj . put ( "AlongSide" , jsonObject . get ( "AlongSide" ) ) ;
materialObj . put ( "BshortSide" , jsonObject . get ( "BshortSide" ) ) ;
materialObj . put ( "Htrapezoidal" , jsonObject . get ( "Htrapezoidal" ) ) ;
materialObj . put ( "Wthickness" , jsonObject . get ( "Wthickness" ) ) ;
WQLObject . getWQLObject ( "MD_ME_MaterialBase" ) . insert ( materialObj ) ;
// 入库
jsonObject . put ( "type" , "1" ) ;
this . apply ( ( JSONObject ) jsonObject ) ;
this . apply ( jsonObject ) ;
}
/ * *
@ -466,21 +457,17 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
if ( StrUtil . isEmpty ( vehicle_code ) ) {
throw new BadRequestException ( "托盘条码不能为空!" ) ;
}
// 组盘表
JSONObject vehicleObj = WQLObject . getWQLObject ( "st_buss_vehiclegroup" ) . query ( "vehicle_code='" + vehicle_code + "'" ) . uniqueResult ( 0 ) ;
// 组盘表 - 对应的是钢托盘
JSONObject vehicleObj = WQLObject . getWQLObject ( "st_buss_vehiclegroup" ) . query ( "vehicle_code = '" + vehicle_code + "'" , "create_time desc " ) . uniqueResult ( 0 ) ;
if ( ObjectUtil . isEmpty ( vehicleObj ) ) {
throw new BadRequestException ( "未找到托盘号为'" + vehicle_code + "'的组盘信息!" ) ;
}
// 获取工单
String workorder_id = vehicleObj . getString ( "producetask_id" ) ;
String workorder_id = vehicleObj . getString ( "producetask_id" ) ; // workorder_id
JSONObject taskObj = WQLObject . getWQLObject ( "PDM_BD_WorkOrder" ) . query ( "workorder_id='" + workorder_id + "'" ) . uniqueResult ( 0 ) ;
//1代表去出窑,2 是优先包装
String is_package = "1" ;
if ( StrUtil . equals ( taskObj . getString ( "is_package" ) , "1" ) ) {
is_package = "2" ;
}
JSONObject returnjo = new JSONObject ( ) ;
returnjo . put ( "is_package" , is_package ) ;
returnjo . put ( "is_package" , taskObj . getString ( "is_package" ) ) ;
return returnjo ;
}
@ -629,9 +616,49 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
String vehicle_code = whereJson . getString ( "vehicle_code" ) ;
JSONObject rywPoint = pointTab . query ( "point_code = 'RYW'" ) . uniqueResult ( 0 ) ;
String group_id = rywPoint . getString ( "group_id" ) ;
if ( ObjectUtil . isEmpty ( group_id ) ) return ;
JSONObject group = groupTab . query ( "group_id = '" + group_id + "'" ) . uniqueResult ( 0 ) ;
group . put ( "vehicle_code" , vehicle_code ) ;
group . put ( "create_time" , DateUtil . now ( ) ) ;
groupTab . update ( group ) ;
// 清理点位
rywPoint . put ( "group_id" , null ) ;
pointTab . update ( rywPoint ) ;
}
/ * *
* 根据设备编码获取托盘信息
*
* @param jsonObject 条件
* @return Map < String , Object >
* /
@Override
public Map < String , Object > getVehicleInfoByDeviceCode ( Map jsonObject ) {
WQLObject groupTab = WQLObject . getWQLObject ( "st_buss_vehiclegroup" ) ;
WQLObject pointTab = WQLObject . getWQLObject ( "SCH_BASE_Point" ) ;
WQLObject materialTab = WQLObject . getWQLObject ( "MD_ME_MaterialBase" ) ;
String point_code = ( String ) jsonObject . get ( "device_code" ) ;
JSONObject point = pointTab . query ( "point_code = '" + point_code + "'" ) . uniqueResult ( 0 ) ;
if ( ObjectUtil . isEmpty ( point ) ) throw new BadRequestException ( "未找到点位编码为'" + point_code + "'的点位信息" ) ;
String group_id = point . getString ( "group_id" ) ;
JSONObject vehicleObj = groupTab . query ( "group_id = '" + group_id + "' AND is_delete='0'" ) . uniqueResult ( 0 ) ;
if ( ObjectUtil . isEmpty ( vehicleObj ) ) {
throw new BadRequestException ( "未找到组盘信息" ) ;
}
// 还需要返回砖型
String material_id = point . getString ( "material_id" ) ;
JSONObject materialObj = materialTab . query ( "material_id = '" + material_id + "'" ) . uniqueResult ( 0 ) ;
if ( ObjectUtil . isNotEmpty ( materialObj ) ) {
vehicleObj . put ( "AlongSide" , materialObj . get ( "AlongSide" ) ) ;
vehicleObj . put ( "BshortSide" , materialObj . get ( "BshortSide" ) ) ;
vehicleObj . put ( "Htrapezoidal" , materialObj . get ( "Htrapezoidal" ) ) ;
vehicleObj . put ( "Wthickness" , materialObj . get ( "Wthickness" ) ) ;
}
JSONObject result = new JSONObject ( ) ;
result . put ( "status" , HttpStatus . OK . value ( ) ) ;
result . put ( "message" , "反馈成功!" ) ;
result . put ( "data" , vehicleObj ) ;
return result ;
}
private JSONObject getProduceInfoByCode ( String code ) { // 查找工单