检验任务

philip 4 years ago
parent e7bbf36535
commit 2ba6206ac9

@ -8,8 +8,8 @@ public enum DispatchStatusEnum {
PAUSE("PAUSE"),
IMPORT("IMPORT"),
COMPLETE("COMPLETE"),
CANCEL("CANCEL");
CANCEL("CANCEL"),
START("START");
private String code;
DispatchStatusEnum(String code) {

@ -30,4 +30,6 @@ public interface InspectionTaskService extends IService<InspectionTask> {
void save(Map<String, Object> paramMap);
void createTask(Map<String, Object> paramMap);
InspectionTask isCreateTask(String site, String category, String sfc, String operation, String stepId);
}

@ -2,6 +2,7 @@ package com.foreverwin.mesnac.common.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.foreverwin.mesnac.common.dto.SfcDispatchDto;
import com.foreverwin.mesnac.common.model.ProdReadyTask;
import com.foreverwin.modular.core.util.FrontPage;
@ -27,7 +28,7 @@ public interface ProdReadyTaskService extends IService<ProdReadyTask> {
List<ProdReadyTask> selectList(ProdReadyTask prodReadyTask);
void createTask(String sfcDispatchBO, String dispatchStatus, String shopOrder, String sfc,String operation, String resrce, String stepId, String workCenter, String planStartTime);
void createTask(List<SfcDispatchDto> sfcDispatchDtoList);
List<ProdReadyTask> getTaskList(ProdReadyTask queryWrapper);

@ -199,6 +199,7 @@ public class InspectionTaskServiceImpl extends ServiceImpl<InspectionTaskMapper,
task.setSfc(sfc);
save(task);
}
@Override
public InspectionTask isCreateTask(String site,String category,String sfc,String operation ,String stepId) {
//自检/互检 校验是否在当前工序+工序标识 做过检验任务
QueryWrapper<InspectionTask> queryWrapper=new QueryWrapper<>();

@ -1,4 +1,5 @@
package com.foreverwin.mesnac.common.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
@ -6,6 +7,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.foreverwin.mesnac.common.constant.Constants;
import com.foreverwin.mesnac.common.constant.CustomFieldConstant;
import com.foreverwin.mesnac.common.dto.SfcDispatchDto;
import com.foreverwin.mesnac.common.enums.DispatchStatusEnum;
import com.foreverwin.mesnac.common.enums.HandleEnum;
import com.foreverwin.mesnac.common.mapper.ProdReadyTaskMapper;
import com.foreverwin.mesnac.common.model.ProdReadyTask;
@ -28,10 +31,8 @@ import org.springframework.context.i18n.LocaleContextHolder;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
@ -80,22 +81,24 @@ public class ProdReadyTaskServiceImpl extends ServiceImpl<ProdReadyTaskMapper, P
queryWrapper.setEntity(prodReadyTask);
return super.list(queryWrapper);
}
@Override
public void createTask(String sfcDispatchBO, String dispatchStatus, String shopOrder,String sfc, String operation, String resrce, String stepId, String workCenter, String planStartTime) {
public void createTask(List<SfcDispatchDto> sfcDispatchDtoList) {
//根据站点及派工BO查询数据
String site = CommonMethods.getSite();
String user = CommonMethods.getUser();
for (SfcDispatchDto sfcDispatchDto: sfcDispatchDtoList) {
String sfcDispatchBO=sfcDispatchDto.getHandle();
String dispatchStatus=sfcDispatchDto.getDispatchStatus();
String shopOrder=sfcDispatchDto.getShopOrder();
String sfc=sfcDispatchDto.getSfc();
String operation=sfcDispatchDto.getOperation();
String resrce=sfcDispatchDto.getResrce();
String stepId=sfcDispatchDto.getStepId();
String workCenter=sfcDispatchDto.getWorkCenter();
Date planTime = null;
try {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
planTime = dateFormat.parse(planStartTime);
}
catch (Exception e) {
throw new BaseException("工单[" + shopOrder + "]计划开始时间格式错误,请核查!");
}
ShopOrder byId = shopOrderService.getById(HandleEnum.SHOP_ORDER.getHandle(site, shopOrder));
if ("RELEASE".equals(dispatchStatus)) {
if (DispatchStatusEnum.RELEASE.getCode().equals(dispatchStatus)) {
ProdReadyTask prodReadyTask=new ProdReadyTask();
prodReadyTask.setSite(site);
prodReadyTask.setTaskNo(StringUtil.createQUID());
@ -177,7 +180,7 @@ public class ProdReadyTaskServiceImpl extends ServiceImpl<ProdReadyTaskMapper, P
prodReadyTask.setCompleteDateTime(LocalDateTime.now());
}
save(prodReadyTask);
}else if("CANCEL".equals(dispatchStatus)){
}else if(DispatchStatusEnum.CANCEL.getCode().equals(dispatchStatus)){
LambdaQueryWrapper<ProdReadyTask> lambdaQueryWrapper=new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(ProdReadyTask::getSfcDispatchBo,sfcDispatchBO);
lambdaQueryWrapper.orderByDesc(ProdReadyTask::getCreatedDateTime);
@ -195,7 +198,7 @@ public class ProdReadyTaskServiceImpl extends ServiceImpl<ProdReadyTaskMapper, P
updateWrapper.eq(ProdReadyTask::getSfcDispatchBo,sfcDispatchBO);
update(updateWrapper);
}
}
}
@Override

@ -13,6 +13,24 @@ public class SfcDto extends Sfc {
private String prepositionOperation;
private String resrce;
private String workCenter;
private String dispatchNo;
private String stepId;
public String getStepId() {
return stepId;
}
public void setStepId(String stepId) {
this.stepId = stepId;
}
public String getDispatchNo() {
return dispatchNo;
}
public void setDispatchNo(String dispatchNo) {
this.dispatchNo = dispatchNo;
}
public String getShopOrder() {
return shopOrder;

@ -1,7 +1,14 @@
package com.foreverwin.mesnac.production.service.impl;
import com.foreverwin.mesnac.common.constant.Constants;
import com.foreverwin.mesnac.common.enums.DispatchStatusEnum;
import com.foreverwin.mesnac.common.enums.HandleEnum;
import com.foreverwin.mesnac.common.model.InspectionItemDetail;
import com.foreverwin.mesnac.common.model.InspectionTask;
import com.foreverwin.mesnac.common.service.CommonService;
import com.foreverwin.mesnac.common.service.InspectionItemService;
import com.foreverwin.mesnac.common.service.InspectionTaskService;
import com.foreverwin.mesnac.common.service.SfcDispatchCommonService;
import com.foreverwin.mesnac.common.util.ExceptionUtil;
import com.foreverwin.mesnac.common.util.StringUtil;
import com.foreverwin.mesnac.meapi.dto.SfcDto;
@ -44,6 +51,12 @@ public class PodTemplateServiceImpl implements PodTemplateService {
private SfcCrossService sfcCrossService;
@Autowired
private OperationService operationService;
@Autowired
private InspectionTaskService inspectionTaskService;
@Autowired
private InspectionItemService inspectionItemService;
@Autowired
private SfcDispatchCommonService sfcDispatchCommonService;
@Override
public Map<String, Object> resrceEnter(WorkCenterDto workCenterDto) {
String site = CommonMethods.getSite();
@ -138,6 +151,8 @@ public class PodTemplateServiceImpl implements PodTemplateService {
Operation currentRevisionRef = operationService.getCurrentRevisionRef(site, operation);
String resrce = sfcDto.getResrce();
String sfc = sfcDto.getSfc();
String stepId = sfcDto.getStepId();
String dispatchNo = sfcDto.getDispatchNo();
Sfc sfcServiceById = sfcService.getById(HandleEnum.SFC.getHandle(site, sfc));
BigDecimal qty=new BigDecimal(sfcServiceById.getQty().toString());
try {
@ -145,6 +160,20 @@ public class PodTemplateServiceImpl implements PodTemplateService {
} catch (Exception e) {
ExceptionUtil.throwException(e);
}
//更改派工单状态
sfcDispatchCommonService.updateSfcDispatchStatus(site,CommonMethods.getUser(),dispatchNo, DispatchStatusEnum.START.getCode());
//是否有互检检验项目
List<InspectionItemDetail> inspectionItemDetails = inspectionItemService.selectQualityInspection(sfc, operation, stepId, Constants.INSPECTION_TYPE_H);
if (inspectionItemDetails.size()>0&&StringUtil.isBlank(inspectionItemDetails.get(0).getInspectionItemBo())) {
//是否有互检检验任务及已完成
InspectionTask createTask = inspectionTaskService.isCreateTask(site, Constants.INSPECTION_TYPE_H, sfc, operation, stepId);
if (createTask==null ||!createTask.getStatus().equals(Constants.INSPECTION_TASK_STATUS_COMPLETE)){
throw new BaseException("请完成互检检验任务");
}
if (!createTask.getResult().equals(Constants.RSESULT_OK)){
throw new BaseException("互检任务不合格,不能开始请检查");
}
}
});
}
@Override
@ -155,6 +184,9 @@ public class PodTemplateServiceImpl implements PodTemplateService {
Operation currentRevisionRef = operationService.getCurrentRevisionRef(site, operation);
String resrce = sfcDto.getResrce();
String sfc = sfcDto.getSfc();
String stepId = sfcDto.getStepId();
String dispatchNo = sfcDto.getDispatchNo();
Sfc sfcServiceById = sfcService.getById(HandleEnum.SFC.getHandle(site, sfc));
BigDecimal qty=new BigDecimal(sfcServiceById.getQty().toString());
try {
@ -162,6 +194,22 @@ public class PodTemplateServiceImpl implements PodTemplateService {
} catch (Exception e) {
ExceptionUtil.throwException(e);
}
//更改派工单状态
sfcDispatchCommonService.updateSfcDispatchStatus(site,CommonMethods.getUser(),dispatchNo, DispatchStatusEnum.COMPLETE.getCode());
//是否有自检检验项目
List<InspectionItemDetail> inspectionItemDetails = inspectionItemService.selectQualityInspection(sfc, operation, stepId, Constants.INSPECTION_TYPE_Z);
if (inspectionItemDetails.size()>0&&StringUtil.isBlank(inspectionItemDetails.get(0).getInspectionItemBo())) {
//是否有自检检验任务
InspectionTask createTask = inspectionTaskService.isCreateTask(site, Constants.INSPECTION_TYPE_Z, sfc, operation, stepId);
if (createTask==null ||!createTask.getStatus().equals(Constants.INSPECTION_TASK_STATUS_COMPLETE)){
throw new BaseException("请完成自检检验任务");
}
if (!createTask.getResult().equals(Constants.RSESULT_OK)){
throw new BaseException("自检任务不合格,不能完成请检查");
}
}
});
}
}

Loading…
Cancel
Save