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

BUG修复

parent fd9a5750
...@@ -61,7 +61,7 @@ ...@@ -61,7 +61,7 @@
<dependency> <dependency>
<groupId>com.alibaba</groupId> <groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId> <artifactId>easyexcel</artifactId>
<version>3.1.3</version> <version>4.0.3</version>
</dependency> </dependency>
<dependency> <dependency>
......
...@@ -170,29 +170,6 @@ public class CalWorkunitServiceImpl implements ICalWorkunitService { ...@@ -170,29 +170,6 @@ public class CalWorkunitServiceImpl implements ICalWorkunitService {
List<MdWorkunit> mdWorkunits = mdWorkunitService.selectListByQw(qw); List<MdWorkunit> mdWorkunits = mdWorkunitService.selectListByQw(qw);
Map<String, CalWorkunit> mdWorkunitVoMap = new HashMap<>(); return mdWorkunits;
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;
} }
} }
...@@ -202,26 +202,7 @@ public class ProTaskMobController extends BaseController { ...@@ -202,26 +202,7 @@ public class ProTaskMobController extends BaseController {
@ApiOperation("验证序列号报工") @ApiOperation("验证序列号报工")
@PostMapping("/validateSerialNo") @PostMapping("/validateSerialNo")
public AjaxResult<Boolean> validateSerialNo(@RequestBody FeedbackValidateSerialNoParams validateSerialNoParams) { public AjaxResult<Boolean> validateSerialNo(@RequestBody FeedbackValidateSerialNoParams validateSerialNoParams) {
QueryWrapper<ProWorkorder> query = new QueryWrapper<>(); proFeedbackService.validateSerialNo(validateSerialNoParams);
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"));
}
return AjaxResult.success(true); return AjaxResult.success(true);
} }
......
...@@ -8,6 +8,7 @@ import com.ximai.mes.pro.domain.vo.ProFeedbackSplitInfo; ...@@ -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.ProFeedbackVo;
import com.ximai.mes.pro.domain.vo.ProPackagePrintResult; import com.ximai.mes.pro.domain.vo.ProPackagePrintResult;
import com.ximai.mes.pro.domain.vo.feedbackTaskVo; import com.ximai.mes.pro.domain.vo.feedbackTaskVo;
import com.ximai.mes.pro.domain.vo.task.FeedbackValidateSerialNoParams;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.List; import java.util.List;
...@@ -50,6 +51,12 @@ public interface IProFeedbackService { ...@@ -50,6 +51,12 @@ public interface IProFeedbackService {
*/ */
List<ProFeedback> selectProFeedbackList(QueryWrapper<ProFeedback> query); List<ProFeedback> selectProFeedbackList(QueryWrapper<ProFeedback> query);
/**
* 验证序列号报工
* @param validateSerialNoParams
*/
void validateSerialNo(FeedbackValidateSerialNoParams validateSerialNoParams);
/** /**
* 新增生产报工记录 * 新增生产报工记录
* *
......
...@@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSON; ...@@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ximai.common.constant.UserConstants; import com.ximai.common.constant.UserConstants;
import com.ximai.common.exception.ServiceException;
import com.ximai.common.utils.MessageUtils; import com.ximai.common.utils.MessageUtils;
import com.ximai.common.utils.data.DataUtil; import com.ximai.common.utils.data.DataUtil;
import com.ximai.common.utils.data.DateUtils; import com.ximai.common.utils.data.DateUtils;
...@@ -31,12 +32,14 @@ import com.ximai.mes.pro.domain.vo.ProFeedbackSplitInfo; ...@@ -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.ProFeedbackVo;
import com.ximai.mes.pro.domain.vo.ProPackagePrintResult; import com.ximai.mes.pro.domain.vo.ProPackagePrintResult;
import com.ximai.mes.pro.domain.vo.feedbackTaskVo; 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.*;
import com.ximai.mes.pro.mapper.proWorkOrder.ProWorkOrderProcessItemMapper; import com.ximai.mes.pro.mapper.proWorkOrder.ProWorkOrderProcessItemMapper;
import com.ximai.mes.pro.mapper.proWorkOrder.ProWorkorderMapper; import com.ximai.mes.pro.mapper.proWorkOrder.ProWorkorderMapper;
import com.ximai.mes.pro.mapper.task.ProTaskMapper; import com.ximai.mes.pro.mapper.task.ProTaskMapper;
import com.ximai.mes.pro.mapper.task.ProTaskWorkunitMapper; import com.ximai.mes.pro.mapper.task.ProTaskWorkunitMapper;
import com.ximai.mes.pro.service.IProFeedbackService; 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.IProStartWorkService;
import com.ximai.mes.pro.service.proWorkOrder.IProWorkOrderProcessService; import com.ximai.mes.pro.service.proWorkOrder.IProWorkOrderProcessService;
import com.ximai.mes.pro.service.proWorkOrder.IProWorkorderService; import com.ximai.mes.pro.service.proWorkOrder.IProWorkorderService;
...@@ -78,7 +81,8 @@ public class ProFeedbackServiceImpl implements IProFeedbackService { ...@@ -78,7 +81,8 @@ public class ProFeedbackServiceImpl implements IProFeedbackService {
private ProTaskMapper proTaskMapper; private ProTaskMapper proTaskMapper;
@Autowired @Autowired
private IProTaskService proTaskService; private IProTaskService proTaskService;
@Autowired
private IProProductQrcodeRecordService productQrcodeRecordService;
@Autowired @Autowired
private IProTaskWorkunitService proTaskWorkunitService; private IProTaskWorkunitService proTaskWorkunitService;
@Autowired @Autowired
...@@ -290,6 +294,30 @@ public class ProFeedbackServiceImpl implements IProFeedbackService { ...@@ -290,6 +294,30 @@ public class ProFeedbackServiceImpl implements IProFeedbackService {
return proFeedbackMapper.selectListByQw(query); 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; ...@@ -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.proWorkOrder.ProWorkorder;
import com.ximai.mes.pro.domain.task.*; import com.ximai.mes.pro.domain.task.*;
import com.ximai.mes.pro.domain.vo.*; 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.ProProcessMapper;
import com.ximai.mes.pro.mapper.ProProductionLogMapper; import com.ximai.mes.pro.mapper.ProProductionLogMapper;
import com.ximai.mes.pro.mapper.ProRouteMapper; import com.ximai.mes.pro.mapper.ProRouteMapper;
...@@ -767,7 +768,14 @@ public class ProTaskServiceImpl implements IProTaskService { ...@@ -767,7 +768,14 @@ public class ProTaskServiceImpl implements IProTaskService {
public List<ProPackagePrintResult> feedBack(ProFeedback feedback) { public List<ProPackagePrintResult> feedBack(ProFeedback feedback) {
List<ProPackagePrintResult> response = new ArrayList<>(); List<ProPackagePrintResult> response = new ArrayList<>();
BigDecimal feedbackQualifyConst = feedback.getQuantityQualify(); 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()); ProTaskWorkunit taskWorkunit = proTaskWorkunitService.selectProTaskWorkunitByTaskWorkunitId(feedback.getTaskWorkunitId());
ExceptionUtil.checkTrueThrowException(!taskWorkunit.getStatus().equals(TaskStatusEnum.BEGINNING.getStatus()), MessageUtils.message("pro.feedback.error.before.start")); 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