jevononlie 5 months ago
commit 9f8eef56a1

@ -28,6 +28,7 @@ import com.chanko.yunxi.mes.module.biz.manager.CrossOrderManager;
import com.chanko.yunxi.mes.module.biz.service.serialnumber.SerialNumberService; import com.chanko.yunxi.mes.module.biz.service.serialnumber.SerialNumberService;
import com.chanko.yunxi.mes.module.system.dal.dataobject.user.AdminUserDO; import com.chanko.yunxi.mes.module.system.dal.dataobject.user.AdminUserDO;
import com.chanko.yunxi.mes.module.system.service.user.AdminUserService; import com.chanko.yunxi.mes.module.system.service.user.AdminUserService;
import com.sun.org.apache.xpath.internal.operations.Bool;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
@ -243,24 +244,24 @@ public class TaskDispatchServiceImpl implements TaskDispatchService {
@Override @Override
public PageResult<TaskDispatchDetailDO> getTaskDispatchDetailPage(TaskDispatchDetailPageReqVO pageReqVO) { public PageResult<TaskDispatchDetailDO> getTaskDispatchDetailPage(TaskDispatchDetailPageReqVO pageReqVO) {
SystemParametersDO systemParametersDO = systemParametersMapper.selectOne("code", SystemParmetersEnum.OVERTASK_CENTER_LIST.getDescription()); // SystemParametersDO systemParametersDO = systemParametersMapper.selectOne("code", SystemParmetersEnum.OVERTASK_CENTER_LIST.getDescription());
//
PageResult<TaskDispatchDetailDO> result = taskDispatchDetailMapper.selectPage(pageReqVO); // PageResult<TaskDispatchDetailDO> result = taskDispatchDetailMapper.selectPage(pageReqVO);
//
for(TaskDispatchDetailDO item : result.getList()){ // for(TaskDispatchDetailDO item : result.getList()){
if(systemParametersDO == null){ // if(systemParametersDO == null){
item.setAllowOver(false); // item.setAllowOver(false);
}else{ // }else{
if(!StringUtils.isEmpty(systemParametersDO.getCurrentValue()) // if(!StringUtils.isEmpty(systemParametersDO.getCurrentValue())
&& Arrays.stream(systemParametersDO.getCurrentValue().split(",")).filter(map -> map.equals(item.getWorkshopCode())).count()>0){ // && Arrays.stream(systemParametersDO.getCurrentValue().split(",")).filter(map -> map.equals(item.getWorkshopCode())).count()>0){
item.setAllowOver(true); // item.setAllowOver(true);
}else{ // }else{
item.setAllowOver(false); // item.setAllowOver(false);
} // }
} // }
} // }
return result; return taskDispatchDetailMapper.selectPage(pageReqVO);
} }
@Override @Override
@ -310,16 +311,27 @@ public class TaskDispatchServiceImpl implements TaskDispatchService {
// 不能超额报工 // 不能超额报工
if(operate == TaskReportOperateEnum.SUBMIT){ if(operate == TaskReportOperateEnum.SUBMIT){
SystemParametersDO systemParametersDO = systemParametersMapper.selectOne("code", SystemParmetersEnum.OVERTASK_CENTER_LIST.getDescription());
boolean allowOver = false;
if(systemParametersDO != null && !StringUtils.isEmpty(systemParametersDO.getCurrentValue())
&& Arrays.stream(systemParametersDO.getCurrentValue().split(",")).filter(map -> map.equals(taskDispatchDetailDO.getWorkshopCode())).count()>0){
allowOver = true;
}
List<TaskReportDO> historyReportList = taskReportMapper.selectList(new LambdaQueryWrapper<TaskReportDO>() {{ List<TaskReportDO> historyReportList = taskReportMapper.selectList(new LambdaQueryWrapper<TaskReportDO>() {{
eq(TaskReportDO::getDispatchDetailId, taskDispatchDetailDO.getId()) eq(TaskReportDO::getDispatchDetailId, taskDispatchDetailDO.getId())
.ne(TaskReportDO::getAmount, 0); .ne(TaskReportDO::getAmount, 0);
}}); }});
if(!allowOver) {
int historyReportAmount = historyReportList.stream().mapToInt(TaskReportDO::getAmount).sum(); int historyReportAmount = historyReportList.stream().mapToInt(TaskReportDO::getAmount).sum();
if(taskDispatchDetailDO.getAmount() < (historyReportAmount + operateReqVO.getAmount())){ if (taskDispatchDetailDO.getAmount() < (historyReportAmount + operateReqVO.getAmount())) {
throw exception(TASK_DISPATCH_TASK_REPORT_AMOUNT_EXCESS); throw exception(TASK_DISPATCH_TASK_REPORT_AMOUNT_EXCESS);
} }
} }
} }
}
// 执行 // 执行
switch (operate){ switch (operate){

Loading…
Cancel
Save