|
|
@@ -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(); |
|
|
|