zhuo
2025-02-18 9db1a719dae6731ce38de145c38fdbd7d49f6af0
添加全局时间处理和oa流程接口
已删除1个文件
已添加26个文件
2803 ■■■■■ 文件已修改
inspect-server/src/main/java/com/ruoyi/inspect/controller/InsReportController.java 163 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/src/main/java/com/ruoyi/common/oa/AddWorkflow.java 143 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/src/main/java/com/ruoyi/common/oa/AddWorkflowResponse.java 114 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/src/main/java/com/ruoyi/common/oa/ArrayOfOAWorkflowRequestTableField.java 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/src/main/java/com/ruoyi/common/oa/ArrayOfOAWorkflowRequestTableRecord.java 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/src/main/java/com/ruoyi/common/oa/ArrayOfOAWorkflowTable.java 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/src/main/java/com/ruoyi/common/oa/ForwardWorkflowRequest.java 154 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/src/main/java/com/ruoyi/common/oa/ForwardWorkflowRequestResponse.java 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/src/main/java/com/ruoyi/common/oa/OAProcess.java 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/src/main/java/com/ruoyi/common/oa/OAProperty.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/src/main/java/com/ruoyi/common/oa/OAResult.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/src/main/java/com/ruoyi/common/oa/OAService.java 152 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/src/main/java/com/ruoyi/common/oa/OAWorkFlowRequest.java 161 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/src/main/java/com/ruoyi/common/oa/OAWorkFlowRequestHttpGet.java 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/src/main/java/com/ruoyi/common/oa/OAWorkFlowRequestHttpPost.java 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/src/main/java/com/ruoyi/common/oa/OAWorkFlowRequestSoap.java 99 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/src/main/java/com/ruoyi/common/oa/OAWorkflowRequestInfo.java 254 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/src/main/java/com/ruoyi/common/oa/OAWorkflowRequestTableField.java 368 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/src/main/java/com/ruoyi/common/oa/OAWorkflowRequestTableRecord.java 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/src/main/java/com/ruoyi/common/oa/OAWorkflowTable.java 90 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/src/main/java/com/ruoyi/common/oa/ObjectFactory.java 149 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/src/main/java/com/ruoyi/common/oa/UpdateAndSubmitWorkflow.java 143 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/src/main/java/com/ruoyi/common/oa/UpdateAndSubmitWorkflowResponse.java 114 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/src/main/java/com/ruoyi/common/oa/package-info.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/src/main/java/com/ruoyi/common/utils/ApplicationContextHolder.java 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-framework/src/main/java/com/ruoyi/framework/config/FormatterConfig.java 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-framework/src/main/java/com/ruoyi/framework/config/LocalDateTimeSerializerConfig.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/ruoyi/inspect/controller/InsReportController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,163 @@
package com.ruoyi.inspect.controller;
import cn.hutool.core.io.FileUtil;
import cn.hutool.http.HttpUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.domain.Result;
import com.ruoyi.framework.exception.ErrorException;
import com.ruoyi.inspect.dto.ReportPageDto;
import com.ruoyi.inspect.service.InsReportService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Map;
import java.util.Objects;
import java.util.Scanner;
@RestController
@RequestMapping("/insReport")
@Api(tags = "检验报告")
public class InsReportController {
    @Resource
    private InsReportService insReportService;
    @Value("${wordUrl}")
    private String wordUrl;
    @ApiOperation(value = "查询检验报告数据")
    @GetMapping("/pageInsReport")
    public Result pageInsReport(Page page, ReportPageDto reportPageDto){
        return Result.success(insReportService.pageInsReport(page, reportPageDto));
    }
    @ApiOperation(value = "报告上传")
    @PostMapping("/inReport")
    public Result inReport(MultipartFile file, Integer id) {
        String urlString;
        String pathName;
        try {
            String path = wordUrl;
            File realpath = new File(path);
            if (!realpath.exists()) {
                realpath.mkdirs();
            }
            pathName = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyMMddHHmmss")) + "_" + file.getOriginalFilename();
            urlString = realpath + "/" + pathName;
            file.transferTo(new File(urlString));
            return Result.success(insReportService.inReport("/word/" + pathName, id));
        } catch (Exception e) {
            throw new ErrorException("文件上传失败");
        }
    }
    @ApiOperation(value = "报告还原")
    @PostMapping("/upReportUrl")
    public Result upReportUrl(@RequestBody Map<String, Object> param) {
        Integer id = (Integer) param.get("id");
        return Result.success(insReportService.upReportUrl(id));
    }
    @ApiOperation(value = "报告在线编制")
    @GetMapping("/upReportFile")
    public Result upReportFile() {
        return Result.success();
    }
    @ApiOperation(value = "提交")
    @PostMapping("/writeReport")
    public Result writeReport(@RequestBody Map<String, Object> param) {
        Integer id = (Integer) param.get("id");
        Integer userId = (Integer) param.get("userId");
        return Result.success(insReportService.writeReport(id, userId, null));
    }
    /**
     * @param userId éœ€è¦çš„æ‰¹å‡†äºº
     * @return
     */
    @ApiOperation(value = "审核")
    @PostMapping("/examineReport")
    public Result examineReport(@RequestBody Map<String, Object> param) {
        Integer id = (Integer) param.get("id");
        Integer isExamine = (Integer) param.get("isExamine");
        String examineTell = (String) param.get("examineTell");
        Integer userId = (Integer) param.get("userId");
        return Result.success(insReportService.examineReport(id, isExamine, examineTell, userId));
    }
    @ApiOperation(value = "批准")
    @PostMapping("/ratifyReport")
    public Result ratifyReport(@RequestBody Map<String, Object> param) {
        Integer id = (Integer) param.get("id");
        Integer isRatify = (Integer) param.get("isRatify");
        String ratifyTell = (String) param.get("ratifyTell");
        return Result.success(insReportService.ratifyReport(id, isRatify, ratifyTell));
    }
    @RequestMapping("/onlyOffice/save")
    public void saveFile(@RequestParam String fileName, HttpServletRequest request, HttpServletResponse response) {
        PrintWriter writer = null;
        try {
            writer = response.getWriter();
            // èŽ·å–ä¼ è¾“çš„json数据
            Scanner scanner = new Scanner(request.getInputStream()).useDelimiter("\\A");
            String body = scanner.hasNext() ? scanner.next() : "";
            JSONObject jsonObject = JSONObject.parseObject(body);
            if (jsonObject.containsKey("url")) {
                String jsonArray = jsonObject.get("lastsave").toString(); // æ›´æ–°æ—¶é—´
                String fileUrl = jsonObject.get("url").toString(); // æ›´æ–°æ–‡ä»¶url
                HttpUtil.downloadFile(fileUrl, FileUtil.file(wordUrl + "/" + fileName));
            }
        } catch (Exception e) {
            e.printStackTrace();
            writer.write("{\"error\":-1}");
            return;
        }
        /*
         * status = 1,我们给onlyOffice的服务返回{"error":"0"}的信息。
         * è¿™æ ·onlyOffice会认为回调接口是没问题的,这样就可以在线编辑文档了,否则的话会弹出窗口说明
         */
        if (Objects.nonNull(writer)) {
            writer.write("{\"error\":0}");
        }
    }
    @ApiOperation(value = "报告批量下载")
    @GetMapping("/downAll")
    public Result downAll(String ids) {
        return Result.success(insReportService.downAll(ids));
    }
    @ApiOperation(value = "报告批量上传")
    @PostMapping("/upAll")
    public Result upAll(MultipartFile file) throws IOException {
        return Result.success(insReportService.upAll(file));
    }
    /**
     * é€€å›žåˆ°æ£€éªŒä»»åŠ¡
     * @param id
     * @return
     */
    @ApiOperation(value = "退回到检验任务")
    @PostMapping("/sendBackTask")
    public Result sendBackTask(@RequestBody Map<String, Object> param){
        Integer id = (Integer) param.get("id");
        return Result.success(insReportService.sendBackTask(id));
    }
}
ruoyi-common/src/main/java/com/ruoyi/common/oa/AddWorkflow.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,143 @@
package com.ruoyi.common.oa;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
/**
 * <p>anonymous complex type的 Java ç±»ã€‚
 *
 * <p>以下模式片段指定包含在此类中的预期内容。
 *
 * <pre>
 * &lt;complexType>
 *   &lt;complexContent>
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *       &lt;sequence>
 *         &lt;element name="appKey" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="wri" type="{http://tempuri.org/}OA_WorkflowRequestInfo" minOccurs="0"/>
 *         &lt;element name="errorCode" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="errorMsg" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *       &lt;/sequence>
 *     &lt;/restriction>
 *   &lt;/complexContent>
 * &lt;/complexType>
 * </pre>
 *
 *
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
    "appKey",
    "wri",
    "errorCode",
    "errorMsg"
})
@XmlRootElement(name = "AddWorkflow")
public class AddWorkflow {
    protected String appKey;
    protected OAWorkflowRequestInfo wri;
    protected String errorCode;
    protected String errorMsg;
    /**
     * èŽ·å–appKey属性的值。
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getAppKey() {
        return appKey;
    }
    /**
     * è®¾ç½®appKey属性的值。
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public void setAppKey(String value) {
        this.appKey = value;
    }
    /**
     * èŽ·å–wri属性的值。
     *
     * @return
     *     possible object is
     *     {@link OAWorkflowRequestInfo }
     *
     */
    public OAWorkflowRequestInfo getWri() {
        return wri;
    }
    /**
     * è®¾ç½®wri属性的值。
     *
     * @param value
     *     allowed object is
     *     {@link OAWorkflowRequestInfo }
     *
     */
    public void setWri(OAWorkflowRequestInfo value) {
        this.wri = value;
    }
    /**
     * èŽ·å–errorCode属性的值。
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getErrorCode() {
        return errorCode;
    }
    /**
     * è®¾ç½®errorCode属性的值。
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public void setErrorCode(String value) {
        this.errorCode = value;
    }
    /**
     * èŽ·å–errorMsg属性的值。
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getErrorMsg() {
        return errorMsg;
    }
    /**
     * è®¾ç½®errorMsg属性的值。
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public void setErrorMsg(String value) {
        this.errorMsg = value;
    }
}
ruoyi-common/src/main/java/com/ruoyi/common/oa/AddWorkflowResponse.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,114 @@
package com.ruoyi.common.oa;
import javax.xml.bind.annotation.*;
/**
 * <p>anonymous complex type的 Java ç±»ã€‚
 *
 * <p>以下模式片段指定包含在此类中的预期内容。
 *
 * <pre>
 * &lt;complexType>
 *   &lt;complexContent>
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *       &lt;sequence>
 *         &lt;element name="AddWorkflowResult" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="errorCode" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="errorMsg" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *       &lt;/sequence>
 *     &lt;/restriction>
 *   &lt;/complexContent>
 * &lt;/complexType>
 * </pre>
 *
 *
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
    "addWorkflowResult",
    "errorCode",
    "errorMsg"
})
@XmlRootElement(name = "AddWorkflowResponse")
public class AddWorkflowResponse {
    @XmlElement(name = "AddWorkflowResult")
    protected String addWorkflowResult;
    protected String errorCode;
    protected String errorMsg;
    /**
     * èŽ·å–addWorkflowResult属性的值。
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getAddWorkflowResult() {
        return addWorkflowResult;
    }
    /**
     * è®¾ç½®addWorkflowResult属性的值。
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public void setAddWorkflowResult(String value) {
        this.addWorkflowResult = value;
    }
    /**
     * èŽ·å–errorCode属性的值。
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getErrorCode() {
        return errorCode;
    }
    /**
     * è®¾ç½®errorCode属性的值。
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public void setErrorCode(String value) {
        this.errorCode = value;
    }
    /**
     * èŽ·å–errorMsg属性的值。
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getErrorMsg() {
        return errorMsg;
    }
    /**
     * è®¾ç½®errorMsg属性的值。
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public void setErrorMsg(String value) {
        this.errorMsg = value;
    }
}
ruoyi-common/src/main/java/com/ruoyi/common/oa/ArrayOfOAWorkflowRequestTableField.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,69 @@
package com.ruoyi.common.oa;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
import java.util.ArrayList;
import java.util.List;
/**
 * <p>ArrayOfOA_WorkflowRequestTableField complex type的 Java ç±»ã€‚
 *
 * <p>以下模式片段指定包含在此类中的预期内容。
 *
 * <pre>
 * &lt;complexType name="ArrayOfOA_WorkflowRequestTableField">
 *   &lt;complexContent>
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *       &lt;sequence>
 *         &lt;element name="OA_WorkflowRequestTableField" type="{http://tempuri.org/}OA_WorkflowRequestTableField" maxOccurs="unbounded" minOccurs="0"/>
 *       &lt;/sequence>
 *     &lt;/restriction>
 *   &lt;/complexContent>
 * &lt;/complexType>
 * </pre>
 *
 *
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "ArrayOfOA_WorkflowRequestTableField", propOrder = {
    "oaWorkflowRequestTableField"
})
public class ArrayOfOAWorkflowRequestTableField {
    @XmlElement(name = "OA_WorkflowRequestTableField", nillable = true)
    protected List<OAWorkflowRequestTableField> oaWorkflowRequestTableField;
    /**
     * Gets the value of the oaWorkflowRequestTableField property.
     *
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the oaWorkflowRequestTableField property.
     *
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getOAWorkflowRequestTableField().add(newItem);
     * </pre>
     *
     *
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link OAWorkflowRequestTableField }
     *
     *
     */
    public List<OAWorkflowRequestTableField> getOAWorkflowRequestTableField() {
        if (oaWorkflowRequestTableField == null) {
            oaWorkflowRequestTableField = new ArrayList<OAWorkflowRequestTableField>();
        }
        return this.oaWorkflowRequestTableField;
    }
}
ruoyi-common/src/main/java/com/ruoyi/common/oa/ArrayOfOAWorkflowRequestTableRecord.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,69 @@
package com.ruoyi.common.oa;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
import java.util.ArrayList;
import java.util.List;
/**
 * <p>ArrayOfOA_WorkflowRequestTableRecord complex type的 Java ç±»ã€‚
 *
 * <p>以下模式片段指定包含在此类中的预期内容。
 *
 * <pre>
 * &lt;complexType name="ArrayOfOA_WorkflowRequestTableRecord">
 *   &lt;complexContent>
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *       &lt;sequence>
 *         &lt;element name="OA_WorkflowRequestTableRecord" type="{http://tempuri.org/}OA_WorkflowRequestTableRecord" maxOccurs="unbounded" minOccurs="0"/>
 *       &lt;/sequence>
 *     &lt;/restriction>
 *   &lt;/complexContent>
 * &lt;/complexType>
 * </pre>
 *
 *
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "ArrayOfOA_WorkflowRequestTableRecord", propOrder = {
    "oaWorkflowRequestTableRecord"
})
public class ArrayOfOAWorkflowRequestTableRecord {
    @XmlElement(name = "OA_WorkflowRequestTableRecord", nillable = true)
    protected List<OAWorkflowRequestTableRecord> oaWorkflowRequestTableRecord;
    /**
     * Gets the value of the oaWorkflowRequestTableRecord property.
     *
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the oaWorkflowRequestTableRecord property.
     *
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getOAWorkflowRequestTableRecord().add(newItem);
     * </pre>
     *
     *
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link OAWorkflowRequestTableRecord }
     *
     *
     */
    public List<OAWorkflowRequestTableRecord> getOAWorkflowRequestTableRecord() {
        if (oaWorkflowRequestTableRecord == null) {
            oaWorkflowRequestTableRecord = new ArrayList<OAWorkflowRequestTableRecord>();
        }
        return this.oaWorkflowRequestTableRecord;
    }
}
ruoyi-common/src/main/java/com/ruoyi/common/oa/ArrayOfOAWorkflowTable.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,69 @@
package com.ruoyi.common.oa;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
import java.util.ArrayList;
import java.util.List;
/**
 * <p>ArrayOfOA_WorkflowTable complex type的 Java ç±»ã€‚
 *
 * <p>以下模式片段指定包含在此类中的预期内容。
 *
 * <pre>
 * &lt;complexType name="ArrayOfOA_WorkflowTable">
 *   &lt;complexContent>
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *       &lt;sequence>
 *         &lt;element name="OA_WorkflowTable" type="{http://tempuri.org/}OA_WorkflowTable" maxOccurs="unbounded" minOccurs="0"/>
 *       &lt;/sequence>
 *     &lt;/restriction>
 *   &lt;/complexContent>
 * &lt;/complexType>
 * </pre>
 *
 *
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "ArrayOfOA_WorkflowTable", propOrder = {
    "oaWorkflowTable"
})
public class ArrayOfOAWorkflowTable {
    @XmlElement(name = "OA_WorkflowTable", nillable = true)
    protected List<OAWorkflowTable> oaWorkflowTable;
    /**
     * Gets the value of the oaWorkflowTable property.
     *
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the oaWorkflowTable property.
     *
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getOAWorkflowTable().add(newItem);
     * </pre>
     *
     *
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link OAWorkflowTable }
     *
     *
     */
    public List<OAWorkflowTable> getOAWorkflowTable() {
        if (oaWorkflowTable == null) {
            oaWorkflowTable = new ArrayList<OAWorkflowTable>();
        }
        return this.oaWorkflowTable;
    }
}
ruoyi-common/src/main/java/com/ruoyi/common/oa/ForwardWorkflowRequest.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,154 @@
package com.ruoyi.common.oa;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
/**
 * <p>anonymous complex type的 Java ç±»ã€‚
 *
 * <p>以下模式片段指定包含在此类中的预期内容。
 *
 * <pre>
 * &lt;complexType>
 *   &lt;complexContent>
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *       &lt;sequence>
 *         &lt;element name="requestid" type="{http://www.w3.org/2001/XMLSchema}int"/>
 *         &lt;element name="forwardoperator" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="remark" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="userId" type="{http://www.w3.org/2001/XMLSchema}int"/>
 *         &lt;element name="clientip" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *       &lt;/sequence>
 *     &lt;/restriction>
 *   &lt;/complexContent>
 * &lt;/complexType>
 * </pre>
 *
 *
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
    "requestid",
    "forwardoperator",
    "remark",
    "userId",
    "clientip"
})
@XmlRootElement(name = "forwardWorkflowRequest")
public class ForwardWorkflowRequest {
    protected int requestid;
    protected String forwardoperator;
    protected String remark;
    protected int userId;
    protected String clientip;
    /**
     * èŽ·å–requestid属性的值。
     *
     */
    public int getRequestid() {
        return requestid;
    }
    /**
     * è®¾ç½®requestid属性的值。
     *
     */
    public void setRequestid(int value) {
        this.requestid = value;
    }
    /**
     * èŽ·å–forwardoperator属性的值。
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getForwardoperator() {
        return forwardoperator;
    }
    /**
     * è®¾ç½®forwardoperator属性的值。
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public void setForwardoperator(String value) {
        this.forwardoperator = value;
    }
    /**
     * èŽ·å–remark属性的值。
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getRemark() {
        return remark;
    }
    /**
     * è®¾ç½®remark属性的值。
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public void setRemark(String value) {
        this.remark = value;
    }
    /**
     * èŽ·å–userId属性的值。
     *
     */
    public int getUserId() {
        return userId;
    }
    /**
     * è®¾ç½®userId属性的值。
     *
     */
    public void setUserId(int value) {
        this.userId = value;
    }
    /**
     * èŽ·å–clientip属性的值。
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getClientip() {
        return clientip;
    }
    /**
     * è®¾ç½®clientip属性的值。
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public void setClientip(String value) {
        this.clientip = value;
    }
}
ruoyi-common/src/main/java/com/ruoyi/common/oa/ForwardWorkflowRequestResponse.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,62 @@
package com.ruoyi.common.oa;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
/**
 * <p>anonymous complex type的 Java ç±»ã€‚
 *
 * <p>以下模式片段指定包含在此类中的预期内容。
 *
 * <pre>
 * &lt;complexType>
 *   &lt;complexContent>
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *       &lt;sequence>
 *         &lt;element name="forwardWorkflowRequestResult" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *       &lt;/sequence>
 *     &lt;/restriction>
 *   &lt;/complexContent>
 * &lt;/complexType>
 * </pre>
 *
 *
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
    "forwardWorkflowRequestResult"
})
@XmlRootElement(name = "forwardWorkflowRequestResponse")
public class ForwardWorkflowRequestResponse {
    protected String forwardWorkflowRequestResult;
    /**
     * èŽ·å–forwardWorkflowRequestResult属性的值。
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getForwardWorkflowRequestResult() {
        return forwardWorkflowRequestResult;
    }
    /**
     * è®¾ç½®forwardWorkflowRequestResult属性的值。
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public void setForwardWorkflowRequestResult(String value) {
        this.forwardWorkflowRequestResult = value;
    }
}
ruoyi-common/src/main/java/com/ruoyi/common/oa/OAProcess.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,67 @@
package com.ruoyi.common.oa;
import java.util.List;
import java.util.Map;
public class OAProcess {
    public static String oaReturnMsg(int code, String msg) {
        return "<miap><miap-header><errorcode>" + code + "</errorcode><errormsg>" + msg + "</errormsg></miap-header" + "><miap-Body></miap-Body></miap>";
    }
    /**
     * @param mainFields:主表字段数据
     * @param detailFields:子表字段数据
     * @param requestName:创建的流程的名称
     * @param workflowId:OA流程ID
     * @param createrId:OA账号
     * @return OAResult
     * @throws Exception
     */
    public static OAResult start(Map<String, String> mainFields, List<Map<String, String>> detailFields, String requestName, String workflowId, String createrId) throws Exception {
        OAService oaService = new OAService();
        //创建流程主体
        OAWorkflowRequestInfo wri = new OAWorkflowRequestInfo();
        wri.setWorkflowId(workflowId);
        wri.setCreaterId(createrId);
        wri.setRequestLevel("0");
        wri.setRequestName(requestName);
        OAWorkflowTable wmi = oaService.createOAMainWorkflowTable(mainFields);
        // å°†ä¸»è¡¨ä¿¡æ¯å¡«å……到流程信息里
        wri.setWorkflowMainTable(wmi);
        ArrayOfOAWorkflowTable owdts = oaService.createOADetailWorkflowTable(detailFields);
        // å°†æ˜Žç»†è¡¨ä¿¡æ¯å¡«å……到流程信息里
        wri.setWorkflowDetailTables(owdts);
        // å‘èµ·OA流程
        OAResult oaResult = oaService.sendWorkFlow(wri);
        // è¾“出OA流程执行结果
        System.out.println(oaResult);
        return oaResult;
    }
    public static OAResult start(Map<String, String> mainFields, String requestName, String workflowId, String createrId) throws Exception {
        OAService oaService = new OAService();
        //创建流程主体
        OAWorkflowRequestInfo wri = new OAWorkflowRequestInfo();
        wri.setWorkflowId(workflowId);
        wri.setCreaterId(createrId);
        wri.setRequestLevel("0");
        wri.setRequestName(requestName);
//        wri.setIsnextflow("1");
        wri.setIsnextflow("0");
        //创建主表
        OAWorkflowTable wmi = oaService.createOAMainWorkflowTable(mainFields);
        // å°†ä¸»è¡¨ä¿¡æ¯å¡«å……到流程信息里
        wri.setWorkflowMainTable(wmi);
        // å‘èµ·OA流程
        OAResult oaResult = oaService.sendWorkFlow(wri);
        // è¾“出OA流程执行结果
        System.out.println(oaResult);
        return oaResult;
    }
}
ruoyi-common/src/main/java/com/ruoyi/common/oa/OAProperty.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,31 @@
package com.ruoyi.common.oa;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
/**
 * @author ZTT
 */
