Commit fbbbf352 LN

搅拌速度:mixingSpeed=公转速度,mixingRSpeed=自转速度=公转速度*1.5. 发给客户端使用公转速度mixingSpeed

1 个父辈 49bc9c0c
......@@ -156,8 +156,8 @@ public class BarcodeManagerImpl implements IBarcodeManager {
resources.setType(component.getType());
resources.setWarmTime(component.getWarmTime());
resources.setMixTime(component.getMixTime());
Object mixSpeed=component.getAppendData("mixingSpeed");
if(mixSpeed!=null&&resources.getAppendData("mixingSpeed")==null){
String mixSpeed=component.getAppendData("mixingSpeed");
if(mixSpeed!=null){
resources.updateAppendData("mixingSpeed",mixSpeed);
}
......
package com.neotel.smfcore.core.barcode.service.po;
import cn.hutool.core.util.ObjectUtil;
import com.neotel.smfcore.common.base.BasePo;
import com.neotel.smfcore.core.barcode.enums.COMPONENT_TYPE;
import lombok.Data;
......@@ -225,11 +226,29 @@ public class Component extends BasePo implements Serializable {
* @param <T>
* @return
*/
public <T> T getAppendData(String appendKey){
Object value = appendData.get(appendKey);
if(value != null){
return (T)value;
public String getAppendData(String appendKey){
String value = appendData.get(appendKey);
try {
if (value != null) {
return value;
}
}catch (Exception ex){
}
return null;
}
public int getIntAppendData(String appendKey){
String value=getAppendData(appendKey);
if(ObjectUtil.isNotEmpty(value)){
try{
return Integer.parseInt(value);
}catch (Exception ex){
}
}
return 0;
}
}
package com.neotel.smfcore.core.solder.handler;
import cn.hutool.core.util.ObjectUtil;
import com.google.common.base.Strings;
import com.google.common.collect.Lists;
import com.neotel.smfcore.common.bean.ResultBean;
......@@ -7,6 +8,8 @@ import com.neotel.smfcore.common.exception.ValidateException;
import com.neotel.smfcore.common.utils.ReelLockPosUtil;
import com.neotel.smfcore.common.utils.StorageConstants;
import com.neotel.smfcore.core.api.bean.CodeValidateParam;
import com.neotel.smfcore.core.barcode.bean.BarcodeRule;
import com.neotel.smfcore.core.barcode.bean.CodeBean;
import com.neotel.smfcore.core.barcode.enums.COMPONENT_TYPE;
import com.neotel.smfcore.core.barcode.enums.SOLDER_STATUS;
import com.neotel.smfcore.core.barcode.service.manager.IBarcodeManager;
......@@ -178,6 +181,32 @@ public class SpBoxHandler extends BaseDeviceHandler {
protected StatusBean putInBoxSp(Storage storage, StatusBean statusBean) {
try {
String codeStr = statusBean.getCode();
//锡膏发送 fullCode和weight =1+0x0-67x77=2023053100010X##
CodeBean codeBean = BarcodeRule.splitCodeAndSize(codeStr);
String fullCode = codeBean.getCodeStr();
if (fullCode.endsWith("##")) {
fullCode = fullCode.substring(0, fullCode.length() - 2);
}
if(ObjectUtil.isNotEmpty(fullCode)) {
//查找是否有入库任务
List<DataLog> tasks = taskService.getAllTasks();
for (DataLog datalog :
tasks) {
if (datalog.isFinished() || datalog.isCancel()) {
continue;
}
if (datalog.isPutInTask() && datalog.getBarcode().equals(fullCode)) {
String posId = datalog.getPosName();
int plateW = datalog.getW();
int plateH = datalog.getH();
statusBean.addPosInfo(datalog.getBarcode(), posId, plateW, plateH, false);
log.info(datalog.getBarcode() + "已有入库任务[" + plateW + "x" + plateH + "][" + storage.getCid() + "][" + posId + "] 直接返回入库任务");
return statusBean;
}
}
}
int weight = statusBean.getWeight();
CodeValidateParam params = new CodeValidateParam("",storage.getGroupId(),storage.getId(),codeStr,"");
params.setWeight(weight);
......@@ -325,7 +354,7 @@ public class SpBoxHandler extends BaseDeviceHandler {
} else if (task.isMixTask()) {
//已有正在执行的搅拌任务,先不发送
boolean hasExecutingMixTask = hasExcecutingMixTask(cid);
if(hasExecutingMixTask){
if (hasExecutingMixTask) {
continue;
}
//搅拌任务
......@@ -334,12 +363,12 @@ public class SpBoxHandler extends BaseDeviceHandler {
statusBean.addData("barcode", task.getBarcode());
statusBean.addData("weight", task.getNum() + "");
statusBean.addData("mixTime", task.getMixTime() + "");
Barcode barcode=barcodeManager.findByBarcode(task.getBarcode());
if(barcode!=null)
{
Object mixingSpeed= barcode.getAppendData("mixingSpeed");
if(mixingSpeed!=null){
statusBean.addData("mixingSpeed",mixingSpeed.toString());
Component com = componentManager.findOneByPN(task.getPartNumber());
if (com != null) {
int mspeed = com.getIntAppendData("mixingSpeed");
if (mspeed > 0) {
statusBean.addData("mixingSpeed", mspeed + "");
log.info(task.getBarcode() + "发送搅拌任务到客户端[" + task.getPosName() + "][" + task.getBarcode() + "] mixingSpeed=" + mspeed + "");
}
}
task.setStatus(OP_STATUS.EXECUTING.name());
......
......@@ -66,8 +66,19 @@ public class SpSolderController {
@RequestMapping("/solder/update")
public ComponentDto update(@Validated @RequestBody ComponentDto resources) {
resources.setType(COMPONENT_TYPE.SOLDERPASTE);
Component component=componentMapper.toEntity(resources);
Component component = componentMapper.toEntity(resources);
if (component.getAmount() <= 0) {
component.setAmount(500);
}
//判断是否设置速度
int mixingRSpeed = component.getIntAppendData("mixingRSpeed");
int mixingSpeed = component.getIntAppendData("mixingSpeed");
if (mixingRSpeed > 0 && mixingSpeed <= 0) {
mixingSpeed = mixingRSpeed * 3 / 2;
component.updateAppendData("mixingSpeed", mixingSpeed + "");
}
component = componentManager.saveComponent(component);
return componentMapper.toDto(component);
}
......
......@@ -12,7 +12,9 @@ import com.neotel.smfcore.core.barcode.bean.BarcodeRule;
import com.neotel.smfcore.core.barcode.bean.CodeBean;
import com.neotel.smfcore.core.barcode.enums.COMPONENT_TYPE;
import com.neotel.smfcore.core.barcode.service.manager.IBarcodeManager;
import com.neotel.smfcore.core.barcode.service.manager.IComponentManager;
import com.neotel.smfcore.core.barcode.service.po.Barcode;
import com.neotel.smfcore.core.barcode.service.po.Component;
import com.neotel.smfcore.core.system.service.po.DataLog;
import lombok.extern.slf4j.Slf4j;
import org.apache.logging.log4j.util.Strings;
......@@ -27,6 +29,9 @@ public class SpApi extends BaseSmfApiListener {
@Autowired
IBarcodeManager barcodeManager;
@Autowired
IComponentManager componentManager;
@Override
public boolean isForThisApi(String apiName) {
return apiName != null && apiName.equalsIgnoreCase("sp");
......@@ -46,7 +51,7 @@ public class SpApi extends BaseSmfApiListener {
int amount = params.getWeight();
paramMap.put("weight", amount);
log.info(fullCode + "canPutInBeforeResolve,参数" + JsonUtil.toJsonStr(paramMap));
log.info(fullCode + " canPutInBeforeResolve,参数" + JsonUtil.toJsonStr(paramMap));
String result = "";
try {
result = HttpHelper.postJson(codeResolveUrl, paramMap);
......@@ -54,7 +59,7 @@ public class SpApi extends BaseSmfApiListener {
log.error("canPutInBeforeResolve 接口出错:" + e.getMessage());
throw new ValidateException("smfcore.mesApi.codeResolveUrl.error", "MES codeResolveUrl ERROR:" + e.getMessage(),new String[]{e.getMessage()});
}
log.info(fullCode + "canPutInBeforeResolve 返回" + result);
log.info(fullCode + " canPutInBeforeResolve 返回" + result);
ApiResult apiResult = JsonUtil.toObj(result, ApiResult.class);
if (apiResult.isOk()) {
Map<String, Object> dataMap = (Map<String, Object>) apiResult.getData();
......@@ -217,29 +222,30 @@ public class SpApi extends BaseSmfApiListener {
}
@Override
public void outTaskStatusChange(String outNotifyUrl, DataLog task){
public void outTaskStatusChange(String outNotifyUrl, DataLog task) {
if(task.isFinished()){
Map<String,Object> paramMap = new HashMap<>();
paramMap.put("reelId",task.getBarcode());
paramMap.put("partNum",task.getPartNumber());
paramMap.put("weight",task.getNum() );
paramMap.put("location",task.getPosName());
String status="OUTEND";
paramMap.put("status",status);
if (task.isFinished()) {
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("reelId", task.getBarcode());
paramMap.put("partNum", task.getPartNumber());
paramMap.put("weight", task.getNum());
paramMap.put("location", task.getPosName());
String status = "OUTEND";
paramMap.put("status", status);
Barcode barcode = barcodeManager.findByBarcode(task.getBarcode());
paramMap.put("mixTime",barcode.getMixTime()/60);
paramMap.put("warmTime",barcode.getWarmTime());
Object mixSpeed=barcode.getAppendData("mixingSpeed");
if(mixSpeed!=null) {
Float speed = Float.parseFloat(mixSpeed.toString());
Float rSpeed = speed * 1.5F;
paramMap.put("mixSpeed", speed.toString());
paramMap.put("mixRSpeed", rSpeed.toString());
paramMap.put("mixTime", barcode.getMixTime() / 60);
paramMap.put("warmTime", barcode.getWarmTime());
Component com = componentManager.findOneByPN(barcode.getPartNumber());
if (com != null) {
int mspeed = com.getIntAppendData("mixingSpeed");
int mrSpeed = com.getIntAppendData("mixingRSpeed");
paramMap.put("mixSpeed", mspeed + "");
paramMap.put("mixRSpeed", mrSpeed + "");
}
paramMap.put("currTime",DateUtil.toDateString(new Date(),"yyyy-MM-dd HH:mm:ss"));
paramMap.put("currTime", DateUtil.toDateString(new Date(), "yyyy-MM-dd HH:mm:ss"));
try {
log.info(task.getBarcode() + "出库通知,参数" + JsonUtil.toJsonStr(paramMap));
String result = HttpHelper.postJson(outNotifyUrl, paramMap);
......@@ -252,36 +258,38 @@ public class SpApi extends BaseSmfApiListener {
@Override
public void otherTaskStatusChange(String taskNotifyUrl, DataLog task) {
String status="";
if(task.isCheckOutTask() ){
status="OUTEND";
}else if(task.isRewarmPuttingTask() ){
status="REWARMING";
}else if(task.isMixTask() ){
status="MIXING";
}else{
String status = "";
if (task.isCheckOutTask()) {
status = "OUTEND";
} else if (task.isRewarmPuttingTask()) {
status = "REWARMING";
} else if (task.isMixTask()) {
status = "MIXING";
} else {
return;
}
if(task.isFinished()){
Map<String,Object> paramMap = new HashMap<>();
paramMap.put("reelId",task.getBarcode());
paramMap.put("partNum",task.getPartNumber());
paramMap.put("weight",task.getNum() );
paramMap.put("location",task.getPosName());
paramMap.put("status",status);
if (task.isFinished()) {
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("reelId", task.getBarcode());
paramMap.put("partNum", task.getPartNumber());
paramMap.put("weight", task.getNum());
paramMap.put("location", task.getPosName());
paramMap.put("status", status);
Barcode barcode = barcodeManager.findByBarcode(task.getBarcode());
paramMap.put("mixTime",barcode.getMixTime()/60);
paramMap.put("warmTime",barcode.getWarmTime());
Object mixSpeed=barcode.getAppendData("mixingSpeed");
if(mixSpeed!=null) {
Float speed = Float.parseFloat(mixSpeed.toString());
Float rSpeed = speed * 1.5F;
paramMap.put("mixSpeed", speed.toString());
paramMap.put("mixRSpeed", rSpeed.toString());
paramMap.put("mixTime", barcode.getMixTime() / 60);
paramMap.put("warmTime", barcode.getWarmTime());
Component com = componentManager.findOneByPN(barcode.getPartNumber());
if (com != null) {
int mspeed = com.getIntAppendData("mixingSpeed");
int mrSpeed = com.getIntAppendData("mixingRSpeed");
paramMap.put("mixSpeed", mspeed + "");
paramMap.put("mixRSpeed", mrSpeed + "");
}
paramMap.put("currTime",DateUtil.toDateString(new Date(),"yyyy-MM-dd HH:mm:ss"));
paramMap.put("currTime", DateUtil.toDateString(new Date(), "yyyy-MM-dd HH:mm:ss"));
try {
log.info(task.getBarcode() + "出库通知,参数" + JsonUtil.toJsonStr(paramMap));
String result = HttpHelper.postJson(taskNotifyUrl, paramMap);
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!