报工问题修改

tags/yfai-pcn-ext-v1.0
微笑着面对明天 10 months ago
parent dc35357c44
commit 41d8aae13f

@ -35,4 +35,12 @@ public interface MqttService {
*
*/
void connect();
/**
*
*
*/
void testSend();
void testSendList();
}

@ -131,7 +131,7 @@ public class TestController {
@GetMapping("/testInsert")
@ApiOperation(value = "批量")
public void testInsert() {
testService.insertList();
//testService.insertList();
}
}

@ -52,4 +52,17 @@ public class PcnMqttController {
public void connect() {
mqttService.connect();
}
@PostMapping("/testSend")
@ApiOperation(value = "批量发送")
public void testSend() {
mqttService.testSend();
}
@PostMapping("/testSendList")
@ApiOperation(value = "批量发送")
public void testSendList() {
mqttService.testSendList();
}
}

@ -9,12 +9,14 @@ import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.mes.bean.MesProduceSn;
import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrder;
import cn.estsh.i3plus.pojo.mes.repository.MesWorkOrderRepository;
import cn.hutool.core.date.DateUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import java.util.Date;
import java.util.List;
import java.util.UUID;
import java.util.stream.Collectors;
@ -77,9 +79,14 @@ public class MesWorkOrderExtService implements IMesWorkOrderExtService {
@Override
public List<MesWorkOrder> getWorkOrderListByShiftCode(String organizeCode, String workCenterCode, String shiftCode) {
String currentTime = DateUtil.formatDateTime(new Date());
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getStringEqualPack(workCenterCode, MesPcnExtConstWords.WORK_CENTER_CODE, packBean);
DdlPreparedPack.getStringEqualPack(shiftCode, MesPcnExtConstWords.SHIFT_CODE, packBean);
DdlPreparedPack.getStringSmallerNotEqualPack(currentTime, "planStartTime", packBean);
DdlPreparedPack.getStringBiggerNotEqualPack(currentTime, "planEndTime", packBean);
return workOrderRepository.findByHqlWhere(packBean);
}
}

