no message
parent
5da7b10dea
commit
0380dd724a
Binary file not shown.
|
|
@ -529,7 +529,7 @@ public class SceneAppController {
|
|||
propC6.append(lsh);
|
||||
}
|
||||
} else {
|
||||
System.out.println("无效RFID:" + lsh);
|
||||
// System.out.println("无效RFID:" + lsh);
|
||||
}
|
||||
i=i+4;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -65,4 +65,6 @@ public interface PointRepository extends JpaRepository<Point, Long>, JpaSpecific
|
|||
List<Point> findByLocations(String storageZone, String location);
|
||||
@Query(value = "SELECT p FROM Point p WHERE p.id=?1")
|
||||
Point fingById(Long id);
|
||||
@Query(value = "SELECT * FROM 库位看板",nativeQuery=true)
|
||||
List<Map<String, Object>> selectPoint();
|
||||
}
|
||||
|
|
@ -88,6 +88,34 @@ public class PointController {
|
|||
ApiResult apiResult = pointService.importPoint(multipartFile);
|
||||
return new ResponseEntity<>(apiResult, HttpStatus.valueOf(apiResult.getStatus()));
|
||||
}
|
||||
private static JSONObject kanban;
|
||||
private static int kb=0;
|
||||
@Log("点位看板")
|
||||
@PostMapping(value = "/selectPoint")
|
||||
@ApiOperation("点位看板")
|
||||
@AnonymousAccess
|
||||
public ResponseEntity<Object> selectPoint() {
|
||||
if (kb==1){
|
||||
|
||||
}else {
|
||||
synchronized ("kb") {
|
||||
kb = 1;
|
||||
kanban = selectPointJson();
|
||||
kb=0;
|
||||
}
|
||||
}
|
||||
return new ResponseEntity<>(kanban,HttpStatus.OK);
|
||||
}
|
||||
public JSONObject selectPointJson() {
|
||||
JSONObject jsonObject=new JSONObject();
|
||||
|
||||
List<Map<String, Object>> mapList=pointRepository.selectPoint();
|
||||
jsonObject.put("mg_top", 2);
|
||||
jsonObject.put("mg_left", 1);
|
||||
jsonObject.put("movieName", "");
|
||||
jsonObject.put("seatList", mapList);
|
||||
return jsonObject;
|
||||
}
|
||||
|
||||
@GetMapping
|
||||
@Log("查询point")
|
||||
|
|
|
|||
|
|
@ -149,6 +149,8 @@ public class PointServiceImpl implements PointService {
|
|||
map.put("分配容器", point.getStorageType());
|
||||
map.put("深浅位", point.getHeat());
|
||||
map.put("区域", point.getBeatCode());
|
||||
map.put("坐标X", point.getPosX());
|
||||
map.put("坐标Y", point.getPosY());
|
||||
map.put("是否启用", point.getEnabled());
|
||||
list.add(map);
|
||||
}
|
||||
|
|
@ -376,6 +378,8 @@ public class PointServiceImpl implements PointService {
|
|||
String storageType=(map.get("分配容器")+"").equals("null")||(map.get("分配容器")+"").length()<1? null : (map.get("分配容器")+"");
|
||||
String heat=(map.get("深浅位")+"").equals("null")||(map.get("深浅位")+"").length()<1? null : (map.get("深浅位")+"");
|
||||
String beatCode=(map.get("区域")+"").equals("null")||(map.get("区域")+"").length()<1? null : (map.get("区域")+"");
|
||||
String posX=(map.get("坐标X")+"").equals("null")||(map.get("坐标X")+"").length()<1? null : (map.get("坐标X")+"");
|
||||
String posY=(map.get("坐标Y")+"").equals("null")||(map.get("坐标Y")+"").length()<1? null : (map.get("坐标Y")+"");
|
||||
String enabled=(map.get("是否启用")+"").equals("null")||(map.get("是否启用")+"").length()<1? null : (map.get("是否启用")+"");
|
||||
String del=(map.get("删除")+"").equals("null")||(map.get("删除")+"").length()<1? null : (map.get("删除")+"");
|
||||
if (code!=null){
|
||||
|
|
@ -399,6 +403,8 @@ public class PointServiceImpl implements PointService {
|
|||
if (heat!=null) point.setHeat(Double.valueOf(heat));
|
||||
if (beatCode!=null) point.setBeatCode(beatCode);
|
||||
if (enabled!=null) point.setEnabled(Boolean.valueOf(enabled));
|
||||
if (point.getPosX()!=null) point.setPosX(Double.valueOf(posX));
|
||||
if (point.getPosY()!=null) point.setPosY(Double.valueOf(posY));
|
||||
pointRepository.save(point);
|
||||
if (del!=null){
|
||||
pointRepository.delete(point);
|
||||
|
|
|
|||
|
|
@ -148,6 +148,11 @@ public class AgvTask extends BaseEntity implements Serializable {
|
|||
this.status=status;
|
||||
this.jobType=jobType;
|
||||
}
|
||||
|
||||
public AgvTask(AgvTask agvTask) {
|
||||
super();
|
||||
}
|
||||
|
||||
public void copy(AgvTask source){
|
||||
BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -44,6 +44,7 @@ import com.youchain.businessdata.service.dto.AgvTaskDto;
|
|||
import com.youchain.businessdata.service.dto.AgvTaskQueryCriteria;
|
||||
import com.youchain.businessdata.service.mapstruct.AgvTaskMapper;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.data.domain.Page;
|
||||
|
|
@ -164,11 +165,18 @@ public class AgvTaskServiceImpl implements AgvTaskService {
|
|||
if (agvTask.getType().equals(BizStatus.AGV)) {
|
||||
//搬运任务
|
||||
jsonObject.put("requestId", agvTask.getJobId());
|
||||
if (agvTask.getJobId()==null||agvTask.getJobId().length()<1){
|
||||
agvTask.setJobId(agvTask.getId()+"");
|
||||
}
|
||||
jsonObject.put("missionCode", agvTask.getJobId());
|
||||
jsonObject.put("priority", agvTask.getJobPriority());
|
||||
jsonObject.put("containerModeCode", agvTask.getStockTypeCode());
|
||||
jsonObject.put("startPosition", agvTask.getStartSlotCode());
|
||||
jsonObject.put("endPosition", agvTask.getEndSlotCode());
|
||||
/* 出库任务过射频门*/
|
||||
if (agvTask.getJobType().equals(BizStatus.PICK)){
|
||||
jsonObject.put("endPosition", "102TK1");
|
||||
}
|
||||
// jsonObject.put("viewBoardType", "");
|
||||
api=UrlApi.submitMission;
|
||||
}
|
||||
|
|
@ -522,9 +530,23 @@ public class AgvTaskServiceImpl implements AgvTaskService {
|
|||
List<Task> taskList = taskRepository.findByAgvTaskCk(agvTask.getId());
|
||||
/* 出库任务回调 生成删除库存*/
|
||||
inventoryService.pickDelInventory(taskList);
|
||||
if (taskList.get(0).getTaskType().equals(BizStatus.FC_CK)) {
|
||||
if (taskList.size()>0&&taskList.get(0).getTaskType().equals(BizStatus.FC_CK)) {
|
||||
/* 成品出库自动做料车解绑*/
|
||||
pointStockCk(BizStatus.CTP_STO, endPoint.getId());
|
||||
}else {
|
||||
/* 生成料箱出库配送任务*/
|
||||
AgvTask agvTaskPs = new AgvTask();;
|
||||
BeanUtils.copyProperties(agvTask,agvTaskPs);
|
||||
agvTaskPs.setId(null);//新增
|
||||
agvTaskPs.setJobId(null);//新增
|
||||
agvTaskPs.setStatus(BizStatus.OPEN);//修改状态
|
||||
agvTaskPs.setJobType(BizStatus.PSCK);//修改任务类型
|
||||
agvTaskPs.setStartSlotCode("102TK1");//修改起点
|
||||
agvTaskRepository.save(agvTaskPs);
|
||||
//发送出库配送任务
|
||||
sendAgvTaskImpl(agvTaskPs);
|
||||
//亮绿灯
|
||||
RfidDocJava.lampGreen();
|
||||
}
|
||||
}else if (agvTask.getJobType().equals(BizStatus.ASN)) {
|
||||
/* 更新当前感应门点位门物料类型*/
|
||||
|
|
@ -542,7 +564,7 @@ public class AgvTaskServiceImpl implements AgvTaskService {
|
|||
}else if (pointList.getArea().getCode().equals("BCP")){
|
||||
/* 半成品入库*/
|
||||
billCode=BizStatus.SM_RK;
|
||||
endPoint.setStorageType("CTP");
|
||||
endPoint.setStorageType("BTP");
|
||||
}
|
||||
pointRepository.save(endPoint);
|
||||
/* 读取RFID生成上架任务*/
|
||||
|
|
@ -575,7 +597,7 @@ public class AgvTaskServiceImpl implements AgvTaskService {
|
|||
.substring(1, lampLog.getRequestContent().length() - 1)
|
||||
.replaceAll(" ", "")
|
||||
.split(",");
|
||||
System.out.println("停止扫描:" + rfids);
|
||||
// System.out.println("停止扫描:" + rfids);
|
||||
List returnContent = new ArrayList();
|
||||
List returnState = new ArrayList();
|
||||
for (int i = 0; i < rfids.length; i++) {
|
||||
|
|
@ -790,11 +812,13 @@ public class AgvTaskServiceImpl implements AgvTaskService {
|
|||
if (billType.equals(BizStatus.RM_RK)){
|
||||
/* 料箱入库票数*/
|
||||
if ((taskItemKeyList.size()!=BaseStatus.DoorPoint_LX_SUM)&&!"-1".equals(BaseStatus.DoorPoint_LX_SUM+"")){
|
||||
RfidDocJava.lampRed();
|
||||
return ApiResult.fail(201,"料箱入库当前RFID票数:"+taskItemKeyList.size(),null);
|
||||
}
|
||||
}else if(billType.equals(BizStatus.SM_RK)){
|
||||
/* 半成品入库*/
|
||||
if ((taskItemKeyList.size()!=BaseStatus.DoorPoint_BCP_SUM)&&!"-1".equals(BaseStatus.DoorPoint_BCP_SUM+"")){
|
||||
RfidDocJava.lampRed();
|
||||
return ApiResult.fail(201,"半成品入库当前RFID票数:"+taskItemKeyList.size(),null);
|
||||
}
|
||||
}
|
||||
|
|
@ -811,6 +835,7 @@ public class AgvTaskServiceImpl implements AgvTaskService {
|
|||
if (taskItemKeyList.size()==1){
|
||||
|
||||
}else {
|
||||
RfidDocJava.lampRed();
|
||||
return ApiResult.fail(201,"已读取到成品入库RFID票数:"+taskItemKeyList.size(),null);
|
||||
}
|
||||
}else if(taskItemKey.getTaskType().equals(BizStatus.RM_RK)){
|
||||
|
|
@ -822,6 +847,7 @@ public class AgvTaskServiceImpl implements AgvTaskService {
|
|||
if (taskItemKeyList.size()>=1){
|
||||
|
||||
}else {
|
||||
RfidDocJava.lampRed();
|
||||
return ApiResult.fail(201,"已读取到半成品入库RFID票数:"+taskItemKeyList.size(),null);
|
||||
}
|
||||
}
|
||||
|
|
@ -839,7 +865,10 @@ public class AgvTaskServiceImpl implements AgvTaskService {
|
|||
taskRepository.save(taskItemKey);
|
||||
}
|
||||
if (agvTask!=null) {
|
||||
RfidDocJava.lampGreen();
|
||||
sendAgvTaskImpl(agvTask);
|
||||
}else {
|
||||
RfidDocJava.lampRed();
|
||||
}
|
||||
return ApiResult.success(200, "操作成功", null);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -620,7 +620,7 @@ public class PickDetailServiceImpl implements PickDetailService {
|
|||
pickRepository.save(pick);
|
||||
JSONArray orderLineArray=order.getJSONArray("orderLine");
|
||||
for (int j = 0; j < orderLineArray.size(); j++) {
|
||||
JSONObject orderLine=orderLineArray.getJSONObject(i);
|
||||
JSONObject orderLine=orderLineArray.getJSONObject(j);
|
||||
String lineNo=orderLine.getString("orderLineNumber");
|
||||
String itemCode=orderLine.getString("productId");
|
||||
String quantity=orderLine.getString("quantityOrdered");
|
||||
|
|
|
|||
|
|
@ -134,7 +134,7 @@ public class PickServiceImpl implements PickService {
|
|||
List<PickDetail> pickDetailList = pickDetailRepository.findByPick(pick.getId());
|
||||
for (int j = 0; j < pickDetailList.size(); j++) {
|
||||
//按明细分配
|
||||
PickDetail pickDetail=pickDetailList.get(i);
|
||||
PickDetail pickDetail=pickDetailList.get(j);
|
||||
Long[] pfIds={ pickDetail.getId() };
|
||||
ApiResult apiResult = pickDetailService.allocate(pfIds);
|
||||
apiResults.add(apiResult);
|
||||
|
|
|
|||
|
|
@ -420,7 +420,7 @@ public class TaskServiceImpl implements TaskService {
|
|||
propC6.append(decimalNumber);
|
||||
}
|
||||
} else {
|
||||
System.out.println("无效RFID:" + lsh);
|
||||
// System.out.println("无效RFID:" + lsh);
|
||||
}
|
||||
i=i+4;
|
||||
}
|
||||
|
|
@ -502,7 +502,7 @@ public class TaskServiceImpl implements TaskService {
|
|||
asnDetailRepository.save(asnDetail);
|
||||
if (agvFlag==1) {
|
||||
|
||||
/** AGV人工入库*/
|
||||
/** AGV入库*/
|
||||
pointStart.setStorageType(storageType);
|
||||
pointRepository.save(pointStart);
|
||||
if (pointEnd.getArea().getId()==39&&pointEnd.getType().equals(BaseStatus.STORAGE)){
|
||||
|
|
|
|||
|
|
@ -69,7 +69,7 @@ public class LongTermAsyncRead extends JFrame{
|
|||
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
System.out.println("盘存打印:"+vt);
|
||||
// System.out.println("盘存打印:"+vt);
|
||||
// TODO Auto-generated method stub
|
||||
if (rdr.StopReading() != READER_ERR.MT_OK_ERR)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -8,13 +8,14 @@ import com.uhf.api.cls.Reader;
|
|||
import com.uhf.api.cls.Reader.READER_ERR;
|
||||
import com.youchain.basicdata.domain.LampLog;
|
||||
import com.youchain.utils.BaseStatus;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Vector;
|
||||
|
||||
@Slf4j
|
||||
public class RfidDocJava {
|
||||
public static String ip="192.168.0.224";
|
||||
public static int POWER=3300;
|
||||
|
|
@ -40,12 +41,32 @@ public class RfidDocJava {
|
|||
rfidDocJava.stopRead();
|
||||
return vt;
|
||||
}
|
||||
/**
|
||||
* 亮红灯
|
||||
*/
|
||||
public static void lampRed(){
|
||||
log.info("5688亮红灯:"+rdr);
|
||||
if (rdr!=null) {
|
||||
rdr.SetGPO(1, 1);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 亮绿灯
|
||||
*/
|
||||
public static void lampGreen(){
|
||||
log.info("5688亮绿灯:"+rdr);
|
||||
if (rdr!=null) {
|
||||
rdr.SetGPO(2, 1);
|
||||
}
|
||||
}
|
||||
public static READER_ERR startRfid(){
|
||||
RfidDocJava rfidDocJava=new RfidDocJava();
|
||||
/* 初始化*/
|
||||
rfidDocJava.OpenReader().toString();
|
||||
return rfidDocJava.startRead();
|
||||
}
|
||||
|
||||
public READER_ERR startRead(){
|
||||
vt=new HashSet();
|
||||
return StartReadTags();
|
||||
|
|
|
|||
|
|
@ -95,6 +95,10 @@ public interface BizStatus {
|
|||
* 出库任务
|
||||
*/
|
||||
public static String PICK = "PICK";
|
||||
/**
|
||||
* 出库后-配送到工作站
|
||||
*/
|
||||
public static String PSCK = "PSCK";
|
||||
/** 料箱出库*/
|
||||
public static String RM_CK = "RM_CK";
|
||||
/** 成品出库*/
|
||||
|
|
|
|||
Loading…
Reference in New Issue