@Configuration
@ConfigurationProperties(prefix = "oa")
@Data
public class OAProperty {
    /**
     * oa地址
     */
    private String oaHost;
//    /**
//     * æ–‡ä»¶æŸ¥çœ‹ip地址
//     */
//    private String prodIp;
    /**
     * è£…备电缆:不合格审批oa的id
     */
    private String unqualifiedProcessId;
}
ruoyi-common/src/main/java/com/ruoyi/common/oa/OAResult.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,29 @@
package com.ruoyi.common.oa;
import lombok.Data;
/**
 * @author ZTT
 */
@Data
public class OAResult {
    private static final String SUCCESS_CODE = "0";
    /**
     * é”™è¯¯ä»£ç 
     */
    private String errorCode;
    /**
     * é”™è¯¯ä¿¡æ¯
     */
    private String errorMsg;
    /**
     * æµç¨‹ç¼–号
     */
    private String addWorkflowResult;
    public boolean success() {
        return SUCCESS_CODE.equals(errorCode);
    }
}
ruoyi-common/src/main/java/com/ruoyi/common/oa/OAService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,152 @@
package com.ruoyi.common.oa;
import javax.xml.ws.Holder;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
 * @author ZTT
 */
public class OAService {
    /**
     * åˆ›å»ºOA流程主表
     *
     * @param fields
     * @return
     */
    public OAWorkflowTable createOAMainWorkflowTable(Map<String, String> fields) {
        //------------------主表列赋值---------------------------
        List<OAWorkflowRequestTableField> oaWorkflowRequestTableField = new ArrayList<OAWorkflowRequestTableField>();
        for (Map.Entry<String, String> field : fields.entrySet()) {
            oaWorkflowRequestTableField.add(createOAWorkflowRequestTableField(field.getKey(), field.getValue().toString()));
        }
        System.out.println("@#######################");
        for (OAWorkflowRequestTableField workflowRequestTableField : oaWorkflowRequestTableField) {
            System.out.println(workflowRequestTableField.fieldName +","+ workflowRequestTableField.fieldValue +"--"+ workflowRequestTableField.fieldType);
        }
        //创建主表列
        ArrayOfOAWorkflowRequestTableField wrti = new ArrayOfOAWorkflowRequestTableField();
        wrti.oaWorkflowRequestTableField = oaWorkflowRequestTableField;
        // å°†ä¸»è¡¨åˆ—填充到主表行里
        OAWorkflowRequestTableRecord oaWorkflowRequestTableRecord = new OAWorkflowRequestTableRecord();
        oaWorkflowRequestTableRecord.setWorkflowRequestTableFields(wrti);
        //创建主表行
        ArrayOfOAWorkflowRequestTableRecord wrtri = new ArrayOfOAWorkflowRequestTableRecord();
        wrtri.getOAWorkflowRequestTableRecord().add(oaWorkflowRequestTableRecord);
        //创建主表
        OAWorkflowTable wmi = new OAWorkflowTable();
        //将主表行填充到主表里
        wmi.setWorkflowRequestTableRecords(wrtri);
        return wmi;
    }
    /**
     * åˆ›å»ºOA明细表流程
     *
     * @param fields
     * @return
     */
    public ArrayOfOAWorkflowTable createOADetailWorkflowTable(List<Map<String, String>> fields) {
        //------------------明细表赋值---------------------------
        //创建1张明细表
        ArrayOfOAWorkflowTable owdts = new ArrayOfOAWorkflowTable();
        //将明细列填充到明细行中
        //明细属性
        ArrayOfOAWorkflowRequestTableRecord owrtr = new ArrayOfOAWorkflowRequestTableRecord();
        for (int i = 0; i < fields.size(); i++) {
            List<OAWorkflowRequestTableField> owrtf_ = new ArrayList<OAWorkflowRequestTableField>();
            for (Map.Entry<String, String> field : fields.get(i).entrySet()) {
                owrtf_.add(createOAWorkflowRequestTableField(field.getKey(), field.getValue()));
            }
            ArrayOfOAWorkflowRequestTableField owrti = new ArrayOfOAWorkflowRequestTableField();
            owrti.oaWorkflowRequestTableField = owrtf_;
            OAWorkflowRequestTableRecord owrtis = new OAWorkflowRequestTableRecord();
            owrtis.setWorkflowRequestTableFields(owrti);
            owrtr.getOAWorkflowRequestTableRecord().add(owrtis);
        }
        // å°†æ˜Žç»†è¡Œå¡«å……到明细表里
        OAWorkflowTable owrtrs = new OAWorkflowTable();
        owrtrs.setWorkflowRequestTableRecords(owrtr);
        owdts.getOAWorkflowTable().add(owrtrs);
        return owdts;
    }
    /**
     * åˆ›å»ºOA流程表格属性
     *
     * @param fieldName
     * @param fieldValue
     * @param view
     * @param edit
     * @return
     */
    public OAWorkflowRequestTableField createOAWorkflowRequestTableField(String fieldName, String fieldValue, String view, String edit) {
        // åˆ›å»ºå±žæ€§
        OAWorkflowRequestTableField oaWorkflowRequestTableField = new OAWorkflowRequestTableField();
        // å¯¹å±žæ€§è¿›è¡Œè®¾ç½®
        oaWorkflowRequestTableField.setFieldName(fieldName);
        oaWorkflowRequestTableField.setFieldValue(fieldValue);
        oaWorkflowRequestTableField.setView(view);
        oaWorkflowRequestTableField.setEdit(edit);
        return oaWorkflowRequestTableField;
    }
    /**
     * åˆ›å»ºOA流程表格属性
     *
     * @param fieldName
     * @param fieldValue
     * @return
     */
    public OAWorkflowRequestTableField createOAWorkflowRequestTableField(String fieldName, String fieldValue) {
        // åˆ›å»ºå±žæ€§
        OAWorkflowRequestTableField oaWorkflowRequestTableField = new OAWorkflowRequestTableField();
        // å¯¹å±žæ€§è¿›è¡Œè®¾ç½®
        oaWorkflowRequestTableField.setFieldName(fieldName);
        oaWorkflowRequestTableField.setFieldValue(fieldValue);
        oaWorkflowRequestTableField.setView("true");
        oaWorkflowRequestTableField.setEdit("true");
        if (fieldName.equals("sqr") || fieldName.equals("fkr")) {
            oaWorkflowRequestTableField.setFieldType(1);
        }
        return oaWorkflowRequestTableField;
    }
    /**
     * å‘送OA流程
     *
     * @param wri
     * @return
     */
    public OAResult sendWorkFlow(OAWorkflowRequestInfo wri) {
        Holder<String> errorCode = new Holder<String>();
        Holder<String> errorMsg = new Holder<String>();
        Holder<String> addWorkflowResult = new Holder<String>();
        OAWorkFlowRequest owfr = new OAWorkFlowRequest();
        // è°ƒç”¨OA流程新增方法,发起OA流程
        owfr.getOAWorkFlowRequestSoap().addWorkflow("5DEDD10D2E434A139A05953BDB66CC68", wri, errorCode, errorMsg, addWorkflowResult);
        // æµç¨‹å‘送结果
        OAResult oaResult = new OAResult();
        oaResult.setErrorCode(errorCode.value);
        oaResult.setErrorMsg(errorMsg.value);
        oaResult.setAddWorkflowResult(addWorkflowResult.value);
        return oaResult;
    }
}
ruoyi-common/src/main/java/com/ruoyi/common/oa/OAWorkFlowRequest.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,161 @@
package com.ruoyi.common.oa;
import com.ruoyi.common.utils.ApplicationContextHolder;
import javax.xml.namespace.QName;
import javax.xml.ws.*;
import java.net.MalformedURLException;
import java.net.URL;
/**
 * This class was generated by the JAX-WS RI.
 * JAX-WS RI 2.2.9-b130926.1035
 * Generated source version: 2.2
 *
 */
@WebServiceClient(name = "OA_WorkFlowRequest", targetNamespace = "http://tempuri.org/")
public class OAWorkFlowRequest
    extends Service
{
    private final static URL OAWORKFLOWREQUEST_WSDL_LOCATION;
    private final static WebServiceException OAWORKFLOWREQUEST_EXCEPTION;
    private final static QName OAWORKFLOWREQUEST_QNAME = new QName("http://tempuri.org/", "OA_WorkFlowRequest");
    static {
        URL url = null;
        WebServiceException e = null;
        try {
            OAProperty oaProperties = ApplicationContextHolder.getBean(OAProperty.class);
            url = new URL(oaProperties.getOaHost());
        } catch (MalformedURLException ex) {
            e = new WebServiceException(ex);
        }
        OAWORKFLOWREQUEST_WSDL_LOCATION = url;
        OAWORKFLOWREQUEST_EXCEPTION = e;
    }
    public OAWorkFlowRequest() {
        super(__getWsdlLocation(), OAWORKFLOWREQUEST_QNAME);
    }
    public OAWorkFlowRequest(WebServiceFeature... features) {
        super(__getWsdlLocation(), OAWORKFLOWREQUEST_QNAME, features);
    }
    public OAWorkFlowRequest(URL wsdlLocation) {
        super(wsdlLocation, OAWORKFLOWREQUEST_QNAME);
    }
    public OAWorkFlowRequest(URL wsdlLocation, WebServiceFeature... features) {
        super(wsdlLocation, OAWORKFLOWREQUEST_QNAME, features);
    }
    public OAWorkFlowRequest(URL wsdlLocation, QName serviceName) {
        super(wsdlLocation, serviceName);
    }
    public OAWorkFlowRequest(URL wsdlLocation, QName serviceName, WebServiceFeature... features) {
        super(wsdlLocation, serviceName, features);
    }
    /**
     *
     * @return
     *     returns OAWorkFlowRequestSoap
     */
    @WebEndpoint(name = "OA_WorkFlowRequestSoap")
    public OAWorkFlowRequestSoap getOAWorkFlowRequestSoap() {
        return super.getPort(new QName("http://tempuri.org/", "OA_WorkFlowRequestSoap"), OAWorkFlowRequestSoap.class);
    }
    /**
     *
     * @param features
     *     A list of {@link WebServiceFeature} to configure on the proxy.  Supported features not in the <code>features</code> parameter will have their default values.
     * @return
     *     returns OAWorkFlowRequestSoap
     */
    @WebEndpoint(name = "OA_WorkFlowRequestSoap")
    public OAWorkFlowRequestSoap getOAWorkFlowRequestSoap(WebServiceFeature... features) {
        return super.getPort(new QName("http://tempuri.org/", "OA_WorkFlowRequestSoap"), OAWorkFlowRequestSoap.class, features);
    }
    /**
     *
     * @return
     *     returns OAWorkFlowRequestSoap
     */
    @WebEndpoint(name = "OA_WorkFlowRequestSoap12")
    public OAWorkFlowRequestSoap getOAWorkFlowRequestSoap12() {
        return super.getPort(new QName("http://tempuri.org/", "OA_WorkFlowRequestSoap12"), OAWorkFlowRequestSoap.class);
    }
    /**
     *
     * @param features
     *     A list of {@link WebServiceFeature} to configure on the proxy.  Supported features not in the <code>features</code> parameter will have their default values.
     * @return
     *     returns OAWorkFlowRequestSoap
     */
    @WebEndpoint(name = "OA_WorkFlowRequestSoap12")
    public OAWorkFlowRequestSoap getOAWorkFlowRequestSoap12(WebServiceFeature... features) {
        return super.getPort(new QName("http://tempuri.org/", "OA_WorkFlowRequestSoap12"), OAWorkFlowRequestSoap.class, features);
    }
    /**
     *
     * @return
     *     returns OAWorkFlowRequestHttpGet
     */
    @WebEndpoint(name = "OA_WorkFlowRequestHttpGet")
    public OAWorkFlowRequestHttpGet getOAWorkFlowRequestHttpGet() {
        return super.getPort(new QName("http://tempuri.org/", "OA_WorkFlowRequestHttpGet"), OAWorkFlowRequestHttpGet.class);
    }
    /**
     *
     * @param features
     *     A list of {@link WebServiceFeature} to configure on the proxy.  Supported features not in the <code>features</code> parameter will have their default values.
     * @return
     *     returns OAWorkFlowRequestHttpGet
     */
    @WebEndpoint(name = "OA_WorkFlowRequestHttpGet")
    public OAWorkFlowRequestHttpGet getOAWorkFlowRequestHttpGet(WebServiceFeature... features) {
        return super.getPort(new QName("http://tempuri.org/", "OA_WorkFlowRequestHttpGet"), OAWorkFlowRequestHttpGet.class, features);
    }
    /**
     *
     * @return
     *     returns OAWorkFlowRequestHttpPost
     */
    @WebEndpoint(name = "OA_WorkFlowRequestHttpPost")
    public OAWorkFlowRequestHttpPost getOAWorkFlowRequestHttpPost() {
        return super.getPort(new QName("http://tempuri.org/", "OA_WorkFlowRequestHttpPost"), OAWorkFlowRequestHttpPost.class);
    }
    /**
     *
     * @param features
     *     A list of {@link WebServiceFeature} to configure on the proxy.  Supported features not in the <code>features</code> parameter will have their default values.
     * @return
     *     returns OAWorkFlowRequestHttpPost
     */
    @WebEndpoint(name = "OA_WorkFlowRequestHttpPost")
    public OAWorkFlowRequestHttpPost getOAWorkFlowRequestHttpPost(WebServiceFeature... features) {
        return super.getPort(new QName("http://tempuri.org/", "OA_WorkFlowRequestHttpPost"), OAWorkFlowRequestHttpPost.class, features);
    }
    private static URL __getWsdlLocation() {
        if (OAWORKFLOWREQUEST_EXCEPTION!= null) {
            throw OAWORKFLOWREQUEST_EXCEPTION;
        }
        return OAWORKFLOWREQUEST_WSDL_LOCATION;
    }
}
ruoyi-common/src/main/java/com/ruoyi/common/oa/OAWorkFlowRequestHttpGet.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,50 @@
package com.ruoyi.common.oa;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import javax.xml.bind.annotation.XmlSeeAlso;
/**
 * This class was generated by the JAX-WS RI.
 * JAX-WS RI 2.2.9-b130926.1035
 * Generated source version: 2.2
 *
 */
