Commit 6b07feb5 authored by 李驰骋's avatar 李驰骋

设备看板BUG修复

parent 1e599b00
......@@ -8,6 +8,7 @@ import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import java.time.LocalDateTime;
import java.util.List;
/**
......@@ -91,4 +92,16 @@ public interface CalPlanWorkunitMapper extends BaseMapper<CalPlanWorkunit> {
"${ew.customSqlSegment}")
List<CalPlanWorkunit> selectListWithSchedule(@Param("ew") QueryWrapper<CalPlanWorkunit> query);
/**
* 查询某天所有设备排班计划
*
* @param curr 时间
* @return 计划工作单元集合
*/
@Select(value = "select t1.* from cal_plan_workunit t1 where rest_flag = 0 and (start_date >= #{currDate} and start_date < date_add(#{currDate},INTERVAL 1 day))\n" +
"or (end_date >= #{currDate} and end_date < date_add(#{currDate},INTERVAL 1 day))")
List<CalPlanWorkunit> selectListByDate(@Param("currDate") LocalDateTime curr);
}
......@@ -23,7 +23,7 @@ public class KanbanEquipmentController {
@Autowired
KanbanEquipmentService kanbanEquipmentService;
@ApiOperation("当月设备分布数据")
@ApiOperation("设备分布数据")
@PostMapping("/currentMonthStat")
public AjaxResult<EquipmentStatDto> currentMonthStat(@RequestBody EquipmentQuery equipmentQuery) {
EquipmentStatDto rst = kanbanEquipmentService.currentMonthStat(equipmentQuery);
......
......@@ -9,16 +9,31 @@ import java.util.Map;
@Data
public class EquipmentStatDto {
/**
* 当日该产线所有工作单元的报工工时(分钟)/当日该产线所有工作单元的排班日历(分钟)
*/
@ApiModelProperty("利用率")
BigDecimal equipAvailability;
/**
* 当前产线的所有工作单元当日报工总和
*/
@ApiModelProperty("总产量")
BigDecimal totalOutput;
BigDecimal totalOutput=BigDecimal.ZERO;
@ApiModelProperty("设备数")
Integer equipNum=0;
/**
* 当前产线的所有工作单元当日报工合格率(合格数量/报工数量)
*/
@ApiModelProperty("合格率")
BigDecimal qualifiedRatio;
BigDecimal qualifiedRatio=BigDecimal.ZERO;
/**
* 当前产线的所有工作单元当日为设备故障的异常单(当天)
*/
@ApiModelProperty("异常数")
Integer abnormalNum=0;
/**
* 当前产线的所有工作单元为设备故障的异常单数(状态不等于关闭和完成)
*/
@ApiModelProperty("待处理数")
Integer unProcessNum=0;
@ApiModelProperty("设备列表")
......@@ -34,10 +49,20 @@ public class EquipmentStatDto {
String equipmentNo;
@ApiModelProperty("设备名称")
String equipmentName;
/**
* 当日该工作单元的报工数量
*/
@ApiModelProperty("日产出")
BigDecimal output;
BigDecimal output=BigDecimal.ZERO;
/**
* 当日该工作单元的报工工时(分钟)/当日该工作单元的排班日历(分钟)*100%
*/
@ApiModelProperty("产出率")
BigDecimal outputRatio;
BigDecimal outputRatio=BigDecimal.ZERO;
/**
* 0:加工中、1:未加工,2:停工
* 工作单元的派工任务有为已开始则显示为绿色,如果异常停工则显示为红色,其他状态显示为灰色
*/
@ApiModelProperty("状态,0:加工中、1:未加工,2:停工")
int state;
}
......
......@@ -62,6 +62,9 @@ public class ProFeedbackVo {
@Excel(name = "工序编码")
private String processCode;
@ApiModelProperty("加工工时")
private String machineTime;
/**
* 工序名称
*/
......
package com.ximai.mes.pro.dto.task;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ximai.common.annotation.Excel;
import com.ximai.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* 加工中设备
*
* @author chicheng.li
* @date 2024-11-07
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class WorkunitProcessingDto {
private static final long serialVersionUID = 1L;
@ApiModelProperty("工作单元ID")
private Long workunitId;
@ApiModelProperty("数量")
private Integer ct;
}
......@@ -6,6 +6,7 @@ import com.ximai.mes.pro.domain.proWorkOrder.ProWorkorder;
import com.ximai.mes.pro.domain.task.ProTask;
import com.ximai.mes.pro.domain.task.ProTaskWorkunit;
import com.ximai.mes.pro.dto.task.ProTaskWorkunitDto;
import com.ximai.mes.pro.dto.task.WorkunitProcessingDto;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
......@@ -180,4 +181,11 @@ public interface ProTaskWorkunitMapper extends BaseMapper<ProTaskWorkunit> {
" ${ew.customSqlSegment} ")
List<ProWorkorder> selectWorkorderTaskByQw(@Param("ew") QueryWrapper<ProTaskWorkunit> query);
/**
* 统计设备进行中工单数量
* @return
*/
@Select(value = "select workunit_id,count(*) ct from pro_task_workunit t1 where t1.`status` = 'BEGINNING' group by workunit_id")
List<WorkunitProcessingDto> selectWorkunitProcessing();
}
......@@ -2,6 +2,7 @@ package com.ximai.mes.qc.domain;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import com.ximai.common.annotation.Excel;
import com.baomidou.mybatisplus.annotation.TableId;
......@@ -79,6 +80,9 @@ QcAbnormalReport extends BaseEntity
@Excel(name = "任务派工ID")
private Long taskWorkunitId;
@ApiModelProperty("作业单元D")
private Long workunitId;
//开始时间
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd")
......
......@@ -106,7 +106,7 @@ public class QcAbnormalReportServiceImpl implements IQcAbnormalReportService {
@Override
public int insertObj(QcAbnormalReport qcAbnormalReport) {
ProTaskWorkunit proTaskWorkunit = proTaskWorkunitService.selectProTaskWorkunitByTaskWorkunitId(qcAbnormalReport.getTaskWorkunitId());
qcAbnormalReport.setWorkunitId(proTaskWorkunit.getWorkunitId());
//根据车间异常原因修改工作单元是否故障
if (qcAbnormalReport.getAbnormalType().equals(QcAbnormalTypeEnum.DEVI.getType())) {
MdWorkunit mdWorkunit = new MdWorkunit();
......
......@@ -9,6 +9,7 @@
<result property="batchNumber" column="batch_number" />
<result property="processId" column="process_id" />
<result property="taskId" column="task_id" />
<result property="workunitId" column="workunit_id" />
<result property="taskWorkunitId" column="task_workunit_id" />
<result property="processCode" column="process_code" />
<result property="processName" column="process_name" />
......@@ -32,7 +33,7 @@
</resultMap>
<sql id="selectQcAbnormalReportVo">
select abnormal_report_id, batch_number, process_id, task_id, task_workunit_id, process_code,
select abnormal_report_id, batch_number, process_id, task_id, task_workunit_id, workunit_id, process_code,
process_name, workstation_id, workstation_code, workstation_name, abnormal_type,
abnormal_reason, abnormal_time, abnormal_status, create_by, create_time, update_by,
update_time, abnormal_number, start_time, start_by, end_time, end_by, time_consuming,remarks
......@@ -73,6 +74,7 @@
<if test="batchNumber != null">batch_number,</if>
<if test="processId != null">process_id,</if>
<if test="taskId != null">task_id,</if>
<if test="workunitId != null">workunit_id,</if>
<if test="taskWorkunitId != null">task_workunit_id,</if>
<if test="processCode != null">process_code,</if>
<if test="processName != null">process_name,</if>
......@@ -93,6 +95,7 @@
<if test="batchNumber != null">#{batchNumber},</if>
<if test="processId != null">#{processId},</if>
<if test="taskId != null">#{taskId},</if>
<if test="workunitId != null">#{workunitId},</if>
<if test="taskWorkunitId != null">#{taskWorkunitId},</if>
<if test="processCode != null">#{processCode},</if>
<if test="processName != null">#{processName},</if>
......@@ -118,6 +121,7 @@
<if test="batchNumber != null">batch_number = #{batchNumber},</if>
<if test="processId != null">process_id = #{processId},</if>
<if test="taskId != null">task_id = #{taskId},</if>
<if test="workunitId != null">workunit_id = #{workunitId},</if>
<if test="taskWorkunitId != null">task_workunit_id = #{taskWorkunitId},</if>
<if test="processCode != null">process_code = #{processCode},</if>
<if test="processName != null">process_name = #{processName},</if>
......
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