Commit 16d377cb authored by 夏东伟's avatar 夏东伟

基础信息开发

parent 38d243d5
package net.vtstar.zhongtong.avi.equipment.controller;
import com.github.pagehelper.PageInfo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import net.vtstar.user.search.controller.vo.SearchVo;
import net.vtstar.utils.domain.Return;
import net.vtstar.zhongtong.avi.equipment.domain.EquipInfo;
import net.vtstar.zhongtong.avi.equipment.domain.PaintshopStation;
import net.vtstar.zhongtong.avi.equipment.service.BasicInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.Assert;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
/**
* @Author: xiadongwei
* @Date: 2019/9/19 18:00
*/
@Slf4j
@Api(description = "基础信息模块")
@RequestMapping("/api/basicinfo")
@RestController
public class BasicInfoController {
@Autowired
BasicInfoService basicInfoService;
@ApiOperation(value = "分页查询设备列表")
@PostMapping("/equip/page")
public Return pageListEquip(@RequestBody SearchVo pageFilter) {
return Return.success(new PageInfo<>(basicInfoService.findPageEquip(pageFilter.toJSONObject())));
}
@ApiOperation(value = "新建设备", notes = "新增参数说明,新增需传入以下参数即可:\n{\n" +
" \"workshopCode\": \"车间,字符串类型,长度最大20\",\n" +
" \"equipType\": \"设备分类,字符串类型,长度最大50\",\n" +
" \"equipCode\": \"设备编号,字符串类型,长度最大100\"\n" +
" \"alias\": \"设备名称,字符串类型,长度最大100, 非必填\"\n" +
" \"equipFactory\": \"设备厂商,字符串类型,长度最大100, 非必填\"\n" +
"}")
@PostMapping("/equip/create")
public Return createEquip(@Valid @RequestBody EquipInfo equipInfo) {
basicInfoService.createEquip(equipInfo);
return Return.success();
}
@ApiOperation("修改设备")
@PutMapping("/equip/update")
public Return updateEquip(@Valid @RequestBody EquipInfo equipInfo) {
basicInfoService.updateEquip(equipInfo);
return Return.success();
}
@ApiOperation("删除设备(根据id删除单个)")
@DeleteMapping("/equip/{id}")
public Return deleteEquip(@PathVariable("id") Long id) {
Assert.notNull(id, "Id is null");
basicInfoService.deleteEquipById(id);
return Return.success();
}
@ApiOperation(value = "分页查询工位列表")
@PostMapping("/station/page")
public Return pageListStation(@RequestBody SearchVo pageFilter) {
return Return.success(new PageInfo<>(basicInfoService.findPageStation(pageFilter.toJSONObject())));
}
@ApiOperation(value = "新建工位", notes = "新增参数说明,新增需传入以下参数即可:\n{\n" +
" \"workshopCode\": \"车间,字符串类型,长度最大20\",\n" +
" \"areaId\": \"区域ID,Long,长度最大20\",\n" +
" \"laneId\": \"车道ID,Long,长度最大20\"\n" +
" \"code\": \"工位编号,字符串类型,长度最大32\"\n" +
" \"sequence\": \"工位序号,Int\"\n" +
" \"keyStation\": \"是否为关键工位,boolean\"\n" +
"}")
@PostMapping("/station/create")
public Return createStation(@Valid @RequestBody PaintshopStation station) {
basicInfoService.createStation(station);
return Return.success();
}
@ApiOperation("修改工位")
@PutMapping("/station/update")
public Return updateStation(@Valid @RequestBody PaintshopStation station) {
basicInfoService.updateStation(station);
return Return.success();
}
@ApiOperation("删除工位(根据id删除单个)")
@DeleteMapping("/station/{id}")
public Return deleteStation(@PathVariable("id") Long id) {
Assert.notNull(id, "Id is null");
basicInfoService.deleteStationById(id);
return Return.success();
}
}
......@@ -8,10 +8,8 @@ import net.vtstar.scada.base.equipmgt.domain.EquipInfo;
import net.vtstar.user.search.controller.vo.SearchVo;
import net.vtstar.utils.domain.Return;
import net.vtstar.zhongtong.avi.equipment.domain.Program;
import net.vtstar.zhongtong.avi.equipment.domain.vo.EquipRequestVO;
import net.vtstar.zhongtong.avi.equipment.domain.vo.ProgramTransferVO;
import net.vtstar.zhongtong.avi.equipment.service.EquipmentService;
import net.vtstar.zhongtong.avi.stamping.domain.LaserCuttingMachine;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
......
package net.vtstar.zhongtong.avi.equipment.controller;
import com.github.pagehelper.PageInfo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import net.vtstar.user.search.controller.vo.SearchVo;
import net.vtstar.utils.domain.Return;
import net.vtstar.zhongtong.avi.equipment.service.RunRecordService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @Author: xiadongwei
* @Date: 2019/9/20 17:22
*/
@Slf4j
@Api(description = "设备运行记录模块(运行时间/告警)")
@RequestMapping("/api/equipment")
@RestController
public class RunRecordController {
@Autowired
private RunRecordService runRecordService;
@ApiOperation(value = "运行时间列表(分页查询)")
@PostMapping("/runtime/page")
public Return pageListRuntime(@RequestBody SearchVo pageFilter) {
return Return.success(new PageInfo<>(runRecordService.findPageRunTime(pageFilter.toJSONObject())));
}
@ApiOperation(value = "故障信息列表(分页查询)")
@PostMapping("/fault/page")
public Return pageListFault(@RequestBody SearchVo pageFilter) {
return Return.success(new PageInfo<>(runRecordService.findPageFault(pageFilter.toJSONObject())));
}
}
package net.vtstar.zhongtong.avi.equipment.domain;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import net.vtstar.user.search.Search;
import org.hibernate.validator.constraints.Length;
import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;
import java.util.Date;
/**
* @Author: xiadongwei
* @Date: 2019/9/20 9:31
*/
@ApiModel("设备表")
@Data
@Search(code = "SCADA_EQUIP_INFO")
@Table(name = "scada_equip_info")
public class EquipInfo {
@Id
private Long id;
@ApiModelProperty(notes = "车间")
@NotNull(message = "车间不能为空")
@Length(max = 20, message = "车间名称长度不能大于{max}")
@Column(name = "workshop_code")
@Search
private String workshopCode;
@ApiModelProperty(notes = "设备分类")
@NotNull(message = "设备分类不能为空")
@Length(max = 50, message = "设备分类长度不能大于{max}")
@Column(name = "equip_type")
@Search
private String equipType;
@ApiModelProperty(notes = "设备编号")
@NotNull(message = "设备名称不能为空")
@Length(max = 100, message = "设备编号长度不能大于{max}")
@Column(name = "equip_code")
@Search
private String equipCode;
@ApiModelProperty(notes = "设备名称")
@Length(max = 100, message = "设备名称长度不能大于{max}")
@Column(name = "alias")
@Search
private String alias;
@ApiModelProperty(notes = "设备厂商")
@Length(max = 100, message = "设备厂商长度不能大于{max}")
@Column(name = "equip_factory")
private String equipFactory;
@ApiModelProperty(notes = "创建时间")
@Column(name = "create_time")
private Date createTime;
@ApiModelProperty(notes = "更新时间")
@Column(name = "update_time")
private Date updateTime;
}
package net.vtstar.zhongtong.avi.equipment.domain;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import net.vtstar.user.search.JoinColumn;
import net.vtstar.user.search.Search;
import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import java.util.Date;
/**
* @Author: xiadongwei
* @Date: 2019/9/20 17:30
*/
@ApiModel("设备故障记录表")
@Data
@Search(code = "MACHINE_WARNING_RECORD")
@Table(name = "machine_warning_record")
public class FaultRecord {
@Id
private Long id;
@ApiModelProperty(notes = "车间")
@Column(name = "workshop_code")
@Search
private String workshopCode;
@ApiModelProperty(notes = "设备ID")
@Column(name = "machine_id")
private Long machineId;
@ApiModelProperty(notes = "设备编号")
@JoinColumn(tableName = EquipInfo.class, name = "equipCode")
@Search
private String equipCode;
@ApiModelProperty(notes = "故障信息")
@Column(name = "warning_info")
private String warningInfo;
@ApiModelProperty(notes = "开始时间")
@Column(name = "begin_time")
private Date beginTime;
}
package net.vtstar.zhongtong.avi.equipment.domain;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import net.vtstar.user.search.Search;
import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
/**
* @Author: xiadongwei
* @Date: 2019/9/20 9:31
*/
@ApiModel("喷涂车间_区域")
@Data
@Table(name = "paintshop_area")
public class PaintshopArea {
@Id
private Long id;
@ApiModelProperty(notes = "区域名称")
@Column(name = "name")
private String name;
@ApiModelProperty(notes = "在线数量")
@Column(name = "online_num")
private String onlineNum;
}
package net.vtstar.zhongtong.avi.equipment.domain;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import net.vtstar.user.search.Search;
import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
/**
* @Author: xiadongwei
* @Date: 2019/9/20 9:31
*/
@ApiModel("喷涂车间_车道")
@Data
@Table(name = "paintshop_lane")
public class PaintshopLane {
@Id
private Long id;
@ApiModelProperty(notes = "区域ID")
@Column(name = "area_id")
private Long areaId;
@ApiModelProperty(notes = "车道编号")
@Column(name = "code")
private String code;
@ApiModelProperty(notes = "车道名称")
@Column(name = "name")
private String name;
@ApiModelProperty(notes = "在线数量")
@Column(name = "online_num")
private Integer onlineNum;
}
package net.vtstar.zhongtong.avi.equipment.domain;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import net.vtstar.user.search.JoinColumn;
import net.vtstar.user.search.Search;
import org.hibernate.validator.constraints.Length;
import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;
/**
* @Author: xiadongwei
* @Date: 2019/9/20 9:31
*/
@ApiModel("喷涂车间_工位")
@Data
@Search(code = "PAINTSHOP_STATION")
@Table(name = "paintshop_station")
public class PaintshopStation {
@Id
private Long id;
@ApiModelProperty(notes = "车间")
@NotNull(message = "车间不能为空")
@Length(max = 20, message = "车间名称长度不能大于{max}")
@Column(name = "workshop_code")
@Search
private String workshopCode;
@ApiModelProperty(notes = "区域ID")
@NotNull(message = "区域ID不能为空")
@Column(name = "area_id")
private Long areaId;
@ApiModelProperty(notes = "区域")
@JoinColumn(tableName = PaintshopArea.class, name = "name")
@Search
private String areaName;
@ApiModelProperty(notes = "车道ID")
@NotNull(message = "车道ID不能为空")
@Column(name = "lane_id")
private Long laneId;
@ApiModelProperty(notes = "车道编号")
@JoinColumn(tableName = PaintshopLane.class, name = "code")
@Search
private String laneCode;
@ApiModelProperty(notes = "工位编号")
@NotNull(message = "工位编号不能为空")
@Column(name = "code")
private String code;
@ApiModelProperty(notes = "状态")
@Column(name = "state")
private String state;
@ApiModelProperty(notes = "滑撬ID")
@Column(name = "skid_id")
private Long skidID;
@ApiModelProperty(notes = "序号")
@NotNull(message = "工位序号不能为空")
@Column(name = "sequence")
private Integer sequence;
@ApiModelProperty(notes = "是否为关键工位")
@Column(name = "key_station")
private Boolean keyStation;
}
package net.vtstar.zhongtong.avi.equipment.domain;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import net.vtstar.user.search.JoinColumn;
import net.vtstar.user.search.Search;
import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import java.util.Date;
/**
* @Author: xiadongwei
* @Date: 2019/9/20 17:29
*/
@ApiModel("设备运行时间")
@Data
@Search(code = "MACHINE_RUNTIME_RECORD")
@Table(name = "machine_runtime_record")
public class RuntimeRecord {
@Id
private Long id;
@ApiModelProperty(notes = "车间")
@Column(name = "workshop_code")
@Search
private String workshopCode;
@ApiModelProperty(notes = "设备ID")
@Column(name = "machine_id")
private Long machineId;
@ApiModelProperty(notes = "设备编号")
@JoinColumn(tableName = EquipInfo.class, name = "equipCode")
@Search
private String equipCode;
@ApiModelProperty(notes = "当前运行时间")
@Column(name = "current_runtime")
private Long currentRuntime;
@ApiModelProperty(notes = "累计运行时间")
@Column(name = "total_runtime")
private Long totalRuntime;
@ApiModelProperty(notes = "创建时间")
@Column(name = "create_time")
private Date createTime;
}
package net.vtstar.zhongtong.avi.equipment.domain.vo;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
@Slf4j
@Data
public class EquipRequestVO {
private String workshopCode;
private String equipType;
}
package net.vtstar.zhongtong.avi.equipment.mapper;
import net.vtstar.user.mybatis.BaseMapper;
import net.vtstar.zhongtong.avi.equipment.domain.EquipInfo;
import org.apache.ibatis.annotations.Mapper;
/**
* @Author: xiadongwei
* @Date: 2019/9/20 9:31
*/
@Mapper
public interface BasicInfoMapper extends BaseMapper<EquipInfo> {
}
package net.vtstar.zhongtong.avi.equipment.mapper;
import net.vtstar.user.mybatis.BaseMapper;
import net.vtstar.zhongtong.avi.equipment.domain.FaultRecord;
import org.apache.ibatis.annotations.Mapper;
/**
* @Author: xiadongwei
* @Date: 2019/9/20 9:31
*/
@Mapper
public interface FaultRecordMapper extends BaseMapper<FaultRecord> {
}
package net.vtstar.zhongtong.avi.equipment.mapper;
import net.vtstar.user.mybatis.BaseMapper;
import net.vtstar.zhongtong.avi.equipment.domain.PaintshopArea;
import org.apache.ibatis.annotations.Mapper;
/**
* @Author: xiadongwei
* @Date: 2019/9/20 9:31
*/
@Mapper
public interface PaintshopAreaMapper extends BaseMapper<PaintshopArea> {
}
package net.vtstar.zhongtong.avi.equipment.mapper;
import net.vtstar.user.mybatis.BaseMapper;
import net.vtstar.zhongtong.avi.equipment.domain.PaintshopLane;
import org.apache.ibatis.annotations.Mapper;
/**
* @Author: xiadongwei
* @Date: 2019/9/20 9:31
*/
@Mapper
public interface PaintshopLaneMapper extends BaseMapper<PaintshopLane> {
}
package net.vtstar.zhongtong.avi.equipment.mapper;
import net.vtstar.user.mybatis.BaseMapper;
import net.vtstar.zhongtong.avi.equipment.domain.PaintshopLane;
import net.vtstar.zhongtong.avi.equipment.domain.PaintshopStation;
import org.apache.ibatis.annotations.Mapper;
/**
* @Author: xiadongwei
* @Date: 2019/9/20 9:31
*/
@Mapper
public interface PaintshopStationMapper extends BaseMapper<PaintshopStation> {
}
package net.vtstar.zhongtong.avi.equipment.mapper;
import net.vtstar.user.mybatis.BaseMapper;
import net.vtstar.zhongtong.avi.equipment.domain.RuntimeRecord;
import org.apache.ibatis.annotations.Mapper;
/**
* @Author: xiadongwei
* @Date: 2019/9/20 9:31
*/
@Mapper
public interface RuntimeRecordMapper extends BaseMapper<RuntimeRecord> {
}
package net.vtstar.zhongtong.avi.equipment.service;
import com.alibaba.fastjson.JSONObject;
import com.github.pagehelper.PageHelper;
import lombok.extern.slf4j.Slf4j;
import net.vtstar.user.mybatis.provider.Operation;
import net.vtstar.user.mybatis.provider.OrderBy;
import net.vtstar.user.mybatis.provider.WhereFilter;
import net.vtstar.user.search.service.SearchService;
import net.vtstar.utils.asserts.ParamAssert;
import net.vtstar.zhongtong.avi.equipment.domain.EquipInfo;
import net.vtstar.zhongtong.avi.equipment.domain.PaintshopArea;
import net.vtstar.zhongtong.avi.equipment.domain.PaintshopLane;
import net.vtstar.zhongtong.avi.equipment.domain.PaintshopStation;
import net.vtstar.zhongtong.avi.equipment.mapper.BasicInfoMapper;
import net.vtstar.zhongtong.avi.equipment.mapper.PaintshopStationMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.Assert;
import org.springframework.util.CollectionUtils;
import java.util.Date;
import java.util.List;
/**
* @Author: xiadongwei
* @Date: 2019/9/20 9:31
*/
@Slf4j
@Service
public class BasicInfoService {
@Autowired
private BasicInfoMapper basicInfoMapper;
@Autowired
private SearchService searchService;
@Autowired
private PaintshopStationMapper stationMapper;
/**
* 分页查询设备
*/
public List<EquipInfo> findPageEquip(JSONObject pageFilter) {
PageHelper.startPage(pageFilter.getIntValue("pageNum"), pageFilter.getIntValue("pageSize"));
return basicInfoMapper.findList(searchService.pageFilter2Filter(pageFilter), EquipInfo.class);
}
/**
* 新增设备
*/
public void createEquip(EquipInfo equipInfo) {
Assert.notNull(equipInfo, "equipInfo 不能为null!");
basicInfoMapper.insert(fieldValidEquip(equipInfo));
}
/**
* 修改设备
*/
public void updateEquip(EquipInfo equipInfo) {
ParamAssert.notNull(equipInfo, "equipInfo 不能为 null!");
ParamAssert.notNull(equipInfo.getId(), "EquipInfo ID 不能为 null!");
basicInfoMapper.update(fieldValidEquip(equipInfo));
}
/**
* 根据id逻辑删除设备
*/
public void deleteEquipById(Long id) {
EquipInfo equipInfo = basicInfoMapper.getById(id, EquipInfo.class);
Assert.notNull(equipInfo, "数据不存在或已删除");
basicInfoMapper.delete(equipInfo);
}
/**
* 设备新增修改操作,参数校验
*
* @param equipInfo
*/
private EquipInfo fieldValidEquip(EquipInfo equipInfo) {
// 是否更新操作
boolean isUpdate = (null != equipInfo.getId());
if (isUpdate) {
EquipInfo oldData = basicInfoMapper.getById(equipInfo.getId(), EquipInfo.class);
ParamAssert.notNull(oldData, "数据不存在或已删除");
List<EquipInfo> equipInfos = basicInfoMapper.findList(new WhereFilter() {{
addFilter("workshop_code", Operation.EQUAL, equipInfo.getWorkshopCode());
addFilter("equip_type", Operation.EQUAL, equipInfo.getEquipType());
addFilter("equip_code", Operation.EQUAL, equipInfo.getEquipCode());
}}, EquipInfo.class);
ParamAssert.isTrue(CollectionUtils.isEmpty(equipInfos) || !oldData.getId().equals(equipInfos.get(0).getId()),
"存在车间/分类/编号完全相同的设备!");
oldData.setWorkshopCode(equipInfo.getWorkshopCode());
oldData.setEquipType(equipInfo.getEquipType());
oldData.setEquipCode(equipInfo.getEquipCode());
oldData.setAlias(equipInfo.getAlias());
oldData.setEquipFactory(equipInfo.getEquipFactory());
oldData.setUpdateTime(new Date());
return oldData;
}else{
List<EquipInfo> equipInfos = basicInfoMapper.findList(new WhereFilter() {{
addFilter("workshop_code", Operation.EQUAL, equipInfo.getWorkshopCode());
addFilter("equip_type", Operation.EQUAL, equipInfo.getEquipType());
addFilter("equip_code", Operation.EQUAL, equipInfo.getEquipCode());
}}, EquipInfo.class);
ParamAssert.isTrue(CollectionUtils.isEmpty(equipInfos), "存在车间/分类/编号完全相同的设备!");
equipInfo.setCreateTime(new Date());
return equipInfo;
}
}
/**
* 分页查询工位
*/
public List<PaintshopStation> findPageStation(JSONObject pageFilter) {
PageHelper.startPage(pageFilter.getIntValue("pageNum"), pageFilter.getIntValue("pageSize"));
return stationMapper.findList(searchService.pageFilter2Filter(pageFilter, new WhereFilter() {{
addJoin(PaintshopStation.class, "area_id", PaintshopArea.class, "id");
addJoin(PaintshopStation.class, "lane_id", PaintshopLane.class, "id");
addOrderBy(PaintshopStation.class, "sequence", OrderBy.ASC);
}}), PaintshopStation.class);
}
/**
* 新增工位
*/
public void createStation(PaintshopStation station) {
Assert.notNull(station, "station 不能为null!");
stationMapper.insert(fieldValidStation(station));
}
/**
* 修改工位
*/
public void updateStation(PaintshopStation station) {
ParamAssert.notNull(station, "station 不能为 null!");
ParamAssert.notNull(station.getId(), "工位 ID 不能为 null!");
stationMapper.update(fieldValidStation(station));
}
/**
* 根据id逻辑删除工位
*/
public void deleteStationById(Long id) {
PaintshopStation station = stationMapper.getById(id, EquipInfo.class);
Assert.notNull(station, "数据不存在或已删除");
stationMapper.delete(station);
}
/**
* 设备新增修改操作,参数校验
*
* @param station
*/
private PaintshopStation fieldValidStation(PaintshopStation station) {
// 是否更新操作
boolean isUpdate = (null != station.getId());
if (isUpdate) {
PaintshopStation oldData = stationMapper.getById(station.getId(), EquipInfo.class);
ParamAssert.notNull(oldData, "数据不存在或已删除");
List<PaintshopStation> stationList = stationMapper.findList(new WhereFilter() {{
addFilter("workshop_code", Operation.EQUAL, station.getWorkshopCode());
addFilter("area_id", Operation.EQUAL, station.getAreaId());
addFilter("lane_id", Operation.EQUAL, station.getLaneId());
addFilter("code", Operation.EQUAL, station.getCode());
}}, PaintshopStation.class);
ParamAssert.isTrue(CollectionUtils.isEmpty(stationList) || !oldData.getId().equals(stationList.get(0).getId()),
"存在车间/区域/车道/编号完全相同的设备!");
oldData.setWorkshopCode(station.getWorkshopCode());
oldData.setAreaId(station.getAreaId());
oldData.setLaneId(station.getLaneId());
oldData.setCode(station.getCode());
oldData.setSequence(station.getSequence());
oldData.setKeyStation(station.getKeyStation());
return oldData;
}else{
List<PaintshopStation> equipInfos = stationMapper.findList(new WhereFilter() {{
addFilter("workshop_code", Operation.EQUAL, station.getWorkshopCode());
addFilter("area_id", Operation.EQUAL, station.getAreaId());
addFilter("lane_id", Operation.EQUAL, station.getLaneId());
addFilter("code", Operation.EQUAL, station.getCode());
}}, PaintshopStation.class);
ParamAssert.isTrue(CollectionUtils.isEmpty(equipInfos), "存在车间/区域/车道/编号完全相同的设备!");
return station;
}
}
}
package net.vtstar.zhongtong.avi.equipment.service;
import com.alibaba.fastjson.JSONObject;
import com.github.pagehelper.PageHelper;
import lombok.extern.slf4j.Slf4j;
import net.vtstar.user.mybatis.provider.OrderBy;
import net.vtstar.user.mybatis.provider.WhereFilter;
import net.vtstar.user.search.service.SearchService;
import net.vtstar.zhongtong.avi.equipment.domain.*;
import net.vtstar.zhongtong.avi.equipment.mapper.FaultRecordMapper;
import net.vtstar.zhongtong.avi.equipment.mapper.RuntimeRecordMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @Author: xiadongwei
* @Date: 2019/9/20 17:23
*/
@Slf4j
@Service
public class RunRecordService {
@Autowired
private RuntimeRecordMapper runtimeRecordMapper;
@Autowired
private FaultRecordMapper faultRecordMapper;
@Autowired
private SearchService searchService;
/**
* 分页查询运行时间
*/
public List<RuntimeRecord> findPageRunTime(JSONObject pageFilter) {
PageHelper.startPage(pageFilter.getIntValue("pageNum"), pageFilter.getIntValue("pageSize"));
return runtimeRecordMapper.findList(searchService.pageFilter2Filter(pageFilter, new WhereFilter() {{
addJoin(RuntimeRecord.class, "machine_id", EquipInfo.class, "id");
}}), RuntimeRecord.class);
}
/**
* 分页查询报警记录
*/
public List<FaultRecord> findPageFault(JSONObject pageFilter) {
PageHelper.startPage(pageFilter.getIntValue("pageNum"), pageFilter.getIntValue("pageSize"));
return faultRecordMapper.findList(searchService.pageFilter2Filter(pageFilter, new WhereFilter() {{
addJoin(PaintshopStation.class, "area_id", PaintshopArea.class, "id");
addJoin(PaintshopStation.class, "lane_id", PaintshopLane.class, "id");
addOrderBy(PaintshopStation.class, "sequence", OrderBy.ASC);
}}), PaintshopStation.class);
}
}
......@@ -19,6 +19,7 @@ import javax.sql.DataSource;
basePackages = {
"net.vtstar.user.mapper",
"net.vtstar.scada.base.equipmgt.mapper",
"net.vtstar.zhongtong.avi.equipment.mapper"
},
sqlSessionFactoryRef = "sqlSessionFactoryMySQL")
public class MybatisMySQLConfig {
......
......@@ -21,4 +21,6 @@ spring.redis.password=
sqlserver.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver
sqlserver.jdbc-url=jdbc:sqlserver://127.0.0.1:1433;DatabaseName=CARTEST_ZTKC
sqlserver.username=admin
sqlserver.password=123456
\ No newline at end of file
sqlserver.password=123456
server.port=8888
\ No newline at end of file
<?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="net.vtstar.zhongtong.avi.equipment.mapper.BasicInfoMapper">
</mapper>
\ No newline at end of file
<?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="net.vtstar.zhongtong.avi.equipment.mapper.FaultRecordMapper">
</mapper>
\ No newline at end of file
<?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="net.vtstar.zhongtong.avi.equipment.mapper.PaintshopAreaMapper">
</mapper>
\ No newline at end of file
<?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="net.vtstar.zhongtong.avi.equipment.mapper.PaintshopLaneMapper">
</mapper>
\ No newline at end of file
<?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="net.vtstar.zhongtong.avi.equipment.mapper.PaintshopStationMapper">
</mapper>
\ No newline at end of file
<?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="net.vtstar.zhongtong.avi.equipment.mapper.RuntimeRecordMapper">
</mapper>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment