Browse Source

点读笔 oid3

master
zhizhi wu 4 years ago
parent
commit
4f1e9e839e
  1. 134
      .drone.yml
  2. 59
      src/main/java/com/ccsens/yanyuan/bean/dto/message/TalkingPenDto.java
  3. 48
      src/main/java/com/ccsens/yanyuan/bean/po/TrainProcessLine.java
  4. 160
      src/main/java/com/ccsens/yanyuan/bean/po/TrainProcessLineExample.java
  5. 151
      src/main/java/com/ccsens/yanyuan/bean/po/TrainProcessPoint.java
  6. 922
      src/main/java/com/ccsens/yanyuan/bean/po/TrainProcessPointExample.java
  7. 27
      src/main/java/com/ccsens/yanyuan/bean/vo/TrainBelongVo.java
  8. 18
      src/main/java/com/ccsens/yanyuan/bean/vo/TrainContentVo.java
  9. 23
      src/main/java/com/ccsens/yanyuan/mq/TalkingPenReceive.java
  10. 29
      src/main/java/com/ccsens/yanyuan/persist/dao/TrainProcessCardDao.java
  11. 42
      src/main/java/com/ccsens/yanyuan/persist/dao/TrainProcessDao.java
  12. 8
      src/main/java/com/ccsens/yanyuan/persist/dao/UserModifyDao.java
  13. 36
      src/main/java/com/ccsens/yanyuan/persist/mapper/TrainProcessCardMapper.java
  14. 30
      src/main/java/com/ccsens/yanyuan/persist/mapper/TrainProcessLineMapper.java
  15. 30
      src/main/java/com/ccsens/yanyuan/persist/mapper/TrainProcessPointMapper.java
  16. 4
      src/main/java/com/ccsens/yanyuan/service/ITalkingPenService.java
  17. 150
      src/main/java/com/ccsens/yanyuan/service/TalkingPenService.java
  18. 12
      src/main/java/com/ccsens/yanyuan/service/TrainBelongService.java
  19. 4
      src/main/java/com/ccsens/yanyuan/service/UserService.java
  20. 8
      src/main/java/com/ccsens/yanyuan/util/YanYuanConstant.java
  21. 21
      src/main/resources/mapper_dao/TrainCardDao.xml
  22. 37
      src/main/resources/mapper_dao/TrainProcessCardDao.xml
  23. 51
      src/main/resources/mapper_dao/TrainProcessDao.xml
  24. 7
      src/main/resources/mapper_dao/UserModifyDao.xml
  25. 258
      src/main/resources/mapper_raw/TrainProcessLineMapper.xml
  26. 238
      src/main/resources/mapper_raw/TrainProcessPointMapper.xml
  27. 6
      src/main/resources/mbg.xml
  28. 16
      src/test/java/com/ccsens/yanyuan/test/Demo.java

134
.drone.yml

@ -0,0 +1,134 @@
kind: pipeline
type: docker
name: default
# 挂载的主机卷,可以映射到docker容器中
volumes:
# maven构建缓存(宿主机目录)
- name: ssh_key
host:
path: /root/.ssh/
- name: cache
host:
path: /var/lib/cache
- name: data
host:
path: /var/lib/data
steps:
- name: test
image: alpine
pull: if-not-exists
commands:
- echo hello
- echo world
- name: build-maven
image: maven:3.8.4-jdk-8
pull: if-not-exists # default always
volumes:
- name: cache
path: /root/.m2
commands:
- ls
- mvn -version
- java -version
- mvn clean package -Dmaven.test.skip=true
- name: deploy-scp
image: appleboy/drone-scp
pull: if-not-exists
volumes:
- name: ssh_key
path: /root/.ssh/
settings:
host: test.tall.wiki
port: 22
username: root
key_path: /root/.ssh/id_rsa
rm: false # true则会删除目标目录重建
target: /home/iacd-platform-drone
source: target/*.jar
strip_components: 1 # 去除的目录层数,如果没有该选项,则拷贝过去是 target/xxx.jar,1代表去除target
- name: run-ssh
image: appleboy/drone-ssh
pull: if-not-exists
volumes:
- name: ssh_key
path: /root/.ssh/
settings:
settings:
host: test.tall.wiki
port: 22
username: root
key_path: /root/.ssh/id_rsa
script_stop: true # stop script after first failure
#command_timeout: 30s # 30seconds, the maximum amount of time for the execute commands, default is 10 minutes.
script:
- cd /home/iacd-platform-drone
- ./re.sh > /dev/null 2> /dev/null &
- name: notify-email
image: drillster/drone-email
pull: if-not-exists
settings:
host: smtp.qiye.aliyun.com #例如 smtp.qq.com
port: 465 #例如QQ邮箱端口465
username: devops@ccsens.com #邮箱用户名
password: #邮箱密码
from_secret: orgsecret_password_mail_devops
from: devops@ccsens.com
recipients: weizezhao@ccsens.com #收件人,多个用,隔开
when: #执行条件
status:
- success
- changed
- failure
- name: notify-wechatwork
image: fifsky/drone-wechat-work
pull: if-not-exists
settings:
url: https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=b2b93e9a-128b-41d4-8dce-12004e3f48b9
msgtype: markdown
content: |
{{if eq .Status "success" }}
#### 🎉 ${DRONE_REPO} 构建成功
> Commit: [${DRONE_COMMIT_MESSAGE}](${DRONE_COMMIT_LINK})
> Author: ${DRONE_COMMIT_AUTHOR}
> [点击查看](${DRONE_BUILD_LINK})
{{else}}
#### ❌ ${DRONE_REPO} 构建失败
> Commit: [${DRONE_COMMIT_MESSAGE}](${DRONE_COMMIT_LINK})
> Author: ${DRONE_COMMIT_AUTHOR}
> 请立即修复!!!
> [点击查看](${DRONE_BUILD_LINK})
{{end}}
when:
status:
- failure
- success
# - name: notify-dingtalk
# image: lddsb/drone-dingtalk-message
# environment:
# PASSWORD:
# from_secret: password_mail_devops
# settings:
# token: your-dingtalk-robot-access-token
# type: markdown
# message_color: true
# message_pic: true
# sha_link: true
# -name: notify-slack
# image: plugins/slack
# webhook: https://hooks.slack.com/ www.dijiuyy.com services/xxx/xxx/xxx
# channel: dev
# template: >
# {{#success build.status}}
# build {{build.number}} succeeded. Good job.
# {{else}}
# build {{build.number}} failed. Fix me please.
# {{/success}}

59
src/main/java/com/ccsens/yanyuan/bean/dto/message/TalkingPenDto.java

@ -44,10 +44,6 @@ public class TalkingPenDto {
case Addr.INDEX_1:
case Addr.INDEX_2:
return Type.INDEX;
case Addr.PACKAGE:
return Type.PACKAGE;
case Addr.FRAME:
return Type.FRAME;
default:
return Type.PROCESS;
}
@ -75,17 +71,9 @@ public class TalkingPenDto {
*/
public static final byte INDEX = 4;
/**
* 包序号
* 过程(坐标码角度)
*/
public static final byte PACKAGE = 5;
/**
* 帧序号
*/
public static final byte FRAME = 6;
/**
* 过程
*/
public static final byte PROCESS = 7;
public static final byte PROCESS = 5;
}
@ -119,20 +107,47 @@ public class TalkingPenDto {
*/
public static final int INDEX_2 = 6;
/**
* 包序号
* 过程起始坐标时间
*/
public static final int PACKAGE = 32;
public static final int PROCESS_START = 32;
/**
* 帧序号
* 过程一组寄存器数量
*/
public static final int FRAME = 33;
public static final int PROCESS_REGISTER_NUM = 5;
/**
* 过程起始坐标时间
* 过程一组数据实际业务数量
*/
public static final int PROCESS_REAL_NUM = 4;
}
/**
* oid点相关
*/
public static class Point {
/**
* oid3坐标码寄存器顺序
*/
public static final int PROCESS_START = 34;
public static final int OID3_X = 0;
public static final int OID3_Y = 1;
public static final int OID3_TIME = 2;
public static final int OID3_ANGLE = 3;
/**
* 过程一组寄存器数量
* 坐标码标志空包
*/
public static final byte SIGN_EMPTY = 0;
/**
* 坐标码标志起点
*/
public static final byte SIGN_START = 1;
/**
* 坐标码标志中间
*/
public static final byte SIGN_CENTER = 2;
/**
* 坐标码标志抬起
*/
public static final int PROCESS_NUM = 6;
public static final byte SIGN_END = 3;
}
}

48
src/main/java/com/ccsens/yanyuan/bean/po/TrainProcessCard.java → src/main/java/com/ccsens/yanyuan/bean/po/TrainProcessLine.java

