|
|
@ -18,6 +18,7 @@ import org.nl.utils.SpringContextHolder; |
|
|
|
import org.openscada.opc.lib.da.Server; |
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
|
|
|
|
import java.util.Date; |
|
|
|
import java.util.HashMap; |
|
|
|
import java.util.Map; |
|
|
|
|
|
|
@ -53,9 +54,27 @@ public class HaiLiangFeedingTrunkDeviceDriver extends AbstractOpcDeviceDriver im |
|
|
|
int ready = 0; |
|
|
|
int pause = 0; |
|
|
|
int clear = 0; |
|
|
|
int order_feeding_qty = 0; |
|
|
|
int detail_feeding_qty = 0; |
|
|
|
int detail_feeding_qualified_qty = 0; |
|
|
|
int detail_lettering_qty = 0; |
|
|
|
int detail_lettering_qualified_qty = 0; |
|
|
|
int detail_risking_qualified_qty = 0; |
|
|
|
int detail_risking_qty = 0; |
|
|
|
int detail_strapping_qty = 0; |
|
|
|
int detail_strapping_oneqty = 0; |
|
|
|
int detail_coating_qty = 0; |
|
|
|
int labeling_order = 0; |
|
|
|
int detail_labeling_qualified_qty = 0; |
|
|
|
int detail_labeling_qty = 0; |
|
|
|
|
|
|
|
|
|
|
|
Boolean send_letter_flag_back = false; |
|
|
|
Boolean send_letter_flag = false; |
|
|
|
|
|
|
|
private Date detail_time = new Date(); |
|
|
|
private int detail_time_out = 3000; |
|
|
|
|
|
|
|
@Override |
|
|
|
public void execute() throws Exception { |
|
|
|
String message = null; |
|
|
@ -67,12 +86,44 @@ public class HaiLiangFeedingTrunkDeviceDriver extends AbstractOpcDeviceDriver im |
|
|
|
order_detail = this.itemProtocol.getOrder_detail(); |
|
|
|
ready = this.itemProtocol.getReady(); |
|
|
|
pause = this.itemProtocol.getPause(); |
|
|
|
clear = this.itemProtocol.getPause(); |
|
|
|
clear = this.itemProtocol.getClear(); |
|
|
|
|
|
|
|
//当前工单明细号上料数量
|
|
|
|
order_feeding_qty = this.itemProtocol.getDetail_feeding_qty(); |
|
|
|
detail_feeding_qty = this.itemProtocol.getDetail_feeding_qty(); |
|
|
|
//当前工单明细号上料合格数量
|
|
|
|
detail_feeding_qualified_qty = this.itemProtocol.getDetail_feeding_qualified_qty(); |
|
|
|
//当前工单明细号刻字数量
|
|
|
|
detail_lettering_qty = this.itemProtocol.getDetail_lettering_qty(); |
|
|
|
//当前工单明细号刻字合格数量
|
|
|
|
detail_lettering_qualified_qty = this.itemProtocol.getDetail_lettering_qualified_qty(); |
|
|
|
//当前工单明细号套冒合格数
|
|
|
|
detail_risking_qualified_qty = this.itemProtocol.getDetail_risking_qualified_qty(); |
|
|
|
//当前工单明细号套冒数
|
|
|
|
detail_risking_qty = this.itemProtocol.getDetail_risking_qty(); |
|
|
|
//当前工单明细号捆扎包数
|
|
|
|
detail_strapping_qty = this.itemProtocol.getDetail_strapping_qty(); |
|
|
|
//当前工单明细号捆扎根数
|
|
|
|
detail_strapping_oneqty = this.itemProtocol.getDetail_strapping_oneqty(); |
|
|
|
//当前工单明细号裹膜数
|
|
|
|
detail_coating_qty =this.itemProtocol.getDetail_coating_qty(); |
|
|
|
//当前贴标工单明细号
|
|
|
|
labeling_order = this.itemProtocol.getLabeling_order(); |
|
|
|
//当前贴标工单明细号贴标合格数
|
|
|
|
detail_labeling_qualified_qty = this.itemProtocol.getDetail_strapping_qty(); |
|
|
|
//当前贴标工单明细号贴标数
|
|
|
|
detail_labeling_qty = this.itemProtocol.getDetail_labeling_qty(); |
|
|
|
|
|
|
|
|
|
|
|
if (mode != last_mode) { |
|
|
|
this.setRequireSucess(false); |
|
|
|
} |
|
|
|
|
|
|
|
if(order >0 && order_detail>0){ |
|
|
|
update_detail(String.valueOf(order),String.valueOf(order_detail)); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} catch (Exception var17) { |
|
|
|
return; |
|
|
|
} |
|
|
@ -112,6 +163,39 @@ public class HaiLiangFeedingTrunkDeviceDriver extends AbstractOpcDeviceDriver im |
|
|
|
last_order = order; |
|
|
|
} |
|
|
|
|
|
|
|
public synchronized boolean update_detail(String order, String order_detail) throws Exception { |
|
|
|
Date date = new Date(); |
|
|
|
if (date.getTime() - this.detail_time_out < (long) this.detail_time_out) { |
|
|
|
log.trace("触发时间因为小于{}毫秒,而被无视", this.detail_time_out); |
|
|
|
return false; |
|
|
|
} else { |
|
|
|
this.detail_time= date; |
|
|
|
ProduceshiftorderdetailDto dto = produceshiftorderdetailService.findOrderDetailFromCache(String.valueOf(order),String.valueOf(order_detail)); |
|
|
|
//上料数量
|
|
|
|
dto.setPresent_feeding_number(String.valueOf(detail_feeding_qty)); |
|
|
|
//上料合格数量
|
|
|
|
dto.setFeeding_qualified_qty(String.valueOf(detail_feeding_qualified_qty)); |
|
|
|
//当前工单明细号刻字数量
|
|
|
|
dto.setPresent_lettering_number(String.valueOf(detail_lettering_qty)); |
|
|
|
//当前工单明细号刻字合格数量
|
|
|
|
dto.setQualified_lettering_number(String.valueOf(detail_lettering_qualified_qty)); |
|
|
|
//当前工单明细号套冒数
|
|
|
|
dto.setPresent_sleeveing_number(String.valueOf(detail_risking_qty)); |
|
|
|
//当前工单明细号套冒合格数
|
|
|
|
dto.setQualified_sleeveing_number(String.valueOf(detail_risking_qualified_qty)); |
|
|
|
//当前捆扎包数
|
|
|
|
dto.setPresent_strap_pack_number(String.valueOf(detail_strapping_qty)); |
|
|
|
//当前捆扎数
|
|
|
|
dto.setPresent_strap_number(String.valueOf(detail_strapping_oneqty)); |
|
|
|
//当前工单明细号裹膜数
|
|
|
|
dto.setPresent_wraping_number(String.valueOf(detail_coating_qty)); |
|
|
|
|
|
|
|
produceshiftorderdetailService.update(dto); |
|
|
|
|
|
|
|
return true; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
public boolean apply_order() throws Exception { |
|
|
|
ProduceshiftorderDto dto = produceshiftorderService.apply_order(); |
|
|
|
if(ObjectUtil.isEmpty(dto)){ |
|
|
@ -122,18 +206,21 @@ public class HaiLiangFeedingTrunkDeviceDriver extends AbstractOpcDeviceDriver im |
|
|
|
String is_lettering = dto.getIs_lettering(); |
|
|
|
//是否套冒
|
|
|
|
String is_risking = dto.getIs_risking(); |
|
|
|
//捆扎
|
|
|
|
//是否捆扎
|
|
|
|
String is_strapping = dto.getIs_strapping(); |
|
|
|
//裹膜
|
|
|
|
//是否裹膜
|
|
|
|
String is_coating = dto.getIs_coating(); |
|
|
|
//贴标
|
|
|
|
//是否贴标
|
|
|
|
String is_labeling = dto.getIs_labeling(); |
|
|
|
//选择上料口
|
|
|
|
String feeding_mouth = dto.getFeeding_mouth(); |
|
|
|
String outer_diameter = dto.getOuter_diameter(); |
|
|
|
String wall_thickness = dto.getWall_thickness(); |
|
|
|
String length = dto.getLength(); |
|
|
|
String qty = dto.getQty(); |
|
|
|
|
|
|
|
writing(ItemProtocol.item_to_order,order); |
|
|
|
writing(ItemProtocol.item_to_feeding_mouth,feeding_mouth); |
|
|
|
writing(ItemProtocol.item_to_order_feeding_qty,qty); |
|
|
|
writing(ItemProtocol.item_to_outer_diameter,outer_diameter); |
|
|
|
writing(ItemProtocol.item_to_wall_thickness,wall_thickness); |
|
|
|