Quellcode durchsuchen

apms-createProcess端口放到进炉前访问

master
lgh vor 2 Jahren
Ursprung
Commit
8af8c45335
5 geänderte Dateien mit 53 neuen und 5 gelöschten Zeilen
  1. +14
    -0
      6.program/wms-core/src/main/java/com/mt/wms/core/utils/CodeGeneratorHelper.java
  2. +7
    -0
      6.program/wms-empty/src/main/java/com/mt/wms/empty/params/OrderParamForApms.java
  3. +2
    -0
      6.program/wms-empty/src/main/java/com/mt/wms/empty/service/impl/OrderInfoServiceImpl.java
  4. +27
    -4
      6.program/wms-empty/src/main/java/com/mt/wms/empty/task/AsynRunTaskService.java
  5. +3
    -1
      6.program/wms-empty/src/main/java/com/mt/wms/empty/task/ScheduledTask.java

+ 14
- 0
6.program/wms-core/src/main/java/com/mt/wms/core/utils/CodeGeneratorHelper.java Datei anzeigen

@@ -36,6 +36,20 @@ public class CodeGeneratorHelper {
* 自动任务编码
*/
public static final String AUTO_TASK_CODE = "AUTO_TASK_CODE";

/**
* 炉号编码
*/
public static final String STOVE_CODE = "STOVE_CODE";

/**
* 生成自炉号编码
*
* @return 订单编号
*/
public static String getStoveCode(String kilnNameAndCraft) {
return IDGenerator.gen(kilnNameAndCraft, "yyMMdd", 2, STOVE_CODE);
}
/**
* 生成自动任务编码
*


+ 7
- 0
6.program/wms-empty/src/main/java/com/mt/wms/empty/params/OrderParamForApms.java Datei anzeigen

@@ -81,4 +81,11 @@ public class OrderParamForApms extends BaseParam {

@ApiModelProperty(value = "单位")
private String unit;

/**
* 技术要求 APMS系统获取
*/
@ApiModelProperty(value = "技术要求")
private String techRequest;

}

+ 2
- 0
6.program/wms-empty/src/main/java/com/mt/wms/empty/service/impl/OrderInfoServiceImpl.java Datei anzeigen

@@ -95,6 +95,8 @@ public class OrderInfoServiceImpl extends BaseService implements OrderInfoServic
setCommon(orderInfo);
//设定来源信息为apms
orderInfo.setOrderSource(OrderSourceEnum.APMS.getValue());
//apms传来的技术要求字段使用工艺要求字段,不关注工艺要求字段,
orderInfo.setCraftIll(apmsPostOrderParam.getTechRequest());
orderInfo.setInterCode(IDGenerator.gen("DD", IDGenerator.PATTERN_YYYYMMDDHHMM, 2, "ORDER_CODE"));
//检查是否为重复的单号
OrderInfo one = orderInfoService.getOne(new QueryWrapper<OrderInfo>().eq(OrderInfo.ORDER_NO, apmsPostOrderParam.getOrderNo()).eq(OrderInfo.IDEN_CARD_NUM, apmsPostOrderParam.getIdenCardNum()));


+ 27
- 4
6.program/wms-empty/src/main/java/com/mt/wms/empty/task/AsynRunTaskService.java Datei anzeigen

@@ -6,14 +6,13 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.mt.wms.core.base.BaseService;
import com.mt.wms.core.dal.entity.*;
import com.mt.wms.core.dal.service.*;
import com.mt.wms.core.utils.CodeGeneratorHelper;
import com.mt.wms.core.utils.HttpClient;
import com.mt.wms.core.utils.IDGenerator;
import com.mt.wms.core.vo.R;
import com.mt.wms.empty.controller.ApmsController;
import com.mt.wms.empty.params.ApmsEndProcess;
import com.mt.wms.empty.params.ApmsFinishProcessSheet;
import com.mt.wms.empty.params.ApmsStartProcess;
import com.mt.wms.empty.params.FinishItem;
import com.mt.wms.empty.params.*;
import com.mt.wms.empty.vo.ApmsCreateProcessSheetVo;
import com.mt.wms.empty.vo.ApmsEndProcessVo;
import com.mt.wms.empty.vo.ApmsFinishProcessSheetVo;
import com.mt.wms.empty.websocket.WebSocketServer;
@@ -32,6 +31,7 @@ import java.io.IOException;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.concurrent.TimeUnit;

