diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateExcelVo.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateExcelVo.java new file mode 100644 index 0000000000..7c9543e065 --- /dev/null +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateExcelVo.java @@ -0,0 +1,80 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.scm.api.scmspecialrebate; + +import com.yxt.common.core.utils.ExportEntityMap; +import lombok.Data; + +@Data +public class ScmSpecialRebateExcelVo { + + @ExportEntityMap(CnName = "序号", EnName = "rankNo") + private Integer rankNo; + @ExportEntityMap(CnName = "状态", EnName = "state") + private String state; + @ExportEntityMap(CnName = "分公司", EnName = "createOrgName") + private String createOrgName; + @ExportEntityMap(CnName = "采购系统", EnName = "purchaseSystemName") + private String purchaseSystemName; + @ExportEntityMap(CnName = "品牌", EnName = "brandName") + private String brandName; + @ExportEntityMap(CnName = "创建日期", EnName = "createTime") + private String createTime; + @ExportEntityMap(CnName = "返利类型", EnName = "rebateTypeValue") + private String rebateTypeValue; + @ExportEntityMap(CnName = "返利名称", EnName = "rebateName") + private String rebateName; + @ExportEntityMap(CnName = "预计返利", EnName = "estimateRebate") + private String estimateRebate; + @ExportEntityMap(CnName = "其中预计费用", EnName = "expectCost") + private String expectCost; + @ExportEntityMap(CnName = "所属年月", EnName = "palceGenDate") + private String palceGenDate; + @ExportEntityMap(CnName = "预提日期", EnName = "withholdingDate") + private String withholdingDate; + @ExportEntityMap(CnName = "上传日期", EnName = "uploadDate") + private String uploadDate; + @ExportEntityMap(CnName = "上传金额", EnName = "uploadMoney") + private String uploadMoney; + @ExportEntityMap(CnName = "二次上传日期", EnName = "secondaryUploadDate") + private String secondaryUploadDate; + @ExportEntityMap(CnName = "二次上传金额", EnName = "secondaryUploadMoney") + private String secondaryUploadMoney; + @ExportEntityMap(CnName = "其中待确定金额", EnName = "stayDetermineMoney") + private String stayDetermineMoney; + @ExportEntityMap(CnName = "其中费用", EnName = "money") + private String money; + @ExportEntityMap(CnName = "差异金额", EnName = "diffAmount") + private String diffAmount; + @ExportEntityMap(CnName = "是否调整", EnName = "isAdjustment") + private String isAdjustment; + @ExportEntityMap(CnName = "调整金额", EnName = "adjustmentMoney") + private String adjustmentMoney; + @ExportEntityMap(CnName = "调整说明", EnName = "adjustmentRemarks") + private String adjustmentRemarks; + @ExportEntityMap(CnName = "备注", EnName = "remarks") + private String remarks; +} diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebatecheckapply/SpecialRebateCheckExcelVo.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebatecheckapply/SpecialRebateCheckExcelVo.java new file mode 100644 index 0000000000..d4968cd413 --- /dev/null +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebatecheckapply/SpecialRebateCheckExcelVo.java @@ -0,0 +1,75 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.scm.api.scmspecialrebatecheckapply; + + +import com.yxt.common.core.utils.ExportEntityMap; +import lombok.Data; + +@Data +public class SpecialRebateCheckExcelVo { + + @ExportEntityMap(CnName = "序号", EnName = "rankNo") + private Integer rankNo; + @ExportEntityMap(CnName = "分公司", EnName = "createOrgName") + private String createOrgName; + @ExportEntityMap(CnName = "采购系统", EnName = "purchaseSystemName") + private String purchaseSystemName; + @ExportEntityMap(CnName = "品牌名称", EnName = "brandName") + private String brandName; + @ExportEntityMap(CnName = "创建日期", EnName = "createTime") + private String createTime; + @ExportEntityMap(CnName = "返利类型", EnName = "rebateTypeValue") + private String rebateTypeValue; + @ExportEntityMap(CnName = "返利名称", EnName = "rebateName") + private String rebateName; + @ExportEntityMap(CnName = "预计返利", EnName = "estimateRebate") + private String estimateRebate; + @ExportEntityMap(CnName = "其中预提费用", EnName = "withholdCost") + private String withholdCost; + @ExportEntityMap(CnName = "所属年月", EnName = "palceGenDate") + private String palceGenDate; + @ExportEntityMap(CnName = "上传日期", EnName = "uploadDate") + private String uploadDate; + @ExportEntityMap(CnName = "上传金额", EnName = "uploadMoney") + private String uploadMoney; + @ExportEntityMap(CnName = "二次上传日期", EnName = "secondaryUploadDate") + private String secondaryUploadDate; + @ExportEntityMap(CnName = "二次上传金额", EnName = "secondaryUploadMoney") + private String secondaryUploadMoney; + @ExportEntityMap(CnName = "其中待确定金额", EnName = "stayDetermineMoney") + private String stayDetermineMoney; + @ExportEntityMap(CnName = "其中费用", EnName = "money") + private String money; + @ExportEntityMap(CnName = "差异金额", EnName = "diffAmount") + private String diffAmount; + @ExportEntityMap(CnName = "是否调整", EnName = "isAdjustment") + private String isAdjustment; + @ExportEntityMap(CnName = "调整金额", EnName = "adjustmentMoney") + private String adjustmentMoney; + @ExportEntityMap(CnName = "调整说明", EnName = "adjustmentRemarks") + private String adjustmentRemarks; +} \ No newline at end of file diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebatewith/SpectalRebateWithExcelVo.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebatewith/SpectalRebateWithExcelVo.java new file mode 100644 index 0000000000..21bf588353 --- /dev/null +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebatewith/SpectalRebateWithExcelVo.java @@ -0,0 +1,65 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.scm.api.scmspecialrebatewith; + + +import com.yxt.common.core.utils.ExportEntityMap; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class SpectalRebateWithExcelVo { + + @ExportEntityMap(CnName = "序号", EnName = "rankNo") + private Integer rankNo; + @ExportEntityMap(CnName = "分公司", EnName = "useOrgName") + private String useOrgName; + @ExportEntityMap(CnName = "采购系统", EnName = "purchaseSystemName") + private String purchaseSystemName; + @ExportEntityMap(CnName = "品牌名称", EnName = "brandName") + private String brandName; + @ExportEntityMap(CnName = "创建日期", EnName = "createTime") + private String createTime; + @ExportEntityMap(CnName = "返利类型", EnName = "rebateTypeValue") + private String rebateTypeValue; + @ExportEntityMap(CnName = "返利名称", EnName = "rebateName") + private String rebateName; + @ExportEntityMap(CnName = "预计返利", EnName = "estimateRebate") + private String estimateRebate; + @ExportEntityMap(CnName = "其中支出费用", EnName = "expectItureCost") + private BigDecimal expectItureCost; + @ExportEntityMap(CnName = "其中待支付费用", EnName = "expectTreatCost") + private BigDecimal expectTreatCost; + @ExportEntityMap(CnName = "其中抵顶费用", EnName = "expectSuppCost") + private BigDecimal expectSuppCost; + @ExportEntityMap(CnName = "抵顶费用说明", EnName = "expectSuppRemark") + private String expectSuppRemark; + @ExportEntityMap(CnName = "所属年月", EnName = "palceGenDate") + private String palceGenDate; + @ExportEntityMap(CnName = "备注", EnName = "remarks") + private String remarks; +} \ No newline at end of file diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateExcelVo.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateExcelVo.java new file mode 100644 index 0000000000..ee318cf9e9 --- /dev/null +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateExcelVo.java @@ -0,0 +1,92 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.scm.api.scmvehrebate; + +import com.yxt.common.core.utils.ExportEntityMap; +import lombok.Data; + +@Data +public class ScmVehRebateExcelVo { + + @ExportEntityMap(CnName = "序号", EnName = "rankNo") + private Integer rankNo; + @ExportEntityMap(CnName = "状态", EnName = "state") + private String state; + @ExportEntityMap(CnName = "一次核对状态", EnName = "onceCheckState") + private String onceCheckState; + @ExportEntityMap(CnName = "分公司", EnName = "createOrgName") + private String createOrgName; + @ExportEntityMap(CnName = "品牌", EnName = "brandName") + private String brandName; + @ExportEntityMap(CnName = "采购系统", EnName = "purchaseSystemName") + private String purchaseSystemName; + @ExportEntityMap(CnName = "车型名称", EnName = "vehModelName") + private String vehModelName; + @ExportEntityMap(CnName = "车架号", EnName = "vinNo") + private String vinNo; + @ExportEntityMap(CnName = "车辆入库价", EnName = "manufactorSettlementPrice") + private String manufactorSettlementPrice; + @ExportEntityMap(CnName = "其中运费", EnName = "freight") + private String freight; + @ExportEntityMap(CnName = "创建日期", EnName = "createTime") + private String createTime; + @ExportEntityMap(CnName = "返利类型", EnName = "rebateTypeValue") + private String rebateTypeValue; + @ExportEntityMap(CnName = "返利名称", EnName = "rebateName") + private String rebateName; + @ExportEntityMap(CnName = "计算标准", EnName = "calculationStandard") + private String calculationStandard; + @ExportEntityMap(CnName = "预计返利", EnName = "estimateRebate") + private String estimateRebate; + @ExportEntityMap(CnName = "其中预计费用", EnName = "expectCost") + private String expectCost; + @ExportEntityMap(CnName = "所属年月", EnName = "palceGenDate") + private String palceGenDate; + @ExportEntityMap(CnName = "预提日期", EnName = "withholdingDate") + private String withholdingDate; + @ExportEntityMap(CnName = "上传日期", EnName = "uploadDate") + private String uploadDate; + @ExportEntityMap(CnName = "上传金额", EnName = "uploadMoney") + private String uploadMoney; + @ExportEntityMap(CnName = "二次上传日期", EnName = "secondaryUploadDate") + private String secondaryUploadDate; + @ExportEntityMap(CnName = "二次上传金额", EnName = "secondaryUploadMoney") + private String secondaryUploadMoney; + @ExportEntityMap(CnName = "待确定金额", EnName = "stayDetermineMoney") + private String stayDetermineMoney; + @ExportEntityMap(CnName = "费用", EnName = "money") + private String money; + @ExportEntityMap(CnName = "是否调整", EnName = "isAdjustment") + private String isAdjustment; + @ExportEntityMap(CnName = "差异金额", EnName = "diffAmount") + private String diffAmount; + @ExportEntityMap(CnName = "调整金额", EnName = "adjustmentMoney") + private String adjustmentMoney; + @ExportEntityMap(CnName = "调整说明", EnName = "adjustmentRemarks") + private String adjustmentRemarks; + @ExportEntityMap(CnName = "备注", EnName = "remarks") + private String remarks; +} diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatecheckapply/VehRebateCheckExcelVo.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatecheckapply/VehRebateCheckExcelVo.java new file mode 100644 index 0000000000..a3f63eacea --- /dev/null +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatecheckapply/VehRebateCheckExcelVo.java @@ -0,0 +1,83 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.scm.api.scmvehrebatecheckapply; + + +import com.yxt.common.core.utils.ExportEntityMap; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class VehRebateCheckExcelVo { + + @ExportEntityMap(CnName = "序号", EnName = "rankNo") + private Integer rankNo; + @ExportEntityMap(CnName = "采购系统", EnName = "purchaseSystemName") + private String purchaseSystemName; + @ExportEntityMap(CnName = "品牌名称", EnName = "brandName") + private String brandName; + @ExportEntityMap(CnName = "车型名称", EnName = "vehModelName") + private String vehModelName; + @ExportEntityMap(CnName = "车架号", EnName = "vinNo") + private String vinNo; + @ExportEntityMap(CnName = "车辆入库价", EnName = "manufactorSettlementPrice") + private String manufactorSettlementPrice; + @ExportEntityMap(CnName = "其中运费", EnName = "freight") + private String freight; + @ExportEntityMap(CnName = "创建日期", EnName = "createTime") + private String createTime; + @ExportEntityMap(CnName = "返利类型", EnName = "rebateTypeValue") + private String rebateTypeValue; + @ExportEntityMap(CnName = "返利名称", EnName = "rebateName") + private String rebateName; + @ExportEntityMap(CnName = "预计返利", EnName = "estimateRebate") + private String estimateRebate; + @ExportEntityMap(CnName = "其中预提费用", EnName = "withholdCost") + private String withholdCost; + @ExportEntityMap(CnName = "所属年月", EnName = "palceGenDate") + private String palceGenDate; + @ExportEntityMap(CnName = "上传日期", EnName = "uploadDate") + private String uploadDate; + @ExportEntityMap(CnName = "上传金额", EnName = "uploadMoney") + private String uploadMoney; + @ExportEntityMap(CnName = "二次上传日期", EnName = "secondaryUploadDate") + private String secondaryUploadDate; + @ExportEntityMap(CnName = "二次上传金额", EnName = "secondaryUploadMoney") + private String secondaryUploadMoney; + @ExportEntityMap(CnName = "其中待确定金额", EnName = "stayDetermineMoney") + private String stayDetermineMoney; + @ExportEntityMap(CnName = "其中费用", EnName = "money") + private String money; + @ExportEntityMap(CnName = "差异金额", EnName = "diffAmount") + private String diffAmount; + @ExportEntityMap(CnName = "是否调整", EnName = "isAdjustment") + private String isAdjustment; + @ExportEntityMap(CnName = "调整金额", EnName = "adjustmentMoney") + private String adjustmentMoney; + @ExportEntityMap(CnName = "调整说明", EnName = "adjustmentRemarks") + private String adjustmentRemarks; +} \ No newline at end of file diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatewith/ExcelVo.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatewith/ExcelVo.java index 770941d6f1..a85a1f7387 100644 --- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatewith/ExcelVo.java +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatewith/ExcelVo.java @@ -36,8 +36,8 @@ import java.util.Date; @Data public class ExcelVo { - @ExportEntityMap(CnName = "序号", EnName = "id") - private String id; + @ExportEntityMap(CnName = "序号", EnName = "rankNo") + private Integer rankNo; @ExportEntityMap(CnName = "采购系统", EnName = "purchaseSystemName") private String purchaseSystemName; @ExportEntityMap(CnName = "品牌名称", EnName = "brandName") @@ -50,9 +50,8 @@ public class ExcelVo { private String manufactorSettlementPrice; @ExportEntityMap(CnName = "其中运费", EnName = "freight") private String freight; - @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") @ExportEntityMap(CnName = "创建日期", EnName = "createTime") - private Date createTime; + private String createTime; @ExportEntityMap(CnName = "返利类型", EnName = "rebateTypeValue") private String rebateTypeValue; @ExportEntityMap(CnName = "返利名称", EnName = "rebateName") diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateMapper.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateMapper.java index a5ab4776e1..a1c4a335e7 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateMapper.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateMapper.java @@ -83,4 +83,6 @@ public interface ScmSpecialRebateMapper extends BaseMapper { @Update("update scm_special_rebate set adjustmentState = #{adjustmentState} where sid = #{sid}") void updateAdjustmentState(@Param("sid") String sid, @Param("adjustmentState") int adjustmentState); + + List excelList(@Param(Constants.WRAPPER) QueryWrapper qw); } \ No newline at end of file diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateMapper.xml b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateMapper.xml index ce25bb9180..7270ff6d3b 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateMapper.xml +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateMapper.xml @@ -137,4 +137,20 @@ ${ew.sqlSegment} + + \ No newline at end of file diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateRest.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateRest.java index d93e2e124a..6dfc180012 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateRest.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateRest.java @@ -25,7 +25,10 @@ *********************************************************/ package com.yxt.anrui.scm.biz.scmspecialrebate; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateUtil; import com.yxt.anrui.scm.api.scmspecialrebate.*; +import com.yxt.anrui.scm.api.scmspecialrebatecheckapply.SpecialRebateCheckExcelVo; import com.yxt.anrui.scm.api.scmspecialrebatewithapply.ScmSpecialRebateWithApply; import com.yxt.anrui.scm.biz.scmspecialrebatewith.ScmSpecialRebateWithService; import com.yxt.anrui.scm.biz.scmspecialrebatewithapply.ScmSpecialRebateWithApplyService; @@ -70,6 +73,22 @@ public class ScmSpecialRebateRest implements ScmSpecialRebateFeign { return rb.success().setData(pv); } + @ApiOperation("导出") + @PostMapping("/excelList") + public void excelList(@RequestBody ScmSpecialRebateQuery query) { + //得到所有要导出的数据 + List exportVoList = scmSpecialRebateService.excelList(query); + //定义导出的excel名字 + String excelName = "专项返利管理"; + String fileNameURL = ""; + try { + fileNameURL = URLEncoder.encode(excelName, "UTF-8"); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + ExportExcelUtils.export(fileNameURL, exportVoList, ScmSpecialRebateExcelVo.class, response); + } + @Override @ApiOperation("新增或修改") @PostMapping("/save") diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateService.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateService.java index 7d1e7b88ee..30d583463e 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateService.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateService.java @@ -1565,4 +1565,92 @@ public class ScmSpecialRebateService extends MybatisBaseService excelList(ScmSpecialRebateQuery query) { + QueryWrapper qw = new QueryWrapper<>(); + //========================================数据授权开始 + if (StringUtils.isNotBlank(query.getMenuUrl())) { + PrivilegeQuery privilegeQuery = new PrivilegeQuery(); + privilegeQuery.setOrgPath(query.getOrgPath()); + privilegeQuery.setMenuUrl(query.getMenuUrl()); + privilegeQuery.setMenuSid(query.getMenuSid()); + privilegeQuery.setUserSid(query.getUserSid()); + ResultBean defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery); + if (StringUtils.isNotBlank(defaultIdReltBean.getData())) { + //数据权限ID(1集团、2事业部、3分公司、4部门、5个人) + String orgSidPath = query.getOrgPath(); + orgSidPath = orgSidPath + "/"; + int i1 = orgSidPath.indexOf("/"); + int i2 = orgSidPath.indexOf("/", i1 + 1); + int i3 = orgSidPath.indexOf("/", i2 + 1); + int i4 = orgSidPath.indexOf("/", i3 + 1); + String orgLevelKey = defaultIdReltBean.getData(); + if ("1".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i1); + qw.like("orgPath", orgSidPath); + } else if ("2".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i2); + qw.like("orgPath", orgSidPath); + } else if ("3".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i3); + qw.like("orgPath", orgSidPath); + } else if ("4".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i4); + qw.like("orgPath", orgSidPath); + } else if ("5".equals(orgLevelKey)) { + qw.eq("createBySid", query.getUserSid()); + } else { + List scmSpecialRebateExcelVos = new ArrayList<>(); + return scmSpecialRebateExcelVos; + } + } else { + List scmSpecialRebateExcelVos = new ArrayList<>(); + return scmSpecialRebateExcelVos; + } + } + if (StringUtils.isNotBlank(query.getCreateOrgName())) { + qw.like("createOrgName", query.getCreateOrgName()); + } + if (StringUtils.isNotBlank(query.getBrandName())) { + qw.like("brandName", query.getBrandName()); + } + if (StringUtils.isNotBlank(query.getPurchaseSystemName())) { + qw.like("purchaseSystemName", query.getPurchaseSystemName()); + } + if (StringUtils.isNotBlank(query.getRebateTypeKey())) { + qw.eq("rebateTypeKey", query.getRebateTypeKey()); + } + if (StringUtils.isNotBlank(query.getRebateName())) { + qw.like("rebateName", query.getRebateName()); + } + if (StringUtils.isNotBlank(query.getState())) { + qw.eq("state", query.getState()); + } + String createStartTime = query.getCreateStartTime(); + String createEndTime = query.getCreateEndTime(); + qw.apply(StringUtils.isNotBlank(createStartTime), "date_format (createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')"). + apply(StringUtils.isNotBlank(createEndTime), "date_format (createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')" + ); + qw.orderByDesc("createTime"); + List scmSpecialRebateExcelVos = baseMapper.excelList(qw); + for (ScmSpecialRebateExcelVo scmSpecialRebateExcelVo : scmSpecialRebateExcelVos) { + if (scmSpecialRebateExcelVo.getState().equals("0")){ + scmSpecialRebateExcelVo.setState("未预提"); + }else if (scmSpecialRebateExcelVo.getState().equals("1")){ + scmSpecialRebateExcelVo.setState("预提中"); + }else if (scmSpecialRebateExcelVo.getState().equals("2")){ + scmSpecialRebateExcelVo.setState("待核对"); + }else if (scmSpecialRebateExcelVo.getState().equals("3")){ + scmSpecialRebateExcelVo.setState("核对中"); + }else if (scmSpecialRebateExcelVo.getState().equals("4")){ + scmSpecialRebateExcelVo.setState("已核对"); + }else if (scmSpecialRebateExcelVo.getState().equals("5")){ + scmSpecialRebateExcelVo.setState("分配中"); + }else if (scmSpecialRebateExcelVo.getState().equals("6")){ + scmSpecialRebateExcelVo.setState("已分配"); + } + scmSpecialRebateExcelVo.setCreateTime(DateUtil.formatDate(DateUtil.parse(scmSpecialRebateExcelVo.getCreateTime()))); + } + return scmSpecialRebateExcelVos; + } } \ No newline at end of file diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatecheckapply/ScmSpecialrebateCheckapplyRest.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatecheckapply/ScmSpecialrebateCheckapplyRest.java index 8b617459f0..9a3f636b60 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatecheckapply/ScmSpecialrebateCheckapplyRest.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatecheckapply/ScmSpecialrebateCheckapplyRest.java @@ -26,12 +26,18 @@ package com.yxt.anrui.scm.biz.scmspecialrebatecheckapply; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateUtil; import com.yxt.anrui.flowable.api.utils.ProcDefEnum; import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables; import com.yxt.anrui.scm.api.flow.FlowTaskVo; +import com.yxt.anrui.scm.api.scmspecialrebate.ScmSpecialRebateDetailsVo; import com.yxt.anrui.scm.api.scmspecialrebatecheckapply.*; import com.yxt.anrui.scm.api.scmspecialrebatecheckapply.flow.*; +import com.yxt.anrui.scm.api.scmvehrebate.ScmVehRebateDetailsVo; +import com.yxt.anrui.scm.api.scmvehrebatecheckapply.VehRebateCheckExcelVo; import com.yxt.anrui.scm.api.scmvehrebatewithapply.PdfPath; +import com.yxt.anrui.scm.biz.scmspecialrebatecheckapplydetail.ScmSpecialrebateCheckapplydetailService; +import com.yxt.common.base.utils.ExportExcelUtils; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; @@ -40,6 +46,10 @@ import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; +import java.util.ArrayList; import java.util.List; @Api(tags = "专项返利核对申请表") @@ -49,6 +59,10 @@ public class ScmSpecialrebateCheckapplyRest implements ScmSpecialrebateCheckappl @Autowired private ScmSpecialrebateCheckapplyService scmSpecialrebateCheckapplyService; + @Autowired + private ScmSpecialrebateCheckapplydetailService scmSpecialrebateCheckapplydetailService; + @Autowired + HttpServletResponse response; @Override public ResultBean rePushVoucher(String sid) { @@ -94,6 +108,31 @@ public class ScmSpecialrebateCheckapplyRest implements ScmSpecialrebateCheckappl return rb.success().setData(pdf); } + @ApiOperation("导出") + @PostMapping("/excelList") + public void excelList(@RequestParam("sid") String sid) { + List data = scmSpecialrebateCheckapplydetailService.specialRebateCheckDetails(sid).getData(); + List excelVos = new ArrayList<>(); + Integer i = 1; + for (ScmSpecialRebateDetailsVo datum : data) { + SpecialRebateCheckExcelVo excelVo = new SpecialRebateCheckExcelVo(); + BeanUtil.copyProperties(datum,excelVo); + excelVo.setRankNo(i); + excelVo.setCreateTime(DateUtil.formatDate(datum.getCreateTime())); + i = i + 1; + excelVos.add(excelVo); + } + //定义导出的excel名字 + String excelName = "专项返利核对明细导出模板"; + String fileNameURL = ""; + try { + fileNameURL = URLEncoder.encode(excelName, "UTF-8"); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + ExportExcelUtils.export(fileNameURL, excelVos, SpecialRebateCheckExcelVo.class, response); + } + @Override public ResultBean submitSpecialRebateCheckApply(SubmitScmSpecialRebateCheckApplyDto dto) { return scmSpecialrebateCheckapplyService.submitSpecialRebateCheckApply(dto); diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatewith/ScmSpecialRebateWithRest.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatewith/ScmSpecialRebateWithRest.java index 8bf4410541..a0058dbdae 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatewith/ScmSpecialRebateWithRest.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatewith/ScmSpecialRebateWithRest.java @@ -25,15 +25,27 @@ *********************************************************/ package com.yxt.anrui.scm.biz.scmspecialrebatewith; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateUtil; import com.yxt.anrui.scm.api.scmspecialrebate.ScmSpecialRebateDetailsVo; +import com.yxt.anrui.scm.api.scmspecialrebatewith.SpectalRebateWithExcelVo; +import com.yxt.anrui.scm.api.scmvehrebate.ScmVehRebateDetailsVo; +import com.yxt.anrui.scm.api.scmvehrebatewith.ExcelVo; +import com.yxt.common.base.utils.ExportExcelUtils; import com.yxt.common.core.result.ResultBean; import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; +import java.util.ArrayList; import java.util.List; import com.yxt.anrui.scm.api.scmspecialrebatewith.ScmSpecialRebateWithFeign; +import javax.servlet.http.HttpServletResponse; + /** * Project: anrui-scm(专项返利)
* File: ScmSpecialRebateWithFeignFallback.java
@@ -54,9 +66,38 @@ public class ScmSpecialRebateWithRest implements ScmSpecialRebateWithFeign { @Autowired private ScmSpecialRebateWithService scmSpecialRebateWithService; + @Autowired + HttpServletResponse response; @Override public ResultBean> specialRebateWithDetails(String sid) { return scmSpecialRebateWithService.specialRebateWithDetails(sid); } + + @ApiOperation("导出") + @PostMapping("/excelList") + public void excelList(@RequestParam("sid") String sid) { + List strings = scmSpecialRebateWithService.fetchSpecialReBateSidByMainSid(sid); + String specialSid = String.join(",", strings); + List data = scmSpecialRebateWithService.specialRebateWithDetails(specialSid).getData(); + List excelVos = new ArrayList<>(); + Integer i = 1; + for (ScmSpecialRebateDetailsVo datum : data) { + SpectalRebateWithExcelVo excelVo = new SpectalRebateWithExcelVo(); + BeanUtil.copyProperties(datum,excelVo); + excelVo.setRankNo(i); + excelVo.setCreateTime(DateUtil.formatDate(datum.getCreateTime())); + i = i + 1; + excelVos.add(excelVo); + } + //定义导出的excel名字 + String excelName = "专项返利预提明细导出模板"; + String fileNameURL = ""; + try { + fileNameURL = URLEncoder.encode(excelName, "UTF-8"); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + ExportExcelUtils.export(fileNameURL, excelVos, SpectalRebateWithExcelVo.class, response); + } } diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.java index 288b6e373e..5006472345 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.java @@ -30,11 +30,8 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.toolkit.Constants; -import com.yxt.anrui.scm.api.scmvehrebate.OneExcelVo; -import com.yxt.anrui.scm.api.scmvehrebate.TwoExcelVo; +import com.yxt.anrui.scm.api.scmvehrebate.*; import org.apache.ibatis.annotations.*; -import com.yxt.anrui.scm.api.scmvehrebate.ScmVehRebate; -import com.yxt.anrui.scm.api.scmvehrebate.ScmVehRebateVo; import java.util.List; @@ -82,4 +79,6 @@ public interface ScmVehRebateMapper extends BaseMapper { @Delete("delete from scm_veh_rebate where vehSid = #{vehSid}") void delByVehSid(String vehSid); + + List excelList(@Param(Constants.WRAPPER) QueryWrapper qw); } \ No newline at end of file diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.xml b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.xml index 55d7d369fb..546ba414ac 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.xml +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.xml @@ -104,4 +104,22 @@ diffAmount = #{diffAmount} WHERE sid = #{sid} + + diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateRest.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateRest.java index 1629aa3ab6..4fa1a647e4 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateRest.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateRest.java @@ -25,6 +25,8 @@ *********************************************************/ package com.yxt.anrui.scm.biz.scmvehrebate; +import com.yxt.anrui.scm.api.scmspecialrebate.ScmSpecialRebateExcelVo; +import com.yxt.anrui.scm.api.scmspecialrebate.ScmSpecialRebateQuery; import com.yxt.anrui.scm.api.scmvehrebate.*; import com.yxt.common.base.utils.ExportExcelUtils; import com.yxt.common.base.utils.StringUtils; @@ -77,6 +79,22 @@ public class ScmVehRebateRest implements ScmVehRebateFeign { return rb.success().setData(pv); } + @ApiOperation("导出") + @PostMapping("/excelList") + public void excelList(@RequestBody ScmVehRebateQuery query) { + //得到所有要导出的数据 + List exportVoList = scmVehRebateService.excelList(query); + //定义导出的excel名字 + String excelName = "单车返利管理"; + String fileNameURL = ""; + try { + fileNameURL = URLEncoder.encode(excelName, "UTF-8"); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + ExportExcelUtils.export(fileNameURL, exportVoList, ScmVehRebateExcelVo.class, response); + } + @Override public ResultBean> withApplyGetVehRebate(PagerQuery pq) { ResultBean rb = ResultBean.fireFail(); diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateService.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateService.java index 4725b5a9ed..d710bd68cc 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateService.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateService.java @@ -40,6 +40,7 @@ import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery; import com.yxt.anrui.portal.api.sysuser.SysUserFeign; import com.yxt.anrui.scm.api.scmcollectionrebate.ScmCollectionRebateVo; +import com.yxt.anrui.scm.api.scmspecialrebate.ScmSpecialRebateExcelVo; import com.yxt.anrui.scm.api.scmvehrebate.*; import org.apache.commons.lang3.StringUtils; import com.yxt.common.base.service.MybatisBaseService; @@ -1921,4 +1922,101 @@ public class ScmVehRebateService extends MybatisBaseService excelList(ScmVehRebateQuery query) { + QueryWrapper qw = new QueryWrapper<>(); + //========================================数据授权开始 + if (StringUtils.isNotBlank(query.getMenuUrl())) { + PrivilegeQuery privilegeQuery = new PrivilegeQuery(); + privilegeQuery.setOrgPath(query.getOrgPath()); + privilegeQuery.setMenuUrl(query.getMenuUrl()); + privilegeQuery.setMenuSid(query.getMenuSid()); + privilegeQuery.setUserSid(query.getUserSid()); + ResultBean defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery); + if (StringUtils.isNotBlank(defaultIdReltBean.getData())) { + //数据权限ID(1集团、2事业部、3分公司、4部门、5个人) + String orgSidPath = query.getOrgPath(); + orgSidPath = orgSidPath + "/"; + int i1 = orgSidPath.indexOf("/"); + int i2 = orgSidPath.indexOf("/", i1 + 1); + int i3 = orgSidPath.indexOf("/", i2 + 1); + int i4 = orgSidPath.indexOf("/", i3 + 1); + String orgLevelKey = defaultIdReltBean.getData(); + if ("1".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i1); + qw.like("orgPath", orgSidPath); + } else if ("2".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i2); + qw.like("orgPath", orgSidPath); + } else if ("3".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i3); + qw.like("orgPath", orgSidPath); + } else if ("4".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i4); + qw.like("orgPath", orgSidPath); + } else if ("5".equals(orgLevelKey)) { + qw.eq("createBySid", query.getUserSid()); + } else { + List scmVehRebateExcelVos = new ArrayList<>(); + return scmVehRebateExcelVos; + } + } else { + List scmVehRebateExcelVos = new ArrayList<>(); + return scmVehRebateExcelVos; + } + } + if (StringUtils.isNotBlank(query.getBrandName())) { + qw.like("brandName", query.getBrandName()); + } + if (StringUtils.isNotBlank(query.getVehModelName())) { + qw.like("vehModelName", query.getVehModelName()); + } + if (StringUtils.isNotBlank(query.getVinNo())) { + qw.like("vinNo", query.getVinNo()); + } + if (StringUtils.isNotBlank(query.getRebateTypeKey())) { + qw.eq("rebateTypeKey", query.getRebateTypeKey()); + } + if (StringUtils.isNotBlank(query.getRebateName())) { + qw.like("rebateName", query.getRebateName()); + } + if (StringUtils.isNotBlank(query.getState())) { + qw.eq("state", query.getState()); + } + if (StringUtils.isNotBlank(query.getUseOrgName())) { + qw.like("useOrgName", query.getUseOrgName()); + } + if (StringUtils.isNotBlank(query.getPurchaseSystemName())) { + qw.like("purchaseSystemName", query.getPurchaseSystemName()); + } + String createStartTime = query.getCreateStartTime(); + String createEndTime = query.getCreateEndTime(); + qw.apply(StringUtils.isNotBlank(createStartTime), "date_format (createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')"). + apply(StringUtils.isNotBlank(createEndTime), "date_format (createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')" + ); + qw.orderByDesc("createTime"); + List scmVehRebateExcelVos = baseMapper.excelList(qw); + for (ScmVehRebateExcelVo scmVehRebateExcelVo : scmVehRebateExcelVos) { + if (scmVehRebateExcelVo.getState().equals("0")){ + scmVehRebateExcelVo.setState("未预提"); + }else if (scmVehRebateExcelVo.getState().equals("1")){ + scmVehRebateExcelVo.setState("预提中"); + }else if (scmVehRebateExcelVo.getState().equals("2")){ + scmVehRebateExcelVo.setState("待核对"); + }else if (scmVehRebateExcelVo.getState().equals("3")){ + scmVehRebateExcelVo.setState("核对中"); + }else if (scmVehRebateExcelVo.getState().equals("4")){ + scmVehRebateExcelVo.setState("已核对"); + } + scmVehRebateExcelVo.setCreateTime(DateUtil.formatDate(DateUtil.parse(scmVehRebateExcelVo.getCreateTime()))); + if (scmVehRebateExcelVo.getOnceCheckState().equals("0")){ + scmVehRebateExcelVo.setOnceCheckState("否"); + }else if (scmVehRebateExcelVo.getOnceCheckState().equals("1")){ + scmVehRebateExcelVo.setOnceCheckState("是"); + }else if (scmVehRebateExcelVo.getOnceCheckState().equals("2")){ + scmVehRebateExcelVo.setOnceCheckState("一次核对中"); + } + } + return scmVehRebateExcelVos; + } } \ No newline at end of file diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatecheckapply/ScmVehrebateCheckapplyRest.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatecheckapply/ScmVehrebateCheckapplyRest.java index dd1c259cba..0059336525 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatecheckapply/ScmVehrebateCheckapplyRest.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatecheckapply/ScmVehrebateCheckapplyRest.java @@ -26,13 +26,17 @@ package com.yxt.anrui.scm.biz.scmvehrebatecheckapply; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateUtil; import com.yxt.anrui.flowable.api.utils.ProcDefEnum; import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables; import com.yxt.anrui.scm.api.flow.FlowTaskVo; +import com.yxt.anrui.scm.api.scmvehrebate.ScmVehRebateDetailsVo; import com.yxt.anrui.scm.api.scmvehrebatecheckapply.*; import com.yxt.anrui.scm.api.scmvehrebatecheckapply.flow.*; +import com.yxt.anrui.scm.api.scmvehrebatewith.ExcelVo; import com.yxt.anrui.scm.api.scmvehrebatewithapply.PdfPath; import com.yxt.anrui.scm.biz.scmvehrebatecheckapplydetail.ScmVehrebateCheckapplydetailService; +import com.yxt.common.base.utils.ExportExcelUtils; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; @@ -41,6 +45,10 @@ import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; +import java.util.ArrayList; import java.util.List; /** @@ -65,6 +73,8 @@ public class ScmVehrebateCheckapplyRest implements ScmVehrebateCheckapplyFeign { private ScmVehrebateCheckapplyService scmVehrebateCheckapplyService; @Autowired private ScmVehrebateCheckapplydetailService scmVehrebateCheckapplydetailService; + @Autowired + private HttpServletResponse response; @Override public ResultBean rePushVoucher(String sid) { @@ -108,6 +118,31 @@ public class ScmVehrebateCheckapplyRest implements ScmVehrebateCheckapplyFeign { return rb.success().setData(pdf); } + @ApiOperation("导出") + @PostMapping("/excelList") + public void excelList(@RequestParam("sid") String sid) { + List scmVehRebateDetailsVos = scmVehrebateCheckapplydetailService.vehRebateCheckDetails(sid).getData(); + List excelVos = new ArrayList<>(); + Integer i = 1; + for (ScmVehRebateDetailsVo datum : scmVehRebateDetailsVos) { + VehRebateCheckExcelVo excelVo = new VehRebateCheckExcelVo(); + BeanUtil.copyProperties(datum,excelVo); + excelVo.setRankNo(i); + excelVo.setCreateTime(DateUtil.formatDate(datum.getCreateTime())); + i = i + 1; + excelVos.add(excelVo); + } + //定义导出的excel名字 + String excelName = "单车返利核对明细导出模板"; + String fileNameURL = ""; + try { + fileNameURL = URLEncoder.encode(excelName, "UTF-8"); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + ExportExcelUtils.export(fileNameURL, excelVos, VehRebateCheckExcelVo.class, response); + } + @Override public ResultBean submitVehRebateCheckApply(SubmitScmVehRebateCheckApplyDto dto) { return scmVehrebateCheckapplyService.submitVehRebateCheckApply(dto); diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatewith/ScmVehRebateWithRest.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatewith/ScmVehRebateWithRest.java index b3029d5290..49e240cf01 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatewith/ScmVehRebateWithRest.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatewith/ScmVehRebateWithRest.java @@ -26,6 +26,7 @@ package com.yxt.anrui.scm.biz.scmvehrebatewith; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateUtil; import com.yxt.anrui.scm.api.scmvehrebate.ScmVehRebateDetailsVo; import com.yxt.anrui.scm.api.scmvehrebatewith.*; import com.yxt.common.base.utils.ExportExcelUtils; @@ -34,6 +35,7 @@ import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import org.apache.http.client.utils.DateUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -110,11 +112,17 @@ public class ScmVehRebateWithRest implements ScmVehRebateWithFeign { @ApiOperation("导出") @PostMapping("/excelList") public void excelList(@RequestParam("sid") String sid) { - List data = scmVehRebateWithService.vehRebateWithDetails(sid).getData(); + List strings = scmVehRebateWithService.fetchVehReBateSidByMainSid(sid); + String vehRebateSid = String.join(",", strings); + List data = scmVehRebateWithService.vehRebateWithDetails(vehRebateSid).getData(); List excelVos = new ArrayList<>(); + Integer i = 1; for (ScmVehRebateDetailsVo datum : data) { ExcelVo excelVo = new ExcelVo(); BeanUtil.copyProperties(datum,excelVo); + excelVo.setRankNo(i); + excelVo.setCreateTime(DateUtil.formatDate(datum.getCreateTime())); + i = i + 1; excelVos.add(excelVo); } //定义导出的excel名字 diff --git a/anrui-scm/anrui-scm-ui/src/api/bikerebate/bicyclerebatemanagement.js b/anrui-scm/anrui-scm-ui/src/api/bikerebate/bicyclerebatemanagement.js index e4f10f6fb8..e0b949e670 100644 --- a/anrui-scm/anrui-scm-ui/src/api/bikerebate/bicyclerebatemanagement.js +++ b/anrui-scm/anrui-scm-ui/src/api/bikerebate/bicyclerebatemanagement.js @@ -53,6 +53,16 @@ export default { method: 'get' }) }, + // 导出 + exportExcel: function(data) { + return request({ + url: '/scm/v1/scmvehrebate/excelList', + method: 'post', + data: data, + responseType: 'blob', // 表明返回服务器返回的数据类型 + headers: { 'Content-Type': 'application/json' } + }) + }, // 下载模板 downloadExcel: function() { return request({ diff --git a/anrui-scm/anrui-scm-ui/src/api/specialrebate/specialrebatemanagement.js b/anrui-scm/anrui-scm-ui/src/api/specialrebate/specialrebatemanagement.js index 68d83aad7f..529335f4ac 100644 --- a/anrui-scm/anrui-scm-ui/src/api/specialrebate/specialrebatemanagement.js +++ b/anrui-scm/anrui-scm-ui/src/api/specialrebate/specialrebatemanagement.js @@ -34,5 +34,15 @@ export default { url: '/scm/v1/scmspecialrebate/fetchDetailsBySid/' + data, method: 'get' }) + }, + // 导出 + exportExcel: function(data) { + return request({ + url: '/scm/v1/scmspecialrebate/excelList', + method: 'post', + data: data, + responseType: 'blob', // 表明返回服务器返回的数据类型 + headers: { 'Content-Type': 'application/json' } + }) } } diff --git a/anrui-scm/anrui-scm-ui/src/views/bikerebate/bikerebatemanagement/bicyclerebatemanagement.vue b/anrui-scm/anrui-scm-ui/src/views/bikerebate/bikerebatemanagement/bicyclerebatemanagement.vue index 92ac009897..47d4d46349 100644 --- a/anrui-scm/anrui-scm-ui/src/views/bikerebate/bikerebatemanagement/bicyclerebatemanagement.vue +++ b/anrui-scm/anrui-scm-ui/src/views/bikerebate/bikerebatemanagement/bicyclerebatemanagement.vue @@ -315,6 +315,9 @@ export default { case 'doImport': this.doImport() break + case 'doExport': + this.doExport() + break case 'doDel': this.doDel() break @@ -483,6 +486,31 @@ export default { this.getList() } }, + doExport() { + const loading = this.$loading({ + lock: true, + text: 'Loading', + spinner: 'el-icon-loading', + background: 'rgba(0, 0, 0, 0.7)' + }) + req.exportExcel(this.listQuery.params).then((resp) => { + loading.close() + const blob = new Blob([resp], { + type: 'application/vnd.ms-excel' + }) + const fileName = '单车返利' + '.xls' + const elink = document.createElement('a') + elink.download = fileName + elink.style.display = 'none' + elink.href = URL.createObjectURL(blob) + document.body.appendChild(elink) + elink.click() + URL.revokeObjectURL(elink.href) + document.body.removeChild(elink) + }).catch(() => { + loading.close() + }) + }, // 合计 getSummaries(param) { const { columns, data } = param diff --git a/anrui-scm/anrui-scm-ui/src/views/specialrebate/specialrebatemanagement/specialrebatemanagement.vue b/anrui-scm/anrui-scm-ui/src/views/specialrebate/specialrebatemanagement/specialrebatemanagement.vue index d701b03c9c..5d926b9527 100644 --- a/anrui-scm/anrui-scm-ui/src/views/specialrebate/specialrebatemanagement/specialrebatemanagement.vue +++ b/anrui-scm/anrui-scm-ui/src/views/specialrebate/specialrebatemanagement/specialrebatemanagement.vue @@ -244,8 +244,8 @@ export default { case 'toAdd': this.toAdd() break - case 'doImport': - this.doImport() + case 'doExport': + this.doExport() break case 'doDel': this.doDel() @@ -357,6 +357,31 @@ export default { }).catch(() => { }) }, + doExport() { + const loading = this.$loading({ + lock: true, + text: 'Loading', + spinner: 'el-icon-loading', + background: 'rgba(0, 0, 0, 0.7)' + }) + req.exportExcel(this.listQuery.params).then((resp) => { + loading.close() + const blob = new Blob([resp], { + type: 'application/vnd.ms-excel' + }) + const fileName = '专项返利' + '.xls' + const elink = document.createElement('a') + elink.download = fileName + elink.style.display = 'none' + elink.href = URL.createObjectURL(blob) + document.body.appendChild(elink) + elink.click() + URL.revokeObjectURL(elink.href) + document.body.removeChild(elink) + }).catch(() => { + loading.close() + }) + }, // 合计 getSummaries(param) { const { columns, data } = param diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/api/OaMendApplyRest.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/api/OaMendApplyRest.java index c2349fadca..43d99ae768 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/api/OaMendApplyRest.java +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/api/OaMendApplyRest.java @@ -61,103 +61,101 @@ import javax.validation.Valid; @RequestMapping("v1/oamendapply") public class OaMendApplyRest { - @Autowired - private OaMendApplyService oaMendApplyService; - - @ApiOperation("根据条件分页查询数据的列表") - @PostMapping("/listPage") - public ResultBean> listPage(@RequestBody PagerQuery pq){ - ResultBean rb = ResultBean.fireFail(); - PagerVo pv = oaMendApplyService.listPageVo(pq); - return rb.success().setData(pv); - } - - @ApiOperation("新增或修改") - @PostMapping("/save") - public ResultBean save(@RequestBody OaMendApplyDto dto){ - ResultBean rb = ResultBean.fireFail(); - oaMendApplyService.saveOrUpdateDto(dto); - return rb.success(); - } - - @ApiOperation("根据sid批量删除") + @Autowired + private OaMendApplyService oaMendApplyService; + + @ApiOperation("根据条件分页查询数据的列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + PagerVo pv = oaMendApplyService.listPageVo(pq); + return rb.success().setData(pv); + } + + @ApiOperation("新增或修改") + @PostMapping("/save") + public ResultBean save(@RequestBody OaMendApplyDto dto) { + return oaMendApplyService.saveOrUpdateDto(dto); + } + + @ApiOperation("根据sid批量删除") @DeleteMapping("/delBySids") - public ResultBean delBySids(@RequestBody String[] sids){ - ResultBean rb = ResultBean.fireFail(); - oaMendApplyService.delAll(sids); - return rb.success(); - } + public ResultBean delBySids(@RequestBody String[] sids) { + ResultBean rb = ResultBean.fireFail(); + oaMendApplyService.delAll(sids); + return rb.success(); + } - @ApiOperation("根据SID获取一条记录") + @ApiOperation("根据SID获取一条记录") @GetMapping("/fetchDetailsBySid/{sid}") - public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid){ - ResultBean rb = ResultBean.fireFail(); - OaMendApplyDetailsVo vo = oaMendApplyService.fetchDetailsVoBySid(sid); - return rb.success().setData(vo); - } - - @ApiOperation("初始化") - @GetMapping("/init") - public ResultBean init(@RequestParam(value = "sid",required = false) String sid, @RequestParam("userSid") String userSid, @RequestParam("orgPath") String orgPath) { - ResultBean rb = ResultBean.fireFail(); - OaMendApplyInitVo vo = oaMendApplyService.init(sid, userSid, orgPath); - return rb.success().setData(vo); - } - - @ApiOperation("提交审批流程") - @PostMapping("/submit") - public ResultBean submit(@RequestBody @Valid SubmitOaMendApplyDto dto) { - return oaMendApplyService.submit(dto); - } - - @ApiOperation(value = "办理(同意)") - @PostMapping("/complete") - public ResultBean complete(@Valid @RequestBody OaLeaveApplyCompleteDto query) { - BusinessVariables bv = new BusinessVariables(); - BeanUtil.copyProperties(query, bv); - return oaMendApplyService.complete(bv); - } - - @ApiOperation(value = "获取上一个环节") - @GetMapping(value = "/getPreviousNodesForReject") - public ResultBean> getPreviousNodesForReject(@Valid @SpringQueryMap OaMendApplyNodeQuery query) { - return oaMendApplyService.getPreviousNodesForReject(query); - } - - @ApiOperation(value = "获取下一个环节") - @GetMapping(value = "/getNextNodesForSubmit") - public ResultBean> getNextNodesForSubmit(@Valid @SpringQueryMap OaMendApplyNodeQuery query) { - return oaMendApplyService.getNextNodesForSubmit(query); - } - - @ApiOperation(value = "驳回任务") - @PostMapping(value = "/reject") - public ResultBean reject(@Valid @RequestBody OaMendApplyTaskQuery query) { - return oaMendApplyService.reject(query); - } - - @ApiOperation(value = "撤回流程") - @PostMapping(value = "/revokeProcess") - public ResultBean revokeProcess(@Valid @RequestBody OaMendApplyTaskQuery query) { - return oaMendApplyService.revokeProcess(query); - } - - @ApiOperation(value = "终止任务") - @PostMapping(value = "/breakProcess") - public ResultBean breakProcess(@Valid @RequestBody OaMendApplyTaskQuery query) { - return oaMendApplyService.breakProcess(query); - } - - @ApiOperation(value = "加签") - @PostMapping(value = "/delegate") - public ResultBean delegate(@RequestBody OaMendApplyDelegateQuery query) { - return oaMendApplyService.delegate(query); - } - - @ApiOperation(value = "转办") - @PutMapping(value = "/assignTask") - @ResponseBody - public ResultBean assignTask(@RequestBody OaMendApplyDelegateQuery query) { - return oaMendApplyService.assignTask(query); - } + public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid) { + ResultBean rb = ResultBean.fireFail(); + OaMendApplyDetailsVo vo = oaMendApplyService.fetchDetailsVoBySid(sid); + return rb.success().setData(vo); + } + + @ApiOperation("初始化") + @GetMapping("/init") + public ResultBean init(@RequestParam(value = "sid", required = false) String sid, @RequestParam("orgPath") String orgPath) { + ResultBean rb = ResultBean.fireFail(); + OaMendApplyInitVo vo = oaMendApplyService.init(sid, orgPath); + return rb.success().setData(vo); + } + + @ApiOperation("提交审批流程") + @PostMapping("/submit") + public ResultBean submit(@RequestBody @Valid SubmitOaMendApplyDto dto) { + return oaMendApplyService.submit(dto); + } + + @ApiOperation(value = "办理(同意)") + @PostMapping("/complete") + public ResultBean complete(@Valid @RequestBody OaLeaveApplyCompleteDto query) { + BusinessVariables bv = new BusinessVariables(); + BeanUtil.copyProperties(query, bv); + return oaMendApplyService.complete(bv); + } + + @ApiOperation(value = "获取上一个环节") + @GetMapping(value = "/getPreviousNodesForReject") + public ResultBean> getPreviousNodesForReject(@Valid @SpringQueryMap OaMendApplyNodeQuery query) { + return oaMendApplyService.getPreviousNodesForReject(query); + } + + @ApiOperation(value = "获取下一个环节") + @GetMapping(value = "/getNextNodesForSubmit") + public ResultBean> getNextNodesForSubmit(@Valid @SpringQueryMap OaMendApplyNodeQuery query) { + return oaMendApplyService.getNextNodesForSubmit(query); + } + + @ApiOperation(value = "驳回任务") + @PostMapping(value = "/reject") + public ResultBean reject(@Valid @RequestBody OaMendApplyTaskQuery query) { + return oaMendApplyService.reject(query); + } + + @ApiOperation(value = "撤回流程") + @PostMapping(value = "/revokeProcess") + public ResultBean revokeProcess(@Valid @RequestBody OaMendApplyTaskQuery query) { + return oaMendApplyService.revokeProcess(query); + } + + @ApiOperation(value = "终止任务") + @PostMapping(value = "/breakProcess") + public ResultBean breakProcess(@Valid @RequestBody OaMendApplyTaskQuery query) { + return oaMendApplyService.breakProcess(query); + } + + @ApiOperation(value = "加签") + @PostMapping(value = "/delegate") + public ResultBean delegate(@RequestBody OaMendApplyDelegateQuery query) { + return oaMendApplyService.delegate(query); + } + + @ApiOperation(value = "转办") + @PutMapping(value = "/assignTask") + @ResponseBody + public ResultBean assignTask(@RequestBody OaMendApplyDelegateQuery query) { + return oaMendApplyService.assignTask(query); + } } diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaappendix/OaAppendixMapper.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaappendix/OaAppendixMapper.java index 7407dcf7cb..84cbede976 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaappendix/OaAppendixMapper.java +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaappendix/OaAppendixMapper.java @@ -36,4 +36,6 @@ public interface OaAppendixMapper extends BaseMapper { @Select("select * from oa_appendix where linkSid = #{linkSid}") List fetchByLinkSid(String linkSid); + + int deleteByLinkSid(String sid); } \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaappendix/OaAppendixMapper.xml b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaappendix/OaAppendixMapper.xml index 1c2b097be2..d46f360e2b 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaappendix/OaAppendixMapper.xml +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaappendix/OaAppendixMapper.xml @@ -1,6 +1,12 @@ - - + + + + + delete + from oa_appendix + where linkSid = #{sid} + \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaappendix/OaAppendixService.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaappendix/OaAppendixService.java index 4ab4677d0f..ecc44bc7fe 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaappendix/OaAppendixService.java +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaappendix/OaAppendixService.java @@ -36,4 +36,8 @@ public class OaAppendixService extends MybatisBaseService fetchByLinkSid(String linkSid) { return baseMapper.fetchByLinkSid(linkSid); } + + public int deleteByLinkSid(String sid) { + return baseMapper.deleteByLinkSid(sid); + } } \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaForm.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaForm.java index b155a0f9da..d28fd76849 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaForm.java +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaForm.java @@ -44,10 +44,6 @@ public class OaForm extends BaseEntity { private String createOrgSid; @ApiModelProperty("创建组织") private String createOrgName; - @ApiModelProperty("图片,冗余字段") - private String imgs; - @ApiModelProperty("附件,冗余字段") - private String appendixs; @ApiModelProperty("关联审批单") private String linkFormSids; diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormDto.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormDto.java index 23a749626b..cb9a00d565 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormDto.java +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormDto.java @@ -15,9 +15,10 @@ import java.util.Date; public class OaFormDto { private String sid; - + private String createBySid; @ApiModelProperty("创建人") private String createByName; + private String billNo; @ApiModelProperty("公司sid") private String useOrgSid; @ApiModelProperty("公司名称") diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormMapper.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormMapper.java index 16724ba480..ab50cfc7e6 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormMapper.java +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormMapper.java @@ -7,6 +7,8 @@ import com.baomidou.mybatisplus.core.toolkit.Constants; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.Map; + /** * @description: * @author: dimengzhe @@ -17,4 +19,6 @@ public interface OaFormMapper extends BaseMapper { OaFormDetailsVo fetchDetailsBySid(String sid); IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + int updateFlowFiled(Map map); } diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormMapper.xml b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormMapper.xml index 7446778658..54e3470fa6 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormMapper.xml +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormMapper.xml @@ -15,4 +15,20 @@ ${ew.sqlSegment} + + + UPDATE oa_form + SET nodeState=#{nodeState} + , nodeId=#{taskDefKey} + + , procDefId=#{procDefId} + + + , procInstId=#{procInsId} + + + , taskId=#{taskId} + + WHERE sid = #{sid} + \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormService.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormService.java index cbca2f68ca..d756606afe 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormService.java +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormService.java @@ -7,6 +7,7 @@ import com.yxt.anrui.oa.biz.oahireapply.OaHireApplyDetailsVo; import com.yxt.anrui.oa.biz.oaleaveapply.OaLeaveApply; import com.yxt.anrui.oa.biz.oaleaveapply.OaLeaveApplyQuery; import com.yxt.anrui.oa.biz.oaleaveapply.OaLeaveApplyVo; +import com.yxt.anrui.oa.feign.flowable.flow.UpdateFlowFieldVo; import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.utils.PagerUtil; import com.yxt.common.base.utils.StringUtils; @@ -16,6 +17,8 @@ import com.yxt.common.core.vo.PagerVo; import org.springframework.context.annotation.Bean; import org.springframework.stereotype.Service; +import java.util.Map; + /** * @description: * @author: dimengzhe @@ -62,4 +65,8 @@ public class OaFormService extends MybatisBaseService { delBySids(sids); return rb.success(); } + + public int updateFlow(Map map) { + return baseMapper.updateFlowFiled(map); + } } diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahiredetails/OaHireDetailsMapper.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahiredetails/OaHireDetailsMapper.java index 2f6f2bd612..13c86ec2a6 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahiredetails/OaHireDetailsMapper.java +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahiredetails/OaHireDetailsMapper.java @@ -32,8 +32,6 @@ import com.baomidou.mybatisplus.core.toolkit.Constants; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; -import com.yxt.anrui.oa.api.oahiredetails.OaHireDetails; -import com.yxt.anrui.oa.api.oahiredetails.OaHireDetailsVo; import java.util.List; @@ -53,13 +51,13 @@ import java.util.List; @Mapper public interface OaHireDetailsMapper extends BaseMapper { - //@Update("update oa_hire_details set name=#{msg} where id=#{id}") - //IPage voPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); - - IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw); - - List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw); - - @Select("select * from oa_hire_details") - List selectListVo(); + //@Update("update oa_hire_details set name=#{msg} where id=#{id}") + //IPage voPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw); + + List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw); + + @Select("select * from oa_hire_details") + List selectListVo(); } \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahiredetails/OaHireDetailsMapper.xml b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahiredetails/OaHireDetailsMapper.xml index cfad334c0e..3e9fe844a9 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahiredetails/OaHireDetailsMapper.xml +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahiredetails/OaHireDetailsMapper.xml @@ -3,11 +3,11 @@ - SELECT * FROM oa_hire_details ${ew.sqlSegment} - SELECT * FROM oa_hire_details ${ew.sqlSegment} \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahiredetails/OaHireDetailsService.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahiredetails/OaHireDetailsService.java index 5eabaa3835..171c298ea2 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahiredetails/OaHireDetailsService.java +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahiredetails/OaHireDetailsService.java @@ -34,12 +34,6 @@ import com.yxt.common.base.utils.PagerUtil; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; -import com.yxt.anrui.oa.api.oahiredetails.OaHireDetails; -import com.yxt.anrui.oa.api.oahiredetails.OaHireDetailsQuery; -import com.yxt.anrui.oa.api.oahiredetails.OaHireDetailsVo; -import com.yxt.anrui.oa.api.oahiredetails.OaHireDetailsDetailsVo; -import com.yxt.anrui.oa.api.oahiredetails.OaHireDetailsDto; -import com.yxt.anrui.oa.api.oahiredetails.OaHireDetailsFeign; import org.springframework.stereotype.Service; @@ -60,51 +54,51 @@ import java.util.List; */ @Service public class OaHireDetailsService extends MybatisBaseService { - private QueryWrapper createQueryWrapper(OaHireDetailsQuery query) { - // todo: 这里根据具体业务调整查询条件 - // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName())); - QueryWrapper qw = new QueryWrapper<>(); - return qw; - } - - public PagerVo listPageVo(PagerQuery pq) { - OaHireDetailsQuery query = pq.getParams(); - QueryWrapper qw = createQueryWrapper(query); - IPage page = PagerUtil.queryToPage(pq); - IPage pagging = baseMapper.selectPageVo(page, qw); - PagerVo p = PagerUtil.pageToVo(pagging, null); - return p; - } - - public void saveOrUpdateDto(OaHireDetailsDto dto){ + private QueryWrapper createQueryWrapper(OaHireDetailsQuery query) { + // todo: 这里根据具体业务调整查询条件 + // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName())); + QueryWrapper qw = new QueryWrapper<>(); + return qw; + } + + public PagerVo listPageVo(PagerQuery pq) { + OaHireDetailsQuery query = pq.getParams(); + QueryWrapper qw = createQueryWrapper(query); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selectPageVo(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + public void saveOrUpdateDto(OaHireDetailsDto dto) { String dtoSid = dto.getSid(); if (StringUtils.isBlank(dtoSid)) { this.insertByDto(dto); - return; - } - this.updateByDto(dto); - } - - public void insertByDto(OaHireDetailsDto dto){ - OaHireDetails entity = new OaHireDetails(); - BeanUtil.copyProperties(dto, entity, "id", "sid"); - baseMapper.insert(entity); - } - - public void updateByDto(OaHireDetailsDto dto){ - String dtoSid = dto.getSid(); + return; + } + this.updateByDto(dto); + } + + public void insertByDto(OaHireDetailsDto dto) { + OaHireDetails entity = new OaHireDetails(); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + baseMapper.insert(entity); + } + + public void updateByDto(OaHireDetailsDto dto) { + String dtoSid = dto.getSid(); if (StringUtils.isBlank(dtoSid)) { return; - } - OaHireDetails entity = fetchBySid(dtoSid); - BeanUtil.copyProperties(dto, entity, "id", "sid"); - baseMapper.updateById(entity); - } - - public OaHireDetailsDetailsVo fetchDetailsVoBySid(String sid){ - OaHireDetails entity = fetchBySid(sid); - OaHireDetailsDetailsVo vo = new OaHireDetailsDetailsVo(); - BeanUtil.copyProperties(entity, vo); - return vo; - } + } + OaHireDetails entity = fetchBySid(dtoSid); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + baseMapper.updateById(entity); + } + + public OaHireDetailsDetailsVo fetchDetailsVoBySid(String sid) { + OaHireDetails entity = fetchBySid(sid); + OaHireDetailsDetailsVo vo = new OaHireDetailsDetailsVo(); + BeanUtil.copyProperties(entity, vo); + return vo; + } } \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApply.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApply.java index 2e840cf9a1..38268dc706 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApply.java +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApply.java @@ -25,14 +25,18 @@ *********************************************************/ package com.yxt.anrui.oa.biz.oamendapply; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.yxt.anrui.oa.biz.oaform.OaForm; import com.yxt.common.core.domain.BaseEntity; import com.fasterxml.jackson.annotation.JsonFormat; + import java.util.Date; + import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import org.springframework.data.annotation.Transient; /** * Project: yxt-oa(补卡申请)
@@ -50,35 +54,41 @@ import lombok.Data; @Data @ApiModel(value = "补卡申请", description = "补卡申请") @TableName("oa_mend_apply") -public class OaMendApply extends OaForm { +public class OaMendApply extends BaseEntity { private static final long serialVersionUID = 1L; private String formSid; - @ApiModelProperty("单据编号") - private String billNo; // 单据编号 - @ApiModelProperty("申请人") - private String createByName; // 申请人 - @ApiModelProperty("申请部门sid") - private String deptSid; // 申请部门sid - @ApiModelProperty("申请部门名称") - private String deptName; // 申请部门名称 - @ApiModelProperty("补卡时间") - private String time; // 补卡时间 - @ApiModelProperty("分公司sid") - private String useOrgSid; // 分公司sid - @ApiModelProperty("分公司名称") - private String useOrgName; // 分公司名称 - @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") - @ApiModelProperty("办结日期") - private Date finishTime; // 办结日期 - @ApiModelProperty("实例id") - private String procInstId; // 实例id - @ApiModelProperty("流程定义id") - private String procDefId; // 流程定义id - @ApiModelProperty("任务id") - private String taskId; // 任务id - @ApiModelProperty("环节id") - private String nodeId; // 环节id - @ApiModelProperty("流程状态") - private String nodeState; // 流程状态 + @ApiModelProperty("补卡时间") + private String time; + + @TableField(exist = false) + private OaForm oaForm = new OaForm(); + + + /* @ApiModelProperty("单据编号") + private String billNo; + @ApiModelProperty("申请人") + private String createByName; + @ApiModelProperty("申请部门sid") + private String deptSid; + @ApiModelProperty("申请部门名称") + private String deptName; + + @ApiModelProperty("分公司sid") + private String useOrgSid; + @ApiModelProperty("分公司名称") + private String useOrgName; + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @ApiModelProperty("办结日期") + private Date finishTime; + @ApiModelProperty("实例id") + private String procInstId; + @ApiModelProperty("流程定义id") + private String procDefId; + @ApiModelProperty("任务id") + private String taskId; + @ApiModelProperty("环节id") + private String nodeId; + @ApiModelProperty("流程状态") + private String nodeState;*/ } diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyDetailsVo.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyDetailsVo.java index 903ba9c894..a9d79ffbfc 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyDetailsVo.java +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyDetailsVo.java @@ -55,39 +55,26 @@ import lombok.Data; @ApiModel(value = "补卡申请 视图数据详情", description = "补卡申请 视图数据详情") public class OaMendApplyDetailsVo implements Vo { - private String sid; // sid + private static final long serialVersionUID = -8377279007782913681L; + private String sid; - @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") - private Date createTime; @ApiModelProperty("补卡原因") private String remarks; - @ApiModelProperty("单据编号") - private String billNo; // 单据编号 - @ApiModelProperty("申请人") - private String createByName; // 申请人 - @ApiModelProperty("申请部门sid") - private String deptSid; // 申请部门sid - @ApiModelProperty("申请部门名称") - private String deptName; // 申请部门名称 - @ApiModelProperty("补卡时间") - private String time; // 补卡时间 - @ApiModelProperty("分公司sid") - private String useOrgSid; // 分公司sid - @ApiModelProperty("分公司名称") - private String useOrgName; // 分公司名称 - @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") - @ApiModelProperty("办结日期") - private Date finishTime; - @ApiModelProperty("实例id") - private String procInstId; // 实例id - @ApiModelProperty("流程定义id") - private String procDefId; // 流程定义id - @ApiModelProperty("任务id") - private String taskId; // 任务id - @ApiModelProperty("环节id") - private String nodeId; // 环节id - @ApiModelProperty("流程状态") - private String nodeState; // 流程状态 + @ApiModelProperty("单据编号") + private String billNo; + @ApiModelProperty("申请人") + private String createByName; + private String createBySid; + @ApiModelProperty("申请部门sid") + private String deptSid; + @ApiModelProperty("申请部门名称") + private String deptName; + @ApiModelProperty("补卡时间") + private String time; + @ApiModelProperty("分公司sid") + private String useOrgSid; + @ApiModelProperty("分公司名称") + private String useOrgName; @ApiModelProperty("图片") private List files = new ArrayList<>(); } \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyDto.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyDto.java index 6d8734fe16..f37536be18 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyDto.java +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyDto.java @@ -55,39 +55,41 @@ import lombok.Data; @ApiModel(value = "补卡申请 数据传输对象", description = "补卡申请 数据传输对象") public class OaMendApplyDto implements Dto { - private String sid; // sid - private String userSid; + private static final long serialVersionUID = -4536006302677264298L; + private String sid; + private String createBySid; private String orgPath; - @ApiModelProperty("补卡原因") private String remarks; - @ApiModelProperty("单据编号") + @ApiModelProperty("补卡时间") + private String time; + @ApiModelProperty("图片") + private List files = new ArrayList<>(); + + /* @ApiModelProperty("单据编号") private String billNo; // 单据编号 - @ApiModelProperty("申请人") - private String createByName; // 申请人 - @ApiModelProperty("申请部门sid") - private String deptSid; // 申请部门sid - @ApiModelProperty("申请部门名称") - private String deptName; // 申请部门名称 - @ApiModelProperty("补卡时间") - private String time; // 补卡时间 - @ApiModelProperty("分公司sid") - private String useOrgSid; // 分公司sid - @ApiModelProperty("分公司名称") - private String useOrgName; // 分公司名称 - @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + @ApiModelProperty("申请人") + private String createByName; + @ApiModelProperty("申请部门sid") + private String deptSid; + @ApiModelProperty("申请部门名称") + private String deptName; + + @ApiModelProperty("分公司sid") + private String useOrgSid; + @ApiModelProperty("分公司名称") + private String useOrgName; + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") @ApiModelProperty("办结日期") private Date finishTime; - @ApiModelProperty("实例id") - private String procInstId; // 实例id - @ApiModelProperty("流程定义id") - private String procDefId; // 流程定义id - @ApiModelProperty("任务id") - private String taskId; // 任务id - @ApiModelProperty("环节id") - private String nodeId; // 环节id - @ApiModelProperty("流程状态") - private String nodeState; // 流程状态 - @ApiModelProperty("图片") - private List files = new ArrayList<>(); + @ApiModelProperty("实例id") + private String procInstId; + @ApiModelProperty("流程定义id") + private String procDefId; + @ApiModelProperty("任务id") + private String taskId; + @ApiModelProperty("环节id") + private String nodeId; + @ApiModelProperty("流程状态") + private String nodeState;*/ } \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyInitVo.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyInitVo.java index a93422cdab..2ad8b34396 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyInitVo.java +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyInitVo.java @@ -51,36 +51,30 @@ import java.util.Date; @ApiModel(value = "补卡申请 视图数据对象", description = "补卡申请 视图数据对象") public class OaMendApplyInitVo implements Vo { + private static final long serialVersionUID = -2109900644174208483L; private String sid; // sid - private String userSid; + private String createBySid; private String orgPath; - @ApiModelProperty("单据编号") - private String billNo; // 单据编号 - @ApiModelProperty("申请人") - private String createByName; // 申请人 - @ApiModelProperty("申请部门sid") - private String deptSid; // 申请部门sid - @ApiModelProperty("申请部门名称") - private String deptName; // 申请部门名称 - @ApiModelProperty("补卡时间") - private String time; // 补卡时间 - @ApiModelProperty("分公司sid") - private String useOrgSid; // 分公司sid - @ApiModelProperty("分公司名称") - private String useOrgName; // 分公司名称 - @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") - @ApiModelProperty("办结日期") - private Date finishTime; - @ApiModelProperty("实例id") - private String procInstId; // 实例id - @ApiModelProperty("流程定义id") - private String procDefId; // 流程定义id - @ApiModelProperty("任务id") - private String taskId; // 任务id - @ApiModelProperty("环节id") - private String nodeId; // 环节id - @ApiModelProperty("流程状态") - private String nodeState; // 流程状态 + @ApiModelProperty("单据编号") + private String billNo; + @ApiModelProperty("申请人") + private String createByName; + @ApiModelProperty("申请部门sid") + private String deptSid; + @ApiModelProperty("申请部门名称") + private String deptName; + @ApiModelProperty("补卡时间") + private String time; + @ApiModelProperty("分公司sid") + private String useOrgSid; + @ApiModelProperty("分公司名称") + private String useOrgName; + @ApiModelProperty("实例id") + private String procInstId; + @ApiModelProperty("流程定义id") + private String procDefId; + @ApiModelProperty("任务id") + private String taskId; } diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyMapper.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyMapper.java index b83344fb69..7611b61688 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyMapper.java +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyMapper.java @@ -56,4 +56,8 @@ public interface OaMendApplyMapper extends BaseMapper { int selectBySid(String join); String selectNum(String billNo); + + OaMendApplyDetailsVo fetchDetailsVoBySid(String sid); + + OaMendApplyInitVo init(String sid); } \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyMapper.xml b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyMapper.xml index 6d70f1274d..63fbac9fa4 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyMapper.xml +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyMapper.xml @@ -1,42 +1,93 @@ - - - + + + - - UPDATE oa_mend_apply - SET nodeState=#{nodeState}, nodeId=#{taskDefKey} - - , finishTime = NOW() - - - , procDefId=#{procDefId} - - - , procInstId=#{procInsId} - - - , taskId=#{taskId} - - WHERE sid=#{sid} - + + UPDATE oa_mend_apply + SET nodeState=#{nodeState}, nodeId=#{taskDefKey} + + , finishTime = NOW() + + + , procDefId=#{procDefId} + + + , procInstId=#{procInsId} + + + , taskId=#{taskId} + + WHERE sid=#{sid} + - + - + + + + + \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyQuery.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyQuery.java index 86cd26e0cf..6794ddcddb 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyQuery.java +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyQuery.java @@ -29,7 +29,9 @@ package com.yxt.anrui.oa.biz.oamendapply; import com.yxt.common.core.query.Query; import com.fasterxml.jackson.annotation.JsonFormat; + import java.util.Date; + import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -51,33 +53,9 @@ import lombok.Data; @ApiModel(value = "补卡申请 查询条件", description = "补卡申请 查询条件") public class OaMendApplyQuery implements Query { - @ApiModelProperty("单据编号") - private String billNo; // 单据编号 - @ApiModelProperty("申请人") - private String createByName; // 申请人 - @ApiModelProperty("申请部门sid") - private String deptSid; // 申请部门sid - @ApiModelProperty("申请部门名称") - private String deptName; // 申请部门名称 - @ApiModelProperty("补卡时间") - private String time; // 补卡时间 - @ApiModelProperty("分公司sid") - private String useOrgSid; // 分公司sid - @ApiModelProperty("分公司名称") - private String useOrgName; // 分公司名称 - @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") - @ApiModelProperty("办结日期") - private Date finishTimeStart; // 办结日期 - private Date finishTimeEnd; // 办结日期 - @ApiModelProperty("实例id") - private String procInstId; // 实例id - @ApiModelProperty("流程定义id") - private String procDefId; // 流程定义id - @ApiModelProperty("任务id") - private String taskId; // 任务id - @ApiModelProperty("环节id") - private String nodeId; // 环节id - @ApiModelProperty("流程状态") - private String nodeState; // 流程状态 + private static final long serialVersionUID = -7211977992786497538L; + @ApiModelProperty("单据编号") + private String billNo; + } diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyService.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyService.java index cb0d39cd6d..4b9237aa70 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyService.java +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyService.java @@ -33,6 +33,9 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.google.common.util.concurrent.ThreadFactoryBuilder; import com.yxt.anrui.oa.biz.oaappendix.OaAppendix; import com.yxt.anrui.oa.biz.oaappendix.OaAppendixService; +import com.yxt.anrui.oa.biz.oaform.OaForm; +import com.yxt.anrui.oa.biz.oaform.OaFormDto; +import com.yxt.anrui.oa.biz.oaform.OaFormService; import com.yxt.anrui.oa.biz.oamendapply.flowable.*; import com.yxt.anrui.oa.feign.base.Rule; import com.yxt.anrui.oa.feign.file.OaFileEnum; @@ -63,7 +66,9 @@ import com.yxt.common.core.vo.PagerVo; import org.apache.tomcat.util.threads.ThreadPoolExecutor; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Bean; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.*; import java.util.concurrent.*; @@ -72,500 +77,619 @@ import java.util.stream.Collectors; @Service public class OaMendApplyService extends MybatisBaseService { - @Autowired - private SysOrganizationFeign sysOrganizationFeign; - @Autowired - private SysStaffOrgFeign sysStaffOrgFeign; - @Autowired - private FlowableFeign flowableFeign; - @Autowired - private FlowTaskFeign flowTaskFeign; - @Autowired - private FlowFeign flowFeign; - @Autowired - private MessageFeign messageFeign; - @Autowired - private SysUserFeign sysUserFeign; - @Autowired - private FileUploadComponent fileUploadComponent; - @Autowired - private OaAppendixService oaAppendixService; - - public PagerVo listPageVo(PagerQuery pq) { - OaMendApplyQuery query = pq.getParams(); - QueryWrapper qw = new QueryWrapper<>(); - IPage page = PagerUtil.queryToPage(pq); - IPage pagging = baseMapper.selectPageVo(page, qw); - PagerVo p = PagerUtil.pageToVo(pagging, null); - return p; - } - - public String saveOrUpdateDto(OaMendApplyDto dto){ - String dtoSid = dto.getSid(); - List files = dto.getFiles(); - String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(dto.getOrgPath()).getData(); - SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(useOrgSid).getData(); - dto.setUseOrgSid(useOrgSid); - dto.setUseOrgName(organizationVo.getName()); - String deptName = ""; - String deptSid = ""; - List split = Arrays.asList(dto.getOrgPath().split("/")); - if (split.size() > 1) { - //获取本级sid获取本级部门信息 - SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(split.size() - 2)).getData(); - SysOrganizationVo sysOrganization1 = sysOrganizationFeign.fetchBySid(split.get(split.size() - 1)).getData(); - deptName = sysOrganization.getName() + "/" + sysOrganization1.getName(); - deptName = sysOrganization1.getName(); - deptSid = sysOrganization1.getSid(); - } else { - SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(0)).getData(); - deptName = sysOrganization.getName(); - deptName = sysOrganization.getName(); - deptSid = sysOrganization.getSid(); - } - dto.setDeptSid(deptSid); - dto.setDeptName(deptName); - if (StringUtils.isBlank(dtoSid)) { - //生成单据编号 - String billNo = ""; - String date = DateUtil.format(DateUtil.date(), "yyyyMM"); - billNo = "QJSQ" + organizationVo.getOrgCode() + date; - String i = baseMapper.selectNum(billNo); - if (StringUtils.isNotBlank(i)) { - billNo = Rule.getBillNo(billNo, Integer.valueOf(i).intValue()); - } else { - billNo = Rule.getBillNo(billNo, 0); - } - dto.setBillNo(billNo); - String sid = this.insertByDto(dto); - for (String file : files) { - String filePath = file.replace(fileUploadComponent.getUrlPrefix(), ""); - OaAppendix oaAppendix = new OaAppendix(); - oaAppendix.setLinkSid(sid); - oaAppendix.setAttachType(OaFileEnum.OAMENDAPPLY.getAttachType()); - oaAppendix.setFilePath(filePath); - oaAppendixService.save(oaAppendix); - } - return sid; - } - this.updateByDto(dto); - return dtoSid; - } - - public String insertByDto(OaMendApplyDto dto){ - OaMendApply entity = new OaMendApply(); - BeanUtil.copyProperties(dto, entity, "id", "sid"); - entity.setNodeState("待提交"); - entity.setCreateBySid(dto.getUserSid()); - SysUserVo sysUserVo = sysUserFeign.fetchBySid(dto.getUserSid()).getData(); - entity.setCreateByName(sysUserVo.getName()); - baseMapper.insert(entity); - return entity.getSid(); - } - - public void updateByDto(OaMendApplyDto dto){ - String dtoSid = dto.getSid(); + @Autowired + private SysOrganizationFeign sysOrganizationFeign; + @Autowired + private SysStaffOrgFeign sysStaffOrgFeign; + @Autowired + private FlowableFeign flowableFeign; + @Autowired + private FlowTaskFeign flowTaskFeign; + @Autowired + private FlowFeign flowFeign; + @Autowired + private MessageFeign messageFeign; + @Autowired + private SysUserFeign sysUserFeign; + @Autowired + private FileUploadComponent fileUploadComponent; + @Autowired + private OaAppendixService oaAppendixService; + @Autowired + private OaFormService oaFormService; + + public PagerVo listPageVo(PagerQuery pq) { + OaMendApplyQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + if (query != null) { + if (StringUtils.isNotBlank(query.getBillNo())) { + qw.like("ofm.billNo", query.getBillNo()); + } + } + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selectPageVo(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + /* public String saveOrUpdateDtoOld(OaMendApplyDto dto) { + String dtoSid = dto.getSid(); + List files = dto.getFiles(); + String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(dto.getOrgPath()).getData(); + SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(useOrgSid).getData(); + dto.setUseOrgSid(useOrgSid); + dto.setUseOrgName(organizationVo.getName()); + String deptName = ""; + String deptSid = ""; + List split = Arrays.asList(dto.getOrgPath().split("/")); + if (split.size() > 1) { + //获取本级sid获取本级部门信息 + SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(split.size() - 2)).getData(); + SysOrganizationVo sysOrganization1 = sysOrganizationFeign.fetchBySid(split.get(split.size() - 1)).getData(); + deptName = sysOrganization.getName() + "/" + sysOrganization1.getName(); + deptName = sysOrganization1.getName(); + deptSid = sysOrganization1.getSid(); + } else { + SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(0)).getData(); + deptName = sysOrganization.getName(); + deptName = sysOrganization.getName(); + deptSid = sysOrganization.getSid(); + } + dto.setDeptSid(deptSid); + dto.setDeptName(deptName); if (StringUtils.isBlank(dtoSid)) { - return; - } - OaMendApply entity = fetchBySid(dtoSid); - BeanUtil.copyProperties(dto, entity, "id", "sid"); - baseMapper.updateById(entity); - } - - public OaMendApplyDetailsVo fetchDetailsVoBySid(String sid){ - OaMendApply entity = fetchBySid(sid); - OaMendApplyDetailsVo vo = new OaMendApplyDetailsVo(); - BeanUtil.copyProperties(entity, vo); - List oaAppendices = oaAppendixService.fetchByLinkSid(sid); - List files = new ArrayList<>(); - for (OaAppendix oaAppendix : oaAppendices) { - String url = fileUploadComponent.getUrlPrefix() + oaAppendix.getFilePath(); - files.add(url); - } - vo.setFiles(files); - return vo; - } - - public ResultBean submit(SubmitOaMendApplyDto dto) { - ResultBean rb = ResultBean.fireFail(); - OaMendApply oaMendApply = fetchBySid(dto.getSid()); - int r = submitBusinessData(dto, oaMendApply); - if (r == 3) { - return rb.setMsg("该申请不存在"); - } - if (r == 0) { - return rb.setMsg("操作失败!提交的数据不一致"); - } - //新增修改保存 - String businessSid = saveOrUpdateDto(dto); - oaMendApply = fetchBySid(businessSid); - //创建BusinessVariables实体对象 - BusinessVariables bv = new BusinessVariables(); - //流程中的参数赋值、若有网关,则赋值网关中判断的字段。 - Map variables = new HashMap<>(); - //用户的部门全路径sid - SysOrganizationVo deptVo = sysOrganizationFeign.fetchBySid(oaMendApply.getDeptSid()).getData(); - bv.setOrgSidPath(deptVo.getOrgSidPath()); - //业务sid - bv.setBusinessSid(businessSid); - //用户sid - bv.setUserSid(oaMendApply.getCreateBySid()); - //若app移动端有此功能,则传递appMap参数 - Map appMap = new HashMap<>(); - appMap.put("sid", businessSid); - //需和移动端沟通业务sid保存的属性具体值:appMap中sid不是固定的。移动端提供具体字段。 - variables.put("app", appMap); - //网关 - - //流程定义id - bv.setModelId(ProcDefEnum.OAMENDAPPLY.getProDefId()); - SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(oaMendApply.getDeptSid()).getData(); - bv.setNextNodeUserSids(organizationVo.getManagerSid()); - bv.setFormVariables(variables); - if (r == 1) { - ResultBean voResultBean = flowFeign.startProcess(bv); - UpdateFlowFieldVo ufVo = voResultBean.getData(); - updateFlowFiled(BeanUtil.beanToMap(ufVo)); - //极光推送 - oaMendApply = fetchBySid(businessSid); - //==================================添加线程 - try { - ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() - .setNameFormat("demo-pool-%d").build(); - ExecutorService pool = new ThreadPoolExecutor(2, 100, - 0L, TimeUnit.MILLISECONDS, - new LinkedBlockingQueue(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); - OaMendApply mendApply = oaMendApply; - Future future1 = pool.submit(() -> { - //极光推送 - MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); - MessageFlowVo messageFlowVo = new MessageFlowVo(); - BeanUtil.copyProperties(ufVo, messageFlowVo); - messageFlowableQuery.setUfVo(messageFlowVo); - messageFlowableQuery.setAppMap(appMap); - messageFlowableQuery.setBusinessSid(businessSid); - messageFlowableQuery.setModuleName("补卡申请"); - messageFlowableQuery.setMsgContent(mendApply.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); - messageFlowableQuery.setMsgTitle("补卡申请"); - messageFeign.pushMessage(messageFlowableQuery); - }); - } catch (Exception e) { - e.printStackTrace(); - } - //==================================添加线程 - return voResultBean; - } - if (r == 2) { - // ToDo:驳回到发起人后再次提交 - if (StringUtils.isBlank(dto.getInstanceId())) { - return rb.setMsg("参数错误:instanceId"); - } - bv.setTaskId(oaMendApply.getTaskId()); - bv.setTaskDefKey(oaMendApply.getNodeId()); - bv.setComment(StringUtils.isNotBlank(dto.getComment()) ? dto.getComment() : "重新提交"); - bv.setInstanceId(dto.getInstanceId()); - return complete(bv); - } - return rb; - } - - private synchronized int submitBusinessData(SubmitOaMendApplyDto dto, OaMendApply oaMendApply) { - int r = 0; - if (StringUtils.isBlank(dto.getSid())) { - r = 1; - } else { - if (oaMendApply != null) { - String businessTaskId = oaMendApply.getTaskId(); - if (StringUtils.isBlank(businessTaskId) && StringUtils.isBlank(dto.getTaskId())) { - //新提交 - r = 1; - } else if (StringUtils.isNotBlank(businessTaskId) && businessTaskId.equals(dto.getTaskId())) { - //二次提交//只有数据一致的时候才能进行下一步 - r = 2; - } - } else { - r = 3; - } - - } - return r; - } - - private int updateFlowFiled(Map map) { - return baseMapper.updateFlowFiled(map); - } - - public ResultBean complete(BusinessVariables bv) { - ResultBean rb = ResultBean.fireFail(); - String businessSid = bv.getBusinessSid(); - OaMendApply oaMendApply = fetchBySid(businessSid); - Map variables = new HashMap<>(); - //网关 - - Map appMap = new HashMap<>(); - appMap.put("sid", businessSid); - variables.put("app", appMap); - //======================================= - bv.setFormVariables(variables); - SysOrganizationVo deptVo = sysOrganizationFeign.fetchBySid(oaMendApply.getDeptSid()).getData(); - bv.setOrgSidPath(deptVo.getOrgSidPath()); - bv.setModelId(oaMendApply.getProcDefId()); - if (bv.getTaskId().equals(oaMendApply.getTaskId())) { - ResultBean resultBean = flowFeign.handleProsess(bv); - if (!resultBean.getSuccess()) { - return rb.setMsg(resultBean.getMsg()); - } - UpdateFlowFieldVo ufVo = resultBean.getData(); - updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); - if ("Event_end".equals(resultBean.getData().getTaskDefKey())) { - - } else { - //极光推送 - oaMendApply = fetchBySid(businessSid); - //==================================添加线程 - try { - ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() - .setNameFormat("demo-pool-%d").build(); - ExecutorService pool = new ThreadPoolExecutor(2, 100, - 0L, TimeUnit.MILLISECONDS, - new LinkedBlockingQueue(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); - OaMendApply mendApply = oaMendApply; - Future future1 = pool.submit(() -> { - //极光推送 - MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); - MessageFlowVo messageFlowVo = new MessageFlowVo(); - BeanUtil.copyProperties(ufVo, messageFlowVo); - ufVo.setProcDefId(mendApply.getProcDefId()); - ufVo.setProcInsId(mendApply.getProcInstId()); - messageFlowableQuery.setUfVo(messageFlowVo); - messageFlowableQuery.setAppMap(appMap); - messageFlowableQuery.setBusinessSid(businessSid); - messageFlowableQuery.setModuleName("补卡申请"); - messageFlowableQuery.setMsgContent(mendApply.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); - messageFlowableQuery.setMsgTitle("补卡申请"); - messageFeign.pushMessage(messageFlowableQuery); - }); - } catch (Exception e) { - e.printStackTrace(); - } - //==================================添加线程 - } - return rb.success().setData(resultBean.getData()); - } else { - return rb.setMsg("操作失败!提交的数据不一致"); - } - } - - public ResultBean> getPreviousNodesForReject(OaMendApplyNodeQuery query) { - ResultBean> rb = ResultBean.fireFail(); - BusinessVariables bv = new BusinessVariables(); - BeanUtil.copyProperties(query, bv); - //流程中的参数赋值、若有网关,则赋值网关中判断的字段。 - Map variables = new HashMap<>(); - //查询业务信息 - OaMendApply oaMendApply = fetchBySid(query.getBusinessSid()); - //网关 - - bv.setModelId(oaMendApply.getProcDefId()); - bv.setFormVariables(variables); - //======================================= - ResultBean>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv); - //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo - List voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), OaMendApplyNodeVo.class)).collect(Collectors.toList()); - return rb.success().setData(voList); - } - - public ResultBean> getNextNodesForSubmit(OaMendApplyNodeQuery query) { - ResultBean> rb = ResultBean.fireFail(); - BusinessVariables bv = new BusinessVariables(); - BeanUtil.copyProperties(query, bv); - //流程中的参数赋值、若有网关,则赋值网关中判断的字段。 - Map variables = new HashMap<>(); - //查询业务信息 - OaMendApply oaMendApply = fetchBySid(query.getBusinessSid()); - //网关 - - bv.setModelId(oaMendApply.getProcDefId()); - bv.setFormVariables(variables); - //======================================= - ResultBean>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv); - //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo - List voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), OaMendApplyNodeVo.class)).collect(Collectors.toList()); - return rb.success().setData(voList); - } - - public ResultBean reject(OaMendApplyTaskQuery query) { - ResultBean rb = ResultBean.fireFail(); - String businessSid = query.getBusinessSid(); - OaMendApply oaMendApply = fetchBySid(businessSid); - if (oaMendApply == null) { - return rb.setMsg("该申请不存在"); - } - String businessTaskId = oaMendApply.getTaskId(); - if (StringUtils.isNotBlank(businessTaskId)) { - if (businessTaskId.equals(query.getTaskId())) { - if (StringUtils.isBlank(query.getComment())) { - return rb.setMsg("请填写意见"); - } - if (StringUtils.isBlank(query.getUserSid())) { - return rb.setMsg("参数错误:userSid"); - } - FlowTaskVo flowTaskVo = new FlowTaskVo(); - BeanUtil.copyProperties(query, flowTaskVo); - Map variables = new HashMap<>(); - Map appMap = new HashMap<>(); - appMap.put("sid", businessSid); - variables.put("app", appMap); - //网关 - - flowTaskVo.setValues(variables); - ResultBean resultBean = flowableFeign.taskReject(flowTaskVo); - if (!resultBean.getSuccess()) { - return rb.setMsg(resultBean.getMsg()); - } - UpdateFlowFieldVo ufVo = resultBean.getData(); - Map map = BeanUtil.beanToMap(ufVo); - //更新业务中的流程相关的参数 - updateFlowFiled(map); - //极光推送 - oaMendApply = fetchBySid(businessSid); - //==================================添加线程 - try { - ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() - .setNameFormat("demo-pool-%d").build(); - ExecutorService pool = new ThreadPoolExecutor(2, 100, - 0L, TimeUnit.MILLISECONDS, - new LinkedBlockingQueue(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); - OaMendApply mendApply = oaMendApply; - Future future1 = pool.submit(() -> { - //极光推送 - MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); - MessageFlowVo messageFlowVo = new MessageFlowVo(); - BeanUtil.copyProperties(ufVo, messageFlowVo); - String procId = mendApply.getProcInstId(); - ufVo.setProcInsId(procId); - ufVo.setProcDefId(mendApply.getProcDefId()); - messageFlowableQuery.setUfVo(messageFlowVo); - messageFlowableQuery.setAppMap(appMap); - messageFlowableQuery.setBusinessSid(businessSid); - messageFlowableQuery.setModuleName("补卡申请"); - ResultBean> listResultBean = flowTaskFeign.getLatestTasks(procId); - String nextNodeUserSids = listResultBean.getData().get(0).getASSIGNEE_(); - List receiveSidList = Arrays.asList(nextNodeUserSids.split(",")); - if (receiveSidList.size() == 1 && receiveSidList.get(0).equals(mendApply.getCreateBySid())) { - messageFlowableQuery.setMsgContent("您提交的" + messageFlowableQuery.getModuleName() + "已被驳回,请重新提交"); - } else { - messageFlowableQuery.setMsgContent(mendApply.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); - } - messageFlowableQuery.setMsgTitle("补卡申请"); - messageFeign.pushMessage(messageFlowableQuery); - }); - } catch (Exception e) { - e.printStackTrace(); - } - //==================================添加线程 - return rb.success(); - } - } - return rb.setMsg("操作失败!提交的数据不一致!"); - } - - public ResultBean revokeProcess(OaMendApplyTaskQuery query) { - ResultBean rb = ResultBean.fireFail(); - if (StringUtils.isBlank(query.getUserSid())) { - return rb.setMsg("参数错误:userSid"); - } - OaMendApply oaMendApply = fetchBySid(query.getBusinessSid()); - String businessTaskId = oaMendApply.getTaskId(); - if (StringUtils.isNotBlank(businessTaskId)) { - if (businessTaskId.equals(query.getTaskId())) { - FlowTaskVo flowTaskVo = new FlowTaskVo(); - BeanUtil.copyProperties(query, flowTaskVo); - ResultBean resultBean = flowableFeign.revokeProcess(flowTaskVo); - if (!resultBean.getSuccess()) { - return rb.setMsg(resultBean.getMsg()); - } - updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); - return rb.success().setData(resultBean.getData()); - } - } - return rb.setMsg("操作失败,提交的数据不一致!"); - } - - public ResultBean breakProcess(OaMendApplyTaskQuery query) { - ResultBean rb = ResultBean.fireFail(); - if (StringUtils.isBlank(query.getInstanceId())) { - return rb.setMsg("参数错误:instanceId"); - } - if (StringUtils.isBlank(query.getUserSid())) { - return rb.setMsg("参数错误:userSid"); - } - if (StringUtils.isBlank(query.getComment())) { - return rb.setMsg("请填写意见"); - } - OaMendApply oaMendApply = fetchBySid(query.getBusinessSid()); - String businessTaskId = oaMendApply.getTaskId(); - if (StringUtils.isNotBlank(businessTaskId)) { - if (query.getUserSid().equals(oaMendApply.getCreateBySid())) { - FlowTaskVo flowTaskVo = new FlowTaskVo(); - BeanUtil.copyProperties(query, flowTaskVo); - ResultBean resultBean = flowableFeign.breakProcess(flowTaskVo); - if (!resultBean.getSuccess()) { - return rb.setMsg(resultBean.getMsg()); - } - Map map = BeanUtil.beanToMap(resultBean.getData()); - updateFlowFiled(map); - return rb.success().setData(resultBean.getData()); - } else { - if (businessTaskId.equals(query.getTaskId())) { - FlowTaskVo flowTaskVo = new FlowTaskVo(); - BeanUtil.copyProperties(query, flowTaskVo); - ResultBean resultBean = flowableFeign.breakProcess(flowTaskVo); - if (!resultBean.getSuccess()) { - return rb.setMsg(resultBean.getMsg()); - } - Map map = BeanUtil.beanToMap(resultBean.getData()); - updateFlowFiled(map); - return rb.success().setData(resultBean.getData()); - } - } - - } - return rb.setMsg("操作失败!提交的数据不一致!"); - } - - public ResultBean delegate(OaMendApplyDelegateQuery query) { - ResultBean rb = ResultBean.fireFail(); - FlowDelegateQuery delegateQuery = new FlowDelegateQuery(); - BeanUtil.copyProperties(query, delegateQuery); - flowFeign.delegate(delegateQuery); - return rb.success(); - } - - public ResultBean assignTask(OaMendApplyDelegateQuery query) { - ResultBean rb = ResultBean.fireFail(); - FlowDelegateQuery delegateQuery = new FlowDelegateQuery(); - BeanUtil.copyProperties(query, delegateQuery); - flowFeign.assignTask(delegateQuery); - return rb.success(); - } - - public ResultBean delAll(String[] sids) { - ResultBean rb = ResultBean.fireFail(); - //查询该sid中是否有流程不是待提交的 - int count = baseMapper.selectBySid(StringUtils.join(sids, ",")); - if (count > 0) { - return rb.setMsg("删除的数据中包含已提交或已办结审批的数据,删除失败"); - } - delBySids(sids); - return rb.success(); - } - - public OaMendApplyInitVo init(String sid, String userSid, String orgPath) { - OaMendApplyInitVo oaMendApplyInitVo = new OaMendApplyInitVo(); - oaMendApplyInitVo.setUserSid(userSid); - oaMendApplyInitVo.setOrgPath(orgPath); - return oaMendApplyInitVo; - } + //生成单据编号 + String billNo = ""; + String date = DateUtil.format(DateUtil.date(), "yyyyMM"); + billNo = "QJSQ" + organizationVo.getOrgCode() + date; + String i = baseMapper.selectNum(billNo); + if (StringUtils.isNotBlank(i)) { + billNo = Rule.getBillNo(billNo, Integer.valueOf(i).intValue()); + } else { + billNo = Rule.getBillNo(billNo, 0); + } + dto.setBillNo(billNo); + String sid = this.insertByDto(dto); + for (String file : files) { + String filePath = file.replace(fileUploadComponent.getUrlPrefix(), ""); + OaAppendix oaAppendix = new OaAppendix(); + oaAppendix.setLinkSid(sid); + oaAppendix.setAttachType(OaFileEnum.OAMENDAPPLY.getAttachType()); + oaAppendix.setFilePath(filePath); + oaAppendixService.save(oaAppendix); + } + return sid; + } + this.updateByDto(dto); + return dtoSid; + }*/ + + @Transactional + public ResultBean saveOrUpdateDto(OaMendApplyDto dto) { + ResultBean rb = ResultBean.fireFail(); + String sid = dto.getSid(); + List files = dto.getFiles(); + + if (StringUtils.isBlank(sid)) { + // 新建操作 + OaMendApply entity = new OaMendApply(); + BeanUtil.copyProperties(dto, entity, "sid"); + String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(dto.getOrgPath()).getData(); + SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(useOrgSid).getData(); + String deptName = ""; + String deptSid = ""; + List split = Arrays.asList(dto.getOrgPath().split("/")); + + if (split.size() > 1) { + SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(split.size() - 2)).getData(); + SysOrganizationVo sysOrganization1 = sysOrganizationFeign.fetchBySid(split.get(split.size() - 1)).getData(); + deptName = sysOrganization1.getName(); + deptSid = sysOrganization1.getSid(); + } else { + SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(0)).getData(); + deptName = sysOrganization.getName(); + deptSid = sysOrganization.getSid(); + } + // 生成单据编号 + String billNo = "QJSQ" + useOrgSid + DateUtil.format(DateUtil.date(), "yyyyMM"); + String i = baseMapper.selectNum(billNo); + if (StringUtils.isNotBlank(i)) { + billNo = Rule.getBillNo(billNo, Integer.valueOf(i).intValue()); + } else { + billNo = Rule.getBillNo(billNo, 0); + } + + OaForm oaForm = entity.getOaForm(); + BeanUtil.copyProperties(dto, oaForm, "sid", "remarks"); + oaForm.setUseOrgSid(useOrgSid); + oaForm.setUseOrgName(organizationVo.getName()); + oaForm.setDeptSid(deptSid); + oaForm.setDeptName(deptName); + oaForm.setBillNo(billNo); + oaForm.setCreateOrgSid(useOrgSid); + oaForm.setCreateOrgName(organizationVo.getName()); + + // 获取用户信息 + SysUserVo sysUserVo = sysUserFeign.fetchBySid(dto.getCreateBySid()).getData(); + oaForm.setCreateByName(sysUserVo.getName()); + + OaFormDto oaFormDto = new OaFormDto(); + BeanUtil.copyProperties(oaForm, oaFormDto, "sid"); + ResultBean resultBean = oaFormService.saveOrUpdateForm(oaFormDto); + + if (!resultBean.getSuccess()) { + return rb; + } + + entity.setFormSid(resultBean.getData()); + baseMapper.insert(entity); + + // 处理附件 + saveFiles(sid, files); + sid = entity.getSid(); + } else { + // 更新操作 + OaMendApply entity = fetchBySid(sid); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + baseMapper.updateById(entity); + } + + return rb.success().setData(sid); + } + + // 保存文件 + private void saveFiles(String sid, List files) { + if (files == null || files.isEmpty()) { + return; // 如果没有文件,不做任何操作 + } + oaAppendixService.deleteByLinkSid(sid); + + for (String file : files) { + String filePath = file.replace(fileUploadComponent.getUrlPrefix(), ""); + OaAppendix oaAppendix = new OaAppendix(); + oaAppendix.setLinkSid(sid); + oaAppendix.setAttachType(OaFileEnum.OAMENDAPPLY.getAttachType()); + oaAppendix.setFilePath(filePath); + oaAppendixService.save(oaAppendix); + } + } + + public OaMendApplyDetailsVo fetchDetailsVoBySid(String sid) { + OaMendApplyDetailsVo vo = baseMapper.fetchDetailsVoBySid(sid); + List oaAppendices = oaAppendixService.fetchByLinkSid(sid); + List files = new ArrayList<>(); + for (OaAppendix oaAppendix : oaAppendices) { + String url = fileUploadComponent.getUrlPrefix() + oaAppendix.getFilePath(); + files.add(url); + } + vo.setFiles(files); + return vo; + } + + public ResultBean submit(SubmitOaMendApplyDto dto) { + ResultBean rb = ResultBean.fireFail(); + OaMendApply oaMendApply = fetchBySid(dto.getSid()); + int r = submitBusinessData(dto, oaMendApply); + if (r == 3) { + return rb.setMsg("该申请不存在"); + } + if (r == 0) { + return rb.setMsg("操作失败!提交的数据不一致"); + } + //新增修改保存 + String businessSid = saveOrUpdateDto(dto).getData(); + oaMendApply = fetchBySid(businessSid); + OaForm oaForm = oaFormService.fetchBySid(oaMendApply.getFormSid()); + oaMendApply.setOaForm(oaForm); + //创建BusinessVariables实体对象 + BusinessVariables bv = new BusinessVariables(); + //流程中的参数赋值、若有网关,则赋值网关中判断的字段。 + Map variables = new HashMap<>(); + //用户的部门全路径sid + SysOrganizationVo deptVo = sysOrganizationFeign.fetchBySid(oaMendApply.getOaForm().getDeptSid()).getData(); + bv.setOrgSidPath(deptVo.getOrgSidPath()); + //业务sid + bv.setBusinessSid(businessSid); + //用户sid + bv.setUserSid(oaMendApply.getCreateBySid()); + //若app移动端有此功能,则传递appMap参数 + Map appMap = new HashMap<>(); + appMap.put("sid", businessSid); + //需和移动端沟通业务sid保存的属性具体值:appMap中sid不是固定的。移动端提供具体字段。 + variables.put("app", appMap); + //网关 + + //流程定义id + bv.setModelId(ProcDefEnum.OAMENDAPPLY.getProDefId()); + SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(oaMendApply.getOaForm().getDeptSid()).getData(); + if (StringUtils.isBlank(organizationVo.getManagerSid())) { + return rb.setMsg("请先设置该部门的主管人员"); + } + bv.setNextNodeUserSids(organizationVo.getManagerSid()); + bv.setFormVariables(variables); + if (r == 1) { + ResultBean voResultBean = flowFeign.startProcess(bv); + UpdateFlowFieldVo ufVo = voResultBean.getData(); +// updateFlowFiled(BeanUtil.beanToMap(ufVo)); + //更新oaform中的流程数据 + ufVo.setSid(oaMendApply.getFormSid()); + oaFormService.updateFlow(BeanUtil.beanToMap(ufVo)); + //极光推送 + oaMendApply = fetchBySid(businessSid); + oaForm = oaFormService.fetchBySid(oaMendApply.getFormSid()); + oaMendApply.setOaForm(oaForm); + + //==================================添加线程 + try { + ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() + .setNameFormat("demo-pool-%d").build(); + ExecutorService pool = new ThreadPoolExecutor(2, 100, + 0L, TimeUnit.MILLISECONDS, + new LinkedBlockingQueue(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); + OaMendApply mendApply = oaMendApply; + oaForm = oaFormService.fetchBySid(mendApply.getFormSid()); + mendApply.setOaForm(oaForm); + Future future1 = pool.submit(() -> { + //极光推送 + MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); + MessageFlowVo messageFlowVo = new MessageFlowVo(); + BeanUtil.copyProperties(ufVo, messageFlowVo); + messageFlowableQuery.setUfVo(messageFlowVo); + messageFlowableQuery.setAppMap(appMap); + messageFlowableQuery.setBusinessSid(businessSid); + messageFlowableQuery.setModuleName("补卡申请"); + messageFlowableQuery.setMsgContent(mendApply.getOaForm().getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); + messageFlowableQuery.setMsgTitle("补卡申请"); + messageFeign.pushMessage(messageFlowableQuery); + }); + } catch (Exception e) { + e.printStackTrace(); + } + //==================================添加线程 + return voResultBean; + } + if (r == 2) { + // ToDo:驳回到发起人后再次提交 + if (StringUtils.isBlank(dto.getInstanceId())) { + return rb.setMsg("参数错误:instanceId"); + } + bv.setTaskId(oaMendApply.getOaForm().getTaskId()); + bv.setTaskDefKey(oaMendApply.getOaForm().getNodeId()); + bv.setComment(StringUtils.isNotBlank(dto.getComment()) ? dto.getComment() : "重新提交"); + bv.setInstanceId(dto.getInstanceId()); + return complete(bv); + } + return rb; + } + + private synchronized int submitBusinessData(SubmitOaMendApplyDto dto, OaMendApply oaMendApply) { + int r = 0; + if (StringUtils.isBlank(dto.getSid())) { + r = 1; + } else { + if (oaMendApply != null) { + OaForm oaForm = oaFormService.fetchBySid(oaMendApply.getFormSid()); + oaMendApply.setOaForm(oaForm); + String businessTaskId = oaMendApply.getOaForm().getTaskId(); + if (StringUtils.isBlank(businessTaskId) && StringUtils.isBlank(dto.getTaskId())) { + //新提交 + r = 1; + } else if (StringUtils.isNotBlank(businessTaskId) && businessTaskId.equals(dto.getTaskId())) { + //二次提交//只有数据一致的时候才能进行下一步 + r = 2; + } + } else { + r = 3; + } + + } + return r; + } + + private int updateFlowFiled(Map map) { + return baseMapper.updateFlowFiled(map); + } + + public ResultBean complete(BusinessVariables bv) { + ResultBean rb = ResultBean.fireFail(); + String businessSid = bv.getBusinessSid(); + OaMendApply oaMendApply = fetchBySid(businessSid); + OaForm oaForm = oaFormService.fetchBySid(oaMendApply.getFormSid()); + oaMendApply.setOaForm(oaForm); + Map variables = new HashMap<>(); + //网关 + + Map appMap = new HashMap<>(); + appMap.put("sid", businessSid); + variables.put("app", appMap); + //======================================= + bv.setFormVariables(variables); + SysOrganizationVo deptVo = sysOrganizationFeign.fetchBySid(oaMendApply.getOaForm().getDeptSid()).getData(); + bv.setOrgSidPath(deptVo.getOrgSidPath()); + bv.setModelId(oaMendApply.getOaForm().getProcDefId()); + if (bv.getTaskId().equals(oaMendApply.getOaForm().getTaskId())) { + ResultBean resultBean = flowFeign.handleProsess(bv); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + UpdateFlowFieldVo ufVo = resultBean.getData(); +// updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); + //更新oaform中的流程数据 + ufVo.setSid(oaMendApply.getFormSid()); + oaFormService.updateFlow(BeanUtil.beanToMap(ufVo)); + if ("Event_end".equals(resultBean.getData().getTaskDefKey())) { + + } else { + //极光推送 + oaMendApply = fetchBySid(businessSid); + //==================================添加线程 + try { + ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() + .setNameFormat("demo-pool-%d").build(); + ExecutorService pool = new ThreadPoolExecutor(2, 100, + 0L, TimeUnit.MILLISECONDS, + new LinkedBlockingQueue(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); + OaMendApply mendApply = oaMendApply; + oaForm = oaFormService.fetchBySid(mendApply.getFormSid()); + mendApply.setOaForm(oaForm); + Future future1 = pool.submit(() -> { + //极光推送 + MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); + MessageFlowVo messageFlowVo = new MessageFlowVo(); + BeanUtil.copyProperties(ufVo, messageFlowVo); + ufVo.setProcDefId(mendApply.getOaForm().getProcDefId()); + ufVo.setProcInsId(mendApply.getOaForm().getProcInstId()); + messageFlowableQuery.setUfVo(messageFlowVo); + messageFlowableQuery.setAppMap(appMap); + messageFlowableQuery.setBusinessSid(businessSid); + messageFlowableQuery.setModuleName("补卡申请"); + messageFlowableQuery.setMsgContent(mendApply.getOaForm().getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); + messageFlowableQuery.setMsgTitle("补卡申请"); + messageFeign.pushMessage(messageFlowableQuery); + }); + } catch (Exception e) { + e.printStackTrace(); + } + //==================================添加线程 + } + return rb.success().setData(resultBean.getData()); + } else { + return rb.setMsg("操作失败!提交的数据不一致"); + } + } + + public ResultBean> getPreviousNodesForReject(OaMendApplyNodeQuery query) { + ResultBean> rb = ResultBean.fireFail(); + BusinessVariables bv = new BusinessVariables(); + BeanUtil.copyProperties(query, bv); + //流程中的参数赋值、若有网关,则赋值网关中判断的字段。 + Map variables = new HashMap<>(); + //查询业务信息 + OaMendApply oaMendApply = fetchBySid(query.getBusinessSid()); + OaForm oaForm = oaFormService.fetchBySid(oaMendApply.getFormSid()); + oaMendApply.setOaForm(oaForm); + //网关 + + bv.setModelId(oaMendApply.getOaForm().getProcDefId()); + bv.setFormVariables(variables); + //======================================= + ResultBean>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv); + //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo + List voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), OaMendApplyNodeVo.class)).collect(Collectors.toList()); + return rb.success().setData(voList); + } + + public ResultBean> getNextNodesForSubmit(OaMendApplyNodeQuery query) { + ResultBean> rb = ResultBean.fireFail(); + BusinessVariables bv = new BusinessVariables(); + BeanUtil.copyProperties(query, bv); + //流程中的参数赋值、若有网关,则赋值网关中判断的字段。 + Map variables = new HashMap<>(); + //查询业务信息 + OaMendApply oaMendApply = fetchBySid(query.getBusinessSid()); + OaForm oaForm = oaFormService.fetchBySid(oaMendApply.getFormSid()); + oaMendApply.setOaForm(oaForm); + //网关 + + bv.setModelId(oaMendApply.getOaForm().getProcDefId()); + bv.setFormVariables(variables); + //======================================= + ResultBean>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv); + //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo + List voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), OaMendApplyNodeVo.class)).collect(Collectors.toList()); + return rb.success().setData(voList); + } + + public ResultBean reject(OaMendApplyTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + String businessSid = query.getBusinessSid(); + OaMendApply oaMendApply = fetchBySid(businessSid); + if (oaMendApply == null) { + return rb.setMsg("该申请不存在"); + } + OaForm oaForm = oaFormService.fetchBySid(oaMendApply.getFormSid()); + oaMendApply.setOaForm(oaForm); + String businessTaskId = oaMendApply.getOaForm().getTaskId(); + if (StringUtils.isNotBlank(businessTaskId)) { + if (businessTaskId.equals(query.getTaskId())) { + if (StringUtils.isBlank(query.getComment())) { + return rb.setMsg("请填写意见"); + } + if (StringUtils.isBlank(query.getUserSid())) { + return rb.setMsg("参数错误:userSid"); + } + FlowTaskVo flowTaskVo = new FlowTaskVo(); + BeanUtil.copyProperties(query, flowTaskVo); + Map variables = new HashMap<>(); + Map appMap = new HashMap<>(); + appMap.put("sid", businessSid); + variables.put("app", appMap); + //网关 + + flowTaskVo.setValues(variables); + ResultBean resultBean = flowableFeign.taskReject(flowTaskVo); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + UpdateFlowFieldVo ufVo = resultBean.getData(); + Map map = BeanUtil.beanToMap(ufVo); + //更新业务中的流程相关的参数 +// updateFlowFiled(map); + //更新oaform中的流程数据 + ufVo.setSid(oaMendApply.getFormSid()); + oaFormService.updateFlow(BeanUtil.beanToMap(ufVo)); + //极光推送 + oaMendApply = fetchBySid(businessSid); + //==================================添加线程 + try { + ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() + .setNameFormat("demo-pool-%d").build(); + ExecutorService pool = new ThreadPoolExecutor(2, 100, + 0L, TimeUnit.MILLISECONDS, + new LinkedBlockingQueue(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); + OaMendApply mendApply = oaMendApply; + oaForm = oaFormService.fetchBySid(oaMendApply.getFormSid()); + mendApply.setOaForm(oaForm); + Future future1 = pool.submit(() -> { + //极光推送 + MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); + MessageFlowVo messageFlowVo = new MessageFlowVo(); + BeanUtil.copyProperties(ufVo, messageFlowVo); + String procId = mendApply.getOaForm().getProcInstId(); + ufVo.setProcInsId(procId); + ufVo.setProcDefId(mendApply.getOaForm().getProcDefId()); + messageFlowableQuery.setUfVo(messageFlowVo); + messageFlowableQuery.setAppMap(appMap); + messageFlowableQuery.setBusinessSid(businessSid); + messageFlowableQuery.setModuleName("补卡申请"); + ResultBean> listResultBean = flowTaskFeign.getLatestTasks(procId); + String nextNodeUserSids = listResultBean.getData().get(0).getASSIGNEE_(); + List receiveSidList = Arrays.asList(nextNodeUserSids.split(",")); + if (receiveSidList.size() == 1 && receiveSidList.get(0).equals(mendApply.getCreateBySid())) { + messageFlowableQuery.setMsgContent("您提交的" + messageFlowableQuery.getModuleName() + "已被驳回,请重新提交"); + } else { + messageFlowableQuery.setMsgContent(mendApply.getOaForm().getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); + } + messageFlowableQuery.setMsgTitle("补卡申请"); + messageFeign.pushMessage(messageFlowableQuery); + }); + } catch (Exception e) { + e.printStackTrace(); + } + //==================================添加线程 + return rb.success(); + } + } + return rb.setMsg("操作失败!提交的数据不一致!"); + } + + public ResultBean revokeProcess(OaMendApplyTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + if (StringUtils.isBlank(query.getUserSid())) { + return rb.setMsg("参数错误:userSid"); + } + OaMendApply oaMendApply = fetchBySid(query.getBusinessSid()); + OaForm oaForm = oaFormService.fetchBySid(oaMendApply.getFormSid()); + oaMendApply.setOaForm(oaForm); + String businessTaskId = oaMendApply.getOaForm().getTaskId(); + if (StringUtils.isNotBlank(businessTaskId)) { + if (businessTaskId.equals(query.getTaskId())) { + FlowTaskVo flowTaskVo = new FlowTaskVo(); + BeanUtil.copyProperties(query, flowTaskVo); + ResultBean resultBean = flowableFeign.revokeProcess(flowTaskVo); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } +// updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); + //更新oaform中的流程数据 + resultBean.getData().setSid(oaMendApply.getFormSid()); + oaFormService.updateFlow(BeanUtil.beanToMap(resultBean.getData())); + return rb.success().setData(resultBean.getData()); + } + } + return rb.setMsg("操作失败,提交的数据不一致!"); + } + + public ResultBean breakProcess(OaMendApplyTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + if (StringUtils.isBlank(query.getInstanceId())) { + return rb.setMsg("参数错误:instanceId"); + } + if (StringUtils.isBlank(query.getUserSid())) { + return rb.setMsg("参数错误:userSid"); + } + if (StringUtils.isBlank(query.getComment())) { + return rb.setMsg("请填写意见"); + } + OaMendApply oaMendApply = fetchBySid(query.getBusinessSid()); + OaForm oaForm = oaFormService.fetchBySid(oaMendApply.getFormSid()); + oaMendApply.setOaForm(oaForm); + String businessTaskId = oaMendApply.getOaForm().getTaskId(); + if (StringUtils.isNotBlank(businessTaskId)) { + if (query.getUserSid().equals(oaMendApply.getCreateBySid())) { + FlowTaskVo flowTaskVo = new FlowTaskVo(); + BeanUtil.copyProperties(query, flowTaskVo); + ResultBean resultBean = flowableFeign.breakProcess(flowTaskVo); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + Map map = BeanUtil.beanToMap(resultBean.getData()); +// updateFlowFiled(map); + //更新oaform中的流程数据 + resultBean.getData().setSid(oaMendApply.getFormSid()); + oaFormService.updateFlow(BeanUtil.beanToMap(resultBean.getData())); + return rb.success().setData(resultBean.getData()); + } else { + if (businessTaskId.equals(query.getTaskId())) { + FlowTaskVo flowTaskVo = new FlowTaskVo(); + BeanUtil.copyProperties(query, flowTaskVo); + ResultBean resultBean = flowableFeign.breakProcess(flowTaskVo); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + Map map = BeanUtil.beanToMap(resultBean.getData()); +// updateFlowFiled(map); + //更新oaform中的流程数据 + resultBean.getData().setSid(oaMendApply.getFormSid()); + oaFormService.updateFlow(BeanUtil.beanToMap(resultBean.getData())); + return rb.success().setData(resultBean.getData()); + } + } + + } + return rb.setMsg("操作失败!提交的数据不一致!"); + } + + public ResultBean delegate(OaMendApplyDelegateQuery query) { + ResultBean rb = ResultBean.fireFail(); + FlowDelegateQuery delegateQuery = new FlowDelegateQuery(); + BeanUtil.copyProperties(query, delegateQuery); + flowFeign.delegate(delegateQuery); + return rb.success(); + } + + public ResultBean assignTask(OaMendApplyDelegateQuery query) { + ResultBean rb = ResultBean.fireFail(); + FlowDelegateQuery delegateQuery = new FlowDelegateQuery(); + BeanUtil.copyProperties(query, delegateQuery); + flowFeign.assignTask(delegateQuery); + return rb.success(); + } + + public ResultBean delAll(String[] sids) { + ResultBean rb = ResultBean.fireFail(); + //查询该sid中是否有流程不是待提交的 + int count = baseMapper.selectBySid(StringUtils.join(sids, ",")); + if (count > 0) { + return rb.setMsg("删除的数据中包含已提交或已办结审批的数据,删除失败"); + } + delBySids(sids); + return rb.success(); + } + + public OaMendApplyInitVo init(String sid, String orgPath) { + OaMendApplyInitVo oaMendApplyInitVo = baseMapper.init(sid); + oaMendApplyInitVo.setOrgPath(orgPath); + return oaMendApplyInitVo; + } } \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyVo.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyVo.java index b48286a9c1..ca155bb5ba 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyVo.java +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyVo.java @@ -29,7 +29,9 @@ package com.yxt.anrui.oa.biz.oamendapply; import com.yxt.common.core.vo.Vo; import com.fasterxml.jackson.annotation.JsonFormat; + import java.util.Date; + import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -51,34 +53,36 @@ import lombok.Data; @ApiModel(value = "补卡申请 视图数据对象", description = "补卡申请 视图数据对象") public class OaMendApplyVo implements Vo { - private String sid; // sid + private static final long serialVersionUID = 5358032202923713923L; + private String sid; + private String remarks; + private String formSid; - @ApiModelProperty("单据编号") - private String billNo; // 单据编号 - @ApiModelProperty("申请人") - private String createByName; // 申请人 - @ApiModelProperty("申请部门sid") - private String deptSid; // 申请部门sid - @ApiModelProperty("申请部门名称") - private String deptName; // 申请部门名称 - @ApiModelProperty("补卡时间") - private String time; // 补卡时间 - @ApiModelProperty("分公司sid") - private String useOrgSid; // 分公司sid - @ApiModelProperty("分公司名称") - private String useOrgName; // 分公司名称 - @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + @ApiModelProperty("单据编号") + private String billNo; + @ApiModelProperty("申请人") + private String createByName; + @ApiModelProperty("申请部门sid") + private String deptSid; + @ApiModelProperty("申请部门名称") + private String deptName; + @ApiModelProperty("补卡时间") + private String time; + @ApiModelProperty("分公司sid") + private String useOrgSid; + @ApiModelProperty("分公司名称") + private String useOrgName; @ApiModelProperty("办结日期") - private Date finishTime; - @ApiModelProperty("实例id") - private String procInstId; // 实例id - @ApiModelProperty("流程定义id") - private String procDefId; // 流程定义id - @ApiModelProperty("任务id") - private String taskId; // 任务id - @ApiModelProperty("环节id") - private String nodeId; // 环节id - @ApiModelProperty("流程状态") - private String nodeState; // 流程状态 + private String finishTime; + @ApiModelProperty("实例id") + private String procInstId; + @ApiModelProperty("流程定义id") + private String procDefId; + @ApiModelProperty("任务id") + private String taskId; + @ApiModelProperty("环节id") + private String nodeId; + @ApiModelProperty("流程状态") + private String nodeState; } diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/flowable/SubmitOaMendApplyDto.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/flowable/SubmitOaMendApplyDto.java index e382c8ccd9..91cea0e7db 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/flowable/SubmitOaMendApplyDto.java +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/flowable/SubmitOaMendApplyDto.java @@ -16,6 +16,7 @@ import lombok.Data; @Data public class SubmitOaMendApplyDto extends OaMendApplyDto { + private static final long serialVersionUID = 8607710587497609779L; @ApiModelProperty("意见") private String comment; @ApiModelProperty("流程实例id")