zouyu
2026-05-11 a6077615d835d96ded47f2d170e22ea88e9a3099
不合格处理:对接OA报错问题修复
已修改2个文件
48 ■■■■■ 文件已修改
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsUnqualifiedHandlerServiceImpl.java 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/src/main/java/com/ruoyi/common/oa/OAService.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsUnqualifiedHandlerServiceImpl.java
@@ -129,18 +129,30 @@
        //提交oa相关字段赋值
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
        Map<String, String> mainFields = new HashMap<>();
        mainFields.put("bh", vo.getNo());//编号
        mainFields.put("gysmc", vo.getSupplierName());//供应商名称
        mainFields.put("wlmc", vo.getMaterialName());//物料名称
        mainFields.put("scpc", vo.getProductionBatch());//生产批次
        mainFields.put("dhsl", vo.getCargoQuantity());//到货数量
        mainFields.put("ggxh", vo.getSpecsModels());//规格型号
        mainFields.put("bjrq", vo.getInspectTime().format(formatter));//报检日期
        mainFields.put("fkr", SecurityUtils.getUsername());//反馈人
        mainFields.put("fkrq", vo.getFeedbackTime().format(formatter));//反馈日期
        mainFields.put("fl", vo.getClassification());//分类
        mainFields.put("bhggs", vo.getOffGradeAscription());//不合格归属
        mainFields.put("bhgqkms", vo.getUnqualifiedDesc());//不合格情况描述
//        mainFields.put("bh", vo.getNo());//编号
//        mainFields.put("gysmc", vo.getSupplierName());//供应商名称
//        mainFields.put("wlmc", vo.getMaterialName());//物料名称
//        mainFields.put("scpc", vo.getProductionBatch());//生产批次
//        mainFields.put("dhsl", vo.getCargoQuantity());//到货数量
//        mainFields.put("ggxh", vo.getSpecsModels());//规格型号
//        mainFields.put("bjrq", vo.getInspectTime().format(formatter));//报检日期
//        mainFields.put("fkr", SecurityUtils.getUsername());//反馈人
//        mainFields.put("fkrq", vo.getFeedbackTime().format(formatter));//反馈日期
//        mainFields.put("fl", vo.getClassification());//分类
//        mainFields.put("bhggs", vo.getOffGradeAscription());//不合格归属
//        mainFields.put("bhgqkms", vo.getUnqualifiedDesc());//不合格情况描述
//        mainFields.put("bh", vo.getNo());//编号
        mainFields.put("gysmcsuppliername", vo.getSupplierName());//供应商名称
        mainFields.put("wlmcmaterialname", vo.getMaterialName());//物料名称
        mainFields.put("scpcproductionbatch", vo.getProductionBatch());//生产批次
        mainFields.put("dhslcargoquantity", vo.getCargoQuantity());//到货数量
        mainFields.put("ggxhspecificationsmodels", vo.getSpecsModels());//规格型号
        mainFields.put("bjrqdeclarationinspectdate", vo.getInspectTime().format(formatter));//报检日期
        mainFields.put("fkrprovideroffeedback", SecurityUtils.getUsername());//反馈人
        mainFields.put("fkrqfeedbacktime", vo.getFeedbackTime().format(formatter));//反馈日期
        mainFields.put("flclassification", vo.getClassification());//分类
        mainFields.put("bhggsoffgradeascription", vo.getOffGradeAscription());//不合格归属
        mainFields.put("bhgqkmsunqualifieddescription", vo.getUnqualifiedDesc());//不合格情况描述
        //查询附件
        List<InsUnqualifiedHandlerFile> handlerFiles = insUnqualifiedHandlerFileService.list(Wrappers.<InsUnqualifiedHandlerFile>lambdaQuery()
@@ -148,7 +160,7 @@
        if (CollectionUtils.isNotEmpty(handlerFiles)) {
            StringBuilder fileUrl = new StringBuilder();
            for (int i = 0; i < handlerFiles.size(); i++) {
                String path = handlerFiles.get(i).getType().equals(1) ? "/lims/img/" : "/lims/word/";
                String path = handlerFiles.get(i).getType().equals(1) ? "/img/" : "/word/";
                if (i == handlerFiles.size() - 1) {
                    fileUrl.append("<a href='" + oaProperty.getProdIp()).append(path + handlerFiles.get(i).getFileUrl()
                            + "'target='_blank'>" + handlerFiles.get(i).getFileName() + "</a>");
@@ -157,7 +169,7 @@
                            + "'target='_blank'>" + handlerFiles.get(i).getFileName() + "</a>").append("<br/>");
                }
            }
            mainFields.put("xlimsfj", fileUrl.toString());
            mainFields.put("fjlj", fileUrl.toString());
        }
        //流程标题
        String requestName = vo.getHeadline();
@@ -170,8 +182,9 @@
                throw new RuntimeException("IFS域【"+pushOADto.getContract()+"】不存在,OA流程提交失败");
            }
            String unqualifiedProcessId = StringUtils.equals(ContractType.ZTNS.getValue(),pushOADto.getContract())?oaProperty.getUnqualifiedProcessId():oaProperty.getUnqualifiedProcessIdByKJNS();
            log.info("不合格流程请求参数:{},{},{},{}",mainFields, requestName, unqualifiedProcessId,SecurityUtils.getUsername());
            OAResult oaResult = OAProcess.start(mainFields, requestName, unqualifiedProcessId,SecurityUtils.getUsername());
            log.info("{}不合格处理OA审核流程结束,返回结果->{}",unqualifiedProcessId,oaResult);
            log.info("不合格流程ID:{},不合格处理OA审核流程结束,返回结果->{}",unqualifiedProcessId,oaResult);
            oa = oaResult.success();
            if (oa) {
                String addWorkflowResult = oaResult.getAddWorkflowResult();
ruoyi-common/src/main/java/com/ruoyi/common/oa/OAService.java
@@ -2,6 +2,7 @@
import javax.xml.ws.Holder;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
@@ -119,7 +120,7 @@
        oaWorkflowRequestTableField.setFieldValue(fieldValue);
        oaWorkflowRequestTableField.setView("true");
        oaWorkflowRequestTableField.setEdit("true");
        if (fieldName.equals("sqr") || fieldName.equals("fkr")) {
        if (Arrays.asList("sqr", "fkr","fkrprovideroffeedback").contains(fieldName)) {
            oaWorkflowRequestTableField.setFieldType(1);
        }
        return oaWorkflowRequestTableField;
@@ -132,6 +133,8 @@
     * @return
     */
    public OAResult sendWorkFlow(OAWorkflowRequestInfo wri) {
        System.setProperty("com.sun.xml.ws.transport.http.client.HttpTransportPipe.dump","true");
        System.setProperty("com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.dump","true");
        Holder<String> errorCode = new Holder<String>();
        Holder<String> errorMsg = new Holder<String>();
        Holder<String> addWorkflowResult = new Holder<String>();