@ -2,16 +2,34 @@ package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.mqtt;
import cn.estsh.i3plus.ext.mes.pcn.api.mqtt.MqttService;
import cn.estsh.i3plus.ext.mes.pcn.apiservice.mqtt.PcnMqttClient;
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentLog;
import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentVariable;
import cn.estsh.i3plus.pojo.mes.repository.MesEquipmentLogRepository;
import cn.estsh.i3plus.pojo.mes.repository.MesEquipmentVariableRepository;
import com.google.common.collect.Lists;
import org.eclipse.paho.client.mqttv3.MqttException;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
@Service
public class MqttServiceImpl implements MqttService {
@Autowired
private PcnMqttClient myMqttClient;
@Autowired
private MesEquipmentVariableRepository mesEquipmentVariableRepository;
@Autowired
private MesEquipmentLogRepository mesEquipmentLogRepository;
@Override
public void addTopic(String topic) {
myMqttClient.subscribe(topic);
@ -57,4 +75,93 @@ public class MqttServiceImpl implements MqttService {
e.printStackTrace();
}
}
@Override
public void testSend() {
/* MesEquipmentVariable equipmentVariable = mesEquipmentVariableRepository.getById(1813525136173084672l);
List<MesEquipmentVariable> array = new ArrayList<>();
for (int i = 0; i< 10000; i++) {
MesEquipmentVariable equipmentVariableNew = new MesEquipmentVariable();
BeanUtils.copyProperties(equipmentVariable, equipmentVariableNew);
//equipmentVariableNew.setId(equipmentVariable.getId()+1);
equipmentVariableNew.setId(null);
equipmentVariableNew.setTagAddress(equipmentVariableNew.getTagAddress() +i);
equipmentVariableNew.setTagName(equipmentVariableNew.getTagName() +i);
ConvertBean.serviceModelInitialize(equipmentVariableNew,"test");
array.add(equipmentVariableNew);
}
List<List<MesEquipmentVariable>> lists = Lists.partition(array, 100);
for (List<MesEquipmentVariable> list : lists) {
mesEquipmentVariableRepository.saveAll(list);
}*/
DdlPackBean packBean = new DdlPackBean();
DdlPreparedPack.getNumEqualPack(300, "equipId", packBean);
List<MesEquipmentLog> arrayEquip = new ArrayList<>();
List<MesEquipmentVariable> equipmentVariables = mesEquipmentVariableRepository.findByHqlWhere(packBean);
for (MesEquipmentVariable variable : equipmentVariables) {
MesEquipmentLog mesEquipmentLogNew = new MesEquipmentLog();
mesEquipmentLogNew.setEquipVariableName(variable.getTagAddress());
mesEquipmentLogNew.setEquipVariableId(variable.getId());
mesEquipmentLogNew.setEquipId(variable.getEquipId());
mesEquipmentLogNew.setEquipmentCode(variable.getEquipmentCode());
mesEquipmentLogNew.setEquipVariableStatus(0);
mesEquipmentLogNew.setEquipVariableValue("1");
arrayEquip.add(mesEquipmentLogNew);
}
List<List<MesEquipmentLog>> lists1 = Lists.partition(arrayEquip, 100);
for (List<MesEquipmentLog> list : lists1) {
mesEquipmentLogRepository.saveAll(list);
}
/*
DdlPackBean packBean = new DdlPackBean();
DdlPreparedPack.getNumEqualPack(1813525136173084672l, "id", packBean);
DdlPreparedPack.getNumEqualPack(300, "equipId", packBean);
MesEquipmentLog mesEquipmentLog = mesEquipmentLogRepository.getByProperty(packBean);
List<MesEquipmentLog> arrayEquip = new ArrayList<>();
for (int i = 0; i< 10000; i++) {
Long id = 1813525136173084672l;
MesEquipmentLog mesEquipmentLogNew = new MesEquipmentLog();
BeanUtils.copyProperties(mesEquipmentLog, mesEquipmentLogNew);
mesEquipmentLogNew.setId(mesEquipmentLog.getId()+1);
mesEquipmentLogNew.setEquipVariableId(id +i);
mesEquipmentLogNew.setEquipVariableDesc(mesEquipmentLog.getEquipVariableValue() +i);
mesEquipmentLogNew.setEquipVariableDesc(mesEquipmentLog.getEquipVariableValue() +i);
arrayEquip.add(mesEquipmentLogNew);
}
List<List<MesEquipmentLog>> lists1 = Lists.partition(arrayEquip, 100);
for (List<MesEquipmentLog> list : lists1) {
mesEquipmentLogRepository.saveAll(list);
}
*/
/*
String aa = "[{\"PTCode\":\"156\",\"key\":\"DB1000,X344.0\",\"tagAddress\":\"DB1000.344.0\",\"value\":false,\"time\":\"2024-07-17 16:18:13\"}]"
myMqttClient.publish(msgJson, topic);*/
}
@Override
public void testSendList() {
String start ="[";
for (int i=0; i<100 ; i++) {
String aa = "{\"PTCode\":\"156\",\"key\":\"aa " + i +
"\",\"value\":2,\"time\":\"2024-07-17 16:18:13\"}";
start += aa;
}
String end ="]";
start += end;
myMqttClient.publish(start, "ABC");
}
}

@ -218,7 +218,7 @@ public class MesAssemblyShowNosortStepService extends BaseStepService {
}
// 如果配置了超工单,且比例已经超过了配置的超工单比例,也需要阻断
double rate = (complateQty - qty)/qty;
if (rate > workCenter.getOrderRate()) {
if (rate > workCenter.getOrderRate()/100) {
productionPartContextList.forEach(o -> o.busiCheckToDelete());
if (!CollectionUtils.isEmpty(productionPsInContextList)) productionPsInContextList.forEach(o -> o.busiCheckToDelete());
return execNonCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult.obj(false), String.format("请检查工单数量,工单号[%s],工单数量[%s]预完成数量[%s],配置了超工单,但超过了比例[%s]!", workOrder, mesWorkOrder.getQty(), complateQty, workCenter.getOrderRate()));

Loading…
Cancel
Save