协议优化修改

nanjing-yancao-wuliuzhongxin
yiming 3 years ago
parent bf916c251a
commit 8d59cf216f

@ -1,7 +1,6 @@
package com.zhehekeji.web.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import java.time.LocalDateTime;
@ -9,9 +8,6 @@ import java.time.LocalDateTime;
@Data
public class EmptyCheck {
@TableId
private Integer id;
private String orderNum;
private Integer streetId;

@ -84,5 +84,22 @@ public class Stock {
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
private LocalDateTime exportTime;
@TableField(exist=false)
private String topPic1;
@TableField(exist=false)
private String topPic2;
@TableField(exist=false)
private String sidePic1;
@TableField(exist=false)
private String sidePic2;
@TableField(exist=false)
private String sidePic3;
@TableField(exist=false)
private String sidePic4;
}

@ -2,6 +2,18 @@ package com.zhehekeji.web.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zhehekeji.web.entity.EmptyCheck;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
public interface EmptyCheckMapper extends BaseMapper<EmptyCheck> {
@Select("select * from empty_check where street_id = #{streetId} and `side` = #{side} and `direction` = #{direction} and `row` =#{row} and `column` = #{column} limit 1")
EmptyCheck getOne(Integer streetId,Integer direction,Integer side,Integer row,Integer column);
@Insert("insert into `empty_check` (`street_id`,`side`,`direction`,`row`,`column`,`order_num`,`empty_status`) values " +
" (#{emptyCheck.streetId},#{emptyCheck.side},#{emptyCheck.direction}," +
" #{emptyCheck.row},#{emptyCheck.column},#{emptyCheck.orderNum},#{emptyCheck.emptyStatus}) " +
" on duplicate key update `order_num` = #{emptyCheck.orderNum},`empty_status` = #{emptyCheck.emptyStatus}")
void insertOrUpdate(@Param("emptyCheck") EmptyCheck emptyCheck);
}

@ -149,7 +149,7 @@ public class EmptyCheckService {
//int columns = side == 1?street.getLeftColumn():street.getRightColumn();
StringBuffer sb = new StringBuffer();
for(int i = startColumn;i<=endColumn;i++){
if(stockMap.get(i) != null && stockMap.get(i).getEmptyStatus() == 1){
if(stockMap.get(i) != null && stockMap.get(i).getEmptyStatus() == 2){
sb.append(1);
}else {
sb.append(0);
@ -189,19 +189,32 @@ public class EmptyCheckService {
log.error(" no SRMNumer:{}",ecTransmission.getSRMNumber());
return;
}
EmptyCheck emptyCheck = new EmptyCheck();
emptyCheck.setStreetId(street.getId());
emptyCheck.setSide(ecTransmission.getSide());
emptyCheck.setDirection(ecTransmission.getDirection());
//0:未知 1空 2非空
if(ecTransmission.getIsEmpty().equals("N")){
emptyCheck.setEmptyStatus(1);
EmptyCheck emptyCheck = emptyCheckMapper.getOne(street.getId(),ecTransmission.getDirection(),ecTransmission.getSide(),ecTransmission.getRow(),ecTransmission.getColumn());
if(emptyCheck == null){
emptyCheck = new EmptyCheck();
emptyCheck.setStreetId(street.getId());
emptyCheck.setOrderNum(ecTransmission.getTaskId());
emptyCheck.setSide(ecTransmission.getSide());
emptyCheck.setDirection(ecTransmission.getDirection());
//0:未知 1空 2非空
if(ecTransmission.getIsEmpty().equals("N")){
emptyCheck.setEmptyStatus(1);
}else {
emptyCheck.setEmptyStatus(2);
}
emptyCheck.setRow(ecTransmission.getRow());
emptyCheck.setColumn(ecTransmission.getColumn());
}else {
emptyCheck.setEmptyStatus(2);
emptyCheck.setOrderNum(ecTransmission.getTaskId());
if(ecTransmission.getIsEmpty().equals("N")){
emptyCheck.setEmptyStatus(1);
}else {
emptyCheck.setEmptyStatus(2);
}
}
emptyCheck.setRow(ecTransmission.getRow());
emptyCheck.setColumn(ecTransmission.getColumn());
emptyCheckMapper.insert(emptyCheck);
emptyCheckMapper.insertOrUpdate(emptyCheck);
}
public CheckStatus emptyStatusByRowColumn(RowColumnStatus rowColumnStatus){

@ -457,6 +457,7 @@ public class PlcService {
old.setCode(null);
old.setCategory(null);
old.setCheckNum(tmTransmission.getTaskNo());
old.setLotnum(tmTransmission.getTaskNo());
old.setRow(row);
old.setColumn(column);
old.setDirection(leftRight);
@ -465,12 +466,15 @@ public class PlcService {
old.setWmsCount(tmTransmission.getCount());
old.setStreetId(street.getId());
old.setExportTime(LocalDateTime.now());
old.setWmsTrayCode("");
stockMapper.insert(old);
}else {
old.setLotnum(tmTransmission.getTaskNo());
old.setExportTime(LocalDateTime.now());
old.setWmsCode(tmTransmission.getCode());
old.setWmsCount(tmTransmission.getCount());
old.setCheckNum(tmTransmission.getTaskNo());
old.setWmsTrayCode("");
stockMapper.updateById(old);
}
return old;
@ -492,10 +496,19 @@ public class PlcService {
if(stock != null){
stock.setCount(tmTransmission.getCount());
stock.setCode(tmTransmission.getCode());
//盘点正确 2
//盘点异常 1
Integer status = tmTransmission.getCount().equals(stock.getWmsCount()) && tmTransmission.getCode().equals(stock.getWmsCode()) ? 2: 1;
stock.setStatus(status);
stock.setTrayCode(tmTransmission.getTrayNo());
stockMapper.updateById(stock);
log.info("update check info,taskId:{},SRMNumber:{},count:{},code:{}",stock.getCheckNum(),tmTransmission.getSRMNumber(),tmTransmission.getCount(),tmTransmission.getCode());
}else {
log.info("check end,but no stock info ,taskId:{},SRMNumber:{},goodsLocation:{}",tmTransmission.getTaskNo(),tmTransmission.getSRMNumber(),tmTransmission.getGoodsLocation());
stock = new Stock();
stock.setCount(tmTransmission.getCount());
stock.setCode(tmTransmission.getCode());
stock.setStatus(1);
}
return stock;
}

@ -16,6 +16,7 @@ import com.zhehekeji.web.mapper.StockMapper;
import com.zhehekeji.web.mapper.StreetMapper;
import com.zhehekeji.web.pojo.category.PageSearch;
import com.zhehekeji.web.pojo.stock.*;
import com.zhehekeji.web.service.client.ClientChanel;
import io.swagger.models.auth.In;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
@ -318,7 +319,7 @@ public class StockService {
* @return
*/
public Stock stockInfo(StockCheck stockCheck) {
Street street = streetService.streetById(stockCheck.getStreetId());
Stock stock = stockMapper.getByStreetAndDirectionAndSideAndRowColumn(stockCheck.getStreetId(),stockCheck.getDirection(),stockCheck.getSide(), stockCheck.getRow(), stockCheck.getColumn());
if(stock == null){
stock = new Stock();
@ -326,6 +327,7 @@ public class StockService {
stock.setRow(stockCheck.getRow());
//stock.setShelveId(stockCheck.getShelveId());
stock.setStatus(0);
}
List<StockLog> stockLogs = stockLogMapper.selectList(new QueryWrapper<StockLog>().eq("`row`",stockCheck.getRow()).eq("`column`",stockCheck.getColumn()).eq("street_id",stockCheck.getStreetId()).eq("direction",stockCheck.getDirection()).eq("side",stockCheck.getSide()).orderByDesc("create_time").last(" limit 2"));
if(stockLogs.size() == 1){
@ -334,6 +336,13 @@ public class StockService {
stock.setOveroperationPic(stockLogs.get(0).getPic());
stock.setPreoperationPic(stockLogs.get(1).getPic());
}
String ip ="http://"+ street.getPlcIp()+":9009/pic/"+stock.getCode()+"/"+stock.getLotnum()+"/"+stock.getLotnum()+"/";
stock.setSidePic1(String.format("%s1.png",ip));
stock.setSidePic2(String.format("%s2.png",ip));
stock.setSidePic3(String.format("%s3.png",ip));
stock.setSidePic4(String.format("%s4.png",ip));
stock.setTopPic1(String.format("%s5.png",ip));
stock.setTopPic2(String.format("%s6.png",ip));
return stock;
}
@ -342,6 +351,15 @@ public class StockService {
// Assert.notNull(shelveId,"无该货架信息");
Street street = streetService.getStreetByPlcId(stockCheckSearch.getSRMNumber());
Stock stock = stockMapper.getByStreetAndDirectionAndSideAndRowColumn(street.getId(),stockCheckSearch.getDirection(),stockCheckSearch.getSeparation(),stockCheckSearch.getRow(),stockCheckSearch.getColumn());
if(stock != null){
String ip ="http://"+ street.getPlcIp()+":9009/pic/"+stock.getCode()+"/"+stock.getLotnum()+"/"+stock.getLotnum()+"/";
stock.setSidePic1(String.format("%s1.png",ip));
stock.setSidePic2(String.format("%s2.png",ip));
stock.setSidePic3(String.format("%s3.png",ip));
stock.setSidePic4(String.format("%s4.png",ip));
stock.setTopPic1(String.format("%s5.png",ip));
stock.setTopPic2(String.format("%s6.png",ip));
}
return stock;
}

@ -69,7 +69,8 @@ public class ECTransmission {
side = Integer.valueOf(goodsLocation.substring(2,3));
row = Integer.valueOf(goodsLocation.substring(3,6));
column = Integer.valueOf(goodsLocation.substring(6,9));
}else if(strings != null && strings.length == 9 && HEADER.equals(strings[0])){
}else if(strings != null && strings.length == 8 && HEADER.equals(strings[0])){
//todo length == 9
SRMNumber = strings[1];
taskId = strings[2];
startColumn = Integer.valueOf(strings[4]);
@ -79,8 +80,9 @@ public class ECTransmission {
side = Integer.valueOf(goodsLocation.substring(2,3));
row = Integer.valueOf(goodsLocation.substring(3,6));
column = Integer.valueOf(goodsLocation.substring(6,9));
originCode = strings[7];
isEmpty = strings[8];
//todo 7 8
originCode = "ddddd";
isEmpty = strings[7];
}
}

@ -15,14 +15,13 @@ public class RealtimeCheckMap {
public static void put(String SRMNumber,CheckInfo checkInfo){
checkInfo.setTime(LocalDateTime.now());
String ip ="http://"+ClientChanel.getIpFromId(SRMNumber)+":9009/pic/"+checkInfo.getCheckCode()+"/"+checkInfo.getTaskNo()+"/"+checkInfo.getTaskNo()+"/";
ip = ip +":9009/pic";
checkInfo.setIP(ip);
checkInfo.setSidePic1(String.format("{}/1.png",ip));
checkInfo.setSidePic2(String.format("{}/2.png",ip));
checkInfo.setSidePic3(String.format("{}/3.png",ip));
checkInfo.setSidePic4(String.format("{}/4.png",ip));
checkInfo.setTopPic1(String.format("{}/5.png",ip));
checkInfo.setTopPic2(String.format("{}/6.png",ip));
checkInfo.setSidePic1(String.format("%s1.png",ip));
checkInfo.setSidePic2(String.format("%s2.png",ip));
checkInfo.setSidePic3(String.format("%s3.png",ip));
checkInfo.setSidePic4(String.format("%s4.png",ip));
checkInfo.setTopPic1(String.format("%s5.png",ip));
checkInfo.setTopPic2(String.format("%s6.png",ip));
map.put(SRMNumber,checkInfo);
}

@ -106,6 +106,7 @@ public class TMTransmission {
this.goodsLocation = goodsLocation;
this.code = code;
this.count = count;
this.trayNo = "Unknown";
this.visualTest = visual;
}

@ -81,7 +81,6 @@ public class PTDecoder extends LineBasedFrameDecoder {
//心跳 什么都不处理,因为netty长链接断开会感知
}else if(ptData.getType().equals(PTData.EMPTY_CHECK_01)){
log.info("空货位检测开始");
PTEmptyCheckContent checkContent = PTEmptyCheckContent.EmptyCheck(ptData.getContent());
emptyCheckService.emptyCheckStart(checkContent.getSRMNUmber(), checkContent.getTaskNo(), checkContent.getRow(),checkContent.getStartColumn(),checkContent.getEndColumn());
String startEmptyCheckStr = ECTransmission.toEmptyCheckStartString(checkContent.getSRMNUmber(),checkContent.getTaskNo(),checkContent.getRow(),checkContent.getStartColumn(),checkContent.getEndColumn());

Loading…
Cancel
Save