@@ -86,6 +86,7 @@ public class AsynRunTaskService extends BaseService {
public void asynRunTask(Long currTaskId,Long vehicleId) throws IOException {
CurrTask currTask = currTaskServiceBiz.getById(currTaskId);
VehicleInfo vehicle = vehicleInfoServiceBiz.getById(vehicleId);
List<CurrTaskDet> currTaskDetList = currTaskDetServiceBiz.list(new QueryWrapper<CurrTaskDet>().eq(CurrTaskDet.CURR_TASK_ID, currTask));
//检查车辆是否冲突,冲突则避让
rgvStatus(vehicleId,currTask);
//新建一条执行任务的关系表存放任务执行信息
@@ -97,6 +98,28 @@ public class AsynRunTaskService extends BaseService {
runTask.setEndPosition(currTask.getTargetPosition());
runTask.setBeginTime(LocalDateTime.now());
runTaskServiceBiz.save(runTask);
//通知apms创建一个生产单
ApmsCreateProcessSheet apmsCreateSheet = new ApmsCreateProcessSheet();
apmsCreateSheet.setWorkShopCode("BM");
apmsCreateSheet.setStartTime(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
apmsCreateSheet.setTechCode(currTask.getCraftCodeId().toString());
//fixme 暂时没有正式user,使用测试账户
apmsCreateSheet.setStartUser("QJJP03");
ArrayList<CreateItem> createItems = new ArrayList<>();
currTaskDetList.forEach(e -> {
CreateItem createItem = new CreateItem();
createItem.setItemCode(e.getIdenCardNum());
createItem.setQuantity(e.getQuantity().intValue());
createItem.setWeight(e.getWeight().doubleValue());
createItems.add(createItem);
});
apmsCreateSheet.setStoveCode(CodeGeneratorHelper.getStoveCode(currTask.getKilnName()+String.format("%02d",currTask.getCraftCodeId())));
apmsCreateSheet.setItems(createItems);
R<ApmsCreateProcessSheetVo> processSheet = apmsController.createProcessSheet(apmsCreateSheet);
if (!processSheet.getData().getSuccess()){
logger.info(currTaskId+"创建失败,APMS报错:" + processSheet.getData().getMsg());
webSocketServer.sendtoUser("创建失败,APMS报错:" + processSheet.getData().getMsg(),"1");
}
//调用车辆填入起终点,得到车辆执行结果
Long startPoint = pointInfoServiceBiz.getOne(new QueryWrapper<PointInfo>().eq(PointInfo.NOTE, runTask.getStartPosition())).getCode();
Long endPoint = pointInfoServiceBiz.getOne(new QueryWrapper<PointInfo>().eq(PointInfo.NOTE, runTask.getEndPosition())).getCode();


+ 3
- 1
6.program/wms-empty/src/main/java/com/mt/wms/empty/task/ScheduledTask.java Datei anzeigen

@@ -75,9 +75,11 @@ public class ScheduledTask extends BaseService {
private OrderInfoServiceBiz orderInfoServiceBiz;

@Test
//@Scheduled(fixedDelay = 1000*20)
public void test() throws IOException {
System.out.println(CodeGeneratorHelper.getStoveCode("MBA102"));
}
//@Scheduled(fixedDelay = 1000*60)
@Scheduled(fixedDelay = 1000*60)
public void testWebsocket() throws IOException {
//查询出正在进炉加工的curr_task,查询对应炉号是否Working,查询计划时间,剩余时间,查询标识卡详情
List<CurrTask> currTaskList = currTaskServiceBiz.list(new QueryWrapper<CurrTask>().eq(CurrTask.IS_IN, 1));


Laden…
Abbrechen
Speichern