Commit 73db798d LN

SP1560锡膏MES回温出入冰箱接口

1 个父辈 498d1aaf
package com.neotel.smfcore.custom.haierIndiaSp1560;
import cn.hutool.core.util.ObjectUtil;
import com.neotel.smfcore.common.exception.ApiException;
import com.neotel.smfcore.common.utils.DateUtil;
import com.neotel.smfcore.common.utils.HttpHelper;
import com.neotel.smfcore.common.utils.JsonUtil;
import com.neotel.smfcore.core.api.listener.BaseSmfApiListener;
import com.neotel.smfcore.core.barcode.service.po.Barcode;
import com.neotel.smfcore.core.storage.service.manager.IStoragePosManager;
import com.neotel.smfcore.core.storage.service.po.StoragePos;
import com.neotel.smfcore.core.system.service.po.DataLog;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.Map;
@Service
@Slf4j
public class HaierIndiaSpApi extends BaseSmfApiListener {
// api:
// name: sp1560
// outNotifyUrl: http://xxxxxxxx/interface/fridge
// inNotifyUrl: http://xxxxxxxx/interface/fridge
// taskNotifyUrl: http://xxxxxxxx/interface/fridge
@Autowired
private IStoragePosManager storagePosManager;
@Override
public boolean isForThisApi(String apiName) {
return apiName != null && apiName.equalsIgnoreCase("sp1560");
}
@Override
public void inTaskStatusChange(String inNotifyUrl, DataLog task){
TaskStatusChange(inNotifyUrl,task);
}
@Override
public void outTaskStatusChange(String outNotifyUrl, DataLog task){
TaskStatusChange(outNotifyUrl,task);
}
@Override
public void otherTaskStatusChange(String taskNotifyUrl, DataLog task) {
TaskStatusChange(taskNotifyUrl,task);
}
public boolean TaskStatusChange(String url, DataLog task ) {
if (ObjectUtil.isEmpty(url)) {
return false;
}
// 参数名 参数类型 备注
// data JSON 提交JSON数据集
// 参数名 参数类型 备注
// STATUS STRING 操作类型,0出冰箱 1入冰箱 2回温 3 搅拌 4领用5 回收 必填
// ITEM_SN STRING 锡膏SN,必填
// EMP STRING 操作员工号,选填
// OP_TIME STRING 操作时间,必填,格式:yyyy-MM-dd HH:mm:ss
Barcode barcode = barcodeManager.get(task.getBarcode());
int opType = -1;
if (task.isCheckOutTask()) {
//4领用
opType = 4;
} else if (task.isPutInTask()) {
StoragePos pos = storagePosManager.getByPosName(task.getPosName());
if (!pos.isWarmPos()) {
//入库到冷藏区, 1入冰箱
opType = 1;
}
} else if (task.isRewarmTakingTask()) {
//回温取料, 0出冰箱
opType = 0;
} else if (task.isRewarmPuttingTask()) {
//回温放料,2 回温
opType = 2;
}
if (opType == -1) {
return false;
}
try {
Map<String, Object> param = new HashMap<>();
Map<String, String> dataMap = new HashMap<>();
dataMap.put("STATUS", opType + "");
dataMap.put("ITEM_SN", barcode.getBarcode());
String time = DateUtil.toDateString(task.getUpdateDate(), DateUtil.DATE_PATTERN);
dataMap.put("OP_TIME", time);
param.put("date", dataMap);
log.info("TaskStatusChange,url=" + url + ",发送数据=" + JsonUtil.toJsonStr(param) );
String result = HttpHelper.postJson(url, param);
log.info("TaskStatusChange,url=" + url + ",收到数据=" + result);
return true;
} catch (ApiException apiException) {
log.info("TaskStatusChange,url=" + url + " apiException " + apiException.toString());
} catch (Exception exception) {
log.info("TaskStatusChange,url=" + url + " apiException " + exception.toString());
}
return false;
}
}
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!