@WebService(name = "OA_WorkFlowRequestHttpGet", targetNamespace = "http://tempuri.org/")
@SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
@XmlSeeAlso({
    ObjectFactory.class
})
public interface OAWorkFlowRequestHttpGet {
    /**
     *
     * @param requestid
     * @param clientip
     * @param remark
     * @param forwardoperator
     * @param userId
     * @return
     *     returns java.lang.String
     */
    @WebMethod
    @WebResult(name = "string", targetNamespace = "http://tempuri.org/", partName = "Body")
    public String forwardWorkflowRequest(
        @WebParam(name = "string", targetNamespace = "http://www.w3.org/2001/XMLSchema", partName = "requestid")
        String requestid,
        @WebParam(name = "string", targetNamespace = "http://www.w3.org/2001/XMLSchema", partName = "forwardoperator")
        String forwardoperator,
        @WebParam(name = "string", targetNamespace = "http://www.w3.org/2001/XMLSchema", partName = "remark")
        String remark,
        @WebParam(name = "string", targetNamespace = "http://www.w3.org/2001/XMLSchema", partName = "userId")
        String userId,
        @WebParam(name = "string", targetNamespace = "http://www.w3.org/2001/XMLSchema", partName = "clientip")
        String clientip);
}
ruoyi-common/src/main/java/com/ruoyi/common/oa/OAWorkFlowRequestHttpPost.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,50 @@
package com.ruoyi.common.oa;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import javax.xml.bind.annotation.XmlSeeAlso;
/**
 * This class was generated by the JAX-WS RI.
 * JAX-WS RI 2.2.9-b130926.1035
 * Generated source version: 2.2
 *
 */
@WebService(name = "OA_WorkFlowRequestHttpPost", targetNamespace = "http://tempuri.org/")
@SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
@XmlSeeAlso({
    ObjectFactory.class
})
public interface OAWorkFlowRequestHttpPost {
    /**
     *
     * @param requestid
     * @param clientip
     * @param remark
     * @param forwardoperator
     * @param userId
     * @return
     *     returns java.lang.String
     */
    @WebMethod
    @WebResult(name = "string", targetNamespace = "http://tempuri.org/", partName = "Body")
    public String forwardWorkflowRequest(
        @WebParam(name = "string", targetNamespace = "http://www.w3.org/2001/XMLSchema", partName = "requestid")
        String requestid,
        @WebParam(name = "string", targetNamespace = "http://www.w3.org/2001/XMLSchema", partName = "forwardoperator")
        String forwardoperator,
        @WebParam(name = "string", targetNamespace = "http://www.w3.org/2001/XMLSchema", partName = "remark")
        String remark,
        @WebParam(name = "string", targetNamespace = "http://www.w3.org/2001/XMLSchema", partName = "userId")
        String userId,
        @WebParam(name = "string", targetNamespace = "http://www.w3.org/2001/XMLSchema", partName = "clientip")
        String clientip);
}
ruoyi-common/src/main/java/com/ruoyi/common/oa/OAWorkFlowRequestSoap.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,99 @@
package com.ruoyi.common.oa;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
import javax.xml.bind.annotation.XmlSeeAlso;
import javax.xml.ws.Holder;
import javax.xml.ws.RequestWrapper;
import javax.xml.ws.ResponseWrapper;
/**
 * This class was generated by the JAX-WS RI.
 * JAX-WS RI 2.2.9-b130926.1035
 * Generated source version: 2.2
 *
 */
@WebService(name = "OA_WorkFlowRequestSoap", targetNamespace = "http://tempuri.org/")
@XmlSeeAlso({
    ObjectFactory.class
})
public interface OAWorkFlowRequestSoap {
    /**
     *
     * @param requestid
     * @param clientip
     * @param remark
     * @param forwardoperator
     * @param userId
     * @return
     *     returns java.lang.String
     */
    @WebMethod(action = "http://tempuri.org/forwardWorkflowRequest")
    @WebResult(name = "forwardWorkflowRequestResult", targetNamespace = "http://tempuri.org/")
    @RequestWrapper(localName = "forwardWorkflowRequest", targetNamespace = "http://tempuri.org/", className = "com.chinaztt.mes.common.oa.ForwardWorkflowRequest")
    @ResponseWrapper(localName = "forwardWorkflowRequestResponse", targetNamespace = "http://tempuri.org/", className = "com.chinaztt.mes.common.oa.ForwardWorkflowRequestResponse")
    public String forwardWorkflowRequest(
        @WebParam(name = "requestid", targetNamespace = "http://tempuri.org/")
        int requestid,
        @WebParam(name = "forwardoperator", targetNamespace = "http://tempuri.org/")
        String forwardoperator,
        @WebParam(name = "remark", targetNamespace = "http://tempuri.org/")
        String remark,
        @WebParam(name = "userId", targetNamespace = "http://tempuri.org/")
        int userId,
        @WebParam(name = "clientip", targetNamespace = "http://tempuri.org/")
        String clientip);
    /**
     *
     * @param addWorkflowResult
     * @param errorCode
     * @param appKey
     * @param wri
     * @param errorMsg
     */
    @WebMethod(operationName = "AddWorkflow", action = "http://tempuri.org/AddWorkflow")
    @RequestWrapper(localName = "AddWorkflow", targetNamespace = "http://tempuri.org/", className = "com.chinaztt.mes.common.oa.AddWorkflow")
    @ResponseWrapper(localName = "AddWorkflowResponse", targetNamespace = "http://tempuri.org/", className = "com.chinaztt.mes.common.oa.AddWorkflowResponse")
    public void addWorkflow(
        @WebParam(name = "appKey", targetNamespace = "http://tempuri.org/")
        String appKey,
        @WebParam(name = "wri", targetNamespace = "http://tempuri.org/")
        OAWorkflowRequestInfo wri,
        @WebParam(name = "errorCode", targetNamespace = "http://tempuri.org/", mode = WebParam.Mode.INOUT)
        Holder<String> errorCode,
        @WebParam(name = "errorMsg", targetNamespace = "http://tempuri.org/", mode = WebParam.Mode.INOUT)
        Holder<String> errorMsg,
        @WebParam(name = "AddWorkflowResult", targetNamespace = "http://tempuri.org/", mode = WebParam.Mode.OUT)
        Holder<String> addWorkflowResult);
    /**
     *
     * @param errorCode
     * @param appKey
     * @param updateAndSubmitWorkflowResult
     * @param wri
     * @param errorMsg
     */
    @WebMethod(operationName = "UpdateAndSubmitWorkflow", action = "http://tempuri.org/UpdateAndSubmitWorkflow")
    @RequestWrapper(localName = "UpdateAndSubmitWorkflow", targetNamespace = "http://tempuri.org/", className = "com.chinaztt.mes.common.oa.UpdateAndSubmitWorkflow")
    @ResponseWrapper(localName = "UpdateAndSubmitWorkflowResponse", targetNamespace = "http://tempuri.org/", className = "com.chinaztt.mes.common.oa.UpdateAndSubmitWorkflowResponse")
    public void updateAndSubmitWorkflow(
        @WebParam(name = "appKey", targetNamespace = "http://tempuri.org/")
        String appKey,
        @WebParam(name = "wri", targetNamespace = "http://tempuri.org/")
        OAWorkflowRequestInfo wri,
        @WebParam(name = "errorCode", targetNamespace = "http://tempuri.org/", mode = WebParam.Mode.INOUT)
        Holder<String> errorCode,
        @WebParam(name = "errorMsg", targetNamespace = "http://tempuri.org/", mode = WebParam.Mode.INOUT)
        Holder<String> errorMsg,
        @WebParam(name = "UpdateAndSubmitWorkflowResult", targetNamespace = "http://tempuri.org/", mode = WebParam.Mode.OUT)
        Holder<String> updateAndSubmitWorkflowResult);
}
ruoyi-common/src/main/java/com/ruoyi/common/oa/OAWorkflowRequestInfo.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,254 @@
package com.ruoyi.common.oa;
import lombok.Data;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
/**
 * <p>OA_WorkflowRequestInfo complex type的 Java ç±»ã€‚
 *
 * <p>以下模式片段指定包含在此类中的预期内容。
 *
 * <pre>
 * &lt;complexType name="OA_WorkflowRequestInfo">
 *   &lt;complexContent>
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *       &lt;sequence>
 *         &lt;element name="WorkflowId" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="RequestId" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="MainId" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="CreaterId" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="RequestLevel" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="RequestName" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="Remark" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="WorkflowMainTable" type="{http://tempuri.org/}OA_WorkflowTable" minOccurs="0"/>
 *         &lt;element name="WorkflowDetailTables" type="{http://tempuri.org/}ArrayOfOA_WorkflowTable" minOccurs="0"/>
 *       &lt;/sequence>
 *     &lt;/restriction>
 *   &lt;/complexContent>
 * &lt;/complexType>
 * </pre>
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "OA_WorkflowRequestInfo", propOrder = {
        "workflowId",
        "requestId",
        "mainId",
        "createrId",
        "requestLevel",
        "requestName",
        "remark",
        "isnextflow",
        "workflowMainTable",
        "workflowDetailTables"
})
@Data
public class OAWorkflowRequestInfo {
    @XmlElement(name = "WorkflowId")
    protected String workflowId;
    @XmlElement(name = "RequestId")
    protected String requestId;
    @XmlElement(name = "MainId")
    protected String mainId;
    @XmlElement(name = "CreaterId")
    protected String createrId;
    @XmlElement(name = "RequestLevel")
    protected String requestLevel;
    @XmlElement(name = "RequestName")
    protected String requestName;
    @XmlElement(name = "Remark")
    protected String remark;
    @XmlElement(name = "isnextflow")
    protected String isnextflow;
    @XmlElement(name = "WorkflowMainTable")
    protected OAWorkflowTable workflowMainTable;
    @XmlElement(name = "WorkflowDetailTables")
    protected ArrayOfOAWorkflowTable workflowDetailTables;
    /**
     * èŽ·å–workflowId属性的值。
     *
     * @return possible object is
     * {@link String }
     */
    public String getWorkflowId() {
        return workflowId;
    }
    /**
     * è®¾ç½®workflowId属性的值。
     *
     * @param value allowed object is
     *              {@link String }
     */
    public void setWorkflowId(String value) {
        this.workflowId = value;
    }
    /**
     * èŽ·å–requestId属性的值。
     *
     * @return possible object is
     * {@link String }
     */
    public String getRequestId() {
        return requestId;
    }
    /**
     * è®¾ç½®requestId属性的值。
     *
     * @param value allowed object is
     *              {@link String }
     */
    public void setRequestId(String value) {
        this.requestId = value;
    }
    /**
     * èŽ·å–mainId属性的值。
     *
     * @return possible object is
     * {@link String }
     */
    public String getMainId() {
        return mainId;
    }
    /**
     * è®¾ç½®mainId属性的值。
     *
     * @param value allowed object is
     *              {@link String }
     */
    public void setMainId(String value) {
        this.mainId = value;
    }
    /**
     * èŽ·å–createrId属性的值。
     *
     * @return possible object is
     * {@link String }
     */
    public String getCreaterId() {
        return createrId;
    }
    /**
     * è®¾ç½®createrId属性的值。
     *
     * @param value allowed object is
     *              {@link String }
     */
    public void setCreaterId(String value) {
        this.createrId = value;
    }
    /**
     * èŽ·å–requestLevel属性的值。
     *
     * @return possible object is
     * {@link String }
     */
    public String getRequestLevel() {
        return requestLevel;
    }
    /**
     * è®¾ç½®requestLevel属性的值。
     *
     * @param value allowed object is
     *              {@link String }
     */
    public void setRequestLevel(String value) {
        this.requestLevel = value;
    }
    /**
     * èŽ·å–requestName属性的值。
     *
     * @return possible object is
     * {@link String }
     */
    public String getRequestName() {
        return requestName;
    }
    /**
     * è®¾ç½®requestName属性的值。
     *
     * @param value allowed object is
     *              {@link String }
     */
    public void setRequestName(String value) {
        this.requestName = value;
    }
    /**
     * èŽ·å–remark属性的值。
     *
     * @return possible object is
     * {@link String }
     */
    public String getRemark() {
        return remark;
    }
    /**
     * è®¾ç½®remark属性的值。
     *
     * @param value allowed object is
     *              {@link String }
     */
    public void setRemark(String value) {
        this.remark = value;
    }
    /**
     * èŽ·å–workflowMainTable属性的值。
     *
     * @return possible object is
     * {@link OAWorkflowTable }
     */
    public OAWorkflowTable getWorkflowMainTable() {
        return workflowMainTable;
    }
    /**
     * è®¾ç½®workflowMainTable属性的值。
     *
     * @param value allowed object is
     *              {@link OAWorkflowTable }
     */
    public void setWorkflowMainTable(OAWorkflowTable value) {
        this.workflowMainTable = value;
    }
    /**
     * èŽ·å–workflowDetailTables属性的值。
     *
     * @return possible object is
     * {@link ArrayOfOAWorkflowTable }
     */
    public ArrayOfOAWorkflowTable getWorkflowDetailTables() {
        return workflowDetailTables;
    }
    /**
     * è®¾ç½®workflowDetailTables属性的值。
     *
     * @param value allowed object is
     *              {@link ArrayOfOAWorkflowTable }
     */
    public void setWorkflowDetailTables(ArrayOfOAWorkflowTable value) {
        this.workflowDetailTables = value;
    }
}
ruoyi-common/src/main/java/com/ruoyi/common/oa/OAWorkflowRequestTableField.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,368 @@
package com.ruoyi.common.oa;
import lombok.Data;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
import java.util.Objects;
/**
 * <p>OA_WorkflowRequestTableField complex type的 Java ç±»ã€‚
 *
 * <p>以下模式片段指定包含在此类中的预期内容。
 *
 * <pre>
 * &lt;complexType name="OA_WorkflowRequestTableField">
 *   &lt;complexContent>
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *       &lt;sequence>
 *         &lt;element name="FieldName" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="FieldValue" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="View" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="Edit" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="FieldType" type="{http://www.w3.org/2001/XMLSchema}int"/>
 *         &lt;element name="SysName" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="ValueType1" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="ValueType2" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="ValueType3" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="ValueKey" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="ValueTableName" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *       &lt;/sequence>
 *     &lt;/restriction>
 *   &lt;/complexContent>
 * &lt;/complexType>
 * </pre>
 *
 *
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "OA_WorkflowRequestTableField", propOrder = {
    "fieldName",
    "fieldValue",
    "view",
    "edit",
    "fieldType",
    "sysName",
    "valueType1",
    "valueType2",
    "valueType3",
    "valueKey",
    "valueTableName"
})
@Data
public class OAWorkflowRequestTableField {
    @XmlElement(name = "FieldName")
    protected String fieldName;
    @XmlElement(name = "FieldValue")
    protected String fieldValue;
    @XmlElement(name = "View")
    protected String view;
    @XmlElement(name = "Edit")
    protected String edit;
    @XmlElement(name = "FieldType")
    protected int fieldType;
    @XmlElement(name = "SysName")
    protected String sysName;
    @XmlElement(name = "ValueType1")
    protected String valueType1;
    @XmlElement(name = "ValueType2")
    protected String valueType2;
    @XmlElement(name = "ValueType3")
    protected String valueType3;
    @XmlElement(name = "ValueKey")
    protected String valueKey;
    @XmlElement(name = "ValueTableName")
    protected String valueTableName;
    /**
     * èŽ·å–fieldName属性的值。
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getFieldName() {
        return fieldName;
    }
    /**
     * è®¾ç½®fieldName属性的值。
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public void setFieldName(String value) {
        this.fieldName = value;
    }
    /**
     * èŽ·å–fieldValue属性的值。
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getFieldValue() {
        return fieldValue;
    }
    /**
     * è®¾ç½®fieldValue属性的值。
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public void setFieldValue(String value) {
        this.fieldValue = value;
    }
    /**
     * èŽ·å–view属性的值。
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getView() {
        return view;
    }
    /**
     * è®¾ç½®view属性的值。
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public void setView(String value) {
        this.view = value;
    }
    /**
     * èŽ·å–edit属性的值。
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getEdit() {
        return edit;
    }
    /**
     * è®¾ç½®edit属性的值。
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public void setEdit(String value) {
        this.edit = value;
    }
    /**
     * èŽ·å–fieldType属性的值。
     *
     */
    public int getFieldType() {
        return fieldType;
    }
    /**
     * è®¾ç½®fieldType属性的值。
     *
     */
    public void setFieldType(int value) {
        this.fieldType = value;
    }
    /**
     * èŽ·å–sysName属性的值。
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getSysName() {
        return sysName;
    }
    /**
     * è®¾ç½®sysName属性的值。
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public void setSysName(String value) {
        this.sysName = value;
    }
    /**
     * èŽ·å–valueType1属性的值。
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getValueType1() {
        return valueType1;
    }
    /**
     * è®¾ç½®valueType1属性的值。
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public void setValueType1(String value) {
        this.valueType1 = value;
    }
    /**
     * èŽ·å–valueType2属性的值。
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getValueType2() {
        return valueType2;
    }
    /**
     * è®¾ç½®valueType2属性的值。
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public void setValueType2(String value) {
        this.valueType2 = value;
    }
    /**
     * èŽ·å–valueType3属性的值。
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getValueType3() {
        return valueType3;
    }
    /**
     * è®¾ç½®valueType3属性的值。
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public void setValueType3(String value) {
        this.valueType3 = value;
    }
    /**
     * èŽ·å–valueKey属性的值。
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getValueKey() {
        return valueKey;
    }
    /**
     * è®¾ç½®valueKey属性的值。
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public void setValueKey(String value) {
        this.valueKey = value;
    }
    /**
     * èŽ·å–valueTableName属性的值。
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getValueTableName() {
        return valueTableName;
    }
    /**
     * è®¾ç½®valueTableName属性的值。
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public void setValueTableName(String value) {
        this.valueTableName = value;
    }
    @Override
    public String toString() {
        return "OAWorkflowRequestTableField{" +
                "fieldName='" + fieldName + '\'' +
                ", fieldValue='" + fieldValue + '\'' +
                ", view='" + view + '\'' +
                ", edit='" + edit + '\'' +
                ", fieldType=" + fieldType +
                ", sysName='" + sysName + '\'' +
                ", valueType1='" + valueType1 + '\'' +
                ", valueType2='" + valueType2 + '\'' +
                ", valueType3='" + valueType3 + '\'' +
                ", valueKey='" + valueKey + '\'' +
                ", valueTableName='" + valueTableName + '\'' +
                '}';
    }
    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        OAWorkflowRequestTableField that = (OAWorkflowRequestTableField) o;
        return fieldType == that.fieldType && Objects.equals(fieldName, that.fieldName) && Objects.equals(fieldValue, that.fieldValue) && Objects.equals(view, that.view) && Objects.equals(edit, that.edit) && Objects.equals(sysName, that.sysName) && Objects.equals(valueType1, that.valueType1) && Objects.equals(valueType2, that.valueType2) && Objects.equals(valueType3, that.valueType3) && Objects.equals(valueKey, that.valueKey) && Objects.equals(valueTableName, that.valueTableName);
    }
    @Override
    public int hashCode() {
        return Objects.hash(fieldName, fieldValue, view, edit, fieldType, sysName, valueType1, valueType2, valueType3, valueKey, valueTableName);
    }
}
ruoyi-common/src/main/java/com/ruoyi/common/oa/OAWorkflowRequestTableRecord.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,62 @@
package com.ruoyi.common.oa;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
/**
 * <p>OA_WorkflowRequestTableRecord complex type的 Java ç±»ã€‚
 *
 * <p>以下模式片段指定包含在此类中的预期内容。
 *
 * <pre>
 * &lt;complexType name="OA_WorkflowRequestTableRecord">
 *   &lt;complexContent>
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *       &lt;sequence>
 *         &lt;element name="WorkflowRequestTableFields" type="{http://tempuri.org/}ArrayOfOA_WorkflowRequestTableField" minOccurs="0"/>
 *       &lt;/sequence>
 *     &lt;/restriction>
 *   &lt;/complexContent>
 * &lt;/complexType>
 * </pre>
 *
 *
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "OA_WorkflowRequestTableRecord", propOrder = {
    "workflowRequestTableFields"
})
public class OAWorkflowRequestTableRecord {
    @XmlElement(name = "WorkflowRequestTableFields")
    protected ArrayOfOAWorkflowRequestTableField workflowRequestTableFields;
    /**
     * èŽ·å–workflowRequestTableFields属性的值。
     *
     * @return
     *     possible object is
     *     {@link ArrayOfOAWorkflowRequestTableField }
     *
     */
    public ArrayOfOAWorkflowRequestTableField getWorkflowRequestTableFields() {
        return workflowRequestTableFields;
    }
    /**
     * è®¾ç½®workflowRequestTableFields属性的值。
     *
     * @param value
     *     allowed object is
     *     {@link ArrayOfOAWorkflowRequestTableField }
     *
     */
    public void setWorkflowRequestTableFields(ArrayOfOAWorkflowRequestTableField value) {
        this.workflowRequestTableFields = value;
    }
}
ruoyi-common/src/main/java/com/ruoyi/common/oa/OAWorkflowTable.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,90 @@
package com.ruoyi.common.oa;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
/**
 * <p>OA_WorkflowTable complex type的 Java ç±»ã€‚
 *
 * <p>以下模式片段指定包含在此类中的预期内容。
 *
 * <pre>
 * &lt;complexType name="OA_WorkflowTable">
 *   &lt;complexContent>
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *       &lt;sequence>
 *         &lt;element name="TableName" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="WorkflowRequestTableRecords" type="{http://tempuri.org/}ArrayOfOA_WorkflowRequestTableRecord" minOccurs="0"/>
 *       &lt;/sequence>
 *     &lt;/restriction>
 *   &lt;/complexContent>
 * &lt;/complexType>
 * </pre>
 *
 *
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "OA_WorkflowTable", propOrder = {
    "tableName",
    "workflowRequestTableRecords"
})
public class OAWorkflowTable {
    @XmlElement(name = "TableName")
    protected String tableName;
    @XmlElement(name = "WorkflowRequestTableRecords")
    protected ArrayOfOAWorkflowRequestTableRecord workflowRequestTableRecords;
    /**
     * èŽ·å–tableName属性的值。
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getTableName() {
        return tableName;
    }
    /**
     * è®¾ç½®tableName属性的值。
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public void setTableName(String value) {
        this.tableName = value;
    }
    /**
     * èŽ·å–workflowRequestTableRecords属性的值。
     *
     * @return
     *     possible object is
     *     {@link ArrayOfOAWorkflowRequestTableRecord }
     *
     */
    public ArrayOfOAWorkflowRequestTableRecord getWorkflowRequestTableRecords() {
        return workflowRequestTableRecords;
    }
    /**
     * è®¾ç½®workflowRequestTableRecords属性的值。
     *
     * @param value
     *     allowed object is
     *     {@link ArrayOfOAWorkflowRequestTableRecord }
     *
     */
    public void setWorkflowRequestTableRecords(ArrayOfOAWorkflowRequestTableRecord value) {
        this.workflowRequestTableRecords = value;
    }
}
ruoyi-common/src/main/java/com/ruoyi/common/oa/ObjectFactory.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,149 @@
package com.ruoyi.common.oa;
import javax.xml.bind.JAXBElement;
import javax.xml.bind.annotation.XmlElementDecl;
import javax.xml.bind.annotation.XmlRegistry;
import javax.xml.namespace.QName;
/**
 * This object contains factory methods for each
 * Java content interface and Java element interface
 * generated in the com.chinaztt.mes.common.oa package.
 * <p>An ObjectFactory allows you to programatically
 * construct new instances of the Java representation
 * for XML content. The Java representation of XML
 * content can consist of schema derived interfaces
 * and classes representing the binding of schema
 * type definitions, element declarations and model
 * groups.  Factory methods for each of these are
 * provided in this class.
 *
 */
@XmlRegistry
public class ObjectFactory {
    private final static QName _String_QNAME = new QName("http://tempuri.org/", "string");
    /**
     * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: com.chinaztt.mes.common.oa
     *
     */
    public ObjectFactory() {
    }
    /**
     * Create an instance of {@link AddWorkflowResponse }
     *
     */
    public AddWorkflowResponse createAddWorkflowResponse() {
        return new AddWorkflowResponse();
    }
    /**
     * Create an instance of {@link AddWorkflow }
     *
     */
    public AddWorkflow createAddWorkflow() {
        return new AddWorkflow();
    }
    /**
     * Create an instance of {@link OAWorkflowRequestInfo }
     *
     */
    public OAWorkflowRequestInfo createOAWorkflowRequestInfo() {
        return new OAWorkflowRequestInfo();
    }
    /**
     * Create an instance of {@link UpdateAndSubmitWorkflow }
     *
     */
    public UpdateAndSubmitWorkflow createUpdateAndSubmitWorkflow() {
        return new UpdateAndSubmitWorkflow();
    }
    /**
     * Create an instance of {@link UpdateAndSubmitWorkflowResponse }
     *
     */
    public UpdateAndSubmitWorkflowResponse createUpdateAndSubmitWorkflowResponse() {
        return new UpdateAndSubmitWorkflowResponse();
    }
    /**
     * Create an instance of {@link ForwardWorkflowRequestResponse }
     *
     */
    public ForwardWorkflowRequestResponse createForwardWorkflowRequestResponse() {
        return new ForwardWorkflowRequestResponse();
    }
    /**
     * Create an instance of {@link ForwardWorkflowRequest }
     *
     */
    public ForwardWorkflowRequest createForwardWorkflowRequest() {
        return new ForwardWorkflowRequest();
    }
    /**
     * Create an instance of {@link OAWorkflowTable }
     *
     */
    public OAWorkflowTable createOAWorkflowTable() {
        return new OAWorkflowTable();
    }
    /**
     * Create an instance of {@link OAWorkflowRequestTableRecord }
     *
     */
    public OAWorkflowRequestTableRecord createOAWorkflowRequestTableRecord() {
        return new OAWorkflowRequestTableRecord();
    }
    /**
     * Create an instance of {@link ArrayOfOAWorkflowTable }
     *
     */
    public ArrayOfOAWorkflowTable createArrayOfOAWorkflowTable() {
        return new ArrayOfOAWorkflowTable();
    }
    /**
     * Create an instance of {@link ArrayOfOAWorkflowRequestTableRecord }
     *
     */
    public ArrayOfOAWorkflowRequestTableRecord createArrayOfOAWorkflowRequestTableRecord() {
        return new ArrayOfOAWorkflowRequestTableRecord();
    }
    /**
     * Create an instance of {@link OAWorkflowRequestTableField }
     *
     */
    public OAWorkflowRequestTableField createOAWorkflowRequestTableField() {
        return new OAWorkflowRequestTableField();
    }
    /**
     * Create an instance of {@link ArrayOfOAWorkflowRequestTableField }
     *
     */
    public ArrayOfOAWorkflowRequestTableField createArrayOfOAWorkflowRequestTableField() {
        return new ArrayOfOAWorkflowRequestTableField();
    }
    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
     *
     */
    @XmlElementDecl(namespace = "http://tempuri.org/", name = "string")
    public JAXBElement<String> createString(String value) {
        return new JAXBElement<String>(_String_QNAME, String.class, null, value);
    }
}
ruoyi-common/src/main/java/com/ruoyi/common/oa/UpdateAndSubmitWorkflow.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,143 @@
package com.ruoyi.common.oa;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
/**
 * <p>anonymous complex type的 Java ç±»ã€‚
 *
 * <p>以下模式片段指定包含在此类中的预期内容。
 *
 * <pre>
 * &lt;complexType>
 *   &lt;complexContent>
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *       &lt;sequence>
 *         &lt;element name="appKey" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="wri" type="{http://tempuri.org/}OA_WorkflowRequestInfo" minOccurs="0"/>
 *         &lt;element name="errorCode" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="errorMsg" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *       &lt;/sequence>
 *     &lt;/restriction>
 *   &lt;/complexContent>
 * &lt;/complexType>
 * </pre>
 *
 *
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
    "appKey",
    "wri",
    "errorCode",
    "errorMsg"
})
@XmlRootElement(name = "UpdateAndSubmitWorkflow")
public class UpdateAndSubmitWorkflow {
    protected String appKey;
    protected OAWorkflowRequestInfo wri;
    protected String errorCode;
    protected String errorMsg;
    /**
     * èŽ·å–appKey属性的值。
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getAppKey() {
        return appKey;
    }
    /**
     * è®¾ç½®appKey属性的值。
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public void setAppKey(String value) {
        this.appKey = value;
    }
    /**
     * èŽ·å–wri属性的值。
     *
     * @return
     *     possible object is
     *     {@link OAWorkflowRequestInfo }
     *
     */
    public OAWorkflowRequestInfo getWri() {
        return wri;
    }
    /**
     * è®¾ç½®wri属性的值。
     *
     * @param value
     *     allowed object is
     *     {@link OAWorkflowRequestInfo }
     *
     */
    public void setWri(OAWorkflowRequestInfo value) {
        this.wri = value;
    }
    /**
     * èŽ·å–errorCode属性的值。
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getErrorCode() {
        return errorCode;
    }
    /**
     * è®¾ç½®errorCode属性的值。
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public void setErrorCode(String value) {
        this.errorCode = value;
    }
    /**
     * èŽ·å–errorMsg属性的值。
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getErrorMsg() {
        return errorMsg;
    }
    /**
     * è®¾ç½®errorMsg属性的值。
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public void setErrorMsg(String value) {
        this.errorMsg = value;
    }
}
ruoyi-common/src/main/java/com/ruoyi/common/oa/UpdateAndSubmitWorkflowResponse.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,114 @@
package com.ruoyi.common.oa;
import javax.xml.bind.annotation.*;
/**
 * <p>anonymous complex type的 Java ç±»ã€‚
 *
 * <p>以下模式片段指定包含在此类中的预期内容。
 *
 * <pre>
 * &lt;complexType>
 *   &lt;complexContent>
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *       &lt;sequence>
 *         &lt;element name="UpdateAndSubmitWorkflowResult" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="errorCode" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="errorMsg" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *       &lt;/sequence>
 *     &lt;/restriction>
 *   &lt;/complexContent>
 * &lt;/complexType>
 * </pre>
 *
 *
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
    "updateAndSubmitWorkflowResult",
    "errorCode",
    "errorMsg"
})
@XmlRootElement(name = "UpdateAndSubmitWorkflowResponse")
public class UpdateAndSubmitWorkflowResponse {
    @XmlElement(name = "UpdateAndSubmitWorkflowResult")
    protected String updateAndSubmitWorkflowResult;
    protected String errorCode;
    protected String errorMsg;
    /**
     * èŽ·å–updateAndSubmitWorkflowResult属性的值。
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getUpdateAndSubmitWorkflowResult() {
        return updateAndSubmitWorkflowResult;
    }
    /**
     * è®¾ç½®updateAndSubmitWorkflowResult属性的值。
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public void setUpdateAndSubmitWorkflowResult(String value) {
        this.updateAndSubmitWorkflowResult = value;
    }
    /**
     * èŽ·å–errorCode属性的值。
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getErrorCode() {
        return errorCode;
    }
    /**
     * è®¾ç½®errorCode属性的值。
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public void setErrorCode(String value) {
        this.errorCode = value;
    }
    /**
     * èŽ·å–errorMsg属性的值。
     *
     * @return
     *     possible object is
     *     {@link String }
     *
     */
    public String getErrorMsg() {
        return errorMsg;
    }
    /**
     * è®¾ç½®errorMsg属性的值。
     *
     * @param value
     *     allowed object is
     *     {@link String }
     *
     */
    public void setErrorMsg(String value) {
        this.errorMsg = value;
    }
}
ruoyi-common/src/main/java/com/ruoyi/common/oa/package-info.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,2 @@
@javax.xml.bind.annotation.XmlSchema(namespace = "http://tempuri.org/", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
package com.ruoyi.common.oa;
ruoyi-common/src/main/java/com/ruoyi/common/utils/ApplicationContextHolder.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,52 @@
package com.ruoyi.common.utils;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;
/**
 * @Author: zhangxy
 * @Date: 2021-05-24 16:29
 */
@Component
public class ApplicationContextHolder implements ApplicationContextAware {
    private static ApplicationContext applicationContext;
    @Override
    public void setApplicationContext(ApplicationContext ctx) throws BeansException {
        applicationContext = ctx;
    }
    /**
     * Get application context from everywhere
     *
     * @return
     */
    public static ApplicationContext getApplicationContext() {
        return applicationContext;
    }
    /**
     * Get bean by class
     *
     * @param clazz
     * @param <T>
     * @return
     */
    public static <T> T getBean(Class<T> clazz) {
        return applicationContext.getBean(clazz);
    }
    /**
     * Get bean by class name
     *
     * @param name
     * @param <T>
     * @return
     */
    @SuppressWarnings("unchecked")
    public static <T> T getBean(String name) {
        return (T) applicationContext.getBean(name);
    }
}
ruoyi-framework/src/main/java/com/ruoyi/framework/config/FormatterConfig.java
ÎļþÒÑɾ³ý
ruoyi-framework/src/main/java/com/ruoyi/framework/config/LocalDateTimeSerializerConfig.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,36 @@
package com.ruoyi.framework.config;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
@Configuration
public class LocalDateTimeSerializerConfig {
    @Value("${spring.jackson.date-format}")
    private String pattern;
    @Bean
    public LocalDateTimeSerializer localDateTimeSerializer() {
        return new LocalDateTimeSerializer(DateTimeFormatter.ofPattern(pattern));
    }
    @Bean
    public LocalDateTimeDeserializer localDateTimeDeserializer() {
        return new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern(pattern));
    }
    @Bean
    public Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilderCustomizer() {
        return builder -> {
            builder.serializerByType(LocalDateTime.class, localDateTimeSerializer());
            builder.deserializerByType(LocalDateTime.class, localDateTimeDeserializer());
            builder.simpleDateFormat(pattern);
        };
    }
}