| | |
| | | |
| | | //查询附件 |
| | | List<InsUnqualifiedHandlerFile> handlerFiles = insUnqualifiedHandlerFileService.list(Wrappers.<InsUnqualifiedHandlerFile>lambdaQuery() |
| | | .eq(InsUnqualifiedHandlerFile::getUnqualifiedId, vo.getHandlerId())); |
| | | .eq(InsUnqualifiedHandlerFile::getGroupId, vo.getGroupId())); |
| | | if (CollectionUtils.isNotEmpty(handlerFiles)) { |
| | | StringBuilder fileUrl = new StringBuilder(); |
| | | for (int i = 0; i < handlerFiles.size(); i++) { |
| | |
| | | return Result.success(); |
| | | } |
| | | |
| | | /** |
| | | * 返回第一个不为空的字符串 |
| | | * @param values |
| | | * @return |
| | | */ |
| | | public static String firstNotBlank(String... values) { |
| | | if (values == null) { |
| | | return null; |
| | | } |
| | | |
| | | for (String value : values) { |
| | | if (StringUtils.isNotBlank(value)) { |
| | | return value; |
| | | } |
| | | } |
| | | |
| | | return null; |
| | | } |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void unqualifiedHandlerOACallback(Long oaWorkId, String checkResult, JSONObject response) { |
| | | public void unqualifiedHandlerOACallback(Long oaWorkId, String checkResult,String endFlag, JSONObject response) { |
| | | // 没有这个就结束 |
| | | Long count1 = baseMapper.selectCount(Wrappers.<InsUnqualifiedHandler>lambdaQuery() |
| | | .eq(InsUnqualifiedHandler::getRequestId, Integer.valueOf(String.valueOf(oaWorkId)))); |
| | |
| | | clcsMap.put("1","退货"); |
| | | clcsMap.put("2","部分退货"); |
| | | clcsMap.put("3","降级使用"); |
| | | //流程结束才修改oa状态 |
| | | boolean hasChangeOaState = StringUtils.isNotBlank(endFlag) && endFlag.equals("1"); |
| | | //oa状态:3通过 4驳回 |
| | | Integer oaState = "1".equals(checkResult) ? 3 : 4; |
| | | baseMapper.update(null, new LambdaUpdateWrapper<InsUnqualifiedHandler>() |
| | | .set(InsUnqualifiedHandler::getOaState, oaState) |
| | | .set(hasChangeOaState,InsUnqualifiedHandler::getOaState, oaState) |
| | | .set(InsUnqualifiedHandler::getClassification,response.getString("flclassification")) |
| | | .eq(InsUnqualifiedHandler::getRequestId, Integer.valueOf(String.valueOf(oaWorkId)))); |
| | | //保存oa审批流程记录 |
| | |
| | | for (Object workflowRequestLog : workflowRequestLogs) { |
| | | JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(workflowRequestLog)); |
| | | CommonOa oa = new CommonOa(); |
| | | oa.setApprover(jsonObject.getString("operatorName")); |
| | | oa.setOperateId(jsonObject.getLong("operateId")); |
| | | oa.setWorkflowId(oaWorkId); |
| | | oa.setOperation(jsonObject.getString("operateType")); |
| | | oa.setApprovalDate(jsonObject.getString("operateDate")); |
| | | oa.setNodeName(jsonObject.getString("nodeName")); |
| | | oa.setApprovalTime(jsonObject.getString("operateTime")); |
| | | //设置各节点的处理意见 |
| | | oa.setApprover(jsonObject.getString("operatorName"));//审批人 |
| | | oa.setOperateId(jsonObject.getLong("operateId"));//审批人id |
| | | oa.setWorkflowId(oaWorkId);//流程id |
| | | oa.setApprovalDate(jsonObject.getString("operateDate"));//审批日期 |
| | | oa.setNodeName(jsonObject.getString("nodeName"));//节点名称 |
| | | oa.setApprovalTime(jsonObject.getString("operateTime"));//审批时间 |
| | | if(StringUtils.isNotBlank(oa.getNodeName())){ |
| | | String operateType = jsonObject.getString("operateType");//节点操作 |
| | | String approvalOpinion = jsonObject.getString("remark");//处理意见描述 |
| | | oa.setOperation(operateType); |
| | | oa.setApprovalOpinion(approvalOpinion); |
| | | if(oa.getNodeName().contains("质量")){ |
| | | oa.setOperation(clcsMap.get(response.getString("clcs1"))); |
| | | oa.setApprovalOpinion(response.getString("dbhgcpdclyqdealwiththenonconfo"));//1.对不合格产品的处理要求 |
| | | oa.setOperation(firstNotBlank(clcsMap.get(response.getString("clcs1")),operateType)); |
| | | oa.setApprovalOpinion(firstNotBlank(response.getString("dbhgcpdclyqdealwiththenonconfo"),approvalOpinion));//1.对不合格产品的处理要求 |
| | | }else if(oa.getNodeName().contains("工艺")){ |
| | | oa.setApprovalOpinion(response.getString("gjyqimprovementrequirements"));//2.改进要求 |
| | | oa.setApprovalOpinion(firstNotBlank(response.getString("gjyqimprovementrequirements"),approvalOpinion));//2.改进要求 |
| | | }else if(oa.getNodeName().contains("技术")){ |
| | | oa.setOperation(clcsMap.get(response.getString("clcs2"))); |
| | | oa.setApprovalOpinion(response.getString("csyqactionrequirement"));//3.措施要求 |
| | | oa.setOperation(firstNotBlank(clcsMap.get(response.getString("clcs2")),operateType)); |
| | | oa.setApprovalOpinion(firstNotBlank(response.getString("csyqactionrequirement"),approvalOpinion));//3.措施要求 |
| | | }else if(oa.getNodeName().contains("总经理")){ |
| | | oa.setOperation(clcsMap.get(response.getString("clcs3"))); |
| | | oa.setApprovalOpinion(response.getString("zzclyqfinaltreatmentrequiremen"));//4.最终处理要求 |
| | | oa.setOperation(firstNotBlank(clcsMap.get(response.getString("clcs3")),operateType)); |
| | | oa.setApprovalOpinion(firstNotBlank(response.getString("zzclyqfinaltreatmentrequiremen"),approvalOpinion));//4.最终处理要求 |
| | | }else if(oa.getNodeName().contains("核算")){ |
| | | oa.setApprovalOpinion(response.getString("spyqcompensationrequirement"));//5.索赔要求 |
| | | }else{ |
| | | oa.setApprovalOpinion(jsonObject.getString("remark")); |
| | | oa.setApprovalOpinion(firstNotBlank(response.getString("spyqcompensationrequirement"),approvalOpinion));//5.索赔要求 |
| | | } |
| | | } |
| | | |
| | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public boolean addUnqualifiedHandler(UnqualifiedHandlerDto unqualifiedHandlerDto) { |
| | | long count = this.count(Wrappers.<InsUnqualifiedHandler>lambdaQuery() |
| | | .in(InsUnqualifiedHandler::getInsOrderId, unqualifiedHandlerDto.getSelectOrderIds())); |
| | | if (count > 0) { |
| | | throw new ErrorException("存在已提交过不合格处理的订单"); |
| | | } |
| | | //生成分组id |
| | | String groupId = insUnqualifiedHandlerNumberGenerator.generateNumberWithPrefix(6, "GROUP", InsUnqualifiedHandler::getGroupId); |
| | | // 原材料编号切割 |
| | |
| | | if(isUpdated){ |
| | | //推送OA |
| | | PushOADto pushOADto = new PushOADto(); |
| | | pushOADto.setGroupId(unqualifiedHandlerDto.getGroupId()); |
| | | pushOADto.setHandlerId(unqualifiedHandlerDto.getId()); |
| | | pushOADto.setContract(unqualifiedHandlerDto.getContract()); |
| | | pushOA(pushOADto); |