Commit db40ee08 authored by 李驰骋's avatar 李驰骋

BUG修复

parent fd9a5750
......@@ -61,7 +61,7 @@
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>3.1.3</version>
<version>4.0.3</version>
</dependency>
<dependency>
......
......@@ -170,29 +170,6 @@ public class CalWorkunitServiceImpl implements ICalWorkunitService {
List<MdWorkunit> mdWorkunits = mdWorkunitService.selectListByQw(qw);
Map<String, CalWorkunit> mdWorkunitVoMap = new HashMap<>();
if (calWorkunit.getPlanId() != null) {
QueryWrapper<CalWorkunit> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("plan_id", calWorkunit.getPlanId());
List<CalWorkunit> calWorkunits = calWorkunitMapper.selectListByQw(queryWrapper);
for (CalWorkunit mdWorkunit : calWorkunits) {
String workunitName = mdWorkunit.getWorkunitName();
if (mdWorkunitVoMap.get(workunitName) == null) {
mdWorkunitVoMap.put(workunitName, mdWorkunit);
}
}
}
List<MdWorkunit> objects = new ArrayList<>();
for (MdWorkunit workunit : mdWorkunits) {
String workunitName = workunit.getWorkunitName();
if (mdWorkunitVoMap.get(workunitName) == null) {
objects.add(workunit);
}
}
return objects;
return mdWorkunits;
}
}
......@@ -202,26 +202,7 @@ public class ProTaskMobController extends BaseController {
@ApiOperation("验证序列号报工")
@PostMapping("/validateSerialNo")
public AjaxResult<Boolean> validateSerialNo(@RequestBody FeedbackValidateSerialNoParams validateSerialNoParams) {
QueryWrapper<ProWorkorder> query = new QueryWrapper<>();
query.eq("t4.task_workunit_id", validateSerialNoParams.getTaskWorkunitId());
List<ProWorkorder> listOrder = proWorkorderMapper.selectJoinTaskWorkunitByQw(query);
ProWorkorder proWorkorder = listOrder.get(0);
QueryWrapper<ProProductQrcodeRecord> proProductQrcodeRecordQuery = new QueryWrapper<>();
proProductQrcodeRecordQuery.eq("qrcode", validateSerialNoParams.getQrcode());
proProductQrcodeRecordQuery.eq("work_order_id", proWorkorder.getWorkorderId());
//验证序列号是否属于该工单
List<ProProductQrcodeRecord> qrcodeList = productQrcodeRecordService.selectProProductQrcodeRecordList(proProductQrcodeRecordQuery);
if(qrcodeList.size()==0){
throw new ServiceException(MessageUtils.message("pro.feedback.error.serialNo.not.bind.workOrder"));
}
//验证是否报工
QueryWrapper<ProFeedback> feedbackQuery = new QueryWrapper<>();
feedbackQuery.eq("qrcode", validateSerialNoParams.getQrcode());
feedbackQuery.eq("task_workunit_id",validateSerialNoParams.getTaskWorkunitId());
List<ProFeedback> feedbackList = proFeedbackService.selectProFeedbackList(feedbackQuery);
if(feedbackList.size()>0){
throw new ServiceException(MessageUtils.message("pro.feedback.error.repeat.serialNo.report"));
}
proFeedbackService.validateSerialNo(validateSerialNoParams);
return AjaxResult.success(true);
}
......
......@@ -8,6 +8,7 @@ import com.ximai.mes.pro.domain.vo.ProFeedbackSplitInfo;
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 java.util.LinkedHashMap;
import java.util.List;
......@@ -50,6 +51,12 @@ public interface IProFeedbackService {
*/
List<ProFeedback> selectProFeedbackList(QueryWrapper<ProFeedback> query);
/**
* 验证序列号报工
* @param validateSerialNoParams
*/
void validateSerialNo(FeedbackValidateSerialNoParams validateSerialNoParams);
/**
* 新增生产报工记录
*
......
......@@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ximai.common.constant.UserConstants;
import com.ximai.common.exception.ServiceException;
import com.ximai.common.utils.MessageUtils;
import com.ximai.common.utils.data.DataUtil;
import com.ximai.common.utils.data.DateUtils;
......@@ -31,12 +32,14 @@ import com.ximai.mes.pro.domain.vo.ProFeedbackSplitInfo;
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.mapper.*;
import com.ximai.mes.pro.mapper.proWorkOrder.ProWorkOrderProcessItemMapper;
import com.ximai.mes.pro.mapper.proWorkOrder.ProWorkorderMapper;
import com.ximai.mes.pro.mapper.task.ProTaskMapper;
import com.ximai.mes.pro.mapper.task.ProTaskWorkunitMapper;
import com.ximai.mes.pro.service.IProFeedbackService;
import com.ximai.mes.pro.service.IProProductQrcodeRecordService;
import com.ximai.mes.pro.service.IProStartWorkService;
import com.ximai.mes.pro.service.proWorkOrder.IProWorkOrderProcessService;
import com.ximai.mes.pro.service.proWorkOrder.IProWorkorderService;
......@@ -78,7 +81,8 @@ public class ProFeedbackServiceImpl implements IProFeedbackService {
private ProTaskMapper proTaskMapper;
@Autowired
private IProTaskService proTaskService;
@Autowired
private IProProductQrcodeRecordService productQrcodeRecordService;
@Autowired
private IProTaskWorkunitService proTaskWorkunitService;
@Autowired
......@@ -290,6 +294,30 @@ public class ProFeedbackServiceImpl implements IProFeedbackService {
return proFeedbackMapper.selectListByQw(query);
}
@Override
public void validateSerialNo(FeedbackValidateSerialNoParams validateSerialNoParams) {
QueryWrapper<ProWorkorder> query = new QueryWrapper<>();
query.eq("t4.task_workunit_id", validateSerialNoParams.getTaskWorkunitId());
List<ProWorkorder> listOrder = proWorkorderMapper.selectJoinTaskWorkunitByQw(query);
ProWorkorder proWorkorder = listOrder.get(0);
QueryWrapper<ProProductQrcodeRecord> proProductQrcodeRecordQuery = new QueryWrapper<>();
proProductQrcodeRecordQuery.eq("qrcode", validateSerialNoParams.getQrcode());
proProductQrcodeRecordQuery.eq("work_order_id", proWorkorder.getWorkorderId());
//验证序列号是否属于该工单
List<ProProductQrcodeRecord> qrcodeList = productQrcodeRecordService.selectProProductQrcodeRecordList(proProductQrcodeRecordQuery);
if(qrcodeList.size()==0){
throw new ServiceException(MessageUtils.message("pro.feedback.error.serialNo.not.bind.workOrder"));
}
//验证是否报工
QueryWrapper<ProFeedback> feedbackQuery = new QueryWrapper<>();
feedbackQuery.eq("qrcode", validateSerialNoParams.getQrcode());
feedbackQuery.eq("task_workunit_id",validateSerialNoParams.getTaskWorkunitId());
List<ProFeedback> feedbackList = proFeedbackService.selectProFeedbackList(feedbackQuery);
if(feedbackList.size()>0){
throw new ServiceException(MessageUtils.message("pro.feedback.error.repeat.serialNo.report"));
}
}
/**
* 新增生产报工记录
*
......
......@@ -28,6 +28,7 @@ import com.ximai.mes.pro.domain.proWorkOrder.ProWorkOrderProcessTool;
import com.ximai.mes.pro.domain.proWorkOrder.ProWorkorder;
import com.ximai.mes.pro.domain.task.*;
import com.ximai.mes.pro.domain.vo.*;
import com.ximai.mes.pro.domain.vo.task.FeedbackValidateSerialNoParams;
import com.ximai.mes.pro.mapper.ProProcessMapper;
import com.ximai.mes.pro.mapper.ProProductionLogMapper;
import com.ximai.mes.pro.mapper.ProRouteMapper;
......@@ -767,7 +768,14 @@ public class ProTaskServiceImpl implements IProTaskService {
public List<ProPackagePrintResult> feedBack(ProFeedback feedback) {
List<ProPackagePrintResult> response = new ArrayList<>();
BigDecimal feedbackQualifyConst = feedback.getQuantityQualify();
ExceptionUtil.checkTrueThrowException(feedbackQualifyConst.compareTo(BigDecimal.ZERO) <= 0, MessageUtils.message("pro.feedback.error.min.quantity"));
ExceptionUtil.checkTrueThrowException(feedbackQualifyConst.compareTo(BigDecimal.ZERO) <= 0,
MessageUtils.message("pro.feedback.error.min.quantity"));
if(StringUtils.isNotEmpty(feedback.getQrcode())){
FeedbackValidateSerialNoParams feedbackValidateSerialNoParams = new FeedbackValidateSerialNoParams();
feedbackValidateSerialNoParams.setQrcode(feedback.getQrcode());
feedbackValidateSerialNoParams.setTaskWorkunitId(feedback.getTaskWorkunitId());
proFeedbackService.validateSerialNo(feedbackValidateSerialNoParams);
}
ProTaskWorkunit taskWorkunit = proTaskWorkunitService.selectProTaskWorkunitByTaskWorkunitId(feedback.getTaskWorkunitId());
ExceptionUtil.checkTrueThrowException(!taskWorkunit.getStatus().equals(TaskStatusEnum.BEGINNING.getStatus()), MessageUtils.message("pro.feedback.error.before.start"));
......
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