Commit 9c98ce6a authored by 李驰骋's avatar 李驰骋

Merge remote-tracking branch 'origin/dev' into dev

parents bc7b7ba8 19b1a5ac
......@@ -69,29 +69,34 @@ public class ProFeedback extends BaseEntity {
* 工作中心ID
*/
@Excel(name = "工作中心ID")
@ApiModelProperty( "工单类型")
private Long workstationId;
/**
* 工作中心编号
*/
@Excel(name = "工作中心编号")
@ApiModelProperty( "工单类型")
private String workstationCode;
/**
* 工作中心名称
*/
@Excel(name = "工作中心名称")
@ApiModelProperty( "工单类型")
private String workstationName;
/**
* 工序ID
*/
@ApiModelProperty( "工单类型")
private Long processId;
/**
* 工序编码
*/
@Excel(name = "工序编码")
@ApiModelProperty( "工单类型")
private String processCode;
/**
......@@ -114,12 +119,14 @@ public class ProFeedback extends BaseEntity {
* 生产工单编号
*/
@Excel(name = "生产工单编号")
@ApiModelProperty( "生产工单编号")
private String workorderCode;
/**
* 生产工单名称
*/
@Excel(name = "生产工单名称")
@ApiModelProperty( "生产工单名称")
private String workorderName;
/**
......@@ -132,6 +139,7 @@ public class ProFeedback extends BaseEntity {
* 生产任务编号
*/
@Excel(name = "生产任务编号")
@ApiModelProperty( "生产任务编号")
private String taskCode;
/**
......@@ -144,30 +152,35 @@ public class ProFeedback extends BaseEntity {
* 产品物料编码
*/
@Excel(name = "产品物料编码")
@ApiModelProperty( "产品物料编码")
private String itemCode;
/**
* sap产品物料编码
*/
@Excel(name = "sap产品物料编码")
@ApiModelProperty( "sap产品物料编码")
private String sapItemCode;
/**
* 产品物料名称
*/
@Excel(name = "产品物料名称")
@ApiModelProperty( "产品物料名称")
private String itemName;
/**
* 规格型号
*/
@Excel(name = "规格型号")
@ApiModelProperty( "规格型号")
private String specification;
/**
* 单位
*/
@Excel(name = "单位")
@ApiModelProperty( "单位")
private String unitOfMeasure;
......@@ -175,40 +188,47 @@ public class ProFeedback extends BaseEntity {
* 排产数量
*/
@Excel(name = "排产数量")
@ApiModelProperty( "排产数量")
private BigDecimal quantity;
/**
* 本次报工数量
*/
@Excel(name = "本次报工数量")
@ApiModelProperty( "本次报工数量")
private BigDecimal quantityFeedback;
/**
* 合格品数量
*/
@Excel(name = "合格品数量")
@ApiModelProperty( "合格品数量")
private BigDecimal quantityQualify;
/**
* 不良品数量
*/
@Excel(name = "不良品数量")
@ApiModelProperty( "不良品数量")
private BigDecimal quantityUnqualify;
@Excel(name = "待检测数量")
@ApiModelProperty( "待检测数量")
private BigDecimal quantityUncheck;
/**
* 报工用户名
*/
@Excel(name = "报工用户名")
@ApiModelProperty( "报工用户名")
private String userName;
private String userId;
/**
* 昵称
*/
@Excel(name = "昵称")
@Excel(name = "报工用户昵称")
@ApiModelProperty( "报工用户昵称")
private String nickName;
/**
......@@ -230,12 +250,14 @@ public class ProFeedback extends BaseEntity {
* 审批人员
*/
@Excel(name = "审批人员")
@ApiModelProperty( "审批人员")
private String recordUser;
/**
* 审批人员名称
*/
@Excel(name = "审批人员名称")
@ApiModelProperty( "审批人员名称")
private String recordNick;
/**
......@@ -314,16 +336,21 @@ public class ProFeedback extends BaseEntity {
private String sapRequestParam;
private String sapResponse;
@ApiModelProperty( "异常原因ID")
private Long abnormalId;
/** 异常类型 */
@ApiModelProperty( "异常类型")
private String abnormalType;
/** 异常原因 */
@ApiModelProperty( "异常原因")
private String abnormalReason;
/** 异常原因 备注*/
@ApiModelProperty( "异常原因 备注")
private String abnormalRemark;
@ApiModelProperty( "是否最后一次报工")
private Boolean lastFeedback;
......
......@@ -7,6 +7,7 @@ import com.ximai.mes.pro.domain.vo.ProProcessTaskVo;
import com.ximai.mes.pro.dto.ProFeedbackDto;
import com.ximai.mes.report.request.FeedbackRequest;
import com.ximai.mes.report.response.FeedbackResponse;
import com.ximai.mes.report.response.WorkOrderProgressFeedbackListResponse;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.springframework.security.core.parameters.P;
......@@ -138,5 +139,10 @@ public interface ProFeedbackMapper {
List<FeedbackResponse> getListByUser(FeedbackRequest feedbackRequest);
List<FeedbackResponse> getListByDefect(FeedbackRequest feedbackRequest);
int selectCount(@Param("taskIds")List<Long> taskIds);
List<WorkOrderProgressFeedbackListResponse> getFeedbackList(@Param("workorderCode")String workorderCode,@Param("taskId") Long taskId);
}
......@@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ximai.mes.pro.domain.proWorkOrder.ProWorkorder;
import com.ximai.mes.pro.domain.task.ProTask;
import com.ximai.mes.pro.domain.vo.*;
import com.ximai.mes.report.request.WorkOrderProgressRequest;
import com.ximai.mes.report.response.WorkOrderProgressListResponse;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
......@@ -150,4 +152,6 @@ public interface ProWorkorderMapper extends BaseMapper<ProWorkorder> {
int updateProductionSolution(@Param("productionSolutionId") Long productionSolutionId, @Param("productionSolutionCode")String productionSolutionCode, @Param("productionSolutionName")String productionSolutionName,@Param("workorderId")Long workorderId);
void rollBACKschedule(@Param("workorderCode")String workorderCode, @Param("quantity")BigDecimal quantity, @Param("username")String username);
List<WorkOrderProgressListResponse> getWorkOrderProgressServiceList(WorkOrderProgressRequest workOrderProgressRequest);
}
......@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ximai.mes.pro.domain.task.ProTask;
import com.ximai.mes.pro.domain.vo.ProTaskVo;
import com.ximai.mes.report.response.WorkOrderProgressProcessListResponse;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
......@@ -197,4 +198,6 @@ public interface ProTaskMapper extends BaseMapper<ProTask> {
List<ProTask> selectByTaskBatch(@Param("taskBatch")String taskBatch);
void deleteByTaskBatch(@Param("taskBatch")String taskBatch);
List<WorkOrderProgressProcessListResponse> getProcessList(@Param("workorderCode")String workorderCode);
}
......@@ -16,6 +16,7 @@ import com.ximai.mes.pro.dto.ProProductQrcodeRecordCreate;
import com.ximai.mes.pro.dto.ProProductQrcodeRecordUpdate;
import com.ximai.mes.pro.dto.ProProductQrcodeRecordDto;
import com.ximai.mes.pro.service.IProProductQrcodeRecordService;
import org.springframework.transaction.annotation.Transactional;
/**
* 产品序列号打印记录Service业务层处理
......@@ -138,6 +139,7 @@ public class ProProductQrcodeRecordServiceImpl implements IProProductQrcodeRecor
}
@Override
@Transactional
public int addPrintTime(List<Long> proProductQrcodeRecordUpdateList) {
if(proProductQrcodeRecordUpdateList.size() < 1)
return 0;
......
......@@ -28,6 +28,7 @@ import com.ximai.system.strategy.AutoCodeUtil;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.List;
......@@ -183,6 +184,7 @@ public class QcAbnormalReportServiceImpl implements IQcAbnormalReportService {
* @return 结果
*/
@Override
@Transactional
public void updateQcAbnormalReportAbmornalStatud(QcAbnormalReport qcAbnormalReportInput) {
QcAbnormalReport qcAbnormalReport = qcAbnormalReportMapper.selectQcAbnormalReportByAbnormalReportId(qcAbnormalReportInput.getAbnormalReportId());
if(qcAbnormalReportInput.getAbnormalStatus().equals("CLOSE")){
......@@ -221,6 +223,7 @@ public class QcAbnormalReportServiceImpl implements IQcAbnormalReportService {
}
@Override
@Transactional
public void start(Long abnormalReportIds) {
QcAbnormalReport qcAbnormalReport = qcAbnormalReportMapper.selectQcAbnormalReportByAbnormalReportId(abnormalReportIds);
if(qcAbnormalReport == null)
......
package com.ximai.mes.report.controller;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
public class DefectReportController {
}
package com.ximai.mes.report.controller;
import com.ximai.common.annotation.Log;
import com.ximai.common.core.controller.BaseController;
import com.ximai.common.core.page.TableDataInfo;
import com.ximai.common.enums.BusinessType;
import com.ximai.mes.report.request.FeedbackRequest;
import com.ximai.mes.report.request.WorkOrderProgressRequest;
import com.ximai.mes.report.response.FeedbackResponse;
import com.ximai.mes.report.response.WorkOrderProgressFeedbackListResponse;
import com.ximai.mes.report.response.WorkOrderProgressListResponse;
import com.ximai.mes.report.response.WorkOrderProgressProcessListResponse;
import com.ximai.mes.report.service.WorkOrderProgressService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@Api("生产进度")
@RestController
@RequestMapping("/report/pro/workOrderProgress")
public class WorkOrderProgressController extends BaseController {
@Autowired
WorkOrderProgressService workOrderProgressService;
@ApiOperation("生产进度:明细界面")
@PreAuthorize("@ss.hasPermi('mes:pro:feedback:get')")
@Log(title = "生产进度:明细界面", businessType = BusinessType.QUERY)
@GetMapping("/getList")
public TableDataInfo<WorkOrderProgressListResponse> getList( WorkOrderProgressRequest workOrderProgressRequest) {
startPage();
List<WorkOrderProgressListResponse> workOrderProgressListResponses = workOrderProgressService.getList(workOrderProgressRequest);
return getDataTable(workOrderProgressListResponses);
}
@ApiOperation("生产进度:工序明细")
@PreAuthorize("@ss.hasPermi('mes:pro:feedback:get')")
@Log(title = "生产进度:工序明细", businessType = BusinessType.QUERY)
@GetMapping("/getProcessList")
public TableDataInfo<WorkOrderProgressProcessListResponse> getProcessList(@RequestParam("workorderCode") String workorderCode) {
List<WorkOrderProgressProcessListResponse> workOrderProgressListResponses = workOrderProgressService.getProcessList(workorderCode);
return getDataTable(workOrderProgressListResponses);
}
@ApiOperation("生产进度:报工明细")
@PreAuthorize("@ss.hasPermi('mes:pro:feedback:get')")
@Log(title = "生产进度:报工明细", businessType = BusinessType.QUERY)
@GetMapping("/getFeedbackList")
public TableDataInfo<WorkOrderProgressFeedbackListResponse> getFeedbackList( Long taskId,@RequestParam("workorderCode") String workorderCode) {
List<WorkOrderProgressFeedbackListResponse> workOrderProgressFeedbackListResponses = workOrderProgressService.getFeedbackList(workorderCode,taskId);
return getDataTable(workOrderProgressFeedbackListResponses);
}
}
......@@ -4,29 +4,16 @@ import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ximai.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
@Data
public class FeedbackRequest {
// 工单类型(下拉选择工单类型)
// 项目号(工单项目号)
// 订单号(工单订单号)
// 生产工单(生产工单号)
// 任务号(工序任务号)
// 产品编码(产品编码)
// 产品名称(点击放大镜单选产品信息,也可直接输入名称执行搜索)
// 工序(点击放大镜单选工序,也可直接输入名称执行搜索)
// 车间(点击放大镜单选车间,也可直接输入名称执行搜索)
// 工作中心(点击放大镜单选工作中心,也可直接输入名称执行搜索)
// 工作单元(点击放大镜单选工作单元,也可直接输入名称执行搜索)
// 报工人员(点击放大镜单选报工人员,也可直接输入名称执行搜索)
// 报工时间(选择开始截至时间)
/**
* 工单类型
*/
@ApiModelProperty(name = "工单类型")
@ApiModelProperty( "工单类型")
private String workorderType;
......@@ -40,45 +27,51 @@ public class FeedbackRequest {
/**
* 工单编码
*/
@ApiModelProperty(name = "工单编码")
@ApiModelProperty( "工单编码")
private String workorderCode;
/**
* 任务编号
*/
@ApiModelProperty(name = "工序任务号")
@ApiModelProperty( "工序任务号")
private String taskCode;
/**
* 产品编号
*/
@ApiModelProperty(name = "产品编号")
@ApiModelProperty( "产品编号")
private String productCode;
/**
* 产品编号
*/
@ApiModelProperty(name = "产品编号")
@ApiModelProperty( "产品编号")
private String productId;
/**
* 产品名称
*/
@ApiModelProperty(name = "产品名称")
@ApiModelProperty( "产品名称")
private String productName;
/**
* 工序ID
*/
@ApiModelProperty(name = "工序ID")
@ApiModelProperty( "工序ID")
private Long processId;
/**
* 工序编码
*/
@ApiModelProperty(name = "工序编码")
@ApiModelProperty( "工序编码")
private String processCode;
/**
* 工序编码
*/
@ApiModelProperty( "工序名称")
private String processName;
/**
* 车间ID
*/
......@@ -90,14 +83,14 @@ public class FeedbackRequest {
/**
* 工作中心ID
*/
@ApiModelProperty(name = "工作中心ID")
@ApiModelProperty( "工作中心ID")
private Long workstationId;
/**
* 工作中心名称
*/
@ApiModelProperty(name = "工作中心名称")
@ApiModelProperty( "工作中心名称")
private String workstationName;
/**
......@@ -111,9 +104,13 @@ public class FeedbackRequest {
@ApiModelProperty("报工人员")
@ApiModelProperty("报工人员名称")
private String userName;
@ApiModelProperty("报工人员昵称")
private String nickName;
@ApiModelProperty("报工开始")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date startDate;
......@@ -121,4 +118,17 @@ public class FeedbackRequest {
@ApiModelProperty("报工结束")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date endDate;
@ApiModelProperty("是否筛查不良")
private Boolean defectStatus;
@ApiModelProperty("不良原因描述")
private String abnormalReason;
@ApiModelProperty("不良原因ID")
private Long abnormalId;
}
package com.ximai.mes.report.request;
import com.ximai.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class WorkOrderProgressRequest {
/**
* 项目号(工单项目号)
* 订单号(工单订单号)
* 生产工单(生产工单号)
* 产品编码(产品编码)
* 产品名称(点击放大镜单选产品信息,也可直接输入名称执行搜索)
*/
@ApiModelProperty("客户项目号")
private String customerProjectNo;
@ApiModelProperty("订单单号")
private String orderCode;
@ApiModelProperty( "工单编码")
private String workorderCode;
/**
* 产品ID
*/
@ApiModelProperty( "产品ID")
private Long productId;
/**
* 产品编号
*/
@Excel(name = "产品编号")
@ApiModelProperty( "产品编号")
private String productCode;
/**
* 产品名称
*/
@ApiModelProperty( "产品名称")
private String productName;
}
......@@ -27,7 +27,7 @@ public class FeedbackResponse extends ProFeedback {
/**
* 工单类型
*/
@ApiModelProperty(name = "工单类型")
@ApiModelProperty( "工单类型")
private String workorderType;
@ApiModelProperty("客户项目号")
......@@ -36,27 +36,27 @@ public class FeedbackResponse extends ProFeedback {
@ApiModelProperty("订单单号")
private String orderCode;
@ApiModelProperty(name = "工单编码")
@ApiModelProperty( "工单编码")
private String workorderCode;
@ApiModelProperty(name = "工单名称")
@ApiModelProperty( "工单名称")
private String workorderName;
/**
* 产品编号
*/
@ApiModelProperty(name = "产品编号")
@ApiModelProperty( "产品编号")
private String productCode;
/**
* 产品名称
*/
@ApiModelProperty(name = "产品名称")
@ApiModelProperty( "产品名称")
private String productName;
/**
* 任务编号
*/
@ApiModelProperty(name = "工序任务号")
@ApiModelProperty( "工序任务号")
private String taskCode;
......@@ -64,25 +64,25 @@ public class FeedbackResponse extends ProFeedback {
/**
* 工序名称
*/
@ApiModelProperty(name = "工序编码")
@ApiModelProperty( "工序编码")
private String processCode;
/**
* 工序名称
*/
@ApiModelProperty(name = "工序名称")
@ApiModelProperty( "工序名称")
private String processName;
/**
* 工作中心编号
*/
@ApiModelProperty(name = "工作中心编号")
@ApiModelProperty( "工作中心编号")
private String workstationCode;
/**
* 工作中心名称
*/
@ApiModelProperty(name = "工作中心名称")
@ApiModelProperty( "工作中心名称")
private String workstationName;
......@@ -110,32 +110,35 @@ public class FeedbackResponse extends ProFeedback {
/**
* 排产数量
*/
@ApiModelProperty(name = "派工数量")
@ApiModelProperty( "派工数量")
private BigDecimal quantity;
/**
* 本次报工数量
*/
@ApiModelProperty(name = "本次报工数量")
@ApiModelProperty( "本次报工数量")
private BigDecimal quantityFeedback;
/**
* 合格品数量
*/
@ApiModelProperty(name = "合格品数量")
@ApiModelProperty( "合格品数量")
private BigDecimal quantityQualify;
/**
* 不良品数量
*/
@ApiModelProperty(name = "不良品数量")
@ApiModelProperty( "不良品数量")
private BigDecimal quantityUnqualify;
/** 异常原因 */
@ApiModelProperty(name = "异常原因")
@ApiModelProperty( "异常原因")
private String abnormalReason;
@ApiModelProperty("异常备注")
private String abnormalRemark;
@ApiModelProperty("标准工时")
private BigDecimal stdWorkingTime;
......@@ -152,7 +155,7 @@ public class FeedbackResponse extends ProFeedback {
* 报工时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(name = "报工时间")
@ApiModelProperty( "报工时间")
private Date feedbackTime;
......@@ -163,4 +166,8 @@ public class FeedbackResponse extends ProFeedback {
@ApiModelProperty("车间名称")
private String workshopName;
}
package com.ximai.mes.report.response;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
@Data
public class WorkOrderProgressFeedbackListResponse {
//报工人员,报工数量,合格数量,不合格数量,标准工时,实际工时,报工时间
@ApiModelProperty("报工人员")
private String nickName;
@ApiModelProperty("报工数量")
private BigDecimal quantityFeedback;
@ApiModelProperty("合格数量")
private BigDecimal quantityQualify;
@ApiModelProperty("不合格数量")
private BigDecimal quantityUnqualify;
@ApiModelProperty("标准工时")
private BigDecimal stdWorkingTime;
@ApiModelProperty("实际工时")
private BigDecimal machineTime;
@ApiModelProperty("报工时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date feedbackTime;
}
package com.ximai.mes.report.response;
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;
@Data
public class WorkOrderProgressListResponse {
private Long workorderId;
/**
* 项目号,订单号,生产工单,工单类型,产品编码,产品名称,计划数量,完工数量,在制进度(百分比),需求实际
*/
@ApiModelProperty("客户项目号")
private String customerProjectNo;
@ApiModelProperty("订单单号")
private String orderCode;
@ApiModelProperty( "工单编码")
private String workorderCode;
/**
* 工单类型
*/
@ApiModelProperty( "工单类型")
private String workorderType;
/**
* 产品编号
*/
@ApiModelProperty( "产品编号")
private String productCode;
/**
* 产品名称
*/
@ApiModelProperty( "产品名称")
private String productName;
@ApiModelProperty("计划数量")
private BigDecimal quantity;
/**
* 已生产数量
*/
@ApiModelProperty("已生产数量")
private BigDecimal quantityProduced;
/**
* 已生产数量
*/
@ApiModelProperty("在制进度")
private BigDecimal quantityMu;
@ApiModelProperty("需求时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date requestDate;
}
package com.ximai.mes.report.response;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class WorkOrderProgressProcessListResponse {
//状态(未开始,加工中,已完成)工序名称,派工数量,报工数量,合格数量,不合格数量,合格率
@ApiModelProperty("状态")
private String status;
@ApiModelProperty("工序名称")
private String processName;
@ApiModelProperty("派工数量")
private BigDecimal quantity;
@ApiModelProperty("报工数量")
private BigDecimal quantityProduced;
@ApiModelProperty("合格数量")
private BigDecimal quantityQualify;
@ApiModelProperty("不合格数量")
private BigDecimal quantityUnqualify;
@ApiModelProperty("合格率")
private BigDecimal passRate;
private Long taskId;
}
......@@ -19,4 +19,6 @@ public interface FeedbackService {
List<FeedbackResponse> getListByProcess(FeedbackRequest feedbackRequest);
List<FeedbackResponse> getListByUser(FeedbackRequest feedbackRequest);
List<FeedbackResponse> getListByDefect(FeedbackRequest feedbackRequest);
}
package com.ximai.mes.report.service;
import com.ximai.mes.report.request.WorkOrderProgressRequest;
import com.ximai.mes.report.response.WorkOrderProgressFeedbackListResponse;
import com.ximai.mes.report.response.WorkOrderProgressListResponse;
import com.ximai.mes.report.response.WorkOrderProgressProcessListResponse;
import java.util.List;
public interface WorkOrderProgressService {
List<WorkOrderProgressListResponse> getList(WorkOrderProgressRequest workOrderProgressRequest);
List<WorkOrderProgressProcessListResponse> getProcessList(String workorderCode);
List<WorkOrderProgressFeedbackListResponse> getFeedbackList(String workorderCode,Long taskId);
}
......@@ -49,4 +49,9 @@ public class FeedbackServiceImp implements FeedbackService {
public List<FeedbackResponse> getListByUser(FeedbackRequest feedbackRequest) {
return proFeedbackMapper.getListByUser(feedbackRequest);
}
@Override
public List<FeedbackResponse> getListByDefect(FeedbackRequest feedbackRequest) {
return proFeedbackMapper.getListByDefect(feedbackRequest);
}
}
package com.ximai.mes.report.service.impl;
import com.ximai.mes.constant.TaskStatusEnum;
import com.ximai.mes.pro.domain.ProFeedback;
import com.ximai.mes.pro.domain.proWorkOrder.ProWorkorder;
import com.ximai.mes.pro.mapper.ProFeedbackMapper;
import com.ximai.mes.pro.mapper.proWorkOrder.ProWorkorderMapper;
import com.ximai.mes.pro.mapper.task.ProTaskMapper;
import com.ximai.mes.report.request.WorkOrderProgressRequest;
import com.ximai.mes.report.response.WorkOrderProgressFeedbackListResponse;
import com.ximai.mes.report.response.WorkOrderProgressListResponse;
import com.ximai.mes.report.response.WorkOrderProgressProcessListResponse;
import com.ximai.mes.report.service.WorkOrderProgressService;
import com.ximai.system.service.ISysDictDataService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.text.NumberFormat;
import java.util.List;
@Service
public class WorkOrderProgressServiceImp implements WorkOrderProgressService {
@Autowired
ProWorkorderMapper proWorkorderMapper;
@Autowired
private ISysDictDataService dictDataService;
@Autowired
private ProTaskMapper proTaskMapper;
@Autowired
private ProFeedbackMapper proFeedbackMapper;
@Override
@Transactional
public List<WorkOrderProgressListResponse> getList(WorkOrderProgressRequest workOrderProgressRequest) {
List<WorkOrderProgressListResponse> workOrderProgressListResponses = proWorkorderMapper.getWorkOrderProgressServiceList(workOrderProgressRequest);
for (WorkOrderProgressListResponse workOrderProgressListResponse : workOrderProgressListResponses){
workOrderProgressListResponse.setWorkorderType(dictDataService.getDictLabel("mes_workorder_type", workOrderProgressListResponse.getWorkorderType()));
if(workOrderProgressListResponse.getQuantity() != null && workOrderProgressListResponse.getQuantity().compareTo(BigDecimal.ZERO) >0){
workOrderProgressListResponse.setQuantityProduced(workOrderProgressListResponse.getQuantityProduced() != null ? workOrderProgressListResponse.getQuantityProduced() : BigDecimal.ZERO);
workOrderProgressListResponse.setQuantityMu(workOrderProgressListResponse.getQuantityProduced().divide(workOrderProgressListResponse.getQuantity()).setScale(2, RoundingMode.HALF_UP));
}else{
workOrderProgressListResponse.setQuantityMu(new BigDecimal(100));
}
}
return workOrderProgressListResponses;
}
@Override
public List<WorkOrderProgressProcessListResponse> getProcessList(String workorderCode) {
List<WorkOrderProgressProcessListResponse> workOrderProgressProcessListResponses = proTaskMapper.getProcessList(workorderCode);
for (WorkOrderProgressProcessListResponse workOrderProgressProcessListResponse : workOrderProgressProcessListResponses){
if(workOrderProgressProcessListResponse.equals(TaskStatusEnum.BEGINNING.getStatus())){
workOrderProgressProcessListResponse.setStatus("已开工");
}else if(workOrderProgressProcessListResponse.equals(TaskStatusEnum.FINISHED.getStatus())){
workOrderProgressProcessListResponse.setStatus("已完工");
}else{
workOrderProgressProcessListResponse.setStatus("未开工");
}
if(workOrderProgressProcessListResponse.getQuantityProduced() != null && workOrderProgressProcessListResponse.getQuantityProduced().compareTo(BigDecimal.ZERO) > 0){
workOrderProgressProcessListResponse.setPassRate(workOrderProgressProcessListResponse.getQuantityQualify().
divide(workOrderProgressProcessListResponse.getQuantityProduced(),2, RoundingMode.HALF_UP));
}else{
workOrderProgressProcessListResponse.setPassRate(BigDecimal.ZERO);
}
}
return workOrderProgressProcessListResponses;
}
@Override
public List<WorkOrderProgressFeedbackListResponse> getFeedbackList(String workorderCode,Long taskId) {
List<WorkOrderProgressFeedbackListResponse> workOrderProgressFeedbackListResponses = proFeedbackMapper.getFeedbackList( workorderCode,taskId);
return workOrderProgressFeedbackListResponses;
}
}
......@@ -183,6 +183,17 @@
tw.idx
ORDER BY tw.idx ASC
</select>
<select id="getWorkOrderProgressServiceList"
resultType="com.ximai.mes.report.response.WorkOrderProgressListResponse">
select * from pro_workorder pw
<where>
<if test="workorderCode != null and workorderCode != ''">and pw.workorder_code = #{workorderCode}</if>
<if test="productId != null ">and pw.product_id = #{productId}</if>
<if test="productCode != null and productCode != ''">and pw.product_code = #{productCode}</if>
<if test="orderCode != null and orderCode !=''">and pw.order_code = #{orderCode}</if>
<if test="customerProjectNo != null and customerProjectNo !=''">and pw.customer_project_no = #{customerProjectNo}</if>
</where>
</select>
<insert id="insertProWorkorder" parameterType="ProWorkorder" useGeneratedKeys="true" keyProperty="workorderId">
insert into pro_workorder
......
......@@ -351,6 +351,10 @@
t.task_batch = #{taskBatch}
</where>
</select>
<select id="getProcessList"
resultType="com.ximai.mes.report.response.WorkOrderProgressProcessListResponse">
select * from pro_task where arrange_code = #{workorderCode} order by task_id
</select>
<insert id="insertProTask" parameterType="ProTask" useGeneratedKeys="true" keyProperty="taskId">
insert into pro_task
......
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