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