@ -3,16 +3,14 @@ package com.ccsens.yanyuan.bean.po;
import java.io.Serializable;
import java.util.Date;
public class TrainProcessCard implements Serializable {
public class TrainProcessLine implements Serializable {
private Long id;
private Long cardId;
private Integer frameIndex;
private Long startPointId;
private Integer packageIndex;
private Long operateTime;
private Long endPointId;
private Long operator;
@ -22,8 +20,6 @@ public class TrainProcessCard implements Serializable {
private Byte recStatus;
private String points;
private static final long serialVersionUID = 1L;
public Long getId() {
@ -42,28 +38,20 @@ public class TrainProcessCard implements Serializable {
this.cardId = cardId;
}
public Integer getFrameIndex() {
return frameIndex;
}
public void setFrameIndex(Integer frameIndex) {
this.frameIndex = frameIndex;
}
public Integer getPackageIndex() {
return packageIndex;
public Long getStartPointId() {
return startPointId;
}
public void setPackageIndex(Integer packageIndex) {
this.packageIndex = packageIndex;
public void setStartPointId(Long startPointId) {
this.startPointId = startPointId;
}
public Long getOperateTime() {
return operateTime;
public Long getEndPointId() {
return endPointId;
}
public void setOperateTime(Long operateTime) {
this.operateTime = operateTime;
public void setEndPointId(Long endPointId) {
this.endPointId = endPointId;
}
public Long getOperator() {
@ -98,14 +86,6 @@ public class TrainProcessCard implements Serializable {
this.recStatus = recStatus;
}
public String getPoints() {
return points;
}
public void setPoints(String points) {
this.points = points == null ? null : points.trim();
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
@ -114,14 +94,12 @@ public class TrainProcessCard implements Serializable {
sb.append("Hash = ").append(hashCode());
sb.append(", id=").append(id);
sb.append(", cardId=").append(cardId);
sb.append(", frameIndex=").append(frameIndex);
sb.append(", packageIndex=").append(packageIndex);
sb.append(", operateTime=").append(operateTime);
sb.append(", startPointId=").append(startPointId);
sb.append(", endPointId=").append(endPointId);
sb.append(", operator=").append(operator);
sb.append(", createdAt=").append(createdAt);
sb.append(", updatedAt=").append(updatedAt);
sb.append(", recStatus=").append(recStatus);
sb.append(", points=").append(points);
sb.append("]");
return sb.toString();
}

160
src/main/java/com/ccsens/yanyuan/bean/po/TrainProcessCardExample.java → src/main/java/com/ccsens/yanyuan/bean/po/TrainProcessLineExample.java

@ -4,14 +4,14 @@ import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class TrainProcessCardExample {
public class TrainProcessLineExample {
protected String orderByClause;
protected boolean distinct;
protected List<Criteria> oredCriteria;
public TrainProcessCardExample() {
public TrainProcessLineExample() {
oredCriteria = new ArrayList<Criteria>();
}
@ -225,183 +225,123 @@ public class TrainProcessCardExample {
return (Criteria) this;
}
public Criteria andFrameIndexIsNull() {
addCriterion("frame_index is null");
public Criteria andStartPointIdIsNull() {
addCriterion("start_point_id is null");
return (Criteria) this;
}
public Criteria andFrameIndexIsNotNull() {
addCriterion("frame_index is not null");
public Criteria andStartPointIdIsNotNull() {
addCriterion("start_point_id is not null");
return (Criteria) this;
}
public Criteria andFrameIndexEqualTo(Integer value) {
addCriterion("frame_index =", value, "frameIndex");
public Criteria andStartPointIdEqualTo(Long value) {
addCriterion("start_point_id =", value, "startPointId");
return (Criteria) this;
}
public Criteria andFrameIndexNotEqualTo(Integer value) {
addCriterion("frame_index <>", value, "frameIndex");
public Criteria andStartPointIdNotEqualTo(Long value) {
addCriterion("start_point_id <>", value, "startPointId");
return (Criteria) this;
}
public Criteria andFrameIndexGreaterThan(Integer value) {
addCriterion("frame_index >", value, "frameIndex");
public Criteria andStartPointIdGreaterThan(Long value) {
addCriterion("start_point_id >", value, "startPointId");
return (Criteria) this;
}
public Criteria andFrameIndexGreaterThanOrEqualTo(Integer value) {
addCriterion("frame_index >=", value, "frameIndex");
public Criteria andStartPointIdGreaterThanOrEqualTo(Long value) {
addCriterion("start_point_id >=", value, "startPointId");
return (Criteria) this;
}
public Criteria andFrameIndexLessThan(Integer value) {
addCriterion("frame_index <", value, "frameIndex");
public Criteria andStartPointIdLessThan(Long value) {
addCriterion("start_point_id <", value, "startPointId");
return (Criteria) this;
}
public Criteria andFrameIndexLessThanOrEqualTo(Integer value) {
addCriterion("frame_index <=", value, "frameIndex");
public Criteria andStartPointIdLessThanOrEqualTo(Long value) {
addCriterion("start_point_id <=", value, "startPointId");
return (Criteria) this;
}
public Criteria andFrameIndexIn(List<Integer> values) {
addCriterion("frame_index in", values, "frameIndex");
public Criteria andStartPointIdIn(List<Long> values) {
addCriterion("start_point_id in", values, "startPointId");
return (Criteria) this;
}
public Criteria andFrameIndexNotIn(List<Integer> values) {
addCriterion("frame_index not in", values, "frameIndex");
public Criteria andStartPointIdNotIn(List<Long> values) {
addCriterion("start_point_id not in", values, "startPointId");
return (Criteria) this;
}
public Criteria andFrameIndexBetween(Integer value1, Integer value2) {
addCriterion("frame_index between", value1, value2, "frameIndex");
public Criteria andStartPointIdBetween(Long value1, Long value2) {
addCriterion("start_point_id between", value1, value2, "startPointId");
return (Criteria) this;
}
public Criteria andFrameIndexNotBetween(Integer value1, Integer value2) {
addCriterion("frame_index not between", value1, value2, "frameIndex");
public Criteria andStartPointIdNotBetween(Long value1, Long value2) {
addCriterion("start_point_id not between", value1, value2, "startPointId");
return (Criteria) this;
}
public Criteria andPackageIndexIsNull() {
addCriterion("package_index is null");
public Criteria andEndPointIdIsNull() {
addCriterion("end_point_id is null");
return (Criteria) this;
}
public Criteria andPackageIndexIsNotNull() {
addCriterion("package_index is not null");
public Criteria andEndPointIdIsNotNull() {
addCriterion("end_point_id is not null");
return (Criteria) this;
}
public Criteria andPackageIndexEqualTo(Integer value) {
addCriterion("package_index =", value, "packageIndex");
public Criteria andEndPointIdEqualTo(Long value) {
addCriterion("end_point_id =", value, "endPointId");
return (Criteria) this;
}
public Criteria andPackageIndexNotEqualTo(Integer value) {
addCriterion("package_index <>", value, "packageIndex");
public Criteria andEndPointIdNotEqualTo(Long value) {
addCriterion("end_point_id <>", value, "endPointId");
return (Criteria) this;
}
public Criteria andPackageIndexGreaterThan(Integer value) {
addCriterion("package_index >", value, "packageIndex");
public Criteria andEndPointIdGreaterThan(Long value) {
addCriterion("end_point_id >", value, "endPointId");
return (Criteria) this;
}
public Criteria andPackageIndexGreaterThanOrEqualTo(Integer value) {
addCriterion("package_index >=", value, "packageIndex");
public Criteria andEndPointIdGreaterThanOrEqualTo(Long value) {
addCriterion("end_point_id >=", value, "endPointId");
return (Criteria) this;
}
public Criteria andPackageIndexLessThan(Integer value) {
addCriterion("package_index <", value, "packageIndex");
public Criteria andEndPointIdLessThan(Long value) {
addCriterion("end_point_id <", value, "endPointId");
return (Criteria) this;
}
public Criteria andPackageIndexLessThanOrEqualTo(Integer value) {
addCriterion("package_index <=", value, "packageIndex");
public Criteria andEndPointIdLessThanOrEqualTo(Long value) {
addCriterion("end_point_id <=", value, "endPointId");
return (Criteria) this;
}
public Criteria andPackageIndexIn(List<Integer> values) {
addCriterion("package_index in", values, "packageIndex");
public Criteria andEndPointIdIn(List<Long> values) {
addCriterion("end_point_id in", values, "endPointId");
return (Criteria) this;
}
public Criteria andPackageIndexNotIn(List<Integer> values) {
addCriterion("package_index not in", values, "packageIndex");
public Criteria andEndPointIdNotIn(List<Long> values) {
addCriterion("end_point_id not in", values, "endPointId");
return (Criteria) this;
}
public Criteria andPackageIndexBetween(Integer value1, Integer value2) {
addCriterion("package_index between", value1, value2, "packageIndex");
public Criteria andEndPointIdBetween(Long value1, Long value2) {
addCriterion("end_point_id between", value1, value2, "endPointId");
return (Criteria) this;
}
public Criteria andPackageIndexNotBetween(Integer value1, Integer value2) {
addCriterion("package_index not between", value1, value2, "packageIndex");
return (Criteria) this;
}
public Criteria andOperateTimeIsNull() {
addCriterion("operate_time is null");
return (Criteria) this;
}
public Criteria andOperateTimeIsNotNull() {
addCriterion("operate_time is not null");
return (Criteria) this;
}
public Criteria andOperateTimeEqualTo(Long value) {
addCriterion("operate_time =", value, "operateTime");
return (Criteria) this;
}
public Criteria andOperateTimeNotEqualTo(Long value) {
addCriterion("operate_time <>", value, "operateTime");
return (Criteria) this;
}
public Criteria andOperateTimeGreaterThan(Long value) {
addCriterion("operate_time >", value, "operateTime");
return (Criteria) this;
}
public Criteria andOperateTimeGreaterThanOrEqualTo(Long value) {
addCriterion("operate_time >=", value, "operateTime");
return (Criteria) this;
}
public Criteria andOperateTimeLessThan(Long value) {
addCriterion("operate_time <", value, "operateTime");
return (Criteria) this;
}
public Criteria andOperateTimeLessThanOrEqualTo(Long value) {
addCriterion("operate_time <=", value, "operateTime");
return (Criteria) this;
}
public Criteria andOperateTimeIn(List<Long> values) {
addCriterion("operate_time in", values, "operateTime");
return (Criteria) this;
}
public Criteria andOperateTimeNotIn(List<Long> values) {
addCriterion("operate_time not in", values, "operateTime");
return (Criteria) this;
}
public Criteria andOperateTimeBetween(Long value1, Long value2) {
addCriterion("operate_time between", value1, value2, "operateTime");
return (Criteria) this;
}
public Criteria andOperateTimeNotBetween(Long value1, Long value2) {
addCriterion("operate_time not between", value1, value2, "operateTime");
public Criteria andEndPointIdNotBetween(Long value1, Long value2) {
addCriterion("end_point_id not between", value1, value2, "endPointId");
return (Criteria) this;
}

151
src/main/java/com/ccsens/yanyuan/bean/po/TrainProcessPoint.java

@ -0,0 +1,151 @@
package com.ccsens.yanyuan.bean.po;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
public class TrainProcessPoint implements Serializable {
private Long id;
private Long cardId;
private Byte sign;
private BigDecimal coordinatesX;
private BigDecimal coordinatesY;
private Long time;
private Long realTime;
private Integer angle;
private Long operator;
private Date createdAt;
private Date updatedAt;
private Byte recStatus;
private static final long serialVersionUID = 1L;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public Long getCardId() {
return cardId;
}
public void setCardId(Long cardId) {
this.cardId = cardId;
}
public Byte getSign() {
return sign;
}
public void setSign(Byte sign) {
this.sign = sign;
}
public BigDecimal getCoordinatesX() {
return coordinatesX;
}
public void setCoordinatesX(BigDecimal coordinatesX) {
this.coordinatesX = coordinatesX;
}
public BigDecimal getCoordinatesY() {
return coordinatesY;
}
public void setCoordinatesY(BigDecimal coordinatesY) {
this.coordinatesY = coordinatesY;
}
public Long getTime() {
return time;
}
public void setTime(Long time) {
this.time = time;
}
public Long getRealTime() {
return realTime;
}
public void setRealTime(Long realTime) {
this.realTime = realTime;
}
public Integer getAngle() {
return angle;
}
public void setAngle(Integer angle) {
this.angle = angle;
}
public Long getOperator() {
return operator;
}
public void setOperator(Long operator) {
this.operator = operator;
}
public Date getCreatedAt() {
return createdAt;
}
public void setCreatedAt(Date createdAt) {
this.createdAt = createdAt;
}
public Date getUpdatedAt() {
return updatedAt;
}
public void setUpdatedAt(Date updatedAt) {
this.updatedAt = updatedAt;
}
public Byte getRecStatus() {
return recStatus;
}
public void setRecStatus(Byte recStatus) {
this.recStatus = recStatus;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(getClass().getSimpleName());
sb.append(" [");
sb.append("Hash = ").append(hashCode());
sb.append(", id=").append(id);
sb.append(", cardId=").append(cardId);
sb.append(", sign=").append(sign);
sb.append(", coordinatesX=").append(coordinatesX);
sb.append(", coordinatesY=").append(coordinatesY);
sb.append(", time=").append(time);
sb.append(", realTime=").append(realTime);
sb.append(", angle=").append(angle);
sb.append(", operator=").append(operator);
sb.append(", createdAt=").append(createdAt);
sb.append(", updatedAt=").append(updatedAt);
sb.append(", recStatus=").append(recStatus);
sb.append("]");
return sb.toString();
}
}

922
src/main/java/com/ccsens/yanyuan/bean/po/TrainProcessPointExample.java

@ -0,0 +1,922 @@
package com.ccsens.yanyuan.bean.po;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class TrainProcessPointExample {
protected String orderByClause;
protected boolean distinct;
protected List<Criteria> oredCriteria;
public TrainProcessPointExample() {
oredCriteria = new ArrayList<Criteria>();
}
public void setOrderByClause(String orderByClause) {
this.orderByClause = orderByClause;
}
public String getOrderByClause() {
return orderByClause;
}
public void setDistinct(boolean distinct) {
this.distinct = distinct;
}
public boolean isDistinct() {
return distinct;
}
public List<Criteria> getOredCriteria() {
return oredCriteria;
}
public void or(Criteria criteria) {
oredCriteria.add(criteria);
}
public Criteria or() {
Criteria criteria = createCriteriaInternal();
oredCriteria.add(criteria);
return criteria;
}
public Criteria createCriteria() {
Criteria criteria = createCriteriaInternal();
if (oredCriteria.size() == 0) {
oredCriteria.add(criteria);
}
return criteria;
}
protected Criteria createCriteriaInternal() {
Criteria criteria = new Criteria();
return criteria;
}
public void clear() {
oredCriteria.clear();
orderByClause = null;
distinct = false;
}
protected abstract static class GeneratedCriteria {
protected List<Criterion> criteria;
protected GeneratedCriteria() {
super();
criteria = new ArrayList<Criterion>();
}
public boolean isValid() {
return criteria.size() > 0;
}
public List<Criterion> getAllCriteria() {
return criteria;
}
public List<Criterion> getCriteria() {
return criteria;
}
protected void addCriterion(String condition) {
if (condition == null) {
throw new RuntimeException("Value for condition cannot be null");
}
criteria.add(new Criterion(condition));
}
protected void addCriterion(String condition, Object value, String property) {
if (value == null) {
throw new RuntimeException("Value for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value));
}
protected void addCriterion(String condition, Object value1, Object value2, String property) {
if (value1 == null || value2 == null) {
throw new RuntimeException("Between values for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value1, value2));
}
public Criteria andIdIsNull() {
addCriterion("id is null");
return (Criteria) this;
}
public Criteria andIdIsNotNull() {
addCriterion("id is not null");
return (Criteria) this;
}
public Criteria andIdEqualTo(Long value) {
addCriterion("id =", value, "id");
return (Criteria) this;
}
public Criteria andIdNotEqualTo(Long value) {
addCriterion("id <>", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThan(Long value) {
addCriterion("id >", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThanOrEqualTo(Long value) {
addCriterion("id >=", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThan(Long value) {
addCriterion("id <", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThanOrEqualTo(Long value) {
addCriterion("id <=", value, "id");
return (Criteria) this;
}
public Criteria andIdIn(List<Long> values) {
addCriterion("id in", values, "id");
return (Criteria) this;
}
public Criteria andIdNotIn(List<Long> values) {
addCriterion("id not in", values, "id");
return (Criteria) this;
}
public Criteria andIdBetween(Long value1, Long value2) {
addCriterion("id between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andIdNotBetween(Long value1, Long value2) {
addCriterion("id not between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andCardIdIsNull() {
addCriterion("card_id is null");
return (Criteria) this;
}
public Criteria andCardIdIsNotNull() {
addCriterion("card_id is not null");
return (Criteria) this;
}
public Criteria andCardIdEqualTo(Long value) {
addCriterion("card_id =", value, "cardId");
return (Criteria) this;
}
public Criteria andCardIdNotEqualTo(Long value) {
addCriterion("card_id <>", value, "cardId");
return (Criteria) this;
}
public Criteria andCardIdGreaterThan(Long value) {
addCriterion("card_id >", value, "cardId");
return (Criteria) this;
}
public Criteria andCardIdGreaterThanOrEqualTo(Long value) {
addCriterion("card_id >=", value, "cardId");
return (Criteria) this;
}
public Criteria andCardIdLessThan(Long value) {
addCriterion("card_id <", value, "cardId");
return (Criteria) this;
}
public Criteria andCardIdLessThanOrEqualTo(Long value) {
addCriterion("card_id <=", value, "cardId");
return (Criteria) this;
}
public Criteria andCardIdIn(List<Long> values) {
addCriterion("card_id in", values, "cardId");
return (Criteria) this;
}
public Criteria andCardIdNotIn(List<Long> values) {
addCriterion("card_id not in", values, "cardId");
return (Criteria) this;
}
public Criteria andCardIdBetween(Long value1, Long value2) {
addCriterion("card_id between", value1, value2, "cardId");
return (Criteria) this;
}
public Criteria andCardIdNotBetween(Long value1, Long value2) {
addCriterion("card_id not between", value1, value2, "cardId");
return (Criteria) this;
}
public Criteria andSignIsNull() {
addCriterion("sign is null");
return (Criteria) this;
}
public Criteria andSignIsNotNull() {
addCriterion("sign is not null");
return (Criteria) this;
}
public Criteria andSignEqualTo(Byte value) {
addCriterion("sign =", value, "sign");
return (Criteria) this;
}
public Criteria andSignNotEqualTo(Byte value) {
addCriterion("sign <>", value, "sign");
return (Criteria) this;
}
public Criteria andSignGreaterThan(Byte value) {
addCriterion("sign >", value, "sign");
return (Criteria) this;
}
public Criteria andSignGreaterThanOrEqualTo(Byte value) {
addCriterion("sign >=", value, "sign");
return (Criteria) this;
}
public Criteria andSignLessThan(Byte value) {
addCriterion("sign <", value, "sign");
return (Criteria) this;
}
public Criteria andSignLessThanOrEqualTo(Byte value) {
addCriterion("sign <=", value, "sign");
return (Criteria) this;
}
public Criteria andSignIn(List<Byte> values) {
addCriterion("sign in", values, "sign");
return (Criteria) this;
}
public Criteria andSignNotIn(List<Byte> values) {
addCriterion("sign not in", values, "sign");
return (Criteria) this;
}
public Criteria andSignBetween(Byte value1, Byte value2) {
addCriterion("sign between", value1, value2, "sign");
return (Criteria) this;
}
public Criteria andSignNotBetween(Byte value1, Byte value2) {
addCriterion("sign not between", value1, value2, "sign");
return (Criteria) this;
}
public Criteria andCoordinatesXIsNull() {
addCriterion("coordinates_x is null");
return (Criteria) this;
}
public Criteria andCoordinatesXIsNotNull() {
addCriterion("coordinates_x is not null");
return (Criteria) this;
}
public Criteria andCoordinatesXEqualTo(BigDecimal value) {
addCriterion("coordinates_x =", value, "coordinatesX");
return (Criteria) this;
}
public Criteria andCoordinatesXNotEqualTo(BigDecimal value) {
addCriterion("coordinates_x <>", value, "coordinatesX");
return (Criteria) this;
}
public Criteria andCoordinatesXGreaterThan(BigDecimal value) {
addCriterion("coordinates_x >", value, "coordinatesX");
return (Criteria) this;
}
public Criteria andCoordinatesXGreaterThanOrEqualTo(BigDecimal value) {
addCriterion("coordinates_x >=", value, "coordinatesX");
return (Criteria) this;
}
public Criteria andCoordinatesXLessThan(BigDecimal value) {
addCriterion("coordinates_x <", value, "coordinatesX");
return (Criteria) this;
}
public Criteria andCoordinatesXLessThanOrEqualTo(BigDecimal value) {
addCriterion("coordinates_x <=", value, "coordinatesX");
return (Criteria) this;
}
public Criteria andCoordinatesXIn(List<BigDecimal> values) {
addCriterion("coordinates_x in", values, "coordinatesX");
return (Criteria) this;
}
public Criteria andCoordinatesXNotIn(List<BigDecimal> values) {
addCriterion("coordinates_x not in", values, "coordinatesX");
return (Criteria) this;
}
public Criteria andCoordinatesXBetween(BigDecimal value1, BigDecimal value2) {
addCriterion("coordinates_x between", value1, value2, "coordinatesX");
return (Criteria) this;
}
public Criteria andCoordinatesXNotBetween(BigDecimal value1, BigDecimal value2) {
addCriterion("coordinates_x not between", value1, value2, "coordinatesX");
return (Criteria) this;
}
public Criteria andCoordinatesYIsNull() {
addCriterion("coordinates_y is null");
return (Criteria) this;
}
public Criteria andCoordinatesYIsNotNull() {
addCriterion("coordinates_y is not null");
return (Criteria) this;
}
public Criteria andCoordinatesYEqualTo(BigDecimal value) {
addCriterion("coordinates_y =", value, "coordinatesY");
return (Criteria) this;
}
public Criteria andCoordinatesYNotEqualTo(BigDecimal value) {
addCriterion("coordinates_y <>", value, "coordinatesY");
return (Criteria) this;
}
public Criteria andCoordinatesYGreaterThan(BigDecimal value) {
addCriterion("coordinates_y >", value, "coordinatesY");
return (Criteria) this;
}
public Criteria andCoordinatesYGreaterThanOrEqualTo(BigDecimal value) {
addCriterion("coordinates_y >=", value, "coordinatesY");
return (Criteria) this;
}
public Criteria andCoordinatesYLessThan(BigDecimal value) {
addCriterion("coordinates_y <", value, "coordinatesY");
return (Criteria) this;
}
public Criteria andCoordinatesYLessThanOrEqualTo(BigDecimal value) {
addCriterion("coordinates_y <=", value, "coordinatesY");
return (Criteria) this;
}
public Criteria andCoordinatesYIn(List<BigDecimal> values) {
addCriterion("coordinates_y in", values, "coordinatesY");
return (Criteria) this;
}
public Criteria andCoordinatesYNotIn(List<BigDecimal> values) {
addCriterion("coordinates_y not in", values, "coordinatesY");
return (Criteria) this;
}
public Criteria andCoordinatesYBetween(BigDecimal value1, BigDecimal value2) {
addCriterion("coordinates_y between", value1, value2, "coordinatesY");
return (Criteria) this;
}
public Criteria andCoordinatesYNotBetween(BigDecimal value1, BigDecimal value2) {
addCriterion("coordinates_y not between", value1, value2, "coordinatesY");
return (Criteria) this;
}
public Criteria andTimeIsNull() {
addCriterion("time is null");
return (Criteria) this;
}
public Criteria andTimeIsNotNull() {
addCriterion("time is not null");
return (Criteria) this;
}
public Criteria andTimeEqualTo(Long value) {
addCriterion("time =", value, "time");
return (Criteria) this;
}
public Criteria andTimeNotEqualTo(Long value) {
addCriterion("time <>", value, "time");
return (Criteria) this;
}
public Criteria andTimeGreaterThan(Long value) {
addCriterion("time >", value, "time");
return (Criteria) this;
}
public Criteria andTimeGreaterThanOrEqualTo(Long value) {
addCriterion("time >=", value, "time");
return (Criteria) this;
}
public Criteria andTimeLessThan(Long value) {
addCriterion("time <", value, "time");
return (Criteria) this;
}
public Criteria andTimeLessThanOrEqualTo(Long value) {
addCriterion("time <=", value, "time");
return (Criteria) this;
}
public Criteria andTimeIn(List<Long> values) {
addCriterion("time in", values, "time");
return (Criteria) this;
}
public Criteria andTimeNotIn(List<Long> values) {
addCriterion("time not in", values, "time");
return (Criteria) this;
}
public Criteria andTimeBetween(Long value1, Long value2) {
addCriterion("time between", value1, value2, "time");
return (Criteria) this;
}
public Criteria andTimeNotBetween(Long value1, Long value2) {
addCriterion("time not between", value1, value2, "time");
return (Criteria) this;
}
public Criteria andRealTimeIsNull() {
addCriterion("real_time is null");
return (Criteria) this;
}
public Criteria andRealTimeIsNotNull() {
addCriterion("real_time is not null");
return (Criteria) this;
}
public Criteria andRealTimeEqualTo(Long value) {
addCriterion("real_time =", value, "realTime");
return (Criteria) this;
}
public Criteria andRealTimeNotEqualTo(Long value) {
addCriterion("real_time <>", value, "realTime");
return (Criteria) this;
}
public Criteria andRealTimeGreaterThan(Long value) {
addCriterion("real_time >", value, "realTime");
return (Criteria) this;
}
public Criteria andRealTimeGreaterThanOrEqualTo(Long value) {
addCriterion("real_time >=", value, "realTime");
return (Criteria) this;
}
public Criteria andRealTimeLessThan(Long value) {
addCriterion("real_time <", value, "realTime");
return (Criteria) this;
}
public Criteria andRealTimeLessThanOrEqualTo(Long value) {
addCriterion("real_time <=", value, "realTime");
return (Criteria) this;
}
public Criteria andRealTimeIn(List<Long> values) {
addCriterion("real_time in", values, "realTime");
return (Criteria) this;
}
public Criteria andRealTimeNotIn(List<Long> values) {
addCriterion("real_time not in", values, "realTime");
return (Criteria) this;
}
public Criteria andRealTimeBetween(Long value1, Long value2) {
addCriterion("real_time between", value1, value2, "realTime");
return (Criteria) this;
}
public Criteria andRealTimeNotBetween(Long value1, Long value2) {
addCriterion("real_time not between", value1, value2, "realTime");
return (Criteria) this;
}
public Criteria andAngleIsNull() {
addCriterion("angle is null");
return (Criteria) this;
}
public Criteria andAngleIsNotNull() {
addCriterion("angle is not null");
return (Criteria) this;
}
public Criteria andAngleEqualTo(Integer value) {
addCriterion("angle =", value, "angle");
return (Criteria) this;
}
public Criteria andAngleNotEqualTo(Integer value) {
addCriterion("angle <>", value, "angle");
return (Criteria) this;
}
public Criteria andAngleGreaterThan(Integer value) {
addCriterion("angle >", value, "angle");
return (Criteria) this;
}
public Criteria andAngleGreaterThanOrEqualTo(Integer value) {
addCriterion("angle >=", value, "angle");
return (Criteria) this;
}
public Criteria andAngleLessThan(Integer value) {
addCriterion("angle <", value, "angle");
return (Criteria) this;
}
public Criteria andAngleLessThanOrEqualTo(Integer value) {
addCriterion("angle <=", value, "angle");
return (Criteria) this;
}
public Criteria andAngleIn(List<Integer> values) {
addCriterion("angle in", values, "angle");
return (Criteria) this;
}
public Criteria andAngleNotIn(List<Integer> values) {
addCriterion("angle not in", values, "angle");
return (Criteria) this;
}
public Criteria andAngleBetween(Integer value1, Integer value2) {
addCriterion("angle between", value1, value2, "angle");
return (Criteria) this;
}
public Criteria andAngleNotBetween(Integer value1, Integer value2) {
addCriterion("angle not between", value1, value2, "angle");
return (Criteria) this;
}
public Criteria andOperatorIsNull() {
addCriterion("operator is null");
return (Criteria) this;
}
public Criteria andOperatorIsNotNull() {
addCriterion("operator is not null");
return (Criteria) this;
}
public Criteria andOperatorEqualTo(Long value) {
addCriterion("operator =", value, "operator");
return (Criteria) this;
}
public Criteria andOperatorNotEqualTo(Long value) {
addCriterion("operator <>", value, "operator");
return (Criteria) this;
}
public Criteria andOperatorGreaterThan(Long value) {
addCriterion("operator >", value, "operator");
return (Criteria) this;
}
public Criteria andOperatorGreaterThanOrEqualTo(Long value) {
addCriterion("operator >=", value, "operator");
return (Criteria) this;
}
public Criteria andOperatorLessThan(Long value) {
addCriterion("operator <", value, "operator");
return (Criteria) this;
}
public Criteria andOperatorLessThanOrEqualTo(Long value) {
addCriterion("operator <=", value, "operator");
return (Criteria) this;
}
public Criteria andOperatorIn(List<Long> values) {
addCriterion("operator in", values, "operator");
return (Criteria) this;
}
public Criteria andOperatorNotIn(List<Long> values) {
addCriterion("operator not in", values, "operator");
return (Criteria) this;
}
public Criteria andOperatorBetween(Long value1, Long value2) {
addCriterion("operator between", value1, value2, "operator");
return (Criteria) this;
}
public Criteria andOperatorNotBetween(Long value1, Long value2) {
addCriterion("operator not between", value1, value2, "operator");
return (Criteria) this;
}
public Criteria andCreatedAtIsNull() {
addCriterion("created_at is null");
return (Criteria) this;
}
public Criteria andCreatedAtIsNotNull() {
addCriterion("created_at is not null");
return (Criteria) this;
}
public Criteria andCreatedAtEqualTo(Date value) {
addCriterion("created_at =", value, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtNotEqualTo(Date value) {
addCriterion("created_at <>", value, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtGreaterThan(Date value) {
addCriterion("created_at >", value, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtGreaterThanOrEqualTo(Date value) {
addCriterion("created_at >=", value, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtLessThan(Date value) {
addCriterion("created_at <", value, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtLessThanOrEqualTo(Date value) {
addCriterion("created_at <=", value, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtIn(List<Date> values) {
addCriterion("created_at in", values, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtNotIn(List<Date> values) {
addCriterion("created_at not in", values, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtBetween(Date value1, Date value2) {
addCriterion("created_at between", value1, value2, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtNotBetween(Date value1, Date value2) {
addCriterion("created_at not between", value1, value2, "createdAt");
return (Criteria) this;
}
public Criteria andUpdatedAtIsNull() {
addCriterion("updated_at is null");
return (Criteria) this;
}
public Criteria andUpdatedAtIsNotNull() {
addCriterion("updated_at is not null");
return (Criteria) this;
}
public Criteria andUpdatedAtEqualTo(Date value) {
addCriterion("updated_at =", value, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtNotEqualTo(Date value) {
addCriterion("updated_at <>", value, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtGreaterThan(Date value) {
addCriterion("updated_at >", value, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtGreaterThanOrEqualTo(Date value) {
addCriterion("updated_at >=", value, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtLessThan(Date value) {
addCriterion("updated_at <", value, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtLessThanOrEqualTo(Date value) {
addCriterion("updated_at <=", value, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtIn(List<Date> values) {
addCriterion("updated_at in", values, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtNotIn(List<Date> values) {
addCriterion("updated_at not in", values, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtBetween(Date value1, Date value2) {
addCriterion("updated_at between", value1, value2, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtNotBetween(Date value1, Date value2) {
addCriterion("updated_at not between", value1, value2, "updatedAt");
return (Criteria) this;
}
public Criteria andRecStatusIsNull() {
addCriterion("rec_status is null");
return (Criteria) this;
}
public Criteria andRecStatusIsNotNull() {
addCriterion("rec_status is not null");
return (Criteria) this;
}
public Criteria andRecStatusEqualTo(Byte value) {
addCriterion("rec_status =", value, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusNotEqualTo(Byte value) {
addCriterion("rec_status <>", value, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusGreaterThan(Byte value) {
addCriterion("rec_status >", value, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusGreaterThanOrEqualTo(Byte value) {
addCriterion("rec_status >=", value, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusLessThan(Byte value) {
addCriterion("rec_status <", value, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusLessThanOrEqualTo(Byte value) {
addCriterion("rec_status <=", value, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusIn(List<Byte> values) {
addCriterion("rec_status in", values, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusNotIn(List<Byte> values) {
addCriterion("rec_status not in", values, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusBetween(Byte value1, Byte value2) {
addCriterion("rec_status between", value1, value2, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusNotBetween(Byte value1, Byte value2) {
addCriterion("rec_status not between", value1, value2, "recStatus");
return (Criteria) this;
}
}
public static class Criteria extends GeneratedCriteria {
protected Criteria() {
super();
}
}
public static class Criterion {
private String condition;
private Object value;
private Object secondValue;
private boolean noValue;
private boolean singleValue;
private boolean betweenValue;
private boolean listValue;
private String typeHandler;
public String getCondition() {
return condition;
}
public Object getValue() {
return value;
}
public Object getSecondValue() {
return secondValue;
}
public boolean isNoValue() {
return noValue;
}
public boolean isSingleValue() {
return singleValue;
}
public boolean isBetweenValue() {
return betweenValue;
}
public boolean isListValue() {
return listValue;
}
public String getTypeHandler() {
return typeHandler;
}
protected Criterion(String condition) {
super();
this.condition = condition;
this.typeHandler = null;
this.noValue = true;
}
protected Criterion(String condition, Object value, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.typeHandler = typeHandler;
if (value instanceof List<?>) {
this.listValue = true;
} else {
this.singleValue = true;
}
}
protected Criterion(String condition, Object value) {
this(condition, value, null);
}
protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.secondValue = secondValue;
this.typeHandler = typeHandler;
this.betweenValue = true;
}
protected Criterion(String condition, Object value, Object secondValue) {
this(condition, value, secondValue, null);
}
}
}

27
src/main/java/com/ccsens/yanyuan/bean/vo/TrainBelongVo.java

@ -44,26 +44,37 @@ public class TrainBelongVo {
private String cardType;
@ApiModelProperty("卡片路径")
private String cardUrl;
@ApiModelProperty("过程记录")
private List<Line> lines;
@ApiModelProperty("记录")
private List<Point> points;
}
// @Data
// @ApiModel("记录点")
// public static class Line{
// @ApiModelProperty("线中有多个点,不同点之间使用;分割,点信息:x,y,time")
// private String line;
// @ApiModelProperty("操作时间")
// private Long operateTime;
// }
@Data
@ApiModel("记录点")
public static class Line{
@ApiModelProperty("线中有多个点,不同点之间使用;分割,点信息:x,y,time")
private String line;
public static class Point{
@ApiModelProperty("横坐标")
private BigDecimal coordinatesX;
@ApiModelProperty("纵坐标")
private BigDecimal coordinatesY;
@ApiModelProperty("操作时间")
private Long operateTime;
}
@Data
@ApiModel("记录和线条")
public static class RecordLine{
public static class RecordPoint{
@ApiModelProperty("结果id")
private Long trainRecordId;
@ApiModelProperty("记录")
private List<Line> lines;
@ApiModelProperty("记录")
private List<Point> points;
}
}

18
src/main/java/com/ccsens/yanyuan/bean/vo/TrainContentVo.java

@ -102,17 +102,17 @@ public class TrainContentVo {
@ApiModelProperty("卡片路径")
private String cardUrl;
@ApiModelProperty("过程记录")
private List<Line> lines;
private List<TrainBelongVo.Point> points;
}
@Data
@ApiModel("线条")
public static class Line{
@ApiModelProperty("线中有多个点,不同点之间使用;分割,点信息:x,y,time")
private String line;
@ApiModelProperty("操作时间")
private Long operateTime;
}
// @Data
// @ApiModel("线条")
// public static class Line{
// @ApiModelProperty("线中有多个点,不同点之间使用;分割,点信息:x,y,time")
// private String line;
// @ApiModelProperty("操作时间")
// private Long operateTime;
// }
@Data
@ApiModel("训练的详细内容")

23
src/main/java/com/ccsens/yanyuan/mq/TalkingPenReceive.java

@ -64,7 +64,7 @@ public class TalkingPenReceive {
break;
default:
// 处理过程
talkingPenService.dealProcess(messageMap.get(TalkingPenDto.Type.PACKAGE).get(0), messageMap.get(TalkingPenDto.Type.FRAME).get(0), messageMap.get(TalkingPenDto.Type.PROCESS));
talkingPenService.dealProcess(messageMap.get(TalkingPenDto.Type.PROCESS));
break;
}
}
@ -103,11 +103,6 @@ public class TalkingPenReceive {
case TalkingPenDto.Type.WIFI:
case TalkingPenDto.Type.ELECTRIC:
case TalkingPenDto.Type.QUESTION:
case TalkingPenDto.Type.PACKAGE:
case TalkingPenDto.Type.FRAME:
pens.add(talkingPen);
penMessages.put(type, pens);
break;
case TalkingPenDto.Type.INDEX:
getIndex(penMap, talkingPen);
pens.add(talkingPen);
@ -132,18 +127,28 @@ public class TalkingPenReceive {
*/
private void getProcess(Map<Integer, ValueUse> penMap, TalkingPenDto talkingPen) {
int addr = talkingPen.getAddr();
int position = (addr - TalkingPenDto.Addr.PROCESS_START) % TalkingPenDto.Addr.PROCESS_NUM;
int position = (addr - TalkingPenDto.Addr.PROCESS_START) % TalkingPenDto.Addr.PROCESS_REGISTER_NUM;
TalkingPenDto high;
TalkingPenDto low;
switch (position) {
// 横坐标
case 0:
case 2:
// 纵坐标
case 1:
// 角度
case 4:
// 1个寄存器
penMap.get(talkingPen.getAddr()).used = true;
log.info("余数:{},仅一个寄存器,不需计算值:{}", position, talkingPen);
return;
case 2:
// 时间高位
high = talkingPen;
low = penMap.get(addr + 1).talkingPen;
break;
default:
high = penMap.get(addr + 1).talkingPen;
// 时间低位
high = penMap.get(addr - 1).talkingPen;
low = talkingPen;
break;
}

29
src/main/java/com/ccsens/yanyuan/persist/dao/TrainProcessCardDao.java

@ -1,29 +0,0 @@
package com.ccsens.yanyuan.persist.dao;
import com.ccsens.yanyuan.bean.dto.message.CoordinateDto;
import com.ccsens.yanyuan.bean.vo.TrainBelongVo;
import com.ccsens.yanyuan.persist.mapper.TrainProcessCardMapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Set;
/**
* @author whj
*/
public interface TrainProcessCardDao extends TrainProcessCardMapper {
/**
* 查询线条
* @param recordIds 点读笔卡片ID
* @return
*/
List<TrainBelongVo.RecordLine> queryLines(@Param("recordIds") List<Long> recordIds);
/**
* 统计正确点的数量
* @param cardId 卡片ID
* @param coordinates 上传坐标
* @return 统计数量
*/
List<Integer> count(@Param("cardId") Long cardId, @Param("coordinates") List<CoordinateDto.Point> coordinates);
}

42
src/main/java/com/ccsens/yanyuan/persist/dao/TrainProcessDao.java

@ -0,0 +1,42 @@
package com.ccsens.yanyuan.persist.dao;
import com.ccsens.yanyuan.bean.dto.message.CoordinateDto;
import com.ccsens.yanyuan.bean.po.TrainProcessLine;
import com.ccsens.yanyuan.bean.po.TrainProcessPoint;
import com.ccsens.yanyuan.bean.vo.TrainBelongVo;
import com.ccsens.yanyuan.persist.mapper.TrainProcessPointMapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @author whj
*/
public interface TrainProcessDao extends TrainProcessPointMapper {
/**
* 查询线条
* @param recordIds 点读笔卡片ID
* @return
*/
List<TrainBelongVo.RecordPoint> queryPoints(@Param("recordIds") List<Long> recordIds);
/**
* 统计正确点的数量
* @param cardId 卡片ID
* @param coordinates 上传坐标
* @return 统计数量
*/
List<Integer> count(@Param("cardId") Long cardId, @Param("coordinates") List<CoordinateDto.Point> coordinates);
/**
* 批量添加坐标点
* @param processPoints 坐标信息
*/
void insertPointBatch(@Param("points") List<TrainProcessPoint> processPoints);
/**
* 批量修改坐标起始信息一笔的起止点
* @param processLines 坐标起止
*/
void replaceLineBatch(@Param("lines") List<TrainProcessLine> processLines);
}

8
src/main/java/com/ccsens/yanyuan/persist/dao/UserModifyDao.java

@ -137,7 +137,13 @@ public interface UserModifyDao {
* @param newUserId 新用户ID
* @param oldUserId 旧用户ID
*/
void modifyTrainProcessCard(@Param("newUserId") Long newUserId, @Param("oldUserId") Long oldUserId);
void modifyTrainProcessPoint(@Param("newUserId") Long newUserId, @Param("oldUserId") Long oldUserId);
/**
* 修改点读笔训练过程记录线表中的用户ID
* @param newUserId 新用户ID
* @param oldUserId 旧用户ID
*/
void modifyTrainProcessLine(@Param("newUserId") Long newUserId, @Param("oldUserId") Long oldUserId);
/**
* 修改点读笔训练过程记录表中的用户ID
* @param newUserId 新用户ID

36
src/main/java/com/ccsens/yanyuan/persist/mapper/TrainProcessCardMapper.java

@ -1,36 +0,0 @@
package com.ccsens.yanyuan.persist.mapper;
import com.ccsens.yanyuan.bean.po.TrainProcessCard;
import com.ccsens.yanyuan.bean.po.TrainProcessCardExample;
import java.util.List;
import org.apache.ibatis.annotations.Param;
public interface TrainProcessCardMapper {
long countByExample(TrainProcessCardExample example);
int deleteByExample(TrainProcessCardExample example);
int deleteByPrimaryKey(Long id);
int insert(TrainProcessCard record);
int insertSelective(TrainProcessCard record);
List<TrainProcessCard> selectByExampleWithBLOBs(TrainProcessCardExample example);
List<TrainProcessCard> selectByExample(TrainProcessCardExample example);
TrainProcessCard selectByPrimaryKey(Long id);
int updateByExampleSelective(@Param("record") TrainProcessCard record, @Param("example") TrainProcessCardExample example);
int updateByExampleWithBLOBs(@Param("record") TrainProcessCard record, @Param("example") TrainProcessCardExample example);
int updateByExample(@Param("record") TrainProcessCard record, @Param("example") TrainProcessCardExample example);
int updateByPrimaryKeySelective(TrainProcessCard record);
int updateByPrimaryKeyWithBLOBs(TrainProcessCard record);
int updateByPrimaryKey(TrainProcessCard record);
}

30
src/main/java/com/ccsens/yanyuan/persist/mapper/TrainProcessLineMapper.java

@ -0,0 +1,30 @@
package com.ccsens.yanyuan.persist.mapper;
import com.ccsens.yanyuan.bean.po.TrainProcessLine;
import com.ccsens.yanyuan.bean.po.TrainProcessLineExample;
import java.util.List;
import org.apache.ibatis.annotations.Param;
public interface TrainProcessLineMapper {
long countByExample(TrainProcessLineExample example);
int deleteByExample(TrainProcessLineExample example);
int deleteByPrimaryKey(Long id);
int insert(TrainProcessLine record);
int insertSelective(TrainProcessLine record);
List<TrainProcessLine> selectByExample(TrainProcessLineExample example);
TrainProcessLine selectByPrimaryKey(Long id);
int updateByExampleSelective(@Param("record") TrainProcessLine record, @Param("example") TrainProcessLineExample example);
int updateByExample(@Param("record") TrainProcessLine record, @Param("example") TrainProcessLineExample example);
int updateByPrimaryKeySelective(TrainProcessLine record);
int updateByPrimaryKey(TrainProcessLine record);
}

30
src/main/java/com/ccsens/yanyuan/persist/mapper/TrainProcessPointMapper.java

@ -0,0 +1,30 @@
package com.ccsens.yanyuan.persist.mapper;
import com.ccsens.yanyuan.bean.po.TrainProcessPoint;
import com.ccsens.yanyuan.bean.po.TrainProcessPointExample;
import java.util.List;
import org.apache.ibatis.annotations.Param;
public interface TrainProcessPointMapper {
long countByExample(TrainProcessPointExample example);
int deleteByExample(TrainProcessPointExample example);
int deleteByPrimaryKey(Long id);
int insert(TrainProcessPoint record);
int insertSelective(TrainProcessPoint record);
List<TrainProcessPoint> selectByExample(TrainProcessPointExample example);
TrainProcessPoint selectByPrimaryKey(Long id);
int updateByExampleSelective(@Param("record") TrainProcessPoint record, @Param("example") TrainProcessPointExample example);
int updateByExample(@Param("record") TrainProcessPoint record, @Param("example") TrainProcessPointExample example);
int updateByPrimaryKeySelective(TrainProcessPoint record);
int updateByPrimaryKey(TrainProcessPoint record);
}

4
src/main/java/com/ccsens/yanyuan/service/ITalkingPenService.java

@ -43,12 +43,10 @@ public interface ITalkingPenService {
void dealIndex(TalkingPenDto talkingPen) throws Exception;
/**
* 处理过程日志
* @param packageDto
* @param frameDto
* @param processList 坐标数据
* @throws Exception Exception
*/
void dealProcess(TalkingPenDto packageDto, TalkingPenDto frameDto, List<TalkingPenDto> processList) throws Exception;
void dealProcess(List<TalkingPenDto> processList) throws Exception;
/**
* 存储日志
* @param messageMap 数据信息

150
src/main/java/com/ccsens/yanyuan/service/TalkingPenService.java

@ -19,9 +19,7 @@ import com.ccsens.yanyuan.bean.po.*;
import com.ccsens.yanyuan.bean.vo.ToolVo;
import com.ccsens.yanyuan.bean.vo.TrainContentVo;
import com.ccsens.yanyuan.persist.dao.*;
import com.ccsens.yanyuan.persist.mapper.EquipmentLogMapper;
import com.ccsens.yanyuan.persist.mapper.ToolCardMapper;
import com.ccsens.yanyuan.persist.mapper.ToolEquipmentMapper;
import com.ccsens.yanyuan.persist.mapper.*;
import com.ccsens.yanyuan.util.YanYuanConstant;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@ -68,13 +66,15 @@ public class TalkingPenService implements ITalkingPenService {
@Resource
private TrainRecordDao trainRecordDao;
@Resource
private TrainProcessCardDao trainProcessCardDao;
private TrainProcessDao trainProcessDao;
@Resource
private ToolFindDifferenceDao toolFindDifferenceDao;
@Resource
private TrainCorrectDao trainCorrectDao;
@Resource
private TraineeDao traineeDao;
@Resource
private TrainProcessLineMapper trainProcessLineMapper;
/**
* 处理序号
@ -256,50 +256,124 @@ public class TalkingPenService implements ITalkingPenService {
} else {
return traineeDao.getSimpleByKeyId(traineeId);
}
}
/**
* 处理过程日志
* @param packageDto
* @param frameDto
* @param processList 坐标数据
*/
@Override
public void dealProcess(TalkingPenDto packageDto, TalkingPenDto frameDto, List<TalkingPenDto> processList) throws Exception {
public void dealProcess(List<TalkingPenDto> processList) throws Exception {
// 判断点读笔坐标位数是不是3的倍数
int group = 3;
int group = TalkingPenDto.Addr.PROCESS_REAL_NUM;
if (CollectionUtil.isEmpty(processList) || processList.size() % group != 0) {
log.info("点读笔过程坐标码位数不正确:{}", processList);
return;
}
TalkingPenDto firstDto = processList.get(0);
String indexTime = constantService.getValue(YanYuanConstant.Equipment.VALID_INDEX_TIME_KEY);
// 查询点读笔对应的序号
TrainCard trainCard = trainCardDao.getRecent(packageDto.getAuthId(), (System.currentTimeMillis()/1000 - Long.parseLong(indexTime)* 3600 ) );
TrainCard trainCard = trainCardDao.getRecent(firstDto.getAuthId(), (System.currentTimeMillis()/1000 - Long.parseLong(indexTime)* 3600 ) );
log.info("trainCard:{}", trainCard);
long cardId = trainCard == null ? 0 : trainCard.getId();
// 重新整理数据,存储过程
List<TalkingPenDto> points = CollectionUtil.sort(processList, Comparator.comparingInt(TalkingPenDto::getAddr));
List<CoordinateDto.Point> coordinates = new ArrayList<>();
StringBuilder builder = new StringBuilder();
List<TrainProcessPoint> processPoints = new ArrayList<>();
List<TrainProcessLine> processLines = new ArrayList<>();
TrainProcessPoint prev = null;
for (int i = 0; i < points.size() ; i+=group) {
builder.append(points.get(i).getValue()).append(",")
.append(points.get(i + 1).getValue()).append(",")
.append(points.get(i + 2).getValue()).append(";");
coordinates.add(new CoordinateDto.Point(points.get(i).getValue(), points.get(i + 1).getValue()));
}
// 保存过程
TrainProcessCard process = new TrainProcessCard();
process.setId(snowflake.nextId());
process.setCardId(trainCard == null ? 0 : trainCard.getId());
process.setOperateTime(packageDto.getTime());
process.setPackageIndex(packageDto.getValue().intValue());
process.setFrameIndex(frameDto.getValue().intValue());
process.setPoints(builder.toString());
trainProcessCardDao.insertSelective(process);
log.info("保存点读笔训练过程记录:{}", process);
// 判断正误
judgeProcess(trainCard, coordinates, packageDto.getAuthId());
byte label = (byte) ((points.get(i + TalkingPenDto.Point.OID3_X).getValue() & 0XC000) >> (YanYuanConstant.Equipment.REGISTER_BIT - 2));
double x = (points.get(i + TalkingPenDto.Point.OID3_X).getValue() & 0X03FF) / 10.0;
double y = points.get(i + TalkingPenDto.Point.OID3_Y).getValue() / 10.0;
Long time = points.get(i + TalkingPenDto.Point.OID3_TIME).getValue();
long angle = points.get(i + TalkingPenDto.Point.OID3_ANGLE).getValue() * 2;
coordinates.add(new CoordinateDto.Point((int)x, (int)y));
if (label != TalkingPenDto.Point.SIGN_EMPTY) {
TrainProcessPoint initPoint = initPoint(cardId, label, x, y, time, (int)angle, points);
processPoints.add(initPoint);
prev = initPoint;
}
if (label == TalkingPenDto.Point.SIGN_START) {
// 开始
TrainProcessLine line = new TrainProcessLine();
line.setId(snowflake.nextId());
line.setCardId(cardId);
line.setStartPointId(prev.getId());
processLines.add(line);
} else {
// 其他
if (prev == null) {
TrainProcessPointExample pointExample = new TrainProcessPointExample();
pointExample.createCriteria().andCardIdEqualTo(cardId);
pointExample.setOrderByClause("id desc limit 1");
List<TrainProcessPoint> trainProcessPoints = trainProcessDao.selectByExample(pointExample);
if (CollectionUtil.isEmpty(trainProcessPoints)) {
continue;
}
prev = trainProcessPoints.get(0);
}
if (processLines.isEmpty()) {
// 查询系统中的最近的线条
TrainProcessLineExample lineExample = new TrainProcessLineExample();
lineExample.createCriteria().andCardIdEqualTo(cardId);
lineExample.setOrderByClause("id desc limit 1");
List<TrainProcessLine> currentLines = trainProcessLineMapper.selectByExample(lineExample);
if (CollectionUtil.isEmpty(currentLines)) {
// 线条已经设置结束
log.info("最近的一条线条已经有结束结点,无需重复更新");
} else {
TrainProcessLine line = currentLines.get(0);
line.setEndPointId(prev.getId());
processLines.add(line);
}
} else {
TrainProcessLine line = processLines.get(processLines.size() - 1);
line.setEndPointId(prev.getId());
processLines.add(line);
}
}
}
if (CollectionUtil.isNotEmpty(processPoints)) {
trainProcessDao.insertPointBatch(processPoints);
}
if (CollectionUtil.isNotEmpty(processLines)) {
trainProcessDao.replaceLineBatch(processLines);
}
judgeProcess(trainCard, coordinates, firstDto.getAuthId());
}
/**
* 初始化点对象
* @param cardId 点读笔卡片ID
* @param label 点标志
* @param x X
* @param y Y
* @param time 相对时间
* @param angle 角度
* @param points 全部点坐标
* @return 点对象
*/
private TrainProcessPoint initPoint(Long cardId, byte label, double x, double y, Long time, int angle, List<TalkingPenDto> points) {
// 第一个点的相对时间
long startTime = points.get(TalkingPenDto.Point.OID3_TIME).getValue();
// 最后一个坐标点和第一个坐标点的相对时间差
long timeSub = points.get(points.size() - TalkingPenDto.Addr.PROCESS_REAL_NUM + TalkingPenDto.Point.OID3_TIME).getValue() - startTime;
// 第一个点的真实时间 到达服务器的时间-点之间的相对时间差
long realStartTime = points.get(0).getTime() - timeSub;
TrainProcessPoint point = new TrainProcessPoint();
point.setId(snowflake.nextId());
point.setCardId(cardId);
point.setSign(label);
point.setCoordinatesX(new BigDecimal(x));
point.setCoordinatesY(new BigDecimal(y));
point.setTime(time);
point.setRealTime(realStartTime + time - startTime);
point.setAngle(angle);
return point;
}
/**
@ -327,7 +401,7 @@ public class TalkingPenService implements ITalkingPenService {
// 查找卡片共几处不同
int max = toolFindDifferenceDao.getDifferenceNum(trainCard.getAssistId());
// 判断有无正确的点
List<Integer> curPointPlaces = trainProcessCardDao.count(trainCard.getAssistId(), coordinates);
List<Integer> curPointPlaces = trainProcessDao.count(trainCard.getAssistId(), coordinates);
if (CollectionUtil.isNotEmpty(curPointPlaces)) {
// 正确, 判断找到了几个,发送对应语音
saveCurrentPoint(trainCard.getId(), curPointPlaces.get(0), max, authId);
@ -379,9 +453,14 @@ public class TalkingPenService implements ITalkingPenService {
private void saveCurrentPoint(Long trainCardId, int curPointPlace, int max, String authId) throws Exception {
// 判断当前共几个,是否大等于最大正确个数
List<Integer> currents = trainCorrectDao.queryPlace(trainCardId);
String key = StrUtil.format(YanYuanConstant.Equipment.TALKING_PEN_JUDGE_AUDIO_KEY, trainCardId);
Object o = redisUtil.get(key);
log.info("{}缓存:{}", key, o);
if (currents.size() >= max) {
log.info("{}正确数量已经大等于最大正确数:{}", trainCardId, max);
sendAudio(YanYuanConstant.Equipment.AUDIO_DIFFERENCE_COMPLETE, authId);
if (o == null) {
sendAudio(YanYuanConstant.Equipment.AUDIO_DIFFERENCE_COMPLETE, authId);
}
return;
}
if (!currents.contains(curPointPlace)) {
@ -393,10 +472,13 @@ public class TalkingPenService implements ITalkingPenService {
trainCorrectDao.insertSelective(correct);
currents.add(curPointPlace);
}
int audioIndex = currents.size() >= max ? YanYuanConstant.Equipment.AUDIO_DIFFERENCE_COMPLETE :
YanYuanConstant.Equipment.AUDIO_DIFFERENCE_CURRENT;
sendAudio(audioIndex, authId);
log.info("{}继续找下一个,播放语音:{}", trainCardId, audioIndex);
if (o == null) {
int audioIndex = currents.size() >= max ? YanYuanConstant.Equipment.AUDIO_DIFFERENCE_COMPLETE :
YanYuanConstant.Equipment.AUDIO_DIFFERENCE_CURRENT;
sendAudio(audioIndex, authId);
log.info("{}继续找下一个,播放语音:{}", trainCardId, audioIndex);
}
redisUtil.set(key, currents.size(), YanYuanConstant.Equipment.TALKING_PEN_JUDGE_AUDIO_TIME);
}
/**

12
src/main/java/com/ccsens/yanyuan/service/TrainBelongService.java

@ -4,17 +4,15 @@ import cn.hutool.core.collection.CollectionUtil;
import com.ccsens.util.CodeError;
import com.ccsens.yanyuan.bean.dto.TrainBelongDto;
import com.ccsens.yanyuan.bean.po.TrainCard;
import com.ccsens.yanyuan.bean.po.TrainProcessCard;
import com.ccsens.yanyuan.bean.po.TrainRecord;
import com.ccsens.yanyuan.bean.po.TrainResult;
import com.ccsens.yanyuan.bean.vo.TrainBelongVo;
import com.ccsens.yanyuan.persist.dao.TrainCardDao;
import com.ccsens.yanyuan.persist.dao.TrainProcessCardDao;
import com.ccsens.yanyuan.persist.dao.TrainProcessDao;
import com.ccsens.yanyuan.persist.dao.TrainRecordDao;
import com.ccsens.yanyuan.persist.dao.TrainResultDao;
import com.ccsens.yanyuan.util.YanYuanCodeError;
import com.ccsens.yanyuan.util.YanYuanConstant;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j;
@ -41,7 +39,7 @@ public class TrainBelongService implements ITrainBelongService {
@Resource
private TrainCardDao trainCardDao;
@Resource
private TrainProcessCardDao trainProcessCardDao;
private TrainProcessDao trainProcessDao;
@Resource
private TrainRecordDao trainRecordDao;
@Resource
@ -56,7 +54,7 @@ public class TrainBelongService implements ITrainBelongService {
}
// 查询迷宫和找不同对应的过程记录
List<Long> lineIds = new ArrayList<>();
Map<Long, TrainBelongVo.Content> lineMap = new HashMap<>();
Map<Long, TrainBelongVo.Content> lineMap = new HashMap<>(list.size() << 1);
list.forEach(content -> {
// 训练结果,不处理
if (content.getResultType() == YanYuanConstant.Train.RECORD_RESULT) {
@ -69,9 +67,9 @@ public class TrainBelongService implements ITrainBelongService {
return new PageInfo<>(list);
}
log.info("查询过程点");
List<TrainBelongVo.RecordLine> lines = trainProcessCardDao.queryLines(lineIds);
List<TrainBelongVo.RecordPoint> lines = trainProcessDao.queryPoints(lineIds);
if (CollectionUtil.isNotEmpty(lines)) {
lines.forEach(line -> lineMap.get(line.getTrainRecordId()).setLines(line.getLines()));
lines.forEach(line -> lineMap.get(line.getTrainRecordId()).setPoints(line.getPoints()));
}
return new PageInfo<>(list);
}

4
src/main/java/com/ccsens/yanyuan/service/UserService.java

@ -1,7 +1,6 @@
package com.ccsens.yanyuan.service;
import com.ccsens.common.bean.dto.CMemberDto;
import com.ccsens.common.service.IMemberService;
import com.ccsens.yanyuan.persist.dao.UserModifyDao;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@ -43,7 +42,8 @@ public class UserService implements IUserService{
userModifyDao.modifyMentalRecord(params.getNewUserId(), params.getOldUserId());
userModifyDao.modifyTrainCard(params.getNewUserId(), params.getOldUserId());
userModifyDao.modifyTrainEquipment(params.getNewUserId(), params.getOldUserId());
userModifyDao.modifyTrainProcessCard(params.getNewUserId(), params.getOldUserId());
userModifyDao.modifyTrainProcessPoint(params.getNewUserId(), params.getOldUserId());
userModifyDao.modifyTrainProcessLine(params.getNewUserId(), params.getOldUserId());
userModifyDao.modifyTrainRecord(params.getNewUserId(), params.getOldUserId());
userModifyDao.modifyTrainResult(params.getNewUserId(), params.getOldUserId());
userModifyDao.modifyUserFamily1(params.getNewUserId(), params.getOldUserId());

8
src/main/java/com/ccsens/yanyuan/util/YanYuanConstant.java

@ -1,6 +1,7 @@
package com.ccsens.yanyuan.util;
import com.ccsens.cloudutil.bean.tall.dto.ProjectDto;
import com.ccsens.yanyuan.bean.dto.message.TalkingPenDto;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.models.auth.In;
import lombok.Getter;
@ -150,6 +151,11 @@ public class YanYuanConstant {
*/
public final static String TALKING_PEN_QUESTION = "talking_pen_{}_user_{}";
public final static String TALKING_PEN_AUDIO_KEY = "talking_pen_{}_audio";
/**
* 点读笔判断找不同是否正确
*/
public final static String TALKING_PEN_JUDGE_AUDIO_KEY = "talking_pen_judge_{}_audio";
public final static long TALKING_PEN_JUDGE_AUDIO_TIME = 1;
/**
* 点读笔试题查询下一个
*/
@ -191,7 +197,7 @@ public class YanYuanConstant {
public static final class ModBus {
public final static byte[] START = {(byte) 0XFF, (byte) 0XFE};
public final static byte WRITE_MORE = 0X10;
public final static byte[] AUDIO_ADDR = {(byte)00, (byte) 04};
public final static byte[] AUDIO_ADDR = {(byte)00, (byte) TalkingPenDto.Addr.VOICE};
public final static byte TALKING_PEN_ADDR = 0x01;
}

21
src/main/resources/mapper_dao/TrainCardDao.xml

@ -11,20 +11,24 @@
<result column="toolCode" property="toolCode"/>
<result column="assistId" property="assistId"/>
<result column="cardUrl" property="cardUrl"/>
<collection property="lines" ofType="com.ccsens.yanyuan.bean.vo.TrainContentVo$Line">
<result column="points" property="line"/>
<result column="operate_time" property="operateTime"/>
<collection property="points" ofType="com.ccsens.yanyuan.bean.vo.TrainBelongVo$Point" >
<id column="ppId"/>
<result property="coordinatesX" column="coordinates_x"/>
<result property="coordinatesY" column="coordinates_y"/>
<result property="operateTime" column="real_time"/>
</collection>
</resultMap>
<select id="queryByRecord" resultMap="trainCard">
select c.id as trainRecordId,c.created_at AS createdAt, 1 as resultType, c.equipment_id as equipmentId,
t.id as toolId, t.`code` as toolCode, c.assist_id as assistId, tc.url as cardUrl,pc.id as pcId, pc.points, pc.operate_time
select c.id as trainRecordId,c.created_at AS createdAt, 1 as resultType, c.equipment_id as equipmentId, c.assist_id as assistId,
t.id as toolId, t.`code` as toolCode,
tc.url as cardUrl,
pp.id as ppId, pp.coordinates_x, pp.coordinates_y, pp.real_time
from u_train_card c
left join t_tool_equipment e on c.equipment_id = e.id and e.rec_status = 0
left join t_tool t on e.tool_id = t.id and t.rec_status = 0
left join t_tool_card tc on c.assist_id = tc.id and tc.rec_status = 0
left join u_train_process_card pc on c.id = pc.card_id and pc.rec_status = 0
left join u_train_process_point pp on c.id = pp.card_id and pp.rec_status = 0
where c.record_id = #{recordId} and c.rec_status = 0
</select>
<select id="queryUnknown" resultType="com.ccsens.yanyuan.bean.vo.TrainBelongVo$Content">
@ -63,7 +67,10 @@
WHERE
t.equipmentId = u.equipment_id
AND u.record_id = 0
AND u.rec_status = 0 UNION
AND u.rec_status = 0
UNION
SELECT
c.id AS trainRecordId,
1 AS resultType,

37
src/main/resources/mapper_dao/TrainProcessCardDao.xml

@ -1,37 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ccsens.yanyuan.persist.dao.TrainProcessCardDao">
<resultMap id="recordLineMap" type="com.ccsens.yanyuan.bean.vo.TrainBelongVo$RecordLine">
<id column="card_id" property="trainRecordId"/>
<collection property="lines" ofType="com.ccsens.yanyuan.bean.vo.TrainBelongVo$Line">
<id column="id"/>
<result property="line" column="points"/>
<result property="operateTime" column="operate_time"/>
</collection>
</resultMap>
<select id="queryLines" resultMap="recordLineMap">
SELECT
card_id,
operate_time,
points
FROM
u_train_process_card
WHERE
card_id IN
<foreach collection="recordIds" item="cardId" separator="," open="(" close=")">
#{cardId}
</foreach>
and rec_status = 0
ORDER BY
card_id,
operate_time
</select>
<select id="count" resultType="java.lang.Integer">
SELECT distinct which_place FROM t_tool_find_difference WHERE card_id = #{cardId} AND
<foreach collection="coordinates" item="point" separator="or" open="(" close=")">
( coordinates_x = #{point.x} AND coordinates_y = #{point.y} )
</foreach>
AND rec_status = 0
</select>
</mapper>

51
src/main/resources/mapper_dao/TrainProcessDao.xml

@ -0,0 +1,51 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ccsens.yanyuan.persist.dao.TrainProcessDao">
<resultMap id="recordLineMap" type="com.ccsens.yanyuan.bean.vo.TrainBelongVo$RecordPoint">
<id column="card_id" property="trainRecordId"/>
<collection property="points" ofType="com.ccsens.yanyuan.bean.vo.TrainBelongVo$Point">
<id column="id"/>
<result property="coordinatesX" column="coordinates_x"/>
<result property="coordinatesY" column="coordinates_y"/>
<result property="operateTime" column="real_time"/>
</collection>
</resultMap>
<insert id="insertPointBatch">
insert into u_train_process_point(id, card_id,sign, coordinates_x,coordinates_y,time,real_time,angle) values
<foreach collection="points" item="item" separator=",">
(#{item.id},#{item.cardId},#{item.sign},#{item.coordinatesX},#{item.coordinatesY},#{item.time},#{item.realTime},#{item.angle})
</foreach>
</insert>
<update id="replaceLineBatch">
replace into u_train_process_line(id, card_id,start_point_id, end_point_id) values
<foreach collection="lines" item="item" separator=",">
(#{item.id},#{item.cardId},#{item.startPointId},#{item.endPointId})
</foreach>
</update>
<select id="queryPoints" resultMap="recordLineMap">
SELECT
card_id,
coordinates_x,
coordinates_y,
real_time
FROM
u_train_process_point
WHERE
card_id IN
<foreach collection="recordIds" item="cardId" separator="," open="(" close=")">
#{cardId}
</foreach>
and rec_status = 0
ORDER BY
card_id,
real_time
</select>
<select id="count" resultType="java.lang.Integer">
SELECT distinct which_place FROM t_tool_find_difference WHERE card_id = #{cardId} AND
<foreach collection="coordinates" item="point" separator="or" open="(" close=")">
( coordinates_x = #{point.x} AND coordinates_y = #{point.y} )
</foreach>
AND rec_status = 0
</select>
</mapper>

7
src/main/resources/mapper_dao/UserModifyDao.xml

@ -64,8 +64,11 @@
<update id="modifyTrainEquipment">
update u_train_equipment set operator = #{newUserId} where operator = #{oldUserId} and rec_status = 0
</update>
<update id="modifyTrainProcessCard">
update u_train_process_card set operator = #{newUserId} where operator = #{oldUserId} and rec_status = 0
<update id="modifyTrainProcessPoint">
update u_train_process_point set operator = #{newUserId} where operator = #{oldUserId} and rec_status = 0
</update>
<update id="modifyTrainProcessLine">
update u_train_process_line set operator = #{newUserId} where operator = #{oldUserId} and rec_status = 0
</update>
<update id="modifyTrainRecord">
update u_train_record set user_id = #{newUserId} where user_id = #{oldUserId} and rec_status = 0

258
src/main/resources/mapper_raw/TrainProcessLineMapper.xml

@ -0,0 +1,258 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ccsens.yanyuan.persist.mapper.TrainProcessLineMapper">
<resultMap id="BaseResultMap" type="com.ccsens.yanyuan.bean.po.TrainProcessLine">
<id column="id" jdbcType="BIGINT" property="id" />
<result column="card_id" jdbcType="BIGINT" property="cardId" />
<result column="start_point_id" jdbcType="BIGINT" property="startPointId" />
<result column="end_point_id" jdbcType="BIGINT" property="endPointId" />
<result column="operator" jdbcType="BIGINT" property="operator" />
<result column="created_at" jdbcType="TIMESTAMP" property="createdAt" />
<result column="updated_at" jdbcType="TIMESTAMP" property="updatedAt" />
<result column="rec_status" jdbcType="TINYINT" property="recStatus" />
</resultMap>
<sql id="Example_Where_Clause">
<where>
<foreach collection="oredCriteria" item="criteria" separator="or">
<if test="criteria.valid">
<trim prefix="(" prefixOverrides="and" suffix=")">
<foreach collection="criteria.criteria" item="criterion">
<choose>
<when test="criterion.noValue">
and ${criterion.condition}
</when>
<when test="criterion.singleValue">
and ${criterion.condition} #{criterion.value}
</when>
<when test="criterion.betweenValue">
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
</when>
<when test="criterion.listValue">
and ${criterion.condition}
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
<sql id="Update_By_Example_Where_Clause">
<where>
<foreach collection="example.oredCriteria" item="criteria" separator="or">
<if test="criteria.valid">
<trim prefix="(" prefixOverrides="and" suffix=")">
<foreach collection="criteria.criteria" item="criterion">
<choose>
<when test="criterion.noValue">
and ${criterion.condition}
</when>
<when test="criterion.singleValue">
and ${criterion.condition} #{criterion.value}
</when>
<when test="criterion.betweenValue">
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
</when>
<when test="criterion.listValue">
and ${criterion.condition}
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
<sql id="Base_Column_List">
id, card_id, start_point_id, end_point_id, operator, created_at, updated_at, rec_status
</sql>
<select id="selectByExample" parameterType="com.ccsens.yanyuan.bean.po.TrainProcessLineExample" resultMap="BaseResultMap">
select
<if test="distinct">
distinct
</if>
<include refid="Base_Column_List" />
from u_train_process_line
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
<if test="orderByClause != null">
order by ${orderByClause}
</if>
</select>
<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from u_train_process_line
where id = #{id,jdbcType=BIGINT}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
delete from u_train_process_line
where id = #{id,jdbcType=BIGINT}
</delete>
<delete id="deleteByExample" parameterType="com.ccsens.yanyuan.bean.po.TrainProcessLineExample">
delete from u_train_process_line
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
</delete>
<insert id="insert" parameterType="com.ccsens.yanyuan.bean.po.TrainProcessLine">
insert into u_train_process_line (id, card_id, start_point_id,
end_point_id, operator, created_at,
updated_at, rec_status)
values (#{id,jdbcType=BIGINT}, #{cardId,jdbcType=BIGINT}, #{startPointId,jdbcType=BIGINT},
#{endPointId,jdbcType=BIGINT}, #{operator,jdbcType=BIGINT}, #{createdAt,jdbcType=TIMESTAMP},
#{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT})
</insert>
<insert id="insertSelective" parameterType="com.ccsens.yanyuan.bean.po.TrainProcessLine">
insert into u_train_process_line
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
id,
</if>
<if test="cardId != null">
card_id,
</if>
<if test="startPointId != null">
start_point_id,
</if>
<if test="endPointId != null">
end_point_id,
</if>
<if test="operator != null">
operator,
</if>
<if test="createdAt != null">
created_at,
</if>
<if test="updatedAt != null">
updated_at,
</if>
<if test="recStatus != null">
rec_status,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
#{id,jdbcType=BIGINT},
</if>
<if test="cardId != null">
#{cardId,jdbcType=BIGINT},
</if>
<if test="startPointId != null">
#{startPointId,jdbcType=BIGINT},
</if>
<if test="endPointId != null">
#{endPointId,jdbcType=BIGINT},
</if>
<if test="operator != null">
#{operator,jdbcType=BIGINT},
</if>
<if test="createdAt != null">
#{createdAt,jdbcType=TIMESTAMP},
</if>
<if test="updatedAt != null">
#{updatedAt,jdbcType=TIMESTAMP},
</if>
<if test="recStatus != null">
#{recStatus,jdbcType=TINYINT},
</if>
</trim>
</insert>
<select id="countByExample" parameterType="com.ccsens.yanyuan.bean.po.TrainProcessLineExample" resultType="java.lang.Long">
select count(*) from u_train_process_line
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
</select>
<update id="updateByExampleSelective" parameterType="map">
update u_train_process_line
<set>
<if test="record.id != null">
id = #{record.id,jdbcType=BIGINT},
</if>
<if test="record.cardId != null">
card_id = #{record.cardId,jdbcType=BIGINT},
</if>
<if test="record.startPointId != null">
start_point_id = #{record.startPointId,jdbcType=BIGINT},
</if>
<if test="record.endPointId != null">
end_point_id = #{record.endPointId,jdbcType=BIGINT},
</if>
<if test="record.operator != null">
operator = #{record.operator,jdbcType=BIGINT},
</if>
<if test="record.createdAt != null">
created_at = #{record.createdAt,jdbcType=TIMESTAMP},
</if>
<if test="record.updatedAt != null">
updated_at = #{record.updatedAt,jdbcType=TIMESTAMP},
</if>
<if test="record.recStatus != null">
rec_status = #{record.recStatus,jdbcType=TINYINT},
</if>
</set>
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByExample" parameterType="map">
update u_train_process_line
set id = #{record.id,jdbcType=BIGINT},
card_id = #{record.cardId,jdbcType=BIGINT},
start_point_id = #{record.startPointId,jdbcType=BIGINT},
end_point_id = #{record.endPointId,jdbcType=BIGINT},
operator = #{record.operator,jdbcType=BIGINT},
created_at = #{record.createdAt,jdbcType=TIMESTAMP},
updated_at = #{record.updatedAt,jdbcType=TIMESTAMP},
rec_status = #{record.recStatus,jdbcType=TINYINT}
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByPrimaryKeySelective" parameterType="com.ccsens.yanyuan.bean.po.TrainProcessLine">
update u_train_process_line
<set>
<if test="cardId != null">
card_id = #{cardId,jdbcType=BIGINT},
</if>
<if test="startPointId != null">
start_point_id = #{startPointId,jdbcType=BIGINT},
</if>
<if test="endPointId != null">
end_point_id = #{endPointId,jdbcType=BIGINT},
</if>
<if test="operator != null">
operator = #{operator,jdbcType=BIGINT},
</if>
<if test="createdAt != null">
created_at = #{createdAt,jdbcType=TIMESTAMP},
</if>
<if test="updatedAt != null">
updated_at = #{updatedAt,jdbcType=TIMESTAMP},
</if>
<if test="recStatus != null">
rec_status = #{recStatus,jdbcType=TINYINT},
</if>
</set>
where id = #{id,jdbcType=BIGINT}
</update>
<update id="updateByPrimaryKey" parameterType="com.ccsens.yanyuan.bean.po.TrainProcessLine">
update u_train_process_line
set card_id = #{cardId,jdbcType=BIGINT},
start_point_id = #{startPointId,jdbcType=BIGINT},
end_point_id = #{endPointId,jdbcType=BIGINT},
operator = #{operator,jdbcType=BIGINT},
created_at = #{createdAt,jdbcType=TIMESTAMP},
updated_at = #{updatedAt,jdbcType=TIMESTAMP},
rec_status = #{recStatus,jdbcType=TINYINT}
where id = #{id,jdbcType=BIGINT}
</update>
</mapper>

238
src/main/resources/mapper_raw/TrainProcessCardMapper.xml → src/main/resources/mapper_raw/TrainProcessPointMapper.xml

@ -1,20 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ccsens.yanyuan.persist.mapper.TrainProcessCardMapper">
<resultMap id="BaseResultMap" type="com.ccsens.yanyuan.bean.po.TrainProcessCard">
<mapper namespace="com.ccsens.yanyuan.persist.mapper.TrainProcessPointMapper">
<resultMap id="BaseResultMap" type="com.ccsens.yanyuan.bean.po.TrainProcessPoint">
<id column="id" jdbcType="BIGINT" property="id" />
<result column="card_id" jdbcType="BIGINT" property="cardId" />
<result column="frame_index" jdbcType="INTEGER" property="frameIndex" />
<result column="package_index" jdbcType="INTEGER" property="packageIndex" />
<result column="operate_time" jdbcType="BIGINT" property="operateTime" />
<result column="sign" jdbcType="TINYINT" property="sign" />
<result column="coordinates_x" jdbcType="DECIMAL" property="coordinatesX" />
<result column="coordinates_y" jdbcType="DECIMAL" property="coordinatesY" />
<result column="time" jdbcType="BIGINT" property="time" />
<result column="real_time" jdbcType="BIGINT" property="realTime" />
<result column="angle" jdbcType="INTEGER" property="angle" />
<result column="operator" jdbcType="BIGINT" property="operator" />
<result column="created_at" jdbcType="TIMESTAMP" property="createdAt" />
<result column="updated_at" jdbcType="TIMESTAMP" property="updatedAt" />
<result column="rec_status" jdbcType="TINYINT" property="recStatus" />
</resultMap>
<resultMap extends="BaseResultMap" id="ResultMapWithBLOBs" type="com.ccsens.yanyuan.bean.po.TrainProcessCard">
<result column="points" jdbcType="LONGVARCHAR" property="points" />
</resultMap>
<sql id="Example_Where_Clause">
<where>
<foreach collection="oredCriteria" item="criteria" separator="or">
@ -74,21 +74,16 @@
</where>
</sql>
<sql id="Base_Column_List">
id, card_id, frame_index, package_index, operate_time, operator, created_at, updated_at,
rec_status
</sql>
<sql id="Blob_Column_List">
points
id, card_id, sign, coordinates_x, coordinates_y, time, real_time, angle, operator,
created_at, updated_at, rec_status
</sql>
<select id="selectByExampleWithBLOBs" parameterType="com.ccsens.yanyuan.bean.po.TrainProcessCardExample" resultMap="ResultMapWithBLOBs">
<select id="selectByExample" parameterType="com.ccsens.yanyuan.bean.po.TrainProcessPointExample" resultMap="BaseResultMap">
select
<if test="distinct">
distinct
</if>
<include refid="Base_Column_List" />
,
<include refid="Blob_Column_List" />
from u_train_process_card
from u_train_process_point
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
@ -96,50 +91,36 @@
order by ${orderByClause}
</if>
</select>
<select id="selectByExample" parameterType="com.ccsens.yanyuan.bean.po.TrainProcessCardExample" resultMap="BaseResultMap">
select
<if test="distinct">
distinct
</if>
<include refid="Base_Column_List" />
from u_train_process_card
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
<if test="orderByClause != null">
order by ${orderByClause}
</if>
</select>
<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="ResultMapWithBLOBs">
<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
,
<include refid="Blob_Column_List" />
from u_train_process_card
from u_train_process_point
where id = #{id,jdbcType=BIGINT}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
delete from u_train_process_card
delete from u_train_process_point
where id = #{id,jdbcType=BIGINT}
</delete>
<delete id="deleteByExample" parameterType="com.ccsens.yanyuan.bean.po.TrainProcessCardExample">
delete from u_train_process_card
<delete id="deleteByExample" parameterType="com.ccsens.yanyuan.bean.po.TrainProcessPointExample">
delete from u_train_process_point
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
</delete>
<insert id="insert" parameterType="com.ccsens.yanyuan.bean.po.TrainProcessCard">
insert into u_train_process_card (id, card_id, frame_index,
package_index, operate_time, operator,
created_at, updated_at, rec_status,
points)
values (#{id,jdbcType=BIGINT}, #{cardId,jdbcType=BIGINT}, #{frameIndex,jdbcType=INTEGER},
#{packageIndex,jdbcType=INTEGER}, #{operateTime,jdbcType=BIGINT}, #{operator,jdbcType=BIGINT},
#{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT},
#{points,jdbcType=LONGVARCHAR})
<insert id="insert" parameterType="com.ccsens.yanyuan.bean.po.TrainProcessPoint">
insert into u_train_process_point (id, card_id, sign,
coordinates_x, coordinates_y, time,
real_time, angle, operator,
created_at, updated_at, rec_status
)
values (#{id,jdbcType=BIGINT}, #{cardId,jdbcType=BIGINT}, #{sign,jdbcType=TINYINT},
#{coordinatesX,jdbcType=DECIMAL}, #{coordinatesY,jdbcType=DECIMAL}, #{time,jdbcType=BIGINT},
#{realTime,jdbcType=BIGINT}, #{angle,jdbcType=INTEGER}, #{operator,jdbcType=BIGINT},
#{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT}
)
</insert>
<insert id="insertSelective" parameterType="com.ccsens.yanyuan.bean.po.TrainProcessCard">
insert into u_train_process_card
<insert id="insertSelective" parameterType="com.ccsens.yanyuan.bean.po.TrainProcessPoint">
insert into u_train_process_point
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
id,
@ -147,14 +128,23 @@
<if test="cardId != null">
card_id,
</if>
<if test="frameIndex != null">
frame_index,
<if test="sign != null">
sign,
</if>
<if test="coordinatesX != null">
coordinates_x,
</if>
<if test="packageIndex != null">
package_index,
<if test="coordinatesY != null">
coordinates_y,
</if>
<if test="operateTime != null">
operate_time,
<if test="time != null">
time,
</if>
<if test="realTime != null">
real_time,
</if>
<if test="angle != null">
angle,
</if>
<if test="operator != null">
operator,
@ -168,9 +158,6 @@
<if test="recStatus != null">
rec_status,
</if>
<if test="points != null">
points,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
@ -179,14 +166,23 @@
<if test="cardId != null">
#{cardId,jdbcType=BIGINT},
</if>
<if test="frameIndex != null">
#{frameIndex,jdbcType=INTEGER},
<if test="sign != null">
#{sign,jdbcType=TINYINT},
</if>
<if test="packageIndex != null">
#{packageIndex,jdbcType=INTEGER},
<if test="coordinatesX != null">
#{coordinatesX,jdbcType=DECIMAL},
</if>
<if test="operateTime != null">
#{operateTime,jdbcType=BIGINT},
<if test="coordinatesY != null">
#{coordinatesY,jdbcType=DECIMAL},
</if>
<if test="time != null">
#{time,jdbcType=BIGINT},
</if>
<if test="realTime != null">
#{realTime,jdbcType=BIGINT},
</if>
<if test="angle != null">
#{angle,jdbcType=INTEGER},
</if>
<if test="operator != null">
#{operator,jdbcType=BIGINT},
@ -200,19 +196,16 @@
<if test="recStatus != null">
#{recStatus,jdbcType=TINYINT},
</if>
<if test="points != null">
#{points,jdbcType=LONGVARCHAR},
</if>
</trim>
</insert>
<select id="countByExample" parameterType="com.ccsens.yanyuan.bean.po.TrainProcessCardExample" resultType="java.lang.Long">
select count(*) from u_train_process_card
<select id="countByExample" parameterType="com.ccsens.yanyuan.bean.po.TrainProcessPointExample" resultType="java.lang.Long">
select count(*) from u_train_process_point
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
</select>
<update id="updateByExampleSelective" parameterType="map">
update u_train_process_card
update u_train_process_point
<set>
<if test="record.id != null">
id = #{record.id,jdbcType=BIGINT},
@ -220,14 +213,23 @@
<if test="record.cardId != null">
card_id = #{record.cardId,jdbcType=BIGINT},
</if>
<if test="record.frameIndex != null">
frame_index = #{record.frameIndex,jdbcType=INTEGER},
<if test="record.sign != null">
sign = #{record.sign,jdbcType=TINYINT},
</if>
<if test="record.coordinatesX != null">
coordinates_x = #{record.coordinatesX,jdbcType=DECIMAL},
</if>
<if test="record.packageIndex != null">
package_index = #{record.packageIndex,jdbcType=INTEGER},
<if test="record.coordinatesY != null">
coordinates_y = #{record.coordinatesY,jdbcType=DECIMAL},
</if>
<if test="record.operateTime != null">
operate_time = #{record.operateTime,jdbcType=BIGINT},
<if test="record.time != null">
time = #{record.time,jdbcType=BIGINT},
</if>
<if test="record.realTime != null">
real_time = #{record.realTime,jdbcType=BIGINT},
</if>
<if test="record.angle != null">
angle = #{record.angle,jdbcType=INTEGER},
</if>
<if test="record.operator != null">
operator = #{record.operator,jdbcType=BIGINT},
@ -241,37 +243,21 @@
<if test="record.recStatus != null">
rec_status = #{record.recStatus,jdbcType=TINYINT},
</if>
<if test="record.points != null">
points = #{record.points,jdbcType=LONGVARCHAR},
</if>
</set>
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByExampleWithBLOBs" parameterType="map">
update u_train_process_card
set id = #{record.id,jdbcType=BIGINT},
card_id = #{record.cardId,jdbcType=BIGINT},
frame_index = #{record.frameIndex,jdbcType=INTEGER},
package_index = #{record.packageIndex,jdbcType=INTEGER},
operate_time = #{record.operateTime,jdbcType=BIGINT},
operator = #{record.operator,jdbcType=BIGINT},
created_at = #{record.createdAt,jdbcType=TIMESTAMP},
updated_at = #{record.updatedAt,jdbcType=TIMESTAMP},
rec_status = #{record.recStatus,jdbcType=TINYINT},
points = #{record.points,jdbcType=LONGVARCHAR}
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByExample" parameterType="map">
update u_train_process_card
update u_train_process_point
set id = #{record.id,jdbcType=BIGINT},
card_id = #{record.cardId,jdbcType=BIGINT},
frame_index = #{record.frameIndex,jdbcType=INTEGER},
package_index = #{record.packageIndex,jdbcType=INTEGER},
operate_time = #{record.operateTime,jdbcType=BIGINT},
sign = #{record.sign,jdbcType=TINYINT},
coordinates_x = #{record.coordinatesX,jdbcType=DECIMAL},
coordinates_y = #{record.coordinatesY,jdbcType=DECIMAL},
time = #{record.time,jdbcType=BIGINT},
real_time = #{record.realTime,jdbcType=BIGINT},
angle = #{record.angle,jdbcType=INTEGER},
operator = #{record.operator,jdbcType=BIGINT},
created_at = #{record.createdAt,jdbcType=TIMESTAMP},
updated_at = #{record.updatedAt,jdbcType=TIMESTAMP},
@ -280,20 +266,29 @@
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByPrimaryKeySelective" parameterType="com.ccsens.yanyuan.bean.po.TrainProcessCard">
update u_train_process_card
<update id="updateByPrimaryKeySelective" parameterType="com.ccsens.yanyuan.bean.po.TrainProcessPoint">
update u_train_process_point
<set>
<if test="cardId != null">
card_id = #{cardId,jdbcType=BIGINT},
</if>
<if test="frameIndex != null">
frame_index = #{frameIndex,jdbcType=INTEGER},
<if test="sign != null">
sign = #{sign,jdbcType=TINYINT},
</if>
<if test="coordinatesX != null">
coordinates_x = #{coordinatesX,jdbcType=DECIMAL},
</if>
<if test="coordinatesY != null">
coordinates_y = #{coordinatesY,jdbcType=DECIMAL},
</if>
<if test="packageIndex != null">
package_index = #{packageIndex,jdbcType=INTEGER},
<if test="time != null">
time = #{time,jdbcType=BIGINT},
</if>
<if test="operateTime != null">
operate_time = #{operateTime,jdbcType=BIGINT},
<if test="realTime != null">
real_time = #{realTime,jdbcType=BIGINT},
</if>
<if test="angle != null">
angle = #{angle,jdbcType=INTEGER},
</if>
<if test="operator != null">
operator = #{operator,jdbcType=BIGINT},
@ -307,31 +302,18 @@
<if test="recStatus != null">
rec_status = #{recStatus,jdbcType=TINYINT},
</if>
<if test="points != null">
points = #{points,jdbcType=LONGVARCHAR},
</if>
</set>
where id = #{id,jdbcType=BIGINT}
</update>
<update id="updateByPrimaryKeyWithBLOBs" parameterType="com.ccsens.yanyuan.bean.po.TrainProcessCard">
update u_train_process_card
set card_id = #{cardId,jdbcType=BIGINT},
frame_index = #{frameIndex,jdbcType=INTEGER},
package_index = #{packageIndex,jdbcType=INTEGER},
operate_time = #{operateTime,jdbcType=BIGINT},
operator = #{operator,jdbcType=BIGINT},
created_at = #{createdAt,jdbcType=TIMESTAMP},
updated_at = #{updatedAt,jdbcType=TIMESTAMP},
rec_status = #{recStatus,jdbcType=TINYINT},
points = #{points,jdbcType=LONGVARCHAR}
where id = #{id,jdbcType=BIGINT}
</update>
<update id="updateByPrimaryKey" parameterType="com.ccsens.yanyuan.bean.po.TrainProcessCard">
update u_train_process_card
<update id="updateByPrimaryKey" parameterType="com.ccsens.yanyuan.bean.po.TrainProcessPoint">
update u_train_process_point
set card_id = #{cardId,jdbcType=BIGINT},
frame_index = #{frameIndex,jdbcType=INTEGER},
package_index = #{packageIndex,jdbcType=INTEGER},
operate_time = #{operateTime,jdbcType=BIGINT},
sign = #{sign,jdbcType=TINYINT},
coordinates_x = #{coordinatesX,jdbcType=DECIMAL},
coordinates_y = #{coordinatesY,jdbcType=DECIMAL},
time = #{time,jdbcType=BIGINT},
real_time = #{realTime,jdbcType=BIGINT},
angle = #{angle,jdbcType=INTEGER},
operator = #{operator,jdbcType=BIGINT},
created_at = #{createdAt,jdbcType=TIMESTAMP},
updated_at = #{updatedAt,jdbcType=TIMESTAMP},

6
src/main/resources/mbg.xml

@ -55,7 +55,8 @@
<!-- enableSubPackages:是否让schema作为包的后缀 -->
<property name="enableSubPackages" value="false" />
</javaClientGenerator>
<table tableName="u_train_correct" domainObjectName="TrainCorrect"></table>
<table tableName="u_train_process_point" domainObjectName="TrainProcessPoint"></table>
<!--<table tableName="u_train_process_line" domainObjectName="TrainProcessLine"></table>-->
<!-- <table tableName="u_mental_test" domainObjectName="MentalTest"></table>-->
<!-- <table tableName="u_mental_test" domainObjectName="MentalTest"></table>-->
<!--<table tableName="s_config" domainObjectName="Config"></table>
@ -81,7 +82,8 @@
<table tableName="u_score" domainObjectName="Score"></table>
<table tableName="u_train_card" domainObjectName="TrainCard"></table>
<table tableName="u_train_equipment" domainObjectName="TrainEquipment"></table>
<table tableName="u_train_process_card" domainObjectName="TrainProcessCard"></table>
<table tableName="u_train_process_point" domainObjectName="TrainProcessPoint"></table>
<table tableName="u_train_process_line" domainObjectName="TrainProcessLine"></table>
<table tableName="u_train_record" domainObjectName="TrainRecord"></table>
<table tableName="u_train_result" domainObjectName="TrainResult"></table>
<table tableName="u_user" domainObjectName="User"></table>

16
src/test/java/com/ccsens/yanyuan/test/Demo.java

@ -0,0 +1,16 @@
package com.ccsens.yanyuan.test;
import org.junit.Test;
/**
* @description:
* @author: whj
* @time: 2022/1/7 17:02
*/
public class Demo {
@Test
public void test01(){
System.out.println((0X4022 & 0XC000) >> 14);
}
}
Loading…
Cancel
Save