Commit 0d20ee7c authored by 李驰骋's avatar 李驰骋

看板任务相关接口添加

parent 5503ce41
......@@ -3,9 +3,11 @@ package com.ximai.mes.kanban.controller;
import com.ximai.common.core.domain.AjaxResult;
import com.ximai.mes.kanban.dto.abnormal.AbnormalMonthStatDto;
import com.ximai.mes.kanban.dto.task.TaskStatDto;
import com.ximai.mes.kanban.service.KanbanTaskService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
......@@ -19,111 +21,115 @@ import java.util.List;
@RequestMapping("/kanban/task")
public class KanbanTaskController {
@Autowired
private KanbanTaskService kanbanTaskService;
@ApiOperation("工序当月统计")
@PostMapping("/currentMonthStat")
public AjaxResult<TaskStatDto> currentMonthStat() {
TaskStatDto rst = new TaskStatDto();
List<TaskStatDto.ProcessOutput> outputList = new ArrayList<>();
outputList.add(new TaskStatDto.ProcessOutput(){
{
setProcessName("压铆");
setPlanQuantity(new BigDecimal("3200"));
setFinishQuantity(new BigDecimal("900"));
setQualifiedQuantity(new BigDecimal("890"));
}
});
outputList.add(new TaskStatDto.ProcessOutput(){
{
setProcessName("点焊");
setPlanQuantity(new BigDecimal("3200"));
setFinishQuantity(new BigDecimal("900"));
setQualifiedQuantity(new BigDecimal("900"));
}
});
outputList.add(new TaskStatDto.ProcessOutput(){
{
setProcessName("焊接");
setPlanQuantity(new BigDecimal("2200"));
setFinishQuantity(new BigDecimal("100"));
setQualifiedQuantity(new BigDecimal("100"));
}
});
outputList.add(new TaskStatDto.ProcessOutput(){
{
setProcessName("装配");
setPlanQuantity(new BigDecimal("5200"));
setFinishQuantity(new BigDecimal("1000"));
setQualifiedQuantity(new BigDecimal("1000"));
}
});
outputList.add(new TaskStatDto.ProcessOutput(){
{
setProcessName("气压检测");
setPlanQuantity(new BigDecimal("3000"));
setFinishQuantity(new BigDecimal("1200"));
setQualifiedQuantity(new BigDecimal("1200"));
}
});
rst.setOutputList(outputList);
List<TaskStatDto.ProcessQualifiedRate> qualifiedRateList = new ArrayList<>();
qualifiedRateList.add(new TaskStatDto.ProcessQualifiedRate(){
{
setProcessName("压铆");
setQualifiedRate(new BigDecimal("90"));
}
});
qualifiedRateList.add(new TaskStatDto.ProcessQualifiedRate(){
{
setProcessName("点焊");
setQualifiedRate(new BigDecimal("89"));
}
});
qualifiedRateList.add(new TaskStatDto.ProcessQualifiedRate(){
{
setProcessName("焊接");
setQualifiedRate(new BigDecimal("100"));
}
});
qualifiedRateList.add(new TaskStatDto.ProcessQualifiedRate(){
{
setProcessName("装配");
setQualifiedRate(new BigDecimal("99"));
}
});
rst.setQualifiedRateList(qualifiedRateList);
TaskStatDto.ProcessMonthlyIndexDto processMonthlyIndexDto = new TaskStatDto.ProcessMonthlyIndexDto();
processMonthlyIndexDto.setMonthPlanQuantity(new BigDecimal("4000"));
processMonthlyIndexDto.setActualFinishQuantity(new BigDecimal("2323"));
processMonthlyIndexDto.setExpireFinishQuantity(new BigDecimal("40"));
processMonthlyIndexDto.setHisPendingQuantity(new BigDecimal("5"));
processMonthlyIndexDto.setStartOnTimeRatio(new BigDecimal("70"));
processMonthlyIndexDto.setEndOnTimeRatio(new BigDecimal("80"));
processMonthlyIndexDto.setQualifiedRatio(new BigDecimal("95"));
processMonthlyIndexDto.setMonthPlanConcludeRatio(new BigDecimal("35"));
rst.setProcessMonthlyIndexDto(processMonthlyIndexDto);
TaskStatDto rst = kanbanTaskService.currentMonthStat();
List<TaskStatDto.AbnormalCauseStat> abnormalCauseStats = new ArrayList<>();
abnormalCauseStats.add(new TaskStatDto.AbnormalCauseStat(){
{
setCause("停电");
setCt(2);
}
});
abnormalCauseStats.add(new TaskStatDto.AbnormalCauseStat(){
{
setCause("设备损坏");
setCt(4);
}
});
abnormalCauseStats.add(new TaskStatDto.AbnormalCauseStat(){
{
setCause("硬件故障");
setCt(0);
}
});
rst.setAbnormalCauseData(abnormalCauseStats);
// List<TaskStatDto.ProcessOutput> outputList = new ArrayList<>();
// outputList.add(new TaskStatDto.ProcessOutput(){
// {
// setProcessName("压铆");
// setPlanQuantity(new BigDecimal("3200"));
// setFinishQuantity(new BigDecimal("900"));
// setQualifiedQuantity(new BigDecimal("890"));
// }
// });
// outputList.add(new TaskStatDto.ProcessOutput(){
// {
// setProcessName("点焊");
// setPlanQuantity(new BigDecimal("3200"));
// setFinishQuantity(new BigDecimal("900"));
// setQualifiedQuantity(new BigDecimal("900"));
// }
// });
// outputList.add(new TaskStatDto.ProcessOutput(){
// {
// setProcessName("焊接");
// setPlanQuantity(new BigDecimal("2200"));
// setFinishQuantity(new BigDecimal("100"));
// setQualifiedQuantity(new BigDecimal("100"));
// }
// });
// outputList.add(new TaskStatDto.ProcessOutput(){
// {
// setProcessName("装配");
// setPlanQuantity(new BigDecimal("5200"));
// setFinishQuantity(new BigDecimal("1000"));
// setQualifiedQuantity(new BigDecimal("1000"));
// }
// });
// outputList.add(new TaskStatDto.ProcessOutput(){
// {
// setProcessName("气压检测");
// setPlanQuantity(new BigDecimal("3000"));
// setFinishQuantity(new BigDecimal("1200"));
// setQualifiedQuantity(new BigDecimal("1200"));
// }
// });
// rst.setOutputList(outputList);
// List<TaskStatDto.ProcessQualifiedRate> qualifiedRateList = new ArrayList<>();
// qualifiedRateList.add(new TaskStatDto.ProcessQualifiedRate(){
// {
// setProcessName("压铆");
// setQualifiedRate(new BigDecimal("90"));
// }
// });
// qualifiedRateList.add(new TaskStatDto.ProcessQualifiedRate(){
// {
// setProcessName("点焊");
// setQualifiedRate(new BigDecimal("89"));
// }
// });
// qualifiedRateList.add(new TaskStatDto.ProcessQualifiedRate(){
// {
// setProcessName("焊接");
// setQualifiedRate(new BigDecimal("100"));
// }
// });
// qualifiedRateList.add(new TaskStatDto.ProcessQualifiedRate(){
// {
// setProcessName("装配");
// setQualifiedRate(new BigDecimal("99"));
// }
// });
// rst.setQualifiedRateList(qualifiedRateList);
//
// TaskStatDto.ProcessMonthlyIndexDto processMonthlyIndexDto = new TaskStatDto.ProcessMonthlyIndexDto();
// processMonthlyIndexDto.setMonthPlanQuantity(new BigDecimal("4000"));
// processMonthlyIndexDto.setActualFinishQuantity(new BigDecimal("2323"));
// processMonthlyIndexDto.setExpireFinishQuantity(new BigDecimal("40"));
// processMonthlyIndexDto.setHisPendingQuantity(new BigDecimal("5"));
//
// processMonthlyIndexDto.setStartOnTimeRatio(new BigDecimal("70"));
// processMonthlyIndexDto.setEndOnTimeRatio(new BigDecimal("80"));
// processMonthlyIndexDto.setQualifiedRatio(new BigDecimal("95"));
// processMonthlyIndexDto.setMonthPlanConcludeRatio(new BigDecimal("35"));
// rst.setProcessMonthlyIndexDto(processMonthlyIndexDto);
//
// List<TaskStatDto.AbnormalCauseStat> abnormalCauseStats = new ArrayList<>();
// abnormalCauseStats.add(new TaskStatDto.AbnormalCauseStat(){
// {
// setCause("停电");
// setCt(2);
// }
// });
// abnormalCauseStats.add(new TaskStatDto.AbnormalCauseStat(){
// {
// setCause("设备损坏");
// setCt(4);
// }
// });
// abnormalCauseStats.add(new TaskStatDto.AbnormalCauseStat(){
// {
// setCause("硬件故障");
// setCt(0);
// }
// });
// rst.setAbnormalCauseData(abnormalCauseStats);
return AjaxResult.success(rst);
}
......
......@@ -27,7 +27,7 @@ public class TaskStatDto {
@ApiModelProperty("异常原因")
String cause;
@ApiModelProperty("异常原因")
@ApiModelProperty("异常数量")
Integer ct=0;
}
......
......@@ -68,32 +68,6 @@ public class KanbanAbnormalService {
workunitQuery.eq("enable_flag", "Y");
int workunitCt = workunitMapper.selectCount(workunitQuery);
rst.setEquipCt(workunitCt-abnormalEquipCt);
// List<QcAbnormalReportDto> unqualifiedAbnormal = abnormalTypeMap.getOrDefault(QcAbnormalTypeEnum.UNQUALIFIED_REASON.getType(), new ArrayList<>());
// //按不合格原因分组
// Map<String, List<QcAbnormalReportDto>> unqualifiedAbnormalMap = unqualifiedAbnormal.stream().collect(Collectors.groupingBy(s->s.getAbnormalReason()));
// //查询不合格原因
// QcAbnormalInformation qcAbnormalInformationQuery = new QcAbnormalInformation();
// qcAbnormalInformationQuery.setAbnormalType(QcAbnormalTypeEnum.UNQUALIFIED_REASON.getType());
// List<QcAbnormalInformation> abnormalInfoList = abnormalInformationService.selectQcAbnormalInformationList(qcAbnormalInformationQuery);
// LinkedHashMap<String, Integer> unqualifiedAbnormalRstMap = new LinkedHashMap<>();
// List<AbnormalMonthStatDto.AbnormalCauseStat> abnormalCauseStats = new ArrayList<>();
// abnormalInfoList.forEach(s->{
// if(!unqualifiedAbnormalMap.containsKey(s.getAbnormalReason())){
// unqualifiedAbnormalRstMap.put(s.getAbnormalReason(), 0);
// }else {
// unqualifiedAbnormalRstMap.put(s.getAbnormalReason(), unqualifiedAbnormalMap.get(s.getAbnormalReason()).size());
// }
// });
// Map<String,Integer> queueUnqualifiedMap = MapUtil.sortByValue(unqualifiedAbnormalRstMap, true);
// queueUnqualifiedMap.forEach((k,v)->{
// abnormalCauseStats.add(new AbnormalMonthStatDto.AbnormalCauseStat(){
// {
// setCt(v);
// setCause(k);
// }
// });
// });
// rst.setAbnormalCauseData(abnormalCauseStats);
//查询七天内设备异常,按天统计
Calendar last7Day = Calendar.getInstance();
last7Day.set(Calendar.DATE, -6);
......
package com.ximai.mes.pro.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ximai.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
* 生产报工记录对象 pro_feedback
*
* @date 2022-07-10
*/
@Data
public class ProFeedbackDto {
private static final long serialVersionUID = 1L;
/**
* 记录ID
*/
private Long recordId;
/**
* 报工单编号
*/
private String feedbackCode;
private String assistProcessCode;
/**
* 报工类型
*/
private String feedbackType;
/**
* 工作中心ID
*/
@Excel(name = "工作中心ID")
private Long workstationId;
/**
* 工作中心编号
*/
@Excel(name = "工作中心编号")
private String workstationCode;
/**
* 工作中心名称
*/
@Excel(name = "工作中心名称")
private String workstationName;
/**
* 工序ID
*/
private Long processId;
/**
* 工序编码
*/
@Excel(name = "工序编码")
private String processCode;
/**
* 工序名称
*/
@Excel(name = "工序名称")
private String processName;
private String isCheck;
/**
* 生产工单ID
*/
@Excel(name = "生产工单ID")
private Long workorderId;
/**
* 生产工单编号
*/
@Excel(name = "生产工单编号")
private String workorderCode;
/**
* 生产工单名称
*/
@Excel(name = "生产工单名称")
private String workorderName;
/**
* 生产任务ID
*/
@Excel(name = "生产任务ID")
private Long taskId;
/**
* 生产任务编号
*/
@Excel(name = "生产任务编号")
private String taskCode;
/**
* 产品物料ID
*/
@Excel(name = "产品物料ID")
private Long itemId;
/**
* 产品物料编码
*/
@Excel(name = "产品物料编码")
private String itemCode;
/**
* sap产品物料编码
*/
@Excel(name = "sap产品物料编码")
private String sapItemCode;
/**
* 产品物料名称
*/
@Excel(name = "产品物料名称")
private String itemName;
/**
* 规格型号
*/
@Excel(name = "规格型号")
private String specification;
/**
* 单位
*/
@Excel(name = "单位")
private String unitOfMeasure;
/**
* 排产数量
*/
@Excel(name = "排产数量")
private BigDecimal quantity;
/**
* 本次报工数量
*/
@Excel(name = "本次报工数量")
private BigDecimal quantityFeedback;
/**
* 合格品数量
*/
@Excel(name = "合格品数量")
private BigDecimal quantityQualify;
/**
* 不良品数量
*/
@Excel(name = "不良品数量")
private BigDecimal quantityUnqualify;
@Excel(name = "待检测数量")
private BigDecimal quantityUncheck;
/**
* 报工用户名
*/
@Excel(name = "报工用户名")
private String userName;
/**
* 昵称
*/
@Excel(name = "昵称")
private String nickName;
/**
* 报工途径
*/
@Excel(name = "报工途径")
private String feedbackChannel;
/**
* 报工时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "报工时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date feedbackTime;
/**
* 审批人员
*/
@Excel(name = "审批人员")
private String recordUser;
/**
* 审批人员名称
*/
@Excel(name = "审批人员名称")
private String recordNick;
/**
* 状态
*/
@Excel(name = "状态")
private String status;
/**
* 预留字段1
*/
private String attr1;
/**
* 预留字段2
*/
private String attr2;
/**
* 预留字段3
*/
private Long attr3;
/**
* 预留字段4
*/
private Long attr4;
private Date startTime;
private String arrangeCode;
@ApiModelProperty("派工表ID")
private Long taskWorkunitId;
@ApiModelProperty("生产工单指令表ID")
private Long workorderSoDirectiveId;
@ApiModelProperty("生产工单尺码表ID")
private Long workorderSoSizeItemId;
@ApiModelProperty("生产工单尺码表ID集合")
private String workorderSoSizeItemIds;
@ApiModelProperty("生产工单尺码表集合")
private String workorderSoSizes;
@ApiModelProperty("净重")
private BigDecimal netWeight;
@ApiModelProperty("已入库数量")
private BigDecimal quantityStorage;
@ApiModelProperty("指令号")
private String clientCmd;
@ApiModelProperty("标准size号")
private String standardSize;
@ApiModelProperty("作业单元id")
private Long workunitId;
@ApiModelProperty("作业单元名称")
private String workunitName;
@ApiModelProperty("创建人")
private String createBy;
@ApiModelProperty("创建时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
private Date updateTime;
private Integer closeType;
@ApiModelProperty("包装标签二维码")
private String qrcode;
private Long abnormalId;
/** 异常类型 */
private String abnormalType;
/** 异常原因 */
private String abnormalReason;
/** 异常原因 备注*/
private String abnormalRemark;
}
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;
/**
* 任务工作单元对象 ProTaskWorkunitDto
*
* @author chicheng.li
* @date 2024-11-07
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ProTaskWorkunitDto extends BaseEntity {
private static final long serialVersionUID = 1L;
@TableField
@ApiModelProperty("生产任务ID")
private Long taskWorkunitId;
/**
* 任务ID
*/
@Excel(name = "任务ID")
private Long taskId;
@TableField(exist = false)
private List<Long> taskIds;
@TableField(exist = false)
private String taskWorkunitCode;
@TableField(exist = false)
private Long duration;
/**
* 顺序号
*/
@Excel(name = "顺序号")
private Long idx;
/**
* 工作单元ID
*/
@Excel(name = "工作单元ID")
@ApiModelProperty("工作单元ID")
private Long workunitId;
private Long sourceTaskWorkunidId;
/**
* 单位
*/
@Excel(name = "单位")
private String unitOfMeasure;
/**
* 排产数量
*/
@Excel(name = "排产数量")
@ApiModelProperty("排产数量")
private BigDecimal quantity;
/**
* 已生产数量
*/
@Excel(name = "已生产数量")
@ApiModelProperty("已生产数量")
private BigDecimal quantityProduced;
/**
* 合格品数量
*/
@Excel(name = "合格品数量")
private BigDecimal quantityQualify;
/**
* 不良品数量
*/
@Excel(name = "不良品数量")
private BigDecimal quantityUnqualify;
/**
* 调整数量
*/
@Excel(name = "调整数量")
private BigDecimal quantityChanged;
/**
* 生产任务状态
*/
@ApiModelProperty("状态")
private String status;
private Integer taskType;
/**
* 预计开始时间
*/
@ApiModelProperty("计划开始时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date scheduleStartDate;
/**
* 预计结束时间
*/
@ApiModelProperty("计划结束时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date scheduleEndDate;
@ApiModelProperty("实际开始时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date actualStartDate;
@ApiModelProperty("实际结束时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date actualEndDate;
@ApiModelProperty("备注")
private String remark;
@TableField(exist = false)
private Long processId;
@ApiModelProperty("工序名")
@TableField(exist = false)
private String processName;
@TableField(exist = false)
@ApiModelProperty("作业单元编码")
private String workunitCode;
@TableField(exist = false)
@ApiModelProperty("作业单元名称")
private String workunitName;
@TableField(exist = false)
@ApiModelProperty("任务编码")
private String taskCode;
//
// @TableField(exist = false)
// private int lastAssistProcess;
@TableField(exist = false)
@ApiModelProperty("产品物料编码")
@Excel(name = "产品物料编码")
private String itemCode;
@TableField(exist = false)
@ApiModelProperty("产品物料名称")
@Excel(name = "产品物料名称")
private String itemName;
@TableField(exist = false)
@ApiModelProperty("规格型号")
@Excel(name = "规格型号")
private String specification;
@TableField(exist = false)
@ApiModelProperty("工作中心名称")
@Excel(name = "工作中心名称")
private String workstationName;
@ApiModelProperty("工作中心ID")
@Excel(name = "工作中心ID")
private Long workstationId;
@ApiModelProperty("工作中心ID")
@Excel(name = "工作中心ID")
private String workstationCode;
@ApiModelProperty("外包单价")
private BigDecimal outsourceUnitPrice;
@ApiModelProperty("是否委外,1:是,0:否")
private Integer outsourced;
@ApiModelProperty("供应商ID")
private Long vendorId;
@ApiModelProperty("供应商名称")
private String vendorName;
@TableField(exist = false)
@ApiModelProperty("编排单号")
private String arrangeCode;
@TableField(exist = false)
@ApiModelProperty("工单编号")
private String workorderCode;
@TableField(exist = false)
@ApiModelProperty("待生产数量")
private BigDecimal quantityWait;
private int percent;
@ApiModelProperty("订单单号")
private String orderCode;
@ApiModelProperty("项目号")
private String customerProjectNo;
@ApiModelProperty("任务批号")
private String taskBatch;
@ApiModelProperty("标准工时")
private BigDecimal stdWorkingTime;
@ApiModelProperty("工时单位")
private String stdWorkingTimeUom;
@ApiModelProperty("单价")
private BigDecimal unitPrice;
}
......@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ximai.mes.pro.domain.ProFeedback;
import com.ximai.mes.pro.domain.vo.ProFeedbackVo;
import com.ximai.mes.pro.domain.vo.ProProcessTaskVo;
import com.ximai.mes.pro.dto.ProFeedbackDto;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.springframework.security.core.parameters.P;
......@@ -38,7 +39,7 @@ public interface ProFeedbackMapper {
* @param query 生产报工记录
* @return 生产报工记录集合
*/
@Select(value = "select * from pro_feedback\n" +
@Select(value = "select * from pro_feedback f\n" +
"${ew.customSqlSegment}")
List<ProFeedback> selectListByQw(@Param("ew") QueryWrapper<ProFeedback> query);
......@@ -62,6 +63,13 @@ public interface ProFeedbackMapper {
"${ew.customSqlSegment}")
List<ProFeedbackVo> queryProFeedbackListJoinTaskWorkUnit(@Param("ew") QueryWrapper<ProFeedback> query);
@Select(value = "SELECT f.* FROM pro_feedback f\n" +
"\tLEFT JOIN pro_task_workunit tw ON tw.task_workunit_id = f.task_workunit_id\n" +
"${ew.customSqlSegment}")
List<ProFeedbackDto> queryProFeedbackDtoJoinTaskWorkUnit(@Param("ew") QueryWrapper<ProFeedback> query);
/**
* 新增生产报工记录
*
......
......@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
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 org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
......@@ -159,6 +160,16 @@ public interface ProTaskWorkunitMapper {
"${ew.customSqlSegment} ")
List<ProTaskWorkunit> selectTaskWorkUnitJoinTask(@Param("ew") QueryWrapper<ProTaskWorkunit> query);
@Select(value = "select t.task_code, t.task_name, t.task_batch\n" +
"\t, t.workstation_id, t.workstation_code\n" +
"\t, t.process_id, t.process_code, t.process_name\n" +
"\t, t.item_id, t.specification, t.unit_of_measure\n" +
"\t, ptw.*\n"+
"from pro_task_workunit ptw\n" +
"\tleft join pro_task t on ptw.task_id = t.task_id\n" +
"${ew.customSqlSegment} ")
List<ProTaskWorkunitDto> selectTaskWorkUnitDtoJoinTask(@Param("ew") QueryWrapper<ProTaskWorkunit> query);
@Select(value = "select ptw.*,pf.record_id from pro_task_workunit ptw left join pro_feedback pf on ptw.task_workunit_id = pf.task_workunit_id ${ew.customSqlSegment} ")
List<ProTaskWorkunit> selectTaskWorkUnitJoinFeedback(@Param("ew") QueryWrapper<ProTaskWorkunit> query);
......@@ -167,4 +178,14 @@ public interface ProTaskWorkunitMapper {
"left join pro_task_workunit ptw on ptw.task_id = t.task_id \n" +
" ${ew.customSqlSegment} ")
List<ProWorkorder> selectWorkorderTaskByQw(@Param("ew") QueryWrapper<ProTaskWorkunit> query);
/**
* 统计完工数量
* @param query
* @return
*/
@Select(value = "select sum(quantity) quantity,sum(quantity_produced) quantity_produced,sum(quantity_qualify) quantity_qualify,sum(quantity_unqualify) quantity_unqualify" +
" from pro_task_workunit ptw \n" +
" ${ew.customSqlSegment} ")
ProWorkorder statTaskWorkunitQuantity(@Param("ew") QueryWrapper<ProTaskWorkunit> query);
}
......@@ -9,6 +9,7 @@ import com.ximai.mes.pro.domain.vo.ProFeedbackVo;
import com.ximai.mes.pro.domain.vo.ProPackagePrintResult;
import com.ximai.mes.pro.domain.vo.feedbackTaskVo;
import com.ximai.mes.pro.domain.vo.task.FeedbackValidateSerialNoParams;
import com.ximai.mes.pro.dto.ProFeedbackDto;
import java.util.LinkedHashMap;
import java.util.List;
......@@ -42,6 +43,13 @@ public interface IProFeedbackService {
* @return 生产报工记录集合
*/
List<ProFeedbackVo> queryProFeedbackListJoinTaskWorkUnit(QueryWrapper<ProFeedback> query);
/**
* 查询生产报工记录列表
*
* @param query 生产报工记录
* @return 生产报工记录集合
*/
List<ProFeedbackDto> queryProFeedbackDtoJoinTaskWorkUnit(QueryWrapper<ProFeedback> query);
/**
* 查询生产报工记录列表
......
......@@ -34,6 +34,7 @@ import com.ximai.mes.pro.domain.vo.ProFeedbackVo;
import com.ximai.mes.pro.domain.vo.ProPackagePrintResult;
import com.ximai.mes.pro.domain.vo.feedbackTaskVo;
import com.ximai.mes.pro.domain.vo.task.FeedbackValidateSerialNoParams;
import com.ximai.mes.pro.dto.ProFeedbackDto;
import com.ximai.mes.pro.mapper.*;
import com.ximai.mes.pro.mapper.proWorkOrder.ProWorkOrderProcessItemMapper;
import com.ximai.mes.pro.mapper.proWorkOrder.ProWorkorderMapper;
......@@ -288,6 +289,11 @@ public class ProFeedbackServiceImpl implements IProFeedbackService {
return proFeedbackMapper.queryProFeedbackListJoinTaskWorkUnit(query);
}
@Override
public List<ProFeedbackDto> queryProFeedbackDtoJoinTaskWorkUnit(QueryWrapper<ProFeedback> query) {
return proFeedbackMapper.queryProFeedbackDtoJoinTaskWorkUnit(query);
}
/**
* 查询生产报工记录列表
*
......
......@@ -24,6 +24,7 @@ import com.ximai.mes.pro.domain.vo.task.TaskWorkunitOutsourceSplitParam;
import com.ximai.mes.pro.domain.vo.task.TaskWorkunitToOutsourceParam;
import com.ximai.mes.pro.domain.vo.task.TaskWorkunitToSelfMadeParam;
import com.ximai.mes.pro.dto.task.ProTaskWorkunitConvertRecordCreate;
import com.ximai.mes.pro.dto.task.ProTaskWorkunitDto;
import com.ximai.mes.pro.mapper.ProArrangeMapper;
import com.ximai.mes.pro.mapper.ProFeedbackMapper;
import com.ximai.mes.pro.mapper.proWorkOrder.ProWorkorderMapper;
......@@ -268,6 +269,11 @@ public class ProTaskWorkunitServiceImpl implements IProTaskWorkunitService {
return proTaskWorkunitMapper.selectTaskWorkUnitJoinTask(query);
}
@Override
public List<ProTaskWorkunitDto> selectTaskWorkUnitDtoJoinTask(QueryWrapper<ProTaskWorkunit> query) {
return proTaskWorkunitMapper.selectTaskWorkUnitDtoJoinTask(query);
}
@Override
public ProTaskWorkunit queryTaskScheduledForearliest(Long taskId) {
return proTaskWorkunitMapper.selectTaskScheduledForearliest(taskId);
......
......@@ -10,6 +10,7 @@ import com.ximai.mes.pro.domain.vo.task.ProTaskWorkunitQuery;
import com.ximai.mes.pro.domain.vo.task.TaskWorkunitOutsourceSplitParam;
import com.ximai.mes.pro.domain.vo.task.TaskWorkunitToOutsourceParam;
import com.ximai.mes.pro.domain.vo.task.TaskWorkunitToSelfMadeParam;
import com.ximai.mes.pro.dto.task.ProTaskWorkunitDto;
import org.apache.ibatis.annotations.Param;
import org.springframework.transaction.annotation.Transactional;
......@@ -50,6 +51,14 @@ public interface IProTaskWorkunitService {
*/
List<ProTaskWorkunit> selectTaskWorkUnitJoinTask(@Param("ew") QueryWrapper<ProTaskWorkunit> query);
/**
* 查询任务工作单元列表
*
* @param query
* @return 任务工作单元集合
*/
List<ProTaskWorkunitDto> selectTaskWorkUnitDtoJoinTask(@Param("ew") QueryWrapper<ProTaskWorkunit> query);
List<ProTaskWorkunit> queryScheduledTasksBeenReported(ProTaskWorkunit proTaskWorkunit);
......
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