| | |
| | | |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.common.utils.SecurityUtils; |
| | | import com.ruoyi.framework.web.domain.AjaxResult; |
| | | import com.ruoyi.project.system.domain.SysUser; |
| | | import com.ruoyi.project.system.mapper.SysUserMapper; |
| | | import com.ruoyi.project.system.service.ISysUserService; |
| | | import com.ruoyi.procurementrecord.pojo.ProcurementRecordStorage; |
| | | import com.ruoyi.procurementrecord.service.ProcurementRecordService; |
| | | import com.ruoyi.procurementrecord.service.impl.ProcurementRecordServiceImpl; |
| | |
| | | import com.ruoyi.quality.service.IQualityInspectParamService; |
| | | import com.ruoyi.quality.service.IQualityInspectService; |
| | | import com.ruoyi.quality.service.IQualityUnqualifiedService; |
| | | import com.ruoyi.quality.util.QualityInspectionValueValidator; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.util.CollectionUtils; |
| | |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | |
| | | /** |
| | | * 原材料检验/过程检验/出厂检验 |
| | |
| | | private IQualityInspectFileService qualityInspectFileService; |
| | | @Autowired |
| | | private ProcurementRecordService procurementRecordService; |
| | | |
| | | @Resource |
| | | private ISysUserService sysUserService; |
| | | |
| | | @Resource |
| | | private SysUserMapper sysUserMapper; |
| | | |
| | | |
| | | /** |
| | |
| | | return AjaxResult.error("已提交的检验记录不能修改"); |
| | | } |
| | | return AjaxResult.success(qualityInspectService.updateQualityInspect(qualityInspectDto)); |
| | | } |
| | | |
| | | /** 仅分配检验员,避免触发整张检验单的必填校验。 */ |
| | | @PostMapping("/assignInspector") |
| | | public AjaxResult assignInspector(@RequestBody QualityInspect inspect) { |
| | | if (inspect == null || inspect.getId() == null) { |
| | | return AjaxResult.error("检验记录ID不能为空"); |
| | | } |
| | | if (inspect.getCheckUserId() == null) { |
| | | return AjaxResult.error("请选择检验员"); |
| | | } |
| | | QualityInspect stored = qualityInspectService.getById(inspect.getId()); |
| | | if (stored == null) { |
| | | return AjaxResult.error("检验记录不存在"); |
| | | } |
| | | if (Integer.valueOf(1).equals(stored.getInspectState())) { |
| | | return AjaxResult.error("已提交的检验记录不能重新分配检验员"); |
| | | } |
| | | SysUser inspector = sysUserService.selectUserById(inspect.getCheckUserId()); |
| | | if (inspector == null || "2".equals(inspector.getDelFlag())) { |
| | | return AjaxResult.error("所选用户不存在或已删除"); |
| | | } |
| | | if (!SecurityUtils.isAdmin(SecurityUtils.getUserId()) |
| | | && !Objects.equals(SecurityUtils.getLoginUser().getTenantId(), inspector.getTenantId())) { |
| | | return AjaxResult.error("只能分配给当前公司用户"); |
| | | } |
| | | if (!"0".equals(inspector.getStatus())) { |
| | | return AjaxResult.error("所选用户已停用"); |
| | | } |
| | | QualityInspect update = new QualityInspect(); |
| | | update.setId(inspect.getId()); |
| | | update.setCheckUserId(inspector.getUserId()); |
| | | update.setCheckName(StringUtils.defaultIfBlank(inspector.getNickName(), inspector.getUserName())); |
| | | return AjaxResult.success(qualityInspectService.updateById(update)); |
| | | } |
| | | |
| | | /** 仅返回当前租户中正常、未删除的系统用户,供质检员分配使用。 */ |
| | | @GetMapping("/inspectorCandidates") |
| | | public AjaxResult inspectorCandidates() { |
| | | Long tenantId = SecurityUtils.isAdmin(SecurityUtils.getUserId()) |
| | | ? null : SecurityUtils.getLoginUser().getTenantId(); |
| | | return AjaxResult.success(sysUserMapper.selectActiveUsers(tenantId)); |
| | | } |
| | | |
| | | /** |
| | |
| | | return "请填写“" + parameter.getParameterItem() + "”的检验值"; |
| | | } |
| | | } |
| | | if ("合格".equals(inspect.getCheckResult())) { |
| | | String valueMessage = QualityInspectionValueValidator.validateQualified(inspect.getQualityInspectParams()); |
| | | if (valueMessage != null) { |
| | | return valueMessage; |
| | | } |
| | | } |
| | | return null; |
| | | } |
| | | } |