现场联调优化
This commit is contained in:
@@ -144,7 +144,7 @@ public class StandardInspectSiteDeviceDriver extends AbstractOpcDeviceDriver imp
|
||||
}
|
||||
|
||||
if (this.getApply_handling()) {
|
||||
String link_device_code = this.getDevice().getExtraValue().get("link_device_code").toString();
|
||||
String link_device_code = String.valueOf(this.getDevice().getExtraValue().get("link_device_code"));
|
||||
DeviceAppService appService = SpringContextHolder.getBean(DeviceAppServiceImpl.class);
|
||||
Device link_device = appService.findDeviceByCode(link_device_code);
|
||||
StandardInspectSiteDeviceDriver standardInspectSiteDevicedriver;
|
||||
|
||||
@@ -56,22 +56,7 @@ public class HfStationTwoDefination implements OpcDeviceDriverDefination {
|
||||
}
|
||||
|
||||
public static List<ItemDto> getReadableItemDtos2() {
|
||||
List<ItemDto> list = new ArrayList();
|
||||
list.add(new ItemDto(ItemProtocol.item_heartbeat, "心跳", "DB101.B0"));
|
||||
list.add(new ItemDto(ItemProtocol.item_mode, "工作模式", "DB101.B1"));
|
||||
list.add(new ItemDto(ItemProtocol.item_move, "光电信号", "DB101.B2"));
|
||||
list.add(new ItemDto(ItemProtocol.item_action, "取放信号", "DB101.B3"));
|
||||
list.add(new ItemDto(ItemProtocol.item_ioaction, "进出信号", "DB101.B4"));
|
||||
list.add(new ItemDto(ItemProtocol.item_error, "报警信号", "DB101.B5"));
|
||||
list.add(new ItemDto(ItemProtocol.item_task, "任务号", "DB101.D6"));
|
||||
list.add(new ItemDto(ItemProtocol.item_status, "设备状态", "DB101.B10"));
|
||||
list.add(new ItemDto(ItemProtocol.item_current_order_num, "当前工单数量", "DB101.D12"));
|
||||
list.add(new ItemDto(ItemProtocol.item_order, "工单号", "DB200.STRING20.50"));
|
||||
list.add(new ItemDto(ItemProtocol.item_barcode, "条码", "DB200.STRING72.50"));
|
||||
list.add(new ItemDto(ItemProtocol.item_material_code, "物料号", "DB200.B72"));
|
||||
list.add(new ItemDto(ItemProtocol.item_product_code,"产品编号","DB200.B124"));
|
||||
list.add(new ItemDto(ItemProtocol.item_number,"托盘砖数量","DB200.B16"));
|
||||
return list;
|
||||
return ItemProtocol.getReadableItemDtos();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -14,8 +14,6 @@ import org.nl.acs.device_driver.DeviceDriver;
|
||||
import org.nl.acs.device_driver.RouteableDeviceDriver;
|
||||
import org.nl.acs.device_driver.driver.AbstractOpcDeviceDriver;
|
||||
import org.nl.acs.device_driver.driver.ExecutableDeviceDriver;
|
||||
import org.nl.acs.device_driver.hongfeng.hf_kiln_manipulator.HfKilnManipulatorDeviceDriver;
|
||||
import org.nl.acs.device_driver.hongfeng.hf_station.HfStationDeviceDriver;
|
||||
import org.nl.acs.ext.wms.service.AcsToWmsService;
|
||||
import org.nl.acs.instruction.service.InstructionService;
|
||||
import org.nl.acs.instruction.service.dto.Instruction;
|
||||
@@ -333,6 +331,9 @@ public class HfStationTwoDeviceDriver extends AbstractOpcDeviceDriver implements
|
||||
finish();
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
finish();
|
||||
break;
|
||||
case 6:
|
||||
//满跺完成,请求呼叫
|
||||
if (!callEmptyRequireSucess && move != 0) {
|
||||
@@ -692,8 +693,8 @@ public class HfStationTwoDeviceDriver extends AbstractOpcDeviceDriver implements
|
||||
dto.setUpdate_time(DateUtil.now());
|
||||
produceshiftorderService.update(dto);
|
||||
this.setRequireSucess(true);
|
||||
this.writing(8);
|
||||
this.writing(8);
|
||||
this.writing(3);
|
||||
this.writing(3);
|
||||
logServer.deviceInfo("人工排产确认", this.getDevice_code(), "人工排产确认成功!");
|
||||
}
|
||||
return true;
|
||||
|
||||
@@ -173,20 +173,21 @@ public class ItemProtocol {
|
||||
|
||||
public static List<ItemDto> getReadableItemDtos() {
|
||||
ArrayList list = new ArrayList();
|
||||
list.add(new ItemDto(item_heartbeat, "心跳", "DB101.B0"));
|
||||
list.add(new ItemDto(item_mode, "工作模式", "DB101.B1"));
|
||||
list.add(new ItemDto(item_move, "光电信号", "DB101.B2"));
|
||||
list.add(new ItemDto(item_action, "取放信号", "DB101.B3"));
|
||||
list.add(new ItemDto(item_ioaction, "进出信号", "DB101.B4"));
|
||||
list.add(new ItemDto(item_error, "报警信号", "DB101.B5"));
|
||||
list.add(new ItemDto(item_task, "任务号", "DB101.D6"));
|
||||
list.add(new ItemDto(item_status, "设备状态", "DB101.B10"));
|
||||
list.add(new ItemDto(item_current_order_num, "当前工单数量", "DB101.D12"));
|
||||
list.add(new ItemDto(item_heartbeat, "心跳", "DB200.B0"));
|
||||
list.add(new ItemDto(item_mode, "工作模式", "DB200.B1"));
|
||||
list.add(new ItemDto(item_move, "光电信号", "DB200.B2"));
|
||||
list.add(new ItemDto(item_action, "取放信号", "DB200.B3"));
|
||||
list.add(new ItemDto(item_ioaction, "进出信号", "DB200.B4"));
|
||||
list.add(new ItemDto(item_error, "报警信号", "DB200.B5"));
|
||||
list.add(new ItemDto(item_task, "任务号", "DB200.D6"));
|
||||
list.add(new ItemDto(item_status, "设备状态", "DB200.B10"));
|
||||
list.add(new ItemDto(item_current_order_num, "当前工单数量", "DB200.D12"));
|
||||
list.add(new ItemDto(item_number,"托盘砖数量","DB200.W16"));
|
||||
list.add(new ItemDto(item_barcode, "条码", "DB200.W18"));
|
||||
list.add(new ItemDto(item_order, "工单号", "DB200.STRING20.50"));
|
||||
list.add(new ItemDto(item_barcode, "条码", "DB200.STRING72.50"));
|
||||
list.add(new ItemDto(item_material_code, "物料号", "DB200.B72"));
|
||||
list.add(new ItemDto(item_product_code,"产品编号","DB200.B124"));
|
||||
list.add(new ItemDto(item_number,"托盘砖数量","DB200.B16"));
|
||||
list.add(new ItemDto(item_material_code, "物料号", "DB200.STRING72.50"));
|
||||
list.add(new ItemDto(item_product_code,"产品编号","DB200.W124"));
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
|
||||
@@ -142,9 +142,9 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService, A
|
||||
if (StrUtil.isNotBlank(hfStationDeviceDriver.getOrder())) {
|
||||
throw new BadRequestException("设备正在生产");
|
||||
}
|
||||
if (hfStationDeviceDriver.getStatus() != 2) {
|
||||
throw new BadRequestException("设备状态不为自动");
|
||||
}
|
||||
// if (hfStationDeviceDriver.getStatus() != 2) {
|
||||
// throw new BadRequestException("设备状态不为自动");
|
||||
// }
|
||||
hfStationDeviceDriver.writing("to_order", dto.getOrder_code());
|
||||
hfStationDeviceDriver.writing("to_order_num", String.valueOf(dto.getQty()));
|
||||
hfStationDeviceDriver.writing("to_product_number", dto.getMaterial_code());
|
||||
@@ -154,7 +154,7 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService, A
|
||||
hfStationDeviceDriver.writing("to_command", "3");
|
||||
hfStationDeviceDriver.writing("to_command", "3");
|
||||
//压力机下发工单同时下发到关联的码盘工位
|
||||
String device_code=hfStationDeviceDriver.getExtraValue().get("link_device_code").toString();
|
||||
String device_code=String.valueOf(hfStationDeviceDriver.getExtraValue().get("link_device_code"));
|
||||
Device linkDevice = deviceAppService.findDeviceByCode(device_code);
|
||||
if (ObjectUtil.isNotEmpty(linkDevice)&&linkDevice.getDeviceDriver() instanceof HfStationTwoDeviceDriver) {
|
||||
HfStationTwoDeviceDriver hfStationTwoDeviceDriver = (HfStationTwoDeviceDriver) linkDevice.getDeviceDriver();
|
||||
@@ -171,14 +171,16 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService, A
|
||||
hfStationTwoDeviceDriver.writing("to_product_code", dto.getProduct_code());
|
||||
hfStationTwoDeviceDriver.writing("to_order", dto.getOrder_code());
|
||||
hfStationTwoDeviceDriver.writing("to_order_num", String.valueOf(dto.getQty()));
|
||||
hfStationTwoDeviceDriver.writing("to_material_code", dto.getMaterial_code());
|
||||
hfStationTwoDeviceDriver.writing("to_a", dto.getA());
|
||||
hfStationTwoDeviceDriver.writing("to_b", dto.getB());
|
||||
hfStationTwoDeviceDriver.writing("to_h", dto.getH());
|
||||
hfStationTwoDeviceDriver.writing("to_w", dto.getW());
|
||||
hfStationTwoDeviceDriver.writing("to_number", dto.getNumber());
|
||||
hfStationTwoDeviceDriver.writing("to_product_code", dto.getProduct_code());
|
||||
hfStationTwoDeviceDriver.writing("to_command", "3");
|
||||
hfStationTwoDeviceDriver.writing("to_command", "3");
|
||||
hfStationTwoDeviceDriver.writing("to_material_code", dto.getMaterial_code());
|
||||
hfStationTwoDeviceDriver.writing("to_command", "1");
|
||||
hfStationTwoDeviceDriver.writing("to_command", "1");
|
||||
}
|
||||
}else if (device.getDeviceDriver() instanceof HfStationTwoDeviceDriver) {
|
||||
HfStationTwoDeviceDriver hfStationTwoDeviceDriver = (HfStationTwoDeviceDriver) device.getDeviceDriver();
|
||||
@@ -203,8 +205,8 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService, A
|
||||
hfStationTwoDeviceDriver.writing("to_w", dto.getW());
|
||||
hfStationTwoDeviceDriver.writing("to_number", dto.getNumber());
|
||||
hfStationTwoDeviceDriver.writing("to_product_code", dto.getProduct_code());
|
||||
hfStationTwoDeviceDriver.writing("to_command", "3");
|
||||
hfStationTwoDeviceDriver.writing("to_command", "3");
|
||||
hfStationTwoDeviceDriver.writing("to_command", "1");
|
||||
hfStationTwoDeviceDriver.writing("to_command", "1");
|
||||
}
|
||||
JSONObject json = (JSONObject) JSONObject.toJSON(dto);
|
||||
wo.insert(json);
|
||||
@@ -367,7 +369,7 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService, A
|
||||
hfStationDeviceDriver.writing("to_command", "3");
|
||||
hfStationDeviceDriver.writing("to_command", "3");
|
||||
//压力机下发工单同时下发到关联的码盘工位
|
||||
String link_device_code=hfStationDeviceDriver.getExtraValue().get("link_device_code").toString();
|
||||
String link_device_code=String.valueOf(hfStationDeviceDriver.getExtraValue().get("link_device_code"));
|
||||
Device linkDevice = deviceAppService.findDeviceByCode(link_device_code);
|
||||
if (linkDevice.getDeviceDriver() instanceof HfStationTwoDeviceDriver) {
|
||||
HfStationTwoDeviceDriver hfStationTwoDeviceDriver = (HfStationTwoDeviceDriver) linkDevice.getDeviceDriver();
|
||||
|
||||
@@ -304,7 +304,8 @@ export default {
|
||||
is_release: true,
|
||||
address: ''
|
||||
},
|
||||
rules: {}
|
||||
rules: {},
|
||||
deviceList:{}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
|
||||
@@ -283,7 +283,8 @@ export default {
|
||||
is_release: true,
|
||||
address: ''
|
||||
},
|
||||
rules: {}
|
||||
rules: {},
|
||||
deviceList: {}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
|
||||
@@ -25,6 +25,8 @@ public class VehicleDetailDto implements Serializable {
|
||||
private String product_code;
|
||||
/** 点位编码(窑号1/2) */
|
||||
private String point_code;
|
||||
/** 点位编码(窑号1/2) */
|
||||
private String kiln_code;
|
||||
/** 区域编码 0-缓存区 1-窑内 2-窑外冷却区 3-已拆垛*/
|
||||
private String region_code;
|
||||
/** 顺序号 */
|
||||
|
||||
@@ -40,7 +40,9 @@ public class VehicleDetailServiceImpl implements VehicleDetailService {
|
||||
@Override
|
||||
public Map<String, Object> queryAll(Map whereJson, Pageable page) {
|
||||
JSONObject pageQuery = WQL.getWO("QMD_PB_VEHICLE_GROUP").addParamMap(MapOf.of("flag", "1"
|
||||
, "vehicle_code", whereJson.get("vehicle_code")))
|
||||
, "vehicle_code", whereJson.get("vehicle_code")
|
||||
,"region_code",whereJson.get("region_code")
|
||||
,"is_delete",whereJson.get("is_delete")))
|
||||
.pageQuery(WqlUtil.getHttpContext(page), "vehicle_code asc");
|
||||
return pageQuery;
|
||||
}
|
||||
|
||||
@@ -17,6 +17,8 @@
|
||||
输入.vehicle_code TYPEAS s_string
|
||||
输入.vehicle_type TYPEAS s_string
|
||||
输入.vehicle_status TYPEAS s_string
|
||||
输入.region_code TYPEAS s_string
|
||||
输入.is_delete TYPEAS s_string
|
||||
|
||||
[临时表]
|
||||
--这边列出来的临时表就会在运行期动态创建
|
||||
@@ -52,6 +54,12 @@
|
||||
1 = 1
|
||||
OPTION 输入.vehicle_code <> ""
|
||||
vd.vehicle_code LIKE '%' 输入.vehicle_code '%'
|
||||
ENDOPTION
|
||||
OPTION 输入.region_code <> ""
|
||||
vd.region_code LIKE '%' 输入.region_code '%'
|
||||
ENDOPTION
|
||||
OPTION 输入.is_delete <> ""
|
||||
vd.is_delete LIKE '%' 输入.is_delete '%'
|
||||
ENDOPTION
|
||||
ENDSELECT
|
||||
ENDPAGEQUERY
|
||||
|
||||
@@ -90,4 +90,22 @@ public class WorkorderDto implements Serializable {
|
||||
|
||||
/** 修改时间 */
|
||||
private String update_time;
|
||||
|
||||
//A长边
|
||||
private String a;
|
||||
|
||||
//B短边
|
||||
private String b;
|
||||
|
||||
//H梯形高
|
||||
private String h;
|
||||
|
||||
//W厚度
|
||||
private String w;
|
||||
|
||||
//产品编号
|
||||
private String product_code;
|
||||
|
||||
//托盘砖数量
|
||||
private String number;
|
||||
}
|
||||
|
||||
@@ -215,12 +215,12 @@ public class WorkorderServiceImpl implements WorkordeService {
|
||||
map.put("material_code", jsonObject.getString("material_code"));
|
||||
map.put("device_code", json.getString("device_code"));
|
||||
map.put("material_name",jsonObject.getString("material_name"));
|
||||
map.put("a",jsonObject.getString("a"));
|
||||
map.put("b",jsonObject.getString("b"));
|
||||
map.put("h",jsonObject.getString("h"));
|
||||
map.put("w",jsonObject.getString("w"));
|
||||
map.put("product_code",jsonObject.getString("product_code"));
|
||||
map.put("number",jsonObject.getString("number"));
|
||||
map.put("a",json.getString("a"));
|
||||
map.put("b",json.getString("b"));
|
||||
map.put("h",json.getString("h"));
|
||||
map.put("w",json.getString("w"));
|
||||
map.put("product_code",json.getString("product_code"));
|
||||
map.put("number",json.getString("number"));
|
||||
array.add(map);
|
||||
Map<String, Object> resp = wmsToAcsService.order(array);
|
||||
if (StrUtil.equals(String.valueOf(resp.get("status")), "200")) {
|
||||
|
||||
@@ -289,7 +289,7 @@ public class PalletizingTask extends AbstractAcsTask {
|
||||
.vehicle_code(pointObj.getString("vehicle_code"))
|
||||
.task_status(TaskStatusEnum.START_AND_POINT.getCode())
|
||||
.point_code1("YWHC0"+pointObj.getString("order_seq"))
|
||||
.point_code2("YWHC0"+ (pointObj.getInteger("order_seq")>21?42:21))
|
||||
.point_code2((pointObj.getInteger("order_seq")>21?"FLW01":"FLW02"))
|
||||
.priority("1")
|
||||
.handle_class(THIS_CLASS)
|
||||
.is_auto_issue(is_auto_issue)
|
||||
|
||||
Binary file not shown.
@@ -71,48 +71,6 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="16">
|
||||
<el-form-item label="产品编号" prop="product_code">
|
||||
<el-input v-model="form.product_code" style="width: 200px;" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="16">
|
||||
<el-form-item label="物料长度" prop="a">
|
||||
<el-input v-model="form.a" style="width: 200px;" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="16">
|
||||
<el-form-item label="物料宽度" prop="b">
|
||||
<el-input v-model="form.b" style="width: 200px;" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="16">
|
||||
<el-form-item label="物料高度" prop="h">
|
||||
<el-input v-model="form.h" style="width: 200px;" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="16">
|
||||
<el-form-item label="物料厚度" prop="w">
|
||||
<el-input v-model="form.w" style="width: 200px;" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="16">
|
||||
<el-form-item label="托盘砖数量" prop="number">
|
||||
<el-input v-model="form.number" style="width: 200px;" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="16">
|
||||
<el-form-item label="是否启用" prop="is_used">
|
||||
|
||||
@@ -184,6 +184,63 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="16">
|
||||
<el-form-item label="产品编号" prop="product_code">
|
||||
<el-select
|
||||
v-model="form.product_code"
|
||||
clearable
|
||||
size="mini"
|
||||
placeholder="请选择"
|
||||
class="filter-item"
|
||||
style="width: 180px;"
|
||||
@change="setProduct"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in dict.product_code"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="16">
|
||||
<el-form-item label="物料长度" prop="a">
|
||||
<el-input v-model="form.a" style="width: 200px;" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="16">
|
||||
<el-form-item label="物料宽度" prop="b">
|
||||
<el-input v-model="form.b" style="width: 200px;" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="16">
|
||||
<el-form-item label="物料高度" prop="h">
|
||||
<el-input v-model="form.h" style="width: 200px;" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="16">
|
||||
<el-form-item label="物料厚度" prop="w">
|
||||
<el-input v-model="form.w" style="width: 200px;" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="16">
|
||||
<el-form-item label="托盘砖数量" prop="w">
|
||||
<el-input v-model="form.number" style="width: 200px;" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col>
|
||||
<el-form-item v-if="false" label="工单状态">
|
||||
@@ -423,7 +480,9 @@ export default {
|
||||
name: 'Produceshiftorder',
|
||||
components: { pagination, crudOperation, rrOperation, udOperation, MaterDtl, ViewDialog, DeviceDialog },
|
||||
mixins: [presenter(), header(), form(defaultForm), crud()],
|
||||
dicts: ['pdm_workorder_status', 'is_used', 'is_or_not', 'vehicle_type', 'workorder_procedure'],
|
||||
dicts: ['pdm_workorder_status', 'is_used', 'is_or_not', 'vehicle_type', 'workorder_procedure', 'product_code',
|
||||
'product_code_1', 'product_code_2', 'product_code_3', 'product_code_4', 'product_code_5', 'product_code_6', 'product_code_7',
|
||||
'product_code_8', 'product_code_9', 'product_code_10'],
|
||||
cruds() {
|
||||
return CRUD({
|
||||
title: '工单', url: 'api/workorder', idField: 'workorder_id', sort: 'workorder_id,desc',
|
||||
@@ -541,6 +600,15 @@ export default {
|
||||
return true
|
||||
}
|
||||
},
|
||||
setProduct(row) {
|
||||
var product_code = 'product_code_' + row
|
||||
var productValue = this.dict.label[product_code] // 获取包含观察者的对象
|
||||
// 使用 product_code 作为键名来获取对应的属性值
|
||||
this.form.a = productValue.a
|
||||
this.form.b = productValue.b
|
||||
this.form.h = productValue.h
|
||||
this.form.w = productValue.w
|
||||
},
|
||||
// 新增编辑给form表单物料相关信息赋值
|
||||
setMaterValue(row) {
|
||||
this.form.material_id = row.material_id
|
||||
|
||||
Reference in New Issue
Block a user