| | |
| | | |
| | | //查询附件 |
| | | 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) { |
| | |
| | | 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); |
| | | // 原材料编号切割 |