pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/daoSta/StaDeviceProductionLogMapper.java
@@ -3,6 +3,7 @@ import com.dy.pmsGlobal.pojoSta.StaDeviceProductionLog; import org.apache.ibatis.annotations.Mapper; import java.util.Date; import java.util.List; /** @@ -24,6 +25,8 @@ List<StaDeviceProductionLog> selectByDeviceNo(String deviceNo); List<StaDeviceProductionLog> selectProductLog(String deviceNo, Date startTime, Date endTime); int updateByPrimaryKeySelective(StaDeviceProductionLog record); int updateByPrimaryKey(StaDeviceProductionLog record); pms-parent/pms-global/src/main/resources/mapper/StaAssemblyWorkLastMapper.xml
@@ -198,10 +198,10 @@ <if test="lineName != null and lineName != '' "> and ll.name like concat('%', #{lineName}, '%') </if> <if test="startTime != null and startTime !=''"> <if test="startTime != null"> and l.start_time <![CDATA[ > ]]> #{startTime} </if> <if test="endTime != null and endTime !=''"> <if test="endTime != null"> and l.start_time <![CDATA[ < ]]> #{endTime} </if> <if test="userId != null and userId !=''"> @@ -265,10 +265,10 @@ <if test="lineName != null and lineName != '' "> and ll.name like concat('%', #{lineName}, '%') </if> <if test="startTime != null and startTime !=''"> <if test="startTime != null"> and l.start_time <![CDATA[ > ]]> #{startTime,jdbcType=TIMESTAMP} </if> <if test="endTime != null and endTime !=''"> <if test="endTime != null"> and l.start_time <![CDATA[ < ]]> #{endTime,jdbcType=TIMESTAMP} </if> <if test="userId != null and userId !=''"> pms-parent/pms-global/src/main/resources/mapper/StaDeviceProductionLogMapper.xml
@@ -62,6 +62,43 @@ ORDER BY t.id DESC </select> <select id="selectProductLog" resultMap="joinResultMap"> select t.* ,p.`name` plan_name,s.`name` station_name,u.`name` update_user_name FROM ( select <include refid="Base_Column_List" /> from sta_device_production_log_past <where> <if test="deviceNo != null and deviceNo !=''"> and device_no = #{deviceNo,jdbcType=VARCHAR} </if> <if test="startTime != null"> and out_time <![CDATA[ > ]]> #{startTime,jdbcType=TIMESTAMP} </if> <if test="endTime != null"> and out_time <![CDATA[ < ]]> #{endTime,jdbcType=TIMESTAMP} </if> </where> union select <include refid="Base_Column_List" /> from sta_device_production_log <where> <if test="deviceNo != null and deviceNo !=''"> and device_no = #{deviceNo,jdbcType=VARCHAR} </if> <if test="startTime != null"> and out_time <![CDATA[ > ]]> #{startTime,jdbcType=TIMESTAMP} </if> <if test="endTime != null"> and out_time <![CDATA[ < ]]> #{endTime,jdbcType=TIMESTAMP} </if> </where> ) t left join pr_assembly_plan p on t.plan_id=p.id left join plt_station s on s.id = t.station_id left JOIN ba_user u on u.id=t.updated_by ORDER BY t.id DESC </select> <delete id="deleteByPrimaryKey" parameterType="java.lang.Long"> delete from sta_device_production_log where id = #{id,jdbcType=BIGINT} pms-parent/pms-web-other/src/main/java/com/dy/pmsOther/screen/ScreenReportCtrl.java
New file @@ -0,0 +1,50 @@ package com.dy.pmsOther.screen; import com.dy.common.aop.SsoPowerAop; import com.dy.common.webUtil.BaseResponse; import com.dy.common.webUtil.BaseResponseUtils; import com.dy.common.webUtil.QueryResultVo; import com.dy.pmsGlobal.aop.Log; import com.dy.pmsGlobal.pojoPr.PrProductionProcess; import com.dy.pmsGlobal.pojoSta.StaDeviceProductionLog; import jakarta.validation.Valid; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Map; /** * 大屏看板 */ @Slf4j @RestController @RequestMapping(path="screen") public class ScreenReportCtrl { private ScreenReportSv sv; @Autowired public void setSv(ScreenReportSv screenSv){ this.sv = screenSv; } @GetMapping(path = "getDeviceInfo") public BaseResponse<Map<String, Object>> getDeviceInfo(String deviceNo) { log.info("DeviceReportCtl.getDeviceInfo():{}",deviceNo); Map<String, Object> result = sv.getDeviceInfo(deviceNo); return BaseResponseUtils.buildSuccess(null); } /** * 根据时间区间查询 所有过站记录 * @return */ @GetMapping(path="queryDeviceLog") @Log("查询生产记录") public BaseResponse<List<Map<String,String>>> queryDeviceLog(String startTime, String endTime){ List<StaDeviceProductionLog> log = sv.queryDeviceLog(startTime,endTime); return BaseResponseUtils.buildSuccess(log); } } pms-parent/pms-web-other/src/main/java/com/dy/pmsOther/screen/ScreenReportSv.java
New file @@ -0,0 +1,103 @@ package com.dy.pmsOther.screen; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.dy.pmsGlobal.daoSta.*; import com.dy.pmsGlobal.pojoSta.*; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; import java.time.ZoneId; import java.time.format.DateTimeFormatter; import java.time.temporal.TemporalAccessor; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; @Slf4j @Service public class ScreenReportSv { private StaDeviceLastMapper deviceLastDao; private StaDeviceLifeMapper deviceLifeDao; private StaWipSnExMapper wipSnExDao; private StaDeviceProductionLogMapper deviceProductionLogDao; private StaRepairInfoMapper repairInfoDao; @Autowired public void setDeviceLastDao(StaDeviceLastMapper deviceLastDao) { this.deviceLastDao = deviceLastDao; } @Autowired public void setDeviceLifeDao(StaDeviceLifeMapper deviceLifeDao) { this.deviceLifeDao = deviceLifeDao; } @Autowired public void setWipSnExDao(StaWipSnExMapper wipSnExDao) { this.wipSnExDao = wipSnExDao; } @Autowired public void setDeviceProductionLogDao(StaDeviceProductionLogMapper deviceProductionLogDao) { this.deviceProductionLogDao = deviceProductionLogDao; } @Autowired public void setRepairInfoDao(StaRepairInfoMapper repairInfoDao) { this.repairInfoDao = repairInfoDao; } public Map<String, Object> getDeviceInfo(String deviceNo) { if (StringUtils.isBlank(deviceNo)) { return null; } // 查询设备信息 StaDeviceLast deviceLast = deviceLastDao.selectByDeviceNo(deviceNo); if (deviceLast == null) { return null; } Map<String, Object> deviceInfo =new HashMap<>(); deviceInfo.put("deviceInfo", deviceLast); //查询设备日志 List<StaDeviceProductionLog> log = deviceProductionLogDao.selectByDeviceNo(deviceNo); deviceInfo.put("deviceLog", log); // 查询设备生命周期 List<StaDeviceLife> deviceLife = deviceLifeDao.selectByDeviceNo(deviceNo); deviceInfo.put("deviceLife", deviceLife); // 查询设备维修信息 List<StaRepairInfo> repairInfo = repairInfoDao.selectByDeviceNo(deviceNo); deviceInfo.put("deviceRepair", repairInfo); // 查询设备附件信息 List<StaWipSnEx> wipSnEx = wipSnExDao.selectByDeviceNo(deviceNo); deviceInfo.put("deviceAttach", wipSnEx); return deviceInfo; } public List<StaDeviceProductionLog> queryDeviceLog(String startTime, String endTime) { Date startDt = parseToDate(startTime,0); Date endDt = parseToDate(endTime,1); //查询设备日志 List<StaDeviceProductionLog> log = deviceProductionLogDao.selectProductLog("",startDt,endDt); return log; } private Date parseToDate(String strDt,long offDays) { LocalDateTime dt = LocalDateTime.of(LocalDate.now().plusDays(offDays), LocalTime.of(0,0,0)); // 今天24点 DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); DateTimeFormatter dtf1 = DateTimeFormatter.ofPattern("yyyy-MM-dd"); if (strDt.matches("\\d{4}(-\\d{2}){2} \\d{2}(:\\d{2}){2}")) {//2024-08-15 00:00:00 dt = LocalDateTime.parse(strDt,dtf); }else if (strDt.matches("\\d{4}(-\\d{2}){2}")){ dt = LocalDateTime.of(LocalDate.parse(strDt,dtf1), LocalTime.of(0,0,0)); } Date date = Date.from(dt.atZone(ZoneId.systemDefault()).toInstant()); return date; } }