Browse Source

Merge remote-tracking branch 'origin/master'

master
yunuo970428 2 months ago
parent
commit
c298c2e350
  1. 13
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basefiles/BaseFiles.java
  2. 11
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basepurchasesystem/BasePurchaseSystemFeign.java
  3. 5
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basepurchasesystem/BasePurchaseSystemFeignFallback.java
  4. 6
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclebrand/BaseVehicleBrandFeign.java
  5. 5
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclebrand/BaseVehicleBrandFeignFallback.java
  6. 37
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basepurchasesystem/BasePurchaseSystemMapper.java
  7. 120
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basepurchasesystem/BasePurchaseSystemRest.java
  8. 204
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basepurchasesystem/BasePurchaseSystemService.java
  9. 3
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclebrand/BaseVehicleBrandMapper.java
  10. 5
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclebrand/BaseVehicleBrandRest.java
  11. 7
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclebrand/BaseVehicleBrandService.java
  12. 34
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyService.java
  13. 2
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderreturnvehapply/BusSalesOrderReturnVehApplyService.java
  14. 23
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowapprover/FlowApprover.java
  15. 20
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowapprover/FlowApproverDto.java
  16. 21
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowcc/FlowCc.java
  17. 39
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow3/Flow3Service.java
  18. 18
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow4/Flow4Mapper.java
  19. 9
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow4/Flow4Mapper.xml
  20. 111
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow4/Flow4Rest.java
  21. 441
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow4/Flow4Service.java
  22. 17
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowapprover/FlowApproverMapper.java
  23. 10
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowapprover/FlowApproverMapper.xml
  24. 53
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowapprover/FlowApproverService.java
  25. 16
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowcc/FlowCcMapper.java
  26. 4
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowcc/FlowCcMapper.xml
  27. 19
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowcc/FlowCcService.java
  28. 29
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/DownloadExcelVo.java
  29. 33
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ExcelInfo.java
  30. 58
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateDto.java
  31. 9
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateFeign.java
  32. 10
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateFeignFallback.java
  33. 12
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/SpecialRebateExcelInfo.java
  34. 5
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateFeign.java
  35. 5
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateFeignFallback.java
  36. 13
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmwarehouse/ScmWarehouse.java
  37. 20
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateRest.java
  38. 373
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateService.java
  39. 2
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.java
  40. 12
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.xml
  41. 5
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateRest.java
  42. 46
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateService.java
  43. 13
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/oa/leaveapply/AppLeaveApplyDetailsVo.java
  44. 14
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/oa/leaveapply/AppLeaveApplyDto.java
  45. 15
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/oa/leaveapply/AppLeaveApplyInitVo.java
  46. 14
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/oa/mendapply/AppMendApplyDetailsVo.java
  47. 14
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/oa/mendapply/AppMendApplyDto.java
  48. 14
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/oa/mendapply/AppMendApplyInitVo.java
  49. 14
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/oaleaveapply/OaLeaveApplyDetailsVo.java
  50. 13
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/oaleaveapply/OaLeaveApplyDto.java
  51. 14
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/oaleaveapply/OaLeaveApplyInitVo.java
  52. 14
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/oamendapply/OaMendApply.java
  53. 14
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/oamendapply/OaMendApplyDetailsVo.java
  54. 14
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/oamendapply/OaMendApplyDto.java
  55. 14
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/oamendapply/OaMendApplyInitVo.java
  56. 44
      doc/databases/flowable.sql
  57. 8
      yxt-as/src/main/java/com/yxt/anrui/as/api/assaleinvoiceapply/AsSaleinvoiceapplyVo.java
  58. 162
      yxt-as/src/main/java/com/yxt/anrui/as/biz/assaleinvoiceapply/AsSaleinvoiceapplyRest.java
  59. 118
      yxt-oa/src/main/java/com/yxt/anrui/oa/api/AdFrockallotApplyRest.java
  60. 51
      yxt-oa/src/main/java/com/yxt/anrui/oa/api/AdFrockallotDetailRest.java
  61. 111
      yxt-oa/src/main/java/com/yxt/anrui/oa/api/AdPircarpulApplyRest.java
  62. 36
      yxt-oa/src/main/java/com/yxt/anrui/oa/api/AdPircarpulDetailRest.java
  63. 104
      yxt-oa/src/main/java/com/yxt/anrui/oa/api/AdSenpircarpulApplyRest.java
  64. 36
      yxt-oa/src/main/java/com/yxt/anrui/oa/api/AdSenpircarpulDetailRest.java
  65. 14
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adallocateassetdetails/AdAllocateAssetDetailsDto.java
  66. 14
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adallocateassetdetails/AdAllocateAssetDetailsVo.java
  67. 14
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adallocateassetdetails/AdAllocateAssetListDetailsVo.java
  68. 14
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adbeverageacceptancedetail/AdBeverageAcceptanceDetail.java
  69. 14
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adbeverageacceptancedetail/AdBeverageAcceptanceDetailDto.java
  70. 14
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adbeverageacceptancedetail/AdBeverageAcceptanceDetailListDetailVo.java
  71. 14
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adbeverageacceptancedetail/AdBeverageAcceptanceDetailVo.java
  72. 14
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/addisposalassetdetails/AdDisposalAssetDetailsDto.java
  73. 14
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/addisposalassetdetails/AdDisposalAssetDetailsVo.java
  74. 14
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/addisposalassetdetails/AdDisposalAssetListDetailsVo.java
  75. 14
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesdetail/AdExpatriatesDetail.java
  76. 14
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesdetail/AdExpatriatesDetailDto.java
  77. 14
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesdetail/AdExpatriatesDetailVo.java
  78. 14
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesdetail/AdExpatriatesListDetailVo.java
  79. 45
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adfrockallotapply/AdFrockallotApply.java
  80. 49
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adfrockallotapply/AdFrockallotApplyDetailsVo.java
  81. 70
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adfrockallotapply/AdFrockallotApplyDto.java
  82. 35
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adfrockallotapply/AdFrockallotApplyMapper.java
  83. 26
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adfrockallotapply/AdFrockallotApplyMapper.xml
  84. 300
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adfrockallotapply/AdFrockallotApplyService.java
  85. 65
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adfrockallotapply/AdFrockallotApplyVo.java
  86. 48
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adfrockallotdetail/AdFrockallotDetail.java
  87. 46
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adfrockallotdetail/AdFrockallotDetailDto.java
  88. 50
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adfrockallotdetail/AdFrockallotDetailMapper.java
  89. 13
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adfrockallotdetail/AdFrockallotDetailMapper.xml
  90. 79
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adfrockallotdetail/AdFrockallotDetailService.java
  91. 48
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adfrockallotdetail/AdFrockallotDetailVo.java
  92. 44
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adfrockallotdetail/AdFrockallotListDetailVo.java
  93. 17
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adleasehostapply/AdLeasehostApply.java
  94. 14
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adofficesuppliesdetail/AdOfficeSuppliesDetail.java
  95. 14
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adofficesuppliesdetail/AdOfficeSuppliesDetailDto.java
  96. 14
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adofficesuppliesdetail/AdOfficeSuppliesDetailVo.java
  97. 14
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adoffspaceapply/AdOffspaceApply.java
  98. 14
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adoffspaceapply/AdOffspaceApplyDetailsVo.java
  99. 14
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adoffspacedetail/AdOffspaceDetailDto.java
  100. 14
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adoffspacedetail/AdOffspaceListDetailVo.java

13
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basefiles/BaseFiles.java

@ -31,19 +31,6 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
/**
* Project: anrui-base(安瑞基础信息) <br/>
* File: BaseDataList.java <br/>
* Class: com.yxt.anrui.base.api.basedatalist.BaseDataList <br/>
* Description: 资料清单. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-02-26 09:59:29 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@ApiModel(value = "附件清单", description = "附件清单") @ApiModel(value = "附件清单", description = "附件清单")
@TableName("base_files") @TableName("base_files")
@Data @Data

11
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basepurchasesystem/BasePurchaseSystemFeign.java

@ -69,13 +69,13 @@ public interface BasePurchaseSystemFeign {
@ApiOperation("维护分摊比例") @ApiOperation("维护分摊比例")
@PostMapping("/maintenance") @PostMapping("/maintenance")
@ResponseBody @ResponseBody
public ResultBean maintenance(@RequestParam("sid") String sid,@RequestParam("shareProportion") String shareProportion); public ResultBean maintenance(@RequestParam("sid") String sid, @RequestParam("shareProportion") String shareProportion);
@ApiOperation("根据sid删除记录") @ApiOperation("根据sid删除记录")
@DeleteMapping("/delBySids") @DeleteMapping("/delBySids")
@ResponseBody @ResponseBody
public ResultBean delBySids(@RequestBody String[] sids); public ResultBean delBySids(@RequestBody String[] sids);
@ApiOperation("根据SID获取一条记录") @ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchDetailsBySid/{sid}") @GetMapping("/fetchDetailsBySid/{sid}")
@ResponseBody @ResponseBody
@ -100,4 +100,9 @@ public interface BasePurchaseSystemFeign {
@GetMapping("/fetchDetailsByUseOrgPath") @GetMapping("/fetchDetailsByUseOrgPath")
@ResponseBody @ResponseBody
public ResultBean<List<AppBasePurchSystemVo>> fetchDetailsByUseOrgPath(@RequestParam("orgPath") String orgPath); public ResultBean<List<AppBasePurchSystemVo>> fetchDetailsByUseOrgPath(@RequestParam("orgPath") String orgPath);
@ApiOperation("根据采购系统名称查询采购系统sid")
@GetMapping("/selByPurchaseSystemName")
@ResponseBody
public ResultBean<String> selByPurchaseSystemName(@RequestParam("purchaseSystemName") String purchaseSystemName, @RequestParam("useOrgSid") String useOrgSid);
} }

5
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basepurchasesystem/BasePurchaseSystemFeignFallback.java

@ -94,4 +94,9 @@ public class BasePurchaseSystemFeignFallback implements BasePurchaseSystemFeign
public ResultBean<List<AppBasePurchSystemVo>> fetchDetailsByUseOrgPath(String orgPath) { public ResultBean<List<AppBasePurchSystemVo>> fetchDetailsByUseOrgPath(String orgPath) {
return null; return null;
} }
@Override
public ResultBean<String> selByPurchaseSystemName(String purchaseSystemName, String useOrgSid) {
return null;
}
} }

6
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclebrand/BaseVehicleBrandFeign.java

@ -108,7 +108,7 @@ public interface BaseVehicleBrandFeign {
@ApiOperation("手机端根据厂商sid查询品牌列表") @ApiOperation("手机端根据厂商sid查询品牌列表")
@GetMapping("/selectAppListByManufacturerSid") @GetMapping("/selectAppListByManufacturerSid")
ResultBean<List<AppResultData>> selectAppListByManufacturerSid(@RequestParam(value = "manufacturerSid",required = false) String manufacturerSid); ResultBean<List<AppResultData>> selectAppListByManufacturerSid(@RequestParam(value = "manufacturerSid", required = false) String manufacturerSid);
@ApiOperation("手机端-获取品牌数据字典") @ApiOperation("手机端-获取品牌数据字典")
@GetMapping("/selectAppListByUserSid/{userSid}") @GetMapping("/selectAppListByUserSid/{userSid}")
@ -121,4 +121,8 @@ public interface BaseVehicleBrandFeign {
@ApiOperation("根据品牌sid获取品牌信息") @ApiOperation("根据品牌sid获取品牌信息")
@GetMapping("/fetchBySid/{sid}") @GetMapping("/fetchBySid/{sid}")
BaseVehicleBrand fetchBySid(@RequestParam("sid") String sid); BaseVehicleBrand fetchBySid(@RequestParam("sid") String sid);
@ApiOperation("根据品牌名称获取品牌sid")
@GetMapping("/selByBrandName")
ResultBean<String> selByBrandName(@RequestParam("brandName") String brandName);
} }

5
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclebrand/BaseVehicleBrandFeignFallback.java

@ -91,5 +91,10 @@ public class BaseVehicleBrandFeignFallback implements BaseVehicleBrandFeign {
return null; return null;
} }
@Override
public ResultBean<String> selByBrandName(String brandName) {
return null;
}
} }

37
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basepurchasesystem/BasePurchaseSystemMapper.java

@ -56,24 +56,24 @@ import java.util.List;
@Mapper @Mapper
public interface BasePurchaseSystemMapper extends BaseMapper<BasePurchaseSystem> { public interface BasePurchaseSystemMapper extends BaseMapper<BasePurchaseSystem> {
//@Update("update base_purchase_system set name=#{msg} where id=#{id}") //@Update("update base_purchase_system set name=#{msg} where id=#{id}")
//IPage<BasePurchaseSystemVo> voPage(IPage<BasePurchaseSystem> page, @Param(Constants.WRAPPER) QueryWrapper<BasePurchaseSystem> qw); //IPage<BasePurchaseSystemVo> voPage(IPage<BasePurchaseSystem> page, @Param(Constants.WRAPPER) QueryWrapper<BasePurchaseSystem> qw);
IPage<BasePurchaseSystemVo> selectPageVo(IPage<BasePurchaseSystem> page, @Param(Constants.WRAPPER) Wrapper<BasePurchaseSystem> qw);
List<BasePurchaseSystemVo> selectListAllVo(@Param(Constants.WRAPPER) Wrapper<BasePurchaseSystem> qw);
@Select("select * from base_purchase_system")
List<BasePurchaseSystemVo> selectListVo();
@Select("select * from base_purchase_system where useOrgSid = #{useOrgSid}") IPage<BasePurchaseSystemVo> selectPageVo(IPage<BasePurchaseSystem> page, @Param(Constants.WRAPPER) Wrapper<BasePurchaseSystem> qw);
List<BasePurchaseSystemDetailsVo> fetchDetailsByUseOrgSid(String useOrgSid);
@Select("select * from base_purchase_system where deptSid = #{deptSid}") List<BasePurchaseSystemVo> selectListAllVo(@Param(Constants.WRAPPER) Wrapper<BasePurchaseSystem> qw);
BasePurchaseSystemDetailsVo fetchDetailsByDeptSid(String deptSid);
@Select("select * from base_purchase_system where deptSid = #{deptSid} and sid != #{sid}") @Select("select * from base_purchase_system")
BasePurchaseSystemDetailsVo fetchDetailsByDeptSidAndSid(@Param("deptSid") String deptSid,@Param("sid") String sid); List<BasePurchaseSystemVo> selectListVo();
@Select("select * from base_purchase_system where useOrgSid = #{useOrgSid}")
List<BasePurchaseSystemDetailsVo> fetchDetailsByUseOrgSid(String useOrgSid);
@Select("select * from base_purchase_system where deptSid = #{deptSid}")
BasePurchaseSystemDetailsVo fetchDetailsByDeptSid(String deptSid);
@Select("select * from base_purchase_system where deptSid = #{deptSid} and sid != #{sid}")
BasePurchaseSystemDetailsVo fetchDetailsByDeptSidAndSid(@Param("deptSid") String deptSid, @Param("sid") String sid);
List<BasePurchaseSystemDetailsVo> fetchOrgCodeByUseOrgSid(String useOrgSid); List<BasePurchaseSystemDetailsVo> fetchOrgCodeByUseOrgSid(String useOrgSid);
@ -81,6 +81,9 @@ public interface BasePurchaseSystemMapper extends BaseMapper<BasePurchaseSystem>
List<BasePurchaseSystem> selectByUseOrgSid(String useOrgSid); List<BasePurchaseSystem> selectByUseOrgSid(String useOrgSid);
@Update("update base_purchase_system set shareProportion = #{shareProportion} where sid = #{sid}") @Update("update base_purchase_system set shareProportion = #{shareProportion} where sid = #{sid}")
void maintenance(@Param("sid") String sid,@Param("shareProportion") String shareProportion); void maintenance(@Param("sid") String sid, @Param("shareProportion") String shareProportion);
@Select("select deptSid from base_purchase_system where purchaseSystemName = #{purchaseSystemName} and useOrgSid = #{useOrgSid}")
String selByPurchaseSystemName(@Param("purchaseSystemName") String purchaseSystemName, @Param("useOrgSid") String useOrgSid);
} }

120
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basepurchasesystem/BasePurchaseSystemRest.java

@ -36,83 +36,75 @@ import org.springframework.web.bind.annotation.*;
import java.util.List; import java.util.List;
/**
* Project: anrui-base(采购系统管理) <br/>
* File: BasePurchaseSystemFeignFallback.java <br/>
* Class: com.yxt.anrui.base.biz.basepurchasesystem.BasePurchaseSystemRest <br/>
* Description: 采购系统管理表. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2023-01-06 09:27:28 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "采购系统管理表") @Api(tags = "采购系统管理表")
@RestController("com.yxt.anrui.base.biz.basepurchasesystem.BasePurchaseSystemRest") @RestController
@RequestMapping("v1/basepurchasesystem") @RequestMapping("v1/basepurchasesystem")
public class BasePurchaseSystemRest implements BasePurchaseSystemFeign { public class BasePurchaseSystemRest implements BasePurchaseSystemFeign {
@Autowired @Autowired
private BasePurchaseSystemService basePurchaseSystemService; private BasePurchaseSystemService basePurchaseSystemService;
@Override @Override
@ApiOperation("根据条件分页查询数据的列表") @ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage") @PostMapping("/listPage")
public ResultBean<PagerVo<BasePurchaseSystemVo>> listPage(@RequestBody PagerQuery<BasePurchaseSystemQuery> pq){ public ResultBean<PagerVo<BasePurchaseSystemVo>> listPage(@RequestBody PagerQuery<BasePurchaseSystemQuery> pq) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
PagerVo<BasePurchaseSystemVo> pv = basePurchaseSystemService.listPageVo(pq); PagerVo<BasePurchaseSystemVo> pv = basePurchaseSystemService.listPageVo(pq);
return rb.success().setData(pv); return rb.success().setData(pv);
} }
@Override @Override
@ApiOperation("新增或修改") @ApiOperation("新增或修改")
@PostMapping("/save") @PostMapping("/save")
public ResultBean save(@RequestBody BasePurchaseSystemDto dto){ public ResultBean save(@RequestBody BasePurchaseSystemDto dto) {
return basePurchaseSystemService.saveOrUpdateDto(dto); return basePurchaseSystemService.saveOrUpdateDto(dto);
} }
@Override @Override
public ResultBean maintenance(String sid, String shareProportion) { public ResultBean maintenance(String sid, String shareProportion) {
return basePurchaseSystemService.maintenance(sid,shareProportion); return basePurchaseSystemService.maintenance(sid, shareProportion);
} }
@Override @Override
@ApiOperation("根据sid批量删除") @ApiOperation("根据sid批量删除")
@DeleteMapping("/delBySids") @DeleteMapping("/delBySids")
public ResultBean delBySids(@RequestBody String[] sids){ public ResultBean delBySids(@RequestBody String[] sids) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
basePurchaseSystemService.delBySids(sids); basePurchaseSystemService.delBySids(sids);
return rb.success(); return rb.success();
} }
@Override @Override
@ApiOperation("根据SID获取一条记录") @ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchDetailsBySid/{sid}") @GetMapping("/fetchDetailsBySid/{sid}")
public ResultBean<BasePurchaseSystemDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid){ public ResultBean<BasePurchaseSystemDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
BasePurchaseSystemDetailsVo vo = basePurchaseSystemService.fetchDetailsVoBySid(sid); BasePurchaseSystemDetailsVo vo = basePurchaseSystemService.fetchDetailsVoBySid(sid);
return rb.success().setData(vo); return rb.success().setData(vo);
} }
@Override @Override
public ResultBean<List<BasePurchaseSystemDetailsVo>> fetchDetailsByUseOrgSid(String useOrgSid) { public ResultBean<List<BasePurchaseSystemDetailsVo>> fetchDetailsByUseOrgSid(String useOrgSid) {
return basePurchaseSystemService.fetchDetailsByUseOrgSid(useOrgSid); return basePurchaseSystemService.fetchDetailsByUseOrgSid(useOrgSid);
} }
@Override @Override
public ResultBean<List<BasePurchaseSystemDetailsVo>> fetchOrgCodeByUseOrgSid(String useOrgSid) { public ResultBean<List<BasePurchaseSystemDetailsVo>> fetchOrgCodeByUseOrgSid(String useOrgSid) {
return basePurchaseSystemService.fetchOrgCodeByUseOrgSid(useOrgSid); return basePurchaseSystemService.fetchOrgCodeByUseOrgSid(useOrgSid);
} }
@Override @Override
public ResultBean<BasePurchaseSystemDetailsVo> fetchDetailsByDeptSid(String deptSid) { public ResultBean<BasePurchaseSystemDetailsVo> fetchDetailsByDeptSid(String deptSid) {
return basePurchaseSystemService.fetchDetailsByDeptSid(deptSid); return basePurchaseSystemService.fetchDetailsByDeptSid(deptSid);
} }
@Override @Override
public ResultBean<List<AppBasePurchSystemVo>> fetchDetailsByUseOrgPath(String orgPath) { public ResultBean<List<AppBasePurchSystemVo>> fetchDetailsByUseOrgPath(String orgPath) {
return basePurchaseSystemService.fetchDetailsByUseOrgPath(orgPath); return basePurchaseSystemService.fetchDetailsByUseOrgPath(orgPath);
} }
@Override
public ResultBean<String> selByPurchaseSystemName(String purchaseSystemName, String useOrgSid) {
return basePurchaseSystemService.selByPurchaseSystemName(purchaseSystemName, useOrgSid);
}
} }

204
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basepurchasesystem/BasePurchaseSystemService.java

@ -57,109 +57,115 @@ import java.util.List;
@Service @Service
public class BasePurchaseSystemService extends MybatisBaseService<BasePurchaseSystemMapper, BasePurchaseSystem> { public class BasePurchaseSystemService extends MybatisBaseService<BasePurchaseSystemMapper, BasePurchaseSystem> {
@Autowired @Autowired
private SysStaffOrgFeign sysStaffOrgFeign; private SysStaffOrgFeign sysStaffOrgFeign;
private QueryWrapper<BasePurchaseSystem> createQueryWrapper(BasePurchaseSystemQuery query) { private QueryWrapper<BasePurchaseSystem> createQueryWrapper(BasePurchaseSystemQuery query) {
// todo: 这里根据具体业务调整查询条件 // todo: 这里根据具体业务调整查询条件
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName())); // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
QueryWrapper<BasePurchaseSystem> qw = new QueryWrapper<>(); QueryWrapper<BasePurchaseSystem> qw = new QueryWrapper<>();
return qw; return qw;
} }
public PagerVo<BasePurchaseSystemVo> listPageVo(PagerQuery<BasePurchaseSystemQuery> pq) { public PagerVo<BasePurchaseSystemVo> listPageVo(PagerQuery<BasePurchaseSystemQuery> pq) {
BasePurchaseSystemQuery query = pq.getParams(); BasePurchaseSystemQuery query = pq.getParams();
QueryWrapper<BasePurchaseSystem> qw = new QueryWrapper<>(); QueryWrapper<BasePurchaseSystem> qw = new QueryWrapper<>();
if (StringUtils.isNotBlank(query.getUseOrgSid())){ if (StringUtils.isNotBlank(query.getUseOrgSid())) {
qw.eq("useOrgSid",query.getUseOrgSid()); qw.eq("useOrgSid", query.getUseOrgSid());
} }
if (StringUtils.isNotBlank(query.getPurchaseSystemName())){ if (StringUtils.isNotBlank(query.getPurchaseSystemName())) {
qw.like("purchaseSystemName",query.getPurchaseSystemName()); qw.like("purchaseSystemName", query.getPurchaseSystemName());
} }
IPage<BasePurchaseSystem> page = PagerUtil.queryToPage(pq); IPage<BasePurchaseSystem> page = PagerUtil.queryToPage(pq);
IPage<BasePurchaseSystemVo> pagging = baseMapper.selectPageVo(page, qw); IPage<BasePurchaseSystemVo> pagging = baseMapper.selectPageVo(page, qw);
PagerVo<BasePurchaseSystemVo> p = PagerUtil.pageToVo(pagging, null); PagerVo<BasePurchaseSystemVo> p = PagerUtil.pageToVo(pagging, null);
return p; return p;
} }
public ResultBean saveOrUpdateDto(BasePurchaseSystemDto dto){ public ResultBean saveOrUpdateDto(BasePurchaseSystemDto dto) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
String dtoSid = dto.getSid(); String dtoSid = dto.getSid();
if (StringUtils.isBlank(dtoSid)) { if (StringUtils.isBlank(dtoSid)) {
BasePurchaseSystemDetailsVo basePurchaseSystemDetailsVo = baseMapper.fetchDetailsByDeptSid(dto.getDeptSid()); BasePurchaseSystemDetailsVo basePurchaseSystemDetailsVo = baseMapper.fetchDetailsByDeptSid(dto.getDeptSid());
if (basePurchaseSystemDetailsVo == null){ if (basePurchaseSystemDetailsVo == null) {
this.insertByDto(dto); this.insertByDto(dto);
return rb.success().setMsg("添加成功"); return rb.success().setMsg("添加成功");
} }
return rb.setMsg("该部门下已存在采购系统,请重新选择"); return rb.setMsg("该部门下已存在采购系统,请重新选择");
} }
BasePurchaseSystem basePurchaseSystem = fetchBySid(dtoSid); BasePurchaseSystem basePurchaseSystem = fetchBySid(dtoSid);
if (basePurchaseSystem == null){ if (basePurchaseSystem == null) {
return rb.setMsg("该采购系统信息不存在"); return rb.setMsg("该采购系统信息不存在");
} }
BasePurchaseSystemDetailsVo basePurchaseSystemDetailsVo = baseMapper.fetchDetailsByDeptSidAndSid(dto.getDeptSid(), dtoSid); BasePurchaseSystemDetailsVo basePurchaseSystemDetailsVo = baseMapper.fetchDetailsByDeptSidAndSid(dto.getDeptSid(), dtoSid);
if (basePurchaseSystemDetailsVo == null){ if (basePurchaseSystemDetailsVo == null) {
this.updateByDto(dto); this.updateByDto(dto);
return rb.success().setMsg("修改成功"); return rb.success().setMsg("修改成功");
} }
return rb.setMsg("该部门下已存在采购系统,请重新选择"); return rb.setMsg("该部门下已存在采购系统,请重新选择");
} }
public void insertByDto(BasePurchaseSystemDto dto){ public void insertByDto(BasePurchaseSystemDto dto) {
BasePurchaseSystem entity = new BasePurchaseSystem(); BasePurchaseSystem entity = new BasePurchaseSystem();
BeanUtil.copyProperties(dto, entity, "id", "sid"); BeanUtil.copyProperties(dto, entity, "id", "sid");
baseMapper.insert(entity); baseMapper.insert(entity);
} }
public void updateByDto(BasePurchaseSystemDto dto){ public void updateByDto(BasePurchaseSystemDto dto) {
String dtoSid = dto.getSid(); String dtoSid = dto.getSid();
if (StringUtils.isBlank(dtoSid)) { if (StringUtils.isBlank(dtoSid)) {
return; return;
} }
BasePurchaseSystem entity = fetchBySid(dtoSid); BasePurchaseSystem entity = fetchBySid(dtoSid);
BeanUtil.copyProperties(dto, entity, "id", "sid"); BeanUtil.copyProperties(dto, entity, "id", "sid");
baseMapper.updateById(entity); baseMapper.updateById(entity);
} }
public BasePurchaseSystemDetailsVo fetchDetailsVoBySid(String sid){ public BasePurchaseSystemDetailsVo fetchDetailsVoBySid(String sid) {
BasePurchaseSystem entity = fetchBySid(sid); BasePurchaseSystem entity = fetchBySid(sid);
BasePurchaseSystemDetailsVo vo = new BasePurchaseSystemDetailsVo(); BasePurchaseSystemDetailsVo vo = new BasePurchaseSystemDetailsVo();
BeanUtil.copyProperties(entity, vo); BeanUtil.copyProperties(entity, vo);
return vo; return vo;
} }
public ResultBean<List<BasePurchaseSystemDetailsVo>> fetchDetailsByUseOrgSid(String useOrgSid) { public ResultBean<List<BasePurchaseSystemDetailsVo>> fetchDetailsByUseOrgSid(String useOrgSid) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
List<BasePurchaseSystemDetailsVo> basePurchaseSystemDetailsVos = baseMapper.fetchDetailsByUseOrgSid(useOrgSid); List<BasePurchaseSystemDetailsVo> basePurchaseSystemDetailsVos = baseMapper.fetchDetailsByUseOrgSid(useOrgSid);
return rb.success().setData(basePurchaseSystemDetailsVos); return rb.success().setData(basePurchaseSystemDetailsVos);
} }
public ResultBean<BasePurchaseSystemDetailsVo> fetchDetailsByDeptSid(String deptSid) { public ResultBean<BasePurchaseSystemDetailsVo> fetchDetailsByDeptSid(String deptSid) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
BasePurchaseSystemDetailsVo basePurchaseSystemDetailsVo = baseMapper.fetchDetailsByDeptSid(deptSid); BasePurchaseSystemDetailsVo basePurchaseSystemDetailsVo = baseMapper.fetchDetailsByDeptSid(deptSid);
return rb.success().setData(basePurchaseSystemDetailsVo); return rb.success().setData(basePurchaseSystemDetailsVo);
} }
public ResultBean<List<BasePurchaseSystemDetailsVo>> fetchOrgCodeByUseOrgSid(String useOrgSid) { public ResultBean<List<BasePurchaseSystemDetailsVo>> fetchOrgCodeByUseOrgSid(String useOrgSid) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
List<BasePurchaseSystemDetailsVo> basePurchaseSystemDetailsVos = baseMapper.fetchOrgCodeByUseOrgSid(useOrgSid); List<BasePurchaseSystemDetailsVo> basePurchaseSystemDetailsVos = baseMapper.fetchOrgCodeByUseOrgSid(useOrgSid);
return rb.success().setData(basePurchaseSystemDetailsVos); return rb.success().setData(basePurchaseSystemDetailsVos);
} }
public ResultBean<List<AppBasePurchSystemVo>> fetchDetailsByUseOrgPath(String orgPath) { public ResultBean<List<AppBasePurchSystemVo>> fetchDetailsByUseOrgPath(String orgPath) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
String orgSid = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData(); String orgSid = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData();
List<AppBasePurchSystemVo> basePurchSystemVoList = baseMapper.fetchDetailsByUseOrgPath(orgSid); List<AppBasePurchSystemVo> basePurchSystemVoList = baseMapper.fetchDetailsByUseOrgPath(orgSid);
return rb.success().setData(basePurchSystemVoList); return rb.success().setData(basePurchSystemVoList);
} }
public List<BasePurchaseSystem> selectByUseOrgSid(String useOrgSid) { public List<BasePurchaseSystem> selectByUseOrgSid(String useOrgSid) {
return baseMapper.selectByUseOrgSid(useOrgSid); return baseMapper.selectByUseOrgSid(useOrgSid);
} }
public ResultBean maintenance(String sid, String shareProportion) { public ResultBean maintenance(String sid, String shareProportion) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
baseMapper.maintenance(sid,shareProportion); baseMapper.maintenance(sid, shareProportion);
return rb.success(); return rb.success();
} }
public ResultBean<String> selByPurchaseSystemName(String purchaseSystemName, String useOrgSid) {
ResultBean rb = ResultBean.fireFail();
String purchaseSystemSid = baseMapper.selByPurchaseSystemName(purchaseSystemName, useOrgSid);
return rb.success().setData(purchaseSystemSid);
}
} }

3
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclebrand/BaseVehicleBrandMapper.java

@ -138,4 +138,7 @@ public interface BaseVehicleBrandMapper extends BaseMapper<BaseVehicleBrand> {
String selectByManufacturerSid(@Param("carBrandSid") String carBrandSid); String selectByManufacturerSid(@Param("carBrandSid") String carBrandSid);
List<BaseVehicleBrand> selectByUseOrgSid(String sid); List<BaseVehicleBrand> selectByUseOrgSid(String sid);
@Select("select sid from base_vehicle_brand where brandName=#{brandName}")
String selByBrandName(String brandName);
} }

5
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclebrand/BaseVehicleBrandRest.java

@ -189,4 +189,9 @@ public class BaseVehicleBrandRest implements BaseVehicleBrandFeign {
public BaseVehicleBrand fetchBySid(String sid) { public BaseVehicleBrand fetchBySid(String sid) {
return baseVehicleBrandService.fetchBySid(sid); return baseVehicleBrandService.fetchBySid(sid);
} }
@Override
public ResultBean<String> selByBrandName(String brandName) {
return baseVehicleBrandService.selByBrandName(brandName);
}
} }

7
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclebrand/BaseVehicleBrandService.java

@ -10,6 +10,7 @@ import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.base.utils.StringUtils; import com.yxt.common.base.utils.StringUtils;
import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.AppResultData; import com.yxt.common.core.result.AppResultData;
import com.yxt.common.core.result.ResultBean;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -256,4 +257,10 @@ public class BaseVehicleBrandService extends MybatisBaseService<BaseVehicleBrand
public List<BaseVehicleBrand> selectByUseOrgSid(String sid) { public List<BaseVehicleBrand> selectByUseOrgSid(String sid) {
return baseMapper.selectByUseOrgSid(sid); return baseMapper.selectByUseOrgSid(sid);
} }
public ResultBean<String> selByBrandName(String brandName) {
ResultBean rb = ResultBean.fireFail();
String sid = baseMapper.selByBrandName(brandName);
return rb.success().setData(sid);
}
} }

34
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyService.java

@ -1191,14 +1191,17 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp
SolutionsDetailsVo solutionsDetailsVo = loanSolutionsFeign.selectDetailsss(saleOrderSid).getData(); SolutionsDetailsVo solutionsDetailsVo = loanSolutionsFeign.selectDetailsss(saleOrderSid).getData();
if (solutionsDetailsVo != null) { if (solutionsDetailsVo != null) {
//三方金融的,在出库时推送单车返利数据,金额为厂家贴息。 //三方金融的,在出库时推送单车返利数据,金额为厂家贴息。
if ("2".equals(busSalesOrder.getFinancePlan())) { if(!"0".equals(solutionsDetailsVo.getFactoryDiscount())){
Future future11 = pool.submit(() -> { if ("2".equals(busSalesOrder.getFinancePlan())) {
pushVehRebate(busDeliveredApply, detailsList, solutionsDetailsVo.getFactoryDiscount()); Future future11 = pool.submit(() -> {
}); pushVehRebate(busDeliveredApply, detailsList, solutionsDetailsVo.getFactoryDiscount());
Future future12 = pool.submit(() -> { });
pushVehRebateAdjustBill(busDeliveredApply, detailsList, solutionsDetailsVo); Future future12 = pool.submit(() -> {
}); pushVehRebateAdjustBill(busDeliveredApply, detailsList, solutionsDetailsVo);
});
}
} }
} }
} }
} }
@ -1680,14 +1683,17 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp
SolutionsDetailsVo solutionsDetailsVo = loanSolutionsFeign.selectDetailsss(saleOrderSid).getData(); SolutionsDetailsVo solutionsDetailsVo = loanSolutionsFeign.selectDetailsss(saleOrderSid).getData();
if (solutionsDetailsVo != null) { if (solutionsDetailsVo != null) {
//三方金融的,在出库时推送单车返利数据,金额为厂家贴息。 //三方金融的,在出库时推送单车返利数据,金额为厂家贴息。
if ("2".equals(busSalesOrder.getFinancePlan())) { if(!"0".equals(solutionsDetailsVo.getFactoryDiscount())){
Future future11 = pool.submit(() -> { if ("2".equals(busSalesOrder.getFinancePlan())) {
pushVehRebate(busDeliveredApply, detailsList, solutionsDetailsVo.getFactoryDiscount()); Future future11 = pool.submit(() -> {
}); pushVehRebate(busDeliveredApply, detailsList, solutionsDetailsVo.getFactoryDiscount());
Future future12 = pool.submit(() -> { });
pushVehRebateAdjustBill(busDeliveredApply, detailsList, solutionsDetailsVo); Future future12 = pool.submit(() -> {
}); pushVehRebateAdjustBill(busDeliveredApply, detailsList, solutionsDetailsVo);
});
}
} }
} }
} }
} }

2
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderreturnvehapply/BusSalesOrderReturnVehApplyService.java

@ -746,7 +746,7 @@ public class BusSalesOrderReturnVehApplyService extends MybatisBaseService<BusSa
//修改出库申请车辆状态 //修改出库申请车辆状态
busDeliveredApplyDetailsService.updateIsDel(vehSid); busDeliveredApplyDetailsService.updateIsDel(vehSid);
//删除推送的单车返利管理 //删除推送的单车返利管理
scmVehRebateFeign.delByVehSid(vehSid); scmVehRebateFeign.delByVehSid(vehSid,busSalesOrderReturnVehApply.getUseOrgSid(),"029");
} }
//------------------------修改车辆持久状态-------------------------- //------------------------修改车辆持久状态--------------------------
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleService.fetchBySid(busSalesOrderReturnVehDetailsVo.getBusVinSid()); BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleService.fetchBySid(busSalesOrderReturnVehDetailsVo.getBusVinSid());

23
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowapprover/FlowApprover.java

@ -0,0 +1,23 @@
package com.yxt.anrui.flowable.api.flowapprover;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2025/2/20
**/
@Data
public class FlowApprover extends BaseEntity {
private static final long serialVersionUID = 8140464420543873852L;
@ApiModelProperty("申请sid")
private String businessSid;
@ApiModelProperty("序号")
private Integer sortNo;
@ApiModelProperty("审批人sid")
private String approverSid;
@ApiModelProperty("审批人名称")
private String approvalName;
}

20
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowapprover/FlowApproverDto.java

@ -0,0 +1,20 @@
package com.yxt.anrui.flowable.api.flowapprover;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @description:
* @author: dimengzhe
* @date: 2025/2/20
**/
@Data
public class FlowApproverDto {
@ApiModelProperty("申请sid")
private String businessSid;
@ApiModelProperty("审批人sid")
private List<String> approverSidList;
}

21
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowcc/FlowCc.java

@ -0,0 +1,21 @@
package com.yxt.anrui.flowable.api.flowcc;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2025/2/20
**/
@Data
public class FlowCc extends BaseEntity {
private static final long serialVersionUID = -4299550952719113083L;
@ApiModelProperty("申请sid")
private String businessSid;
@ApiModelProperty("抄送人sids")
private String ccSids;
@ApiModelProperty("抄送人名称")
private String ccNames;
}

39
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow3/Flow3Service.java

@ -95,8 +95,6 @@ public class Flow3Service extends MybatisBaseService<FlowMapper, Flowable> {
private MessageFeign messageFeign; private MessageFeign messageFeign;
@Autowired @Autowired
private SysFlowccFeign sysFlowccFeign; private SysFlowccFeign sysFlowccFeign;
@Autowired
private ProcessEngine processEngine;
public ResultBean<UpdateFlowFieldVo> businessStartProcessInstanceById(BusinessVariables bv) { public ResultBean<UpdateFlowFieldVo> businessStartProcessInstanceById(BusinessVariables bv) {
ResultBean<UpdateFlowFieldVo> rb = ResultBean.fireFail(); ResultBean<UpdateFlowFieldVo> rb = ResultBean.fireFail();
@ -146,6 +144,8 @@ public class Flow3Service extends MybatisBaseService<FlowMapper, Flowable> {
String id_ = ""; String id_ = "";
String name_ = ""; String name_ = "";
String task_def_key_ = ""; String task_def_key_ = "";
//设置是否是管理员自动审批,默认否
boolean adminContains = false;
//查询当前实例的最新待办任务 //查询当前实例的最新待办任务
List<Task> tasks = taskService.createTaskQuery().processInstanceId(processInstance.getId()).list(); List<Task> tasks = taskService.createTaskQuery().processInstanceId(processInstance.getId()).list();
if (StringUtils.isBlank(nextNodeUserSids)) { if (StringUtils.isBlank(nextNodeUserSids)) {
@ -168,6 +168,21 @@ public class Flow3Service extends MybatisBaseService<FlowMapper, Flowable> {
taskService.setVariablesLocal(id_, variables); taskService.setVariablesLocal(id_, variables);
} }
} }
tasks = taskService.createTaskQuery().processInstanceId(processInstance.getId()).list();
//遍历待办任务
for (int i = 0; i < tasks.size(); i++) {
Task task2 = tasks.get(i);
String isMultiInstanceTask = isMultiInstanceTask(task2);
id_ = task2.getId();
task_def_key_ = task2.getTaskDefinitionKey();
name_ = task2.getName();
if ("会签任务".equals(isMultiInstanceTask) || "或签任务".equals(isMultiInstanceTask)) {
if(ProcDefEnum.DEFAUL_TADMIN_SID.getProDefId().equals(task2.getAssignee())){
adminContains = true;
break;
}
}
}
} else { } else {
Task task2 = tasks.get(0); Task task2 = tasks.get(0);
id_ = task2.getId(); id_ = task2.getId();
@ -179,8 +194,10 @@ public class Flow3Service extends MybatisBaseService<FlowMapper, Flowable> {
taskService.setVariablesLocal(id_, variables); taskService.setVariablesLocal(id_, variables);
} }
//提交前传入下一环节待办人 //提交前传入下一环节待办人
if (ProcDefEnum.DEFAUL_TADMIN_SID.getProDefId().equals(nextNodeUserSids)) { if (ProcDefEnum.DEFAUL_TADMIN_SID.getProDefId().equals(nextNodeUserSids) || adminContains) {
return handleAutomaticApproval(bv, task, id_, task_def_key_, variables, variablesSeconds, processDefinition); return handleAutomaticApproval(bv, task, id_, task_def_key_, variables, variablesSeconds, processDefinition);
} }
// 如果申请人与下一环节审批人相同,则自动审批 // 如果申请人与下一环节审批人相同,则自动审批
@ -301,6 +318,22 @@ public class Flow3Service extends MybatisBaseService<FlowMapper, Flowable> {
nodeState = task2.getName(); nodeState = task2.getName();
taskDefKey = task2.getTaskDefinitionKey(); taskDefKey = task2.getTaskDefinitionKey();
} }
tasks = taskService.createTaskQuery().processInstanceId(instanceId).list();
//遍历待办任务
for (int i = 0; i < tasks.size(); i++) {
Task task2 = tasks.get(i);
isMultiInstanceTask = isMultiInstanceTask(task2);
vo.setTaskId(task2.getId());
nodeState = task2.getName();
taskDefKey = task2.getTaskDefinitionKey();
if ("会签任务".equals(isMultiInstanceTask) || "或签任务".equals(isMultiInstanceTask)) {
if(ProcDefEnum.DEFAUL_TADMIN_SID.getProDefId().equals(task2.getAssignee())){
nextUserSid = ProcDefEnum.DEFAUL_TADMIN_SID.getProDefId();
adminContains = true;
break;
}
}
}
} else { } else {
nodeState = FlowComment.SETTLE.getRemark(); nodeState = FlowComment.SETTLE.getRemark();
taskDefKey = "Event_end"; taskDefKey = "Event_end";

18
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow4/Flow4Mapper.java

@ -0,0 +1,18 @@
package com.yxt.anrui.flowable.biz.flow4;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yxt.anrui.flowable.api.flow.Flowable;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* @description:
* @author: dimengzhe
* @date: 2025/2/20
**/
@Mapper
public interface Flow4Mapper extends BaseMapper<Flowable> {
List<String> selectByProcInstId(String instanceId);
}

9
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow4/Flow4Mapper.xml

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.anrui.flowable.biz.flow4.Flow4Mapper">
<select id="selectByProcInstId" resultType="java.lang.String">
select ASSIGNEE_
from act_hi_taskinst
where PROC_INST_ID_ = #{instanceId}
</select>
</mapper>

111
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow4/Flow4Rest.java

@ -0,0 +1,111 @@
package com.yxt.anrui.flowable.biz.flow4;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSONObject;
import com.google.common.util.concurrent.ThreadFactoryBuilder;
import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo;
import com.yxt.anrui.flowable.biz.flow2.FlowRest;
import com.yxt.anrui.flowable.feign.form.MessageFlowVo;
import com.yxt.anrui.flowable.feign.form.MessageFlowableQuery;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.anrui.portal.api.sysflowcc.SysFlowccVo;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.portal.api.sysuser.UserByRolesAndOrgQuery;
import com.yxt.common.base.utils.StringUtils;
import com.yxt.common.core.result.ResultBean;
import org.apache.tomcat.util.threads.ThreadPoolExecutor;
import org.flowable.task.api.history.HistoricTaskInstance;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.*;
import java.util.concurrent.*;
/**
* @description: 通用审批
* @author: dimengzhe
* @date: 2025/2/20
**/
@RestController
@RequestMapping("v4/flow")
public class Flow4Rest {
Logger log = LoggerFactory.getLogger(FlowRest.class);
@Autowired
private Flow4Service flowService;
@PostMapping("/startProcess")
public ResultBean<UpdateFlowFieldVo> startProcess(@RequestBody BusinessVariables bv) {
ResultBean<UpdateFlowFieldVo> rb = ResultBean.fireFail();
//获取表单中的参数
Map<String, Object> formVariables = bv.getFormVariables();
formVariables = formVariables == null ? new HashMap<>() : formVariables;
//发起人的组织全路径
String orgPath = bv.getOrgSidPath();
formVariables.put("createrOrgPath", orgPath);
formVariables.put("businessSid", bv.getBusinessSid());
//启动流程实例
ResultBean<UpdateFlowFieldVo> startResultBean = flowService.businessStartProcessInstanceById(bv);
return startResultBean;
}
@PostMapping("/submit2")
ResultBean submit2() {
ResultBean rb = ResultBean.fireFail();
List<String> userIds = new ArrayList<>();
userIds.add("aaa");
userIds.add("bbb");
userIds.add("ccc");
Map<String, Object> variables = new HashMap<>();
variables.put("approvers", userIds);
BusinessVariables bv = new BusinessVariables();
bv.setFormVariables(variables);
bv.setModelId("process_wj9q4vwi:1:17170004");
bv.setUserSid("7f56f6ec-4a5f-47b0-aaab-158d64cb97b1");
//启动流程
ResultBean<UpdateFlowFieldVo> voResultBean = startProcess(bv);
System.out.println("voResultBean{}" + voResultBean);
return rb.success();
}
public ResultBean<UpdateFlowFieldVo> handleProsess(BusinessVariables bv) {
ResultBean<UpdateFlowFieldVo> rb = ResultBean.fireFail();
ResultBean<UpdateFlowFieldVo> updateFlowFieldVoResultBean = flowService.handleProsess(bv, true);
//添加抄送
log.info("流程返回:{}", JSONObject.toJSONString(updateFlowFieldVoResultBean));
//需要判断办结后再执行 TODO
if (updateFlowFieldVoResultBean.getSuccess()) {
log.info("流程返回:{}", JSONObject.toJSONString(updateFlowFieldVoResultBean));
if ("Event_end".equals(updateFlowFieldVoResultBean.getData().getTaskDefKey())) {
try {
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
.setNameFormat("demo-pool-%d").build();
ExecutorService pool = new ThreadPoolExecutor(2, 100,
0L, TimeUnit.MILLISECONDS,
new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy());
Future future1 = pool.submit(() -> {
HashMap<String, Object> map = new HashMap<>();
map.put("bv", bv);
UpdateFlowFieldVo ufVo = updateFlowFieldVoResultBean.getData();
ufVo.setTaskId(bv.getTaskId());
map.put("uff", ufVo);
flowService.cc(map, bv.getTaskDefKey());
});
} catch (Exception e) {
e.printStackTrace();
return rb.setMsg("抄送失败");
}
}
}
return updateFlowFieldVoResultBean;
}
}

441
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow4/Flow4Service.java

@ -0,0 +1,441 @@
package com.yxt.anrui.flowable.biz.flow4;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.yxt.anrui.flowable.api.flow.Flowable;
import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo;
import com.yxt.anrui.flowable.api.flowapprover.FlowApprover;
import com.yxt.anrui.flowable.api.flowapprover.FlowApproverDto;
import com.yxt.anrui.flowable.api.flowcc.FlowCc;
import com.yxt.anrui.flowable.api.flowcomment.FlowComment;
import com.yxt.anrui.flowable.api.flowtask.LatestTaskVo;
import com.yxt.anrui.flowable.api.processcomment.ProcessCommentDto;
import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
import com.yxt.anrui.flowable.biz.flow2.FlowMapper;
import com.yxt.anrui.flowable.biz.flowapprover.FlowApproverService;
import com.yxt.anrui.flowable.biz.flowcc.FlowCcService;
import com.yxt.anrui.flowable.biz.flowtask.FlowTaskService;
import com.yxt.anrui.flowable.biz.process.ProcessService;
import com.yxt.anrui.flowable.biz.processcomment.ProcessCommentService;
import com.yxt.anrui.flowable.common.ProcessConstants;
import com.yxt.anrui.flowable.feign.MessageFeign;
import com.yxt.anrui.flowable.feign.form.MessageFlowVo;
import com.yxt.anrui.flowable.feign.form.MessageFlowableQuery;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.anrui.portal.api.sysflowableconfig.SysFlowableConfigFeign;
import com.yxt.anrui.portal.api.sysflowableconfig.SysFlowableConfigQuery;
import com.yxt.anrui.portal.api.sysflowableconfig.SysFlowableConfigVvo;
import com.yxt.anrui.portal.api.sysflowcc.SysFlowccFeign;
import com.yxt.anrui.portal.api.sysflowcc.SysFlowccVo;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.portal.api.sysuser.UserByRolesAndOrgQuery;
import com.yxt.anrui.portal.api.sysuser.UserssQuery;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.StringUtils;
import com.yxt.common.core.result.ResultBean;
import lombok.extern.slf4j.Slf4j;
import org.flowable.bpmn.model.BpmnModel;
import org.flowable.bpmn.model.FlowElement;
import org.flowable.bpmn.model.UserTask;
import org.flowable.common.engine.impl.identity.Authentication;
import org.flowable.engine.*;
import org.flowable.engine.impl.cfg.ProcessEngineConfigurationImpl;
import org.flowable.engine.repository.ProcessDefinition;
import org.flowable.engine.runtime.ProcessInstance;
import org.flowable.task.api.DelegationState;
import org.flowable.task.api.Task;
import org.flowable.task.api.history.HistoricTaskInstance;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.*;
import java.util.stream.Collectors;
/**
* @description:
* @author: dimengzhe
* @date: 2025/2/20
**/
@Service
@Slf4j
public class Flow4Service extends MybatisBaseService<Flow4Mapper, Flowable> {
@Autowired
RepositoryService repositoryService;
@Autowired
RuntimeService runtimeService;
@Autowired
ManagementService managementService;
@Autowired
ProcessEngineConfigurationImpl processEngineConfiguration;
@Autowired
private SysUserFeign sysUserFeign;
@Autowired
protected IdentityService identityService;
@Autowired
protected TaskService taskService;
@Autowired
private SysFlowableConfigFeign sysFlowableConfigFeign;
@Autowired
private FlowTaskService flowTaskService;
@Autowired
private ProcessCommentService processCommentService;
@Autowired
protected HistoryService historyService;
@Autowired
private ProcessService processService;
@Autowired
private MessageFeign messageFeign;
@Autowired
private SysFlowccFeign sysFlowccFeign;
@Autowired
private FlowApproverService flowApproverService;
@Autowired
private FlowCcService flowCcService;
/**
* 启动流程
*
* @param bv
* @return
*/
public ResultBean<UpdateFlowFieldVo> businessStartProcessInstanceById(BusinessVariables bv) {
ResultBean<UpdateFlowFieldVo> rb = ResultBean.fireFail();
UpdateFlowFieldVo updateFlowFieldVo = new UpdateFlowFieldVo();
String procDefId = bv.getModelId();
String userSid = bv.getUserSid();
String nextNodeUserSids = bv.getNextNodeUserSids();
Map<String, Object> variables = bv.getFormVariables();
// 获取审批人列表
List<String> approvers = (List<String>) variables.get("approvers");
// 获取抄送人列表
List<String> ccList = (List<String>) variables.get("ccList");
//根据流程定义id查询
ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionId(procDefId)
.latestVersion().singleResult();
if (Objects.nonNull(processDefinition) && processDefinition.isSuspended()) {
return rb.setMsg("流程已被挂起,请先激活流程");
}
// 设置流程发起人Id到流程中
ResultBean<SysUserVo> sysUserVoResultBean = sysUserFeign.fetchBySid(userSid);
SysUserVo sysUser = sysUserVoResultBean.getData();
identityService.setAuthenticatedUserId(sysUser.getSid());
variables.put(ProcessConstants.PROCESS_INITIATOR, userSid);
variables.put(ProcessConstants.USER_TYPE_ASSIGNEE, userSid);
ProcessInstance processInstance = runtimeService.startProcessInstanceById(procDefId, variables);
// 给第一步申请人节点设置任务执行人和意见
Task task = taskService.createTaskQuery().processInstanceId(processInstance.getProcessInstanceId()).singleResult();
if (Objects.nonNull(task)) {
taskService.addComment(task.getId(), processInstance.getProcessInstanceId(), FlowComment.START.getType(),
sysUser.getName() + "发起流程申请");
taskService.setAssignee(task.getId(), userSid);
taskService.complete(task.getId(), variables);
}
assembleFlowApprover(bv);
//查询当前实例的最新待办任务
List<Task> tasks = taskService.createTaskQuery().processInstanceId(processInstance.getId()).list();
task = tasks.get(0);
Integer sortNo = sortNo(procDefId, task.getTaskDefinitionKey());
System.out.println("获取环节序号================" + sortNo);
String approverSid = flowApproverService.selectApproverSid(bv.getBusinessSid(), sortNo);
String id_ = task.getId();
String task_def_key_ = task.getTaskDefinitionKey();
String nodeState = task.getName();
//查询下一环节是否有转办并添加评论
nextNodeUserSids = change(approverSid, processInstance.getProcessInstanceId());
taskService.setAssignee(id_, nextNodeUserSids);
taskService.setVariablesLocal(id_, variables);
updateFlowFieldVo.setProcInsId(task.getProcessInstanceId());
updateFlowFieldVo.setNodeState(nodeState);
updateFlowFieldVo.setTaskId(id_);
updateFlowFieldVo.setTaskDefKey(task_def_key_);
updateFlowFieldVo.setProcDefId(bv.getModelId());
updateFlowFieldVo.setSid(bv.getBusinessSid());
updateFlowFieldVo.setName(processDefinition.getName());
return rb.success().setData(updateFlowFieldVo).setMsg("流程启动成功");
}
/**
* 查询下一环节用户是否有转办用户若有转办用户则添加转办评论
*
* @param nextNodeUserSids 下一环节用户
* @param instanceId 实例id
* @return
*/
public String change(String nextNodeUserSids, String instanceId) {
//查询下一环节是否有转办
String firstSid = "";
String firstName = "";
//默认无转办
boolean isChange = false;
if (StringUtils.isNotBlank(nextNodeUserSids)) {
List<String> nextUserList = Arrays.asList(nextNodeUserSids.split(","));
if (nextUserList.size() == 1) {
firstSid = nextUserList.get(0);
ResultBean<SysUserVo> userVoResultBean = sysUserFeign.fetchBySid(firstSid);
if (userVoResultBean.getData() != null) {
firstName = userVoResultBean.getData().getName();
}
SysFlowableConfigQuery sysFlowableConfigQuery = new SysFlowableConfigQuery();
sysFlowableConfigQuery.setUserSid(firstSid);
sysFlowableConfigQuery.setNowDate(new Date());
ResultBean<SysFlowableConfigVvo> sysFlowableConfigVvoResultBean = sysFlowableConfigFeign.selectByUserSid(sysFlowableConfigQuery);
if (sysFlowableConfigVvoResultBean.getData() != null) {
if (StringUtils.isNotBlank(sysFlowableConfigVvoResultBean.getData().getChangeUserSid())) {
nextNodeUserSids = sysFlowableConfigVvoResultBean.getData().getChangeUserSid();
isChange = true;
}
}
}
}
if (isChange) {//添加评论
ResultBean<SysUserVo> userVoResultBean = sysUserFeign.fetchBySid(nextNodeUserSids);
ProcessCommentDto processCommentDto = new ProcessCommentDto();
processCommentDto.setReviewerSid(firstSid);
if (userVoResultBean.getData() != null) {
String changeName = userVoResultBean.getData().getName();
processCommentDto.setReviewer(firstName);
processCommentDto.setContent("交" + changeName + "转办");
}
processCommentDto.setTime(new Date());
processCommentDto.setProcessId(instanceId);
processCommentService.saveOrUpdateDto(processCommentDto);
}
return nextNodeUserSids;
}
public Integer sortNo(String proDefId, String taskDefKey) {
// 获取所有 UserTask,并以 Map 形式存储环节位置
Map<String, Integer> taskKeyToPositionMap = new HashMap<>();
// 获取流程定义的 BPMN 模型
BpmnModel bpmnModel = repositoryService.getBpmnModel(proDefId);
// 使用 Stream API 遍历流程元素并缓存顺序
List<UserTask> userTasks = bpmnModel.getProcesses().stream()
.flatMap(process -> process.getFlowElements().stream()) // 遍历所有流程
.filter(flowElement -> flowElement instanceof UserTask) // 只筛选 UserTask
.map(flowElement -> (UserTask) flowElement)
.collect(Collectors.toList());
// 将 UserTask 的 key 和位置映射到 Map 中
int position = 1;
for (UserTask userTask : userTasks) {
taskKeyToPositionMap.put(userTask.getId(), position++);
}
Integer taskPosition = taskKeyToPositionMap.get(taskDefKey);
return taskPosition;
}
public void assembleFlowApprover(BusinessVariables bv) {
Map<String, Object> variables = bv.getFormVariables();
// 获取审批人列表
List<String> approvers = (List<String>) variables.get("approvers");
// 获取抄送人列表
List<String> ccList = (List<String>) variables.get("ccList");
FlowApproverDto flowApproverDto = new FlowApproverDto();
flowApproverDto.setBusinessSid(bv.getBusinessSid());
flowApproverDto.setApproverSidList(approvers);
ResultBean resultBean = flowApproverService.saveFlowApprover(flowApproverDto);
String ccSids = String.join(",", ccList);
ResultBean<List<SysUserVo>> listResultBean = sysUserFeign.fetchBySids(ccSids);
List<String> ccNameList = listResultBean.getData().stream().map(v -> v.getName()).collect(Collectors.toList());
// 将 List<String> 转换为逗号分隔的字符串
String result = String.join(",", ccNameList);
FlowCc flowCc = new FlowCc();
flowCc.setBusinessSid(bv.getBusinessSid());
flowCc.setCcSids(ccSids);
flowCc.setCcNames(result);
flowCcService.insert(flowCc);
}
/**
* 办理
*
* @param bv
* @param b
* @return
*/
public ResultBean<UpdateFlowFieldVo> handleProsess(BusinessVariables bv, boolean b) {
ResultBean<UpdateFlowFieldVo> rb = ResultBean.fireFail();
UpdateFlowFieldVo vo = new UpdateFlowFieldVo();
//获取表单中的参数
Map<String, Object> formVariables = bv.getFormVariables();
formVariables = formVariables == null ? new HashMap<>() : formVariables;
formVariables.put("businessSid", bv.getBusinessSid());
String nextUserSid = bv.getNextNodeUserSids();
String taskId = bv.getTaskId();
String userSid = bv.getUserSid();
String instanceId = bv.getInstanceId();
String comment = bv.getComment();
String nodeState = "";
String taskDefKey = "";
String orgPath = bv.getOrgSidPath();
//查询任务id为taskId的任务是否存在
Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
if (Objects.isNull(task)) {
return rb.setMsg("任务不存在");
}
String assignee = task.getAssignee();
if (b && (StringUtils.isNotBlank(assignee) && assignee.indexOf(userSid) < 0)) {
return rb.setMsg("当前用户不是环节的待办人,不能进行办理操作!");
}
if (DelegationState.PENDING.equals(task.getDelegationState())) {
//加签
Authentication.setAuthenticatedUserId(userSid);
taskService.addComment(taskId, instanceId,
FlowComment.DELEGATE.getType(), comment);
taskService.resolveTask(taskId, formVariables);
nodeState = task.getName();
taskDefKey = task.getTaskDefinitionKey();
} else {
//当前环节办理通过,且将下一环节用户放入流程中
taskService.addComment(taskId, instanceId, FlowComment.NORMAL.getType(), comment);
log.error("taskid:{},userSid:{}", taskId, userSid);
log.error("formVariables:{}", JSON.toJSONString(formVariables));
taskService.setAssignee(taskId, userSid);
taskService.complete(taskId, formVariables);//当前用户办理通过
//查询当前实例的最新待办任务
List<Task> tasks = taskService.createTaskQuery().processInstanceId(bv.getInstanceId()).list();
if (tasks.size() > 0) {
task = tasks.get(0);
Integer sortNo = sortNo(bv.getModelId(), task.getTaskDefinitionKey());
System.out.println("获取环节序号================" + sortNo);
String approverSid = flowApproverService.selectApproverSid(bv.getBusinessSid(), sortNo);
String id_ = task.getId();
//查询下一环节用户是否有转办人
nextUserSid = change(approverSid, bv.getInstanceId());
taskService.setAssignee(id_, nextUserSid);//将下一环节用户放入流程中
vo.setTaskId(id_);
//在act_ru_variable表中增加环节上的业务参数的变量
taskService.setVariablesLocal(id_, formVariables);
nodeState = task.getName();
taskDefKey = task.getTaskDefinitionKey();
} else {
nodeState = FlowComment.SETTLE.getRemark();
taskDefKey = "Event_end";
vo.setNodeState(FlowComment.SETTLE.getRemark());
}
}
vo.setProcInsId(instanceId);
vo.setProcDefId(bv.getModelId());
vo.setNodeState(nodeState);
vo.setTaskDefKey(taskDefKey);
vo.setSid(bv.getBusinessSid());
return rb.success().setData(vo);
}
/**
* 流程抄送的功能
*
* @param map
* @return
*/
public ResultBean cc(Map<String, Object> map, String taskDefKey) {
ResultBean rb = ResultBean.fireFail();
log.info("FlowableRest-cc:{}", JSONObject.toJSONString(map));
Object bv1 = map.get("bv");
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(bv1, bv);
Object uff1 = map.get("uff");
UpdateFlowFieldVo uff = new UpdateFlowFieldVo();
BeanUtil.copyProperties(uff1, uff);
uff.setTaskDefKey(taskDefKey);
FlowCc flowCc = flowCcService.selectByBusinessSid(bv.getBusinessSid());
StringBuilder userSids = new StringBuilder(flowCc.getCcSids());
StringBuilder userName = new StringBuilder(flowCc.getCcNames());
//抄送的业务逻辑
MessageFlowableQuery mfq = new MessageFlowableQuery();
MessageFlowVo messageFlowVo = new MessageFlowVo();
BeanUtil.copyProperties(uff, messageFlowVo);
mfq.setUfVo(messageFlowVo);
//移动端的参数
HistoricTaskInstance historicTaskInstance = historyService.createHistoricTaskInstanceQuery()
.includeProcessVariables().taskId(bv.getTaskId()).singleResult();
if (historicTaskInstance == null) {
log.info("抄送失败:没有获取到业务参数!");
return rb.setMsg("抄送失败!");
}
Map<String, Object> processVariables = historicTaskInstance.getProcessVariables();
String createrOrgPath = (String) processVariables.get("createrOrgPath");
if (historicTaskInstance == null) {
log.info("抄送失败:没有获取到业务参数!");
return rb.setMsg("抄送失败!");
}
//
String assignee = (String) processVariables.get("assignee");
ResultBean<SysUserVo> stringResultBean = sysUserFeign.fetchBySid(assignee);
String assigneeName = "";
if (stringResultBean.getData() != null) {
assigneeName = stringResultBean.getData().getName();
}
Map<String, Object> app = new HashMap<>();
if (processVariables.get("app") != null) {
app = (Map<String, Object>) processVariables.get("app");
}
log.info("抄送方法-historicTaskInstance:{}", JSONObject.toJSONString(historicTaskInstance));
mfq.setAppMap(app);
mfq.setBusinessSid(bv.getBusinessSid());
mfq.setMsgContent(assigneeName + "抄送的流程审批,请查看");
// act_re_procdef
Map<String, String> process = processService.getProcessDefByDefId(historicTaskInstance.getProcessDefinitionId());
log.info("抄送成功-process:{}", process);
if (process == null) {
log.info("抄送失败,流程定义不存在!");
return rb.setMsg("抄送失败,流程定义不存在!");
}
mfq.setModuleName(process.get("NAME_"));
if (processVariables.containsKey("orderNames")) {
mfq.setMsgTitle(processVariables.get("orderNames").toString());
} else {
mfq.setMsgTitle(process.get("NAME_"));
}
if (processVariables.containsKey("sendRecommendSid")) {//增加的其他的抄送人
userSids.append(processVariables.get("sendRecommendSid").toString()).append(",");
}
//查询是否有设置转办的,抄送给设置转办人员
List<String> zbUserSids = processCommentService.selectByIdAndComment("转办", bv.getInstanceId());
zbUserSids.removeAll(Collections.singleton(null));
if (!zbUserSids.isEmpty()) {
String zbUser = String.join(",", zbUserSids);
userSids.append(zbUser).append(",");
}
userSids.deleteCharAt(userSids.length() - 1);
//若抄送的用户已在审批人员中(审批记录中有该用户),则该用户不抄送
List<String> taskinstUserSidList = baseMapper.selectByProcInstId(bv.getInstanceId());
List<String> uss = Arrays.asList(userSids.toString().split(","));
List<String> uniqueList = new ArrayList<String>(new HashSet<String>(uss));
uniqueList.removeIf(taskinstUserSidList::contains);
String userSidss = String.join(",", uniqueList);
mfq.setUserSids(userSidss);
mfq.setOrgPath(createrOrgPath);
mfq.setUserSid(assignee);
mfq.setApplicationName(assigneeName);
ResultBean<String> resultBean = messageFeign.pushMessageCC(mfq);
log.info("抄送成功:{}", userName.toString());
log.info("抄送成功-resultBean:{}", resultBean);
if (!resultBean.getSuccess()) {
log.info("抄送失败,同送消息异常!:{}", JSONObject.toJSONString(resultBean));
return rb.setMsg("抄送失败,同送消息异常!");
}
return rb.success().setMsg("抄送" + userName.toString() + "成功!");
}
}

17
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowapprover/FlowApproverMapper.java

@ -0,0 +1,17 @@
package com.yxt.anrui.flowable.biz.flowapprover;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yxt.anrui.flowable.api.flow.Flowable;
import com.yxt.anrui.flowable.api.flowapprover.FlowApprover;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* @description:
* @author: dimengzhe
* @date: 2025/2/20
**/
@Mapper
public interface FlowApproverMapper extends BaseMapper<FlowApprover> {
String selectApproverSid(@Param("businessSid") String businessSid, @Param("sortNo") Integer sortNo);
}

10
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowapprover/FlowApproverMapper.xml

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.anrui.flowable.biz.flowapprover.FlowApproverMapper">
<select id="selectApproverSid" resultType="java.lang.String">
select approverSid
from flow_approver
where businessSid = #{businessSid}
and sortNo = #{sortNo}
</select>
</mapper>

53
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowapprover/FlowApproverService.java

@ -0,0 +1,53 @@
package com.yxt.anrui.flowable.biz.flowapprover;
import com.yxt.anrui.flowable.api.flow.Flowable;
import com.yxt.anrui.flowable.api.flowapprover.FlowApprover;
import com.yxt.anrui.flowable.api.flowapprover.FlowApproverDto;
import com.yxt.anrui.flowable.biz.flow4.Flow4Mapper;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.core.result.ResultBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Collections;
import java.util.List;
/**
* @description:
* @author: dimengzhe
* @date: 2025/2/20
**/
@Service
public class FlowApproverService extends MybatisBaseService<FlowApproverMapper, FlowApprover> {
@Autowired
private SysUserFeign sysUserFeign;
public ResultBean saveFlowApprover(FlowApproverDto flowApproverDto) {
ResultBean<String> rb = ResultBean.fireFail();
String businessSid = flowApproverDto.getBusinessSid();
List<String> approverSidList = flowApproverDto.getApproverSidList();
approverSidList.removeAll(Collections.singleton(null));
if (!approverSidList.isEmpty()) {
for (int i = 0; i < approverSidList.size(); i++) {
FlowApprover flowApprover = new FlowApprover();
String approverSid = approverSidList.get(i);
Integer sortNo = i + 2;
flowApprover.setBusinessSid(businessSid);
flowApprover.setApproverSid(approverSid);
ResultBean<SysUserVo> sysUserVoResultBean = sysUserFeign.fetchBySid(approverSid);
SysUserVo sysUser = sysUserVoResultBean.getData();
flowApprover.setApprovalName(sysUser.getName());
flowApprover.setSortNo(sortNo);
baseMapper.insert(flowApprover);
}
}
return rb.success();
}
public String selectApproverSid(String businessSid, Integer sortNo) {
return baseMapper.selectApproverSid(businessSid,sortNo);
}
}

16
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowcc/FlowCcMapper.java

@ -0,0 +1,16 @@
package com.yxt.anrui.flowable.biz.flowcc;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yxt.anrui.flowable.api.flowapprover.FlowApprover;
import com.yxt.anrui.flowable.api.flowcc.FlowCc;
import org.apache.ibatis.annotations.Mapper;
/**
* @description:
* @author: dimengzhe
* @date: 2025/2/20
**/
@Mapper
public interface FlowCcMapper extends BaseMapper<FlowCc> {
FlowCc selectByBusinessSid(String businessSid);
}

4
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowcc/FlowCcMapper.xml

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.anrui.flowable.biz.flowcc.FlowCcMapper">
</mapper>

19
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowcc/FlowCcService.java

@ -0,0 +1,19 @@
package com.yxt.anrui.flowable.biz.flowcc;
import com.yxt.anrui.flowable.api.flowapprover.FlowApprover;
import com.yxt.anrui.flowable.api.flowcc.FlowCc;
import com.yxt.anrui.flowable.biz.flowapprover.FlowApproverMapper;
import com.yxt.common.base.service.MybatisBaseService;
import org.springframework.stereotype.Service;
/**
* @description:
* @author: dimengzhe
* @date: 2025/2/20
**/
@Service
public class FlowCcService extends MybatisBaseService<FlowCcMapper, FlowCc> {
public FlowCc selectByBusinessSid(String businessSid) {
return baseMapper.selectByBusinessSid(businessSid);
}
}

29
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/DownloadExcelVo.java

@ -0,0 +1,29 @@
package com.yxt.anrui.scm.api.scmspecialrebate;
import com.yxt.common.core.utils.ExportEntityMap;
import lombok.Data;
@Data
public class DownloadExcelVo {
@ExportEntityMap(CnName = "采购系统*", EnName = "purchaseSystemName")
private String purchaseSystemName;
@ExportEntityMap(CnName = "品牌名称*", EnName = "brandName")
private String brandName;
@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 String expectItureCost;
@ExportEntityMap(CnName = "其中待支付费用*", EnName = "expectTreatCost")
private String expectTreatCost;
@ExportEntityMap(CnName = "其中抵顶费用*", EnName = "expectSuppCost")
private String expectSuppCost;
@ExportEntityMap(CnName = "所属年月*", EnName = "palceGenDate")
private String palceGenDate;
@ExportEntityMap(CnName = "备注", EnName = "remarks")
private String remarks;
}

33
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ExcelInfo.java

@ -0,0 +1,33 @@
package com.yxt.anrui.scm.api.scmspecialrebate;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2024/4/28
**/
@Data
public class ExcelInfo {
//采购系统
private String purchaseSystemName;
//品牌名称
private String brandName;
//返利类型
private String rebateTypeValue;
//返利名称
private String rebateName;
//预提返利
private String estimateRebate;
//其中支出费用
private String expectItureCost;
//其中待支付费用
private String expectTreatCost;
//其中抵顶费用
private String expectSuppCost;
//所属年月
private String palceGenDate;
//备注
private String remarks;
}

58
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateDto.java

@ -25,28 +25,12 @@
*********************************************************/ *********************************************************/
package com.yxt.anrui.scm.api.scmspecialrebate; package com.yxt.anrui.scm.api.scmspecialrebate;
import com.yxt.common.core.dto.Dto; import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal; import java.math.BigDecimal;
/**
* Project: anrui-scm(专项返利管理) <br/>
* File: ScmSpecialRebateDto.java <br/>
* Class: com.yxt.anrui.scm.api.scmspecialrebate.ScmSpecialRebateDto <br/>
* Description: 专项返利表 数据传输对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-09-08 16:11:43 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data @Data
@ApiModel(value = "专项返利表 数据传输对象", description = "专项返利表 数据传输对象") @ApiModel(value = "专项返利表 数据传输对象", description = "专项返利表 数据传输对象")
public class ScmSpecialRebateDto implements Dto { public class ScmSpecialRebateDto implements Dto {
@ -55,39 +39,41 @@ public class ScmSpecialRebateDto implements Dto {
@ApiModelProperty("状态") @ApiModelProperty("状态")
private String state; // 状态 private String state; // 状态
@ApiModelProperty("创建人sid")
private String createBySid;
@ApiModelProperty("备注") @ApiModelProperty("备注")
private String remarks; // 备注 private String remarks; // 备注
@ApiModelProperty("品牌sid") @ApiModelProperty("品牌sid")
private String brandSid; // 品牌sid private String brandSid; // 品牌sid
@ApiModelProperty("品牌名称") @ApiModelProperty("品牌名称")
private String brandName; // 品牌名称 private String brandName; // 品牌名称
@ApiModelProperty("返利类型key") @ApiModelProperty("返利类型key")
private String rebateTypeKey; // 返利类型key private String rebateTypeKey; // 返利类型key
@ApiModelProperty("返利类型value") @ApiModelProperty("返利类型value")
private String rebateTypeValue; // 返利类型value private String rebateTypeValue; // 返利类型value
@ApiModelProperty("返利名称") @ApiModelProperty("返利名称")
private String rebateName; // 返利名称 private String rebateName; // 返利名称
@ApiModelProperty("计算标准") @ApiModelProperty("计算标准")
private String calculationStandard; // 计算标准 private String calculationStandard; // 计算标准
@ApiModelProperty("预计返利") @ApiModelProperty("预计返利")
private String estimateRebate; // 预计返利 private String estimateRebate; // 预计返利
@ApiModelProperty("预提日期") @ApiModelProperty("预提日期")
private String withholdingDate; // 预提日期 private String withholdingDate; // 预提日期
@ApiModelProperty("上传日期") @ApiModelProperty("上传日期")
private String uploadDate; // 上传日期 private String uploadDate; // 上传日期
@ApiModelProperty("上传金额") @ApiModelProperty("上传金额")
private String uploadMoney; // 上传金额 private String uploadMoney; // 上传金额
@ApiModelProperty("二次上传日期") @ApiModelProperty("二次上传日期")
private String secondaryUploadDate; // 二次上传日期 private String secondaryUploadDate; // 二次上传日期
@ApiModelProperty("二次上传金额") @ApiModelProperty("二次上传金额")
private String secondaryUploadMoney; // 二次上传金额 private String secondaryUploadMoney; // 二次上传金额
@ApiModelProperty("费用") @ApiModelProperty("费用")
private String money; // 费用 private String money; // 费用
@ApiModelProperty("是否调整") @ApiModelProperty("是否调整")
private String isAdjustment; // 是否调整 private String isAdjustment; // 是否调整
@ApiModelProperty("调整金额") @ApiModelProperty("调整金额")
private String adjustmentMoney; // 调整金额 private String adjustmentMoney; // 调整金额
@ApiModelProperty("调整说明") @ApiModelProperty("调整说明")
private String adjustmentRemarks; // 调整说明 private String adjustmentRemarks; // 调整说明
@ApiModelProperty("调整状态") @ApiModelProperty("调整状态")
private Integer adjustmentState; private Integer adjustmentState;
@ -140,13 +126,13 @@ public class ScmSpecialRebateDto implements Dto {
@ApiModelProperty("二次抵顶费用说明") @ApiModelProperty("二次抵顶费用说明")
private String secondSuppRemark; private String secondSuppRemark;
@ApiModelProperty("使用组织sid") @ApiModelProperty("使用组织sid")
private String useOrgSid; // 使用组织sid private String useOrgSid; // 使用组织sid
@ApiModelProperty("使用组织名称") @ApiModelProperty("使用组织名称")
private String useOrgName; // 使用组织名称 private String useOrgName; // 使用组织名称
@ApiModelProperty("创建组织sid") @ApiModelProperty("创建组织sid")
private String createOrgSid; // 创建组织sid private String createOrgSid; // 创建组织sid
@ApiModelProperty("创建组织名称") @ApiModelProperty("创建组织名称")
private String createOrgName; // 创建组织名称 private String createOrgName; // 创建组织名称
@ApiModelProperty("组织全路径") @ApiModelProperty("组织全路径")
private String orgPath; private String orgPath;

9
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateFeign.java

@ -102,6 +102,15 @@ public interface ScmSpecialRebateFeign {
@ResponseBody @ResponseBody
public ResultBean<PagerVo<ScmStayDisRebateVo>> stayDisRebate(@RequestBody PagerQuery<ScmSpecialRebateQuery> pq); public ResultBean<PagerVo<ScmStayDisRebateVo>> stayDisRebate(@RequestBody PagerQuery<ScmSpecialRebateQuery> pq);
@PostMapping("/downloadExcel")
@ApiOperation(value = "下载模板")
public void downloadExcel();
@ApiOperation(value = "导入")
@PostMapping("/getExcelInfo")
@ResponseBody
public ResultBean getExcelInfo(@RequestParam(value = "file") MultipartFile file, HttpServletRequest request, @RequestParam("userSid") String userSid, @RequestParam("orgPath") String orgPath) throws IOException, ParseException;
@ApiOperation("一次导出") @ApiOperation("一次导出")
@PostMapping("/excelListOne") @PostMapping("/excelListOne")
public void excelListOne(@RequestBody ScmSpecialRebateQuery scmSpecialRebateQuery); public void excelListOne(@RequestBody ScmSpecialRebateQuery scmSpecialRebateQuery);

10
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateFeignFallback.java

@ -109,6 +109,16 @@ public class ScmSpecialRebateFeignFallback implements ScmSpecialRebateFeign {
return null; return null;
} }
@Override
public void downloadExcel() {
}
@Override
public ResultBean getExcelInfo(MultipartFile file, HttpServletRequest request, String userSid, String orgPath) throws IOException, ParseException {
return null;
}
@Override @Override
public void excelListOne(ScmSpecialRebateQuery scmSpecialRebateQuery) { public void excelListOne(ScmSpecialRebateQuery scmSpecialRebateQuery) {

12
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/SpecialRebateExcelInfo.java

@ -0,0 +1,12 @@
package com.yxt.anrui.scm.api.scmspecialrebate;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
@Data
public class SpecialRebateExcelInfo {
private String checkInfo;
private List<ExcelInfo> infos = new ArrayList<>();
}

5
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateFeign.java

@ -149,4 +149,9 @@ public interface ScmVehRebateFeign {
@DeleteMapping("/delByVehSid") @DeleteMapping("/delByVehSid")
@ResponseBody @ResponseBody
ResultBean delByVehSid(@RequestParam("vehSid") String vehSid); ResultBean delByVehSid(@RequestParam("vehSid") String vehSid);
@ApiOperation("根据车辆sid、分公司sid、返利类型key删除单车返利记录")
@DeleteMapping("/delByVehSid2")
@ResponseBody
ResultBean delByVehSid2(@RequestParam("vehSid") String vehSid,@RequestParam("useOrgSid") String useOrgSid,@RequestParam("key") String key);
} }

5
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateFeignFallback.java

@ -143,4 +143,9 @@ public class ScmVehRebateFeignFallback implements ScmVehRebateFeign {
public ResultBean delByVehSid(String vehSid) { public ResultBean delByVehSid(String vehSid) {
return null; return null;
} }
@Override
public ResultBean delByVehSid2(String vehSid, String useOrgSid, String key) {
return null;
}
} }

13
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmwarehouse/ScmWarehouse.java

@ -31,19 +31,6 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
/**
* Project: anrui-scm(进销存) <br/>
* File: ScmWarehouse.java <br/>
* Class: com.yxt.anrui.scm.api.scmwarehouse.ScmWarehouse <br/>
* Description: 仓库. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-01-05 15:42:47 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@ApiModel(value = "仓库", description = "仓库") @ApiModel(value = "仓库", description = "仓库")
@TableName("scm_warehouse") @TableName("scm_warehouse")
@Data @Data

20
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateRest.java

@ -48,6 +48,7 @@ import java.io.IOException;
import java.io.UnsupportedEncodingException; import java.io.UnsupportedEncodingException;
import java.net.URLEncoder; import java.net.URLEncoder;
import java.text.ParseException; import java.text.ParseException;
import java.util.ArrayList;
import java.util.List; import java.util.List;
@Api(tags = "专项返利表") @Api(tags = "专项返利表")
@ -175,6 +176,25 @@ public class ScmSpecialRebateRest implements ScmSpecialRebateFeign {
return rb.success().setData(pv); return rb.success().setData(pv);
} }
@Override
public void downloadExcel() {
List<DownloadExcelVo> list = new ArrayList<>();
//定义导出的excel名字
String excelName = "专项返利管理导入模板";
String fileNameURL = "";
try {
fileNameURL = URLEncoder.encode(excelName, "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
ExportExcelUtils.export(fileNameURL, list, DownloadExcelVo.class, response);
}
@Override
public ResultBean getExcelInfo(MultipartFile file, HttpServletRequest request, String userSid, String orgPath) throws IOException, ParseException {
return scmSpecialRebateService.getExcelInfo(file, request, userSid, orgPath);
}
@Override @Override
public void excelListOne(ScmSpecialRebateQuery scmSpecialRebateQuery) { public void excelListOne(ScmSpecialRebateQuery scmSpecialRebateQuery) {
//得到所有要导出的数据 //得到所有要导出的数据

373
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateService.java

@ -29,13 +29,20 @@ import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.base.api.basepurchasesystem.BasePurchaseSystemFeign;
import com.yxt.anrui.base.api.basevehicle.BaseVehicleRebateQuery;
import com.yxt.anrui.base.api.basevehicle.BaseVehicleRebateVo;
import com.yxt.anrui.base.api.basevehiclebrand.BaseVehicleBrandFeign;
import com.yxt.anrui.portal.api.dictcommon.DictCommonFeign; import com.yxt.anrui.portal.api.dictcommon.DictCommonFeign;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery; import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign; import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.scm.api.scmspecialrebate.*; import com.yxt.anrui.scm.api.scmspecialrebate.*;
import com.yxt.anrui.scm.api.scmspecialrebate.OneExcelInfo; import com.yxt.anrui.scm.api.scmspecialrebate.OneExcelInfo;
import com.yxt.anrui.scm.api.scmspecialrebate.TwoExcelInfo; import com.yxt.anrui.scm.api.scmspecialrebate.TwoExcelInfo;
import com.yxt.anrui.scm.api.scmvehrebate.ScmVehRebate;
import com.yxt.anrui.scm.biz.scmspecialrebatevehs.ScmSpecialrebateVehsService; import com.yxt.anrui.scm.biz.scmspecialrebatevehs.ScmSpecialrebateVehsService;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
@ -69,6 +76,10 @@ public class ScmSpecialRebateService extends MybatisBaseService<ScmSpecialRebate
@Autowired @Autowired
private ScmSpecialrebateVehsService scmSpecialrebateVehsService; private ScmSpecialrebateVehsService scmSpecialrebateVehsService;
@Autowired @Autowired
private BasePurchaseSystemFeign basePurchaseSystemFeign;
@Autowired
private BaseVehicleBrandFeign baseVehicleBrandFeign;
@Autowired
private SysUserFeign sysUserFeign; private SysUserFeign sysUserFeign;
@Autowired @Autowired
HttpServletResponse response; HttpServletResponse response;
@ -76,6 +87,8 @@ public class ScmSpecialRebateService extends MybatisBaseService<ScmSpecialRebate
private DictCommonFeign dictCommonFeign; private DictCommonFeign dictCommonFeign;
@Autowired @Autowired
private SysStaffOrgFeign sysStaffOrgFeign; private SysStaffOrgFeign sysStaffOrgFeign;
@Autowired
private SysOrganizationFeign sysOrganizationFeign;
public PagerVo<ScmSpecialRebateVo> listPageVo(PagerQuery<ScmSpecialRebateQuery> pq) { public PagerVo<ScmSpecialRebateVo> listPageVo(PagerQuery<ScmSpecialRebateQuery> pq) {
ScmSpecialRebateQuery query = pq.getParams(); ScmSpecialRebateQuery query = pq.getParams();
@ -231,6 +244,7 @@ public class ScmSpecialRebateService extends MybatisBaseService<ScmSpecialRebate
qw.eq("palceGenDate", dto.getPalceGenDate()); qw.eq("palceGenDate", dto.getPalceGenDate());
qw.eq("purchaseSystemSid", dto.getPurchaseSystemSid()); qw.eq("purchaseSystemSid", dto.getPurchaseSystemSid());
qw.eq("brandSid", dto.getBrandSid()); qw.eq("brandSid", dto.getBrandSid());
qw.eq("remarks",dto.getRemarks());
if (StringUtils.isBlank(dtoSid)) { if (StringUtils.isBlank(dtoSid)) {
int i = baseMapper.checkSave(qw); int i = baseMapper.checkSave(qw);
if (i > 0) { if (i > 0) {
@ -621,6 +635,297 @@ public class ScmSpecialRebateService extends MybatisBaseService<ScmSpecialRebate
return p; return p;
} }
public ResultBean getExcelInfo(MultipartFile file, HttpServletRequest request, String userSid, String orgPath) throws IOException {
ResultBean rb = ResultBean.fireFail();
String temp = request.getSession().getServletContext().getRealPath(File.separator) + "temp";// 临时目录
File tempFile = new File(temp);
if (!tempFile.exists()) {
tempFile.mkdirs();
}
String fileName = file.getOriginalFilename();
if (!fileName.matches("^.+\\.(?i)(xls)$") && !fileName.matches("^.+\\.(?i)(xlsx)$")) {
return rb.fail().setMsg("上传文件不正确");
}
int[] resultCell = new int[]{0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
boolean isExcel2003 = true;
if (fileName.matches("^.+\\.(?i)(xlsx)$")) {
isExcel2003 = false;
}
InputStream is = file.getInputStream();
Workbook wb = null;
if (isExcel2003) {
wb = new HSSFWorkbook(is);
} else {
wb = new XSSFWorkbook(is);
}
Sheet sheet = wb.getSheetAt(0);
String createOrgSid = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData();
SpecialRebateExcelInfo importReturn = getSheetVal(sheet, resultCell, createOrgSid);
if (StringUtils.isNotBlank(importReturn.getCheckInfo())) {
return rb.setMsg(importReturn.getCheckInfo());
} else {
List<ExcelInfo> infos = importReturn.getInfos();
for (ExcelInfo info : infos) {
ScmSpecialRebateDto scmSpecialRebate = new ScmSpecialRebateDto();
String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData();
String purchaseSystemSid = basePurchaseSystemFeign.selByPurchaseSystemName(info.getPurchaseSystemName(), useOrgSid).getData();
scmSpecialRebate.setPurchaseSystemSid(purchaseSystemSid);
scmSpecialRebate.setPurchaseSystemName(info.getPurchaseSystemName());
scmSpecialRebate.setState("0");
scmSpecialRebate.setCreateBySid(userSid);
String brandSid = baseVehicleBrandFeign.selByBrandName(info.getBrandName()).getData();
scmSpecialRebate.setBrandSid(brandSid);
scmSpecialRebate.setBrandName(info.getBrandName());
String dictKey = dictCommonFeign.selectByValue(info.getRebateTypeValue()).getData();
scmSpecialRebate.setRebateTypeKey(dictKey);
scmSpecialRebate.setRebateTypeValue(info.getRebateTypeValue());
scmSpecialRebate.setRebateName(info.getRebateName());
scmSpecialRebate.setEstimateRebate(info.getEstimateRebate());
scmSpecialRebate.setExpectItureCost(new BigDecimal(info.getExpectItureCost()));
scmSpecialRebate.setExpectTreatCost(new BigDecimal(info.getExpectTreatCost()));
scmSpecialRebate.setExpectSuppCost(new BigDecimal(info.getExpectSuppCost()));
scmSpecialRebate.setPalceGenDate(info.getPalceGenDate());
scmSpecialRebate.setRemarks(info.getRemarks());
SysOrganizationVo sysOrganizationVo = sysOrganizationFeign.fetchBySid(useOrgSid).getData();
scmSpecialRebate.setCreateOrgSid(useOrgSid);
scmSpecialRebate.setCreateOrgName(sysOrganizationVo.getName());
scmSpecialRebate.setUseOrgSid(useOrgSid);
scmSpecialRebate.setUseOrgName(sysOrganizationVo.getName());
scmSpecialRebate.setOrgPath(orgPath);
saveOrUpdateDto(scmSpecialRebate);
}
return rb.success().setMsg("成功导入数据,请点击确定按钮");
}
}
private SpecialRebateExcelInfo getSheetVal(Sheet sheet, int[] resultCell, String createOrgSid) {
SpecialRebateExcelInfo importReturn = new SpecialRebateExcelInfo();
List<ExcelInfo> importVoList = new ArrayList<>();
Set<String> checkWord = new HashSet<>();
for (int r = 1; r <= sheet.getLastRowNum(); r++) {
Row row = sheet.getRow(r);
if (row == null) {
continue;
}
ExcelInfo importVo = new ExcelInfo();
int physicalNumberOfCells = row.getPhysicalNumberOfCells();
if (physicalNumberOfCells < 9) {
physicalNumberOfCells = 9;
}
for (int i = 0; i < physicalNumberOfCells; i++) {
String trim = new String();
try {
trim = getCellVal(row.getCell(i)).toString().trim();
if (StringUtils.isBlank(trim)) {
NullPointerException nullPointerException = new NullPointerException();
}
String temp = getCellVal(row.getCell(i)).toString().trim();
for (int j = 0; j < resultCell.length; j++) {
if (i == resultCell[j]) {
switch (i) {
case 0:
importVo.setPurchaseSystemName(temp);
break;
case 1:
importVo.setBrandName(temp);
break;
case 2:
importVo.setRebateTypeValue(temp);
break;
case 3:
importVo.setRebateName(temp);
break;
case 4:
importVo.setEstimateRebate(temp);
break;
case 5:
importVo.setExpectItureCost(temp);
break;
case 6:
importVo.setExpectTreatCost(temp);
break;
case 7:
importVo.setExpectSuppCost(temp);
break;
case 8:
importVo.setPalceGenDate(temp);
break;
case 9:
importVo.setRemarks(temp);
break;
default:
break;
}
} else {
continue;
}
}
} catch (Exception e) {
if (StringUtils.isBlank(trim)) {
String word = new String();
switch (i) {
case 0:
word = "采购系统";
break;
case 1:
word = "品牌";
break;
case 2:
word = "返利类型";
break;
case 3:
word = "返利名称";
break;
case 4:
word = "预提金额";
break;
case 5:
word = "其中支出费用";
break;
case 6:
word = "其中待支付费用";
break;
case 7:
word = "其中抵顶费用";
break;
case 8:
word = "所属年月";
break;
case 9:
word = "备注";
break;
default:
break;
}
continue;
}
}
}
importVoList.add(importVo);
}
if (!importVoList.isEmpty()) {
for (ExcelInfo excelInfo : importVoList) {
ScmSpecialRebateVo scmSpecialRebateVo = baseMapper.selectExcelInfo(createOrgSid, excelInfo.getRebateTypeValue(), excelInfo.getRebateName(), excelInfo.getEstimateRebate(), excelInfo.getPalceGenDate(), excelInfo.getPurchaseSystemName(), excelInfo.getBrandName());
if (scmSpecialRebateVo == null || StringUtils.isBlank(scmSpecialRebateVo.getSid())) {
checkWord.add("返利名称" + excelInfo.getRebateName() + "导入的返利信息不存在");
break;
}
if (scmSpecialRebateVo.getOnceCheckState() == 1) {
checkWord.add("返利名称" + excelInfo.getRebateName() + "导入的返利信息已调整");
break;
}
if (StringUtils.isBlank(excelInfo.getPurchaseSystemName())) {
checkWord.add("采购系统不能为空");
break;
}
if (StringUtils.isBlank(excelInfo.getBrandName())) {
checkWord.add("品牌名称不能为空");
break;
}
if (StringUtils.isBlank(excelInfo.getRebateTypeValue())) {
checkWord.add("返利类型不能为空");
break;
}
if (StringUtils.isBlank(excelInfo.getRebateName())) {
checkWord.add("返利名称不能为空");
break;
}
if (StringUtils.isNotBlank(excelInfo.getRebateTypeValue())) {
String dictKey = dictCommonFeign.selectByValue(excelInfo.getRebateTypeValue()).getData();
if (StringUtils.isBlank(dictKey)) {
checkWord.add("返利名称" + excelInfo.getRebateName() + "导入的返利类型填写不正确");
break;
}
}
if (StringUtils.isBlank(excelInfo.getEstimateRebate())) {
checkWord.add("预提返利不能为空");
break;
}
if (StringUtils.isNotBlank(excelInfo.getEstimateRebate())) {
String estimateRebate = excelInfo.getEstimateRebate();
Pattern pattern = Pattern.compile("^(\\-|\\+)?\\d+(\\.\\d+)?$");
boolean matches = pattern.matcher(estimateRebate).matches();
if (!matches) {
checkWord.add("预提返利必须为数字");
break;
}
}
if (StringUtils.isBlank(excelInfo.getExpectItureCost())) {
checkWord.add("其中支出费用不能为空");
break;
}
if (StringUtils.isNotBlank(excelInfo.getExpectItureCost())) {
String expectItureCost = excelInfo.getExpectItureCost();
Pattern pattern = Pattern.compile("^(\\-|\\+)?\\d+(\\.\\d+)?$");
boolean matches = pattern.matcher(expectItureCost).matches();
if (!matches) {
checkWord.add("其中支出费用必须为数字");
break;
}
}
if (StringUtils.isBlank(excelInfo.getExpectTreatCost())) {
checkWord.add("其中待支付费用不能为空");
break;
}
if (StringUtils.isNotBlank(excelInfo.getExpectTreatCost())) {
String expectTreatCost = excelInfo.getExpectTreatCost();
Pattern pattern = Pattern.compile("^(\\-|\\+)?\\d+(\\.\\d+)?$");
boolean matches = pattern.matcher(expectTreatCost).matches();
if (!matches) {
checkWord.add("其中待支付费用必须为数字");
break;
}
}
if (StringUtils.isBlank(excelInfo.getExpectSuppCost())) {
checkWord.add("其中抵顶费用不能为空");
break;
}
if (StringUtils.isNotBlank(excelInfo.getExpectSuppCost())) {
String expectSuppCost = excelInfo.getExpectSuppCost();
Pattern pattern = Pattern.compile("^(\\-|\\+)?\\d+(\\.\\d+)?$");
boolean matches = pattern.matcher(expectSuppCost).matches();
if (!matches) {
checkWord.add("其中抵顶费用必须为数字");
break;
}
}
if (StringUtils.isBlank(excelInfo.getPalceGenDate())) {
checkWord.add("所属年月不能为空");
break;
}
if (StringUtils.isNotBlank(excelInfo.getPalceGenDate())) {
String palceGenDate = excelInfo.getPalceGenDate();
String[] split = palceGenDate.split("-");
if (split.length != 2) {
checkWord.add("返利名称" + excelInfo.getRebateName() + "导入的所属年月填写不正确,格式yyyy-MM");
break;
} else if (!isFourDigitNumber(split[0]) || !isTwoDigitNumber(split[1])) {
checkWord.add("返利名称" + excelInfo.getRebateName() + "导入的所属年月填写不正确,格式yyyy-MM");
break;
}
}
}
}
StringBuffer sbcheck1 = new StringBuffer();
if (!checkWord.isEmpty()) {
for (String s : checkWord) {
if (StringUtils.isBlank(s)) {
continue;
}
sbcheck1.append(s).append(";");
}
}
if (sbcheck1.length() > 0) {
sbcheck1.delete(sbcheck1.length() - 1, sbcheck1.length());
importReturn.setCheckInfo(sbcheck1.toString());
importReturn.setInfos(new ArrayList<>());
return importReturn;
}
importReturn.setInfos(importVoList);
return importReturn;
}
public ResultBean getExcelOneInfo(MultipartFile file, HttpServletRequest request, String userSid, String orgPath) throws IOException { public ResultBean getExcelOneInfo(MultipartFile file, HttpServletRequest request, String userSid, String orgPath) throws IOException {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
String temp = request.getSession().getServletContext().getRealPath(File.separator) + "temp";// 临时目录 String temp = request.getSession().getServletContext().getRealPath(File.separator) + "temp";// 临时目录
@ -904,10 +1209,14 @@ public class ScmSpecialRebateService extends MybatisBaseService<ScmSpecialRebate
break; break;
} }
} }
if (StringUtils.isBlank(excelInfo.getUploadDate())) { if (StringUtils.isBlank(excelInfo.getUploadDate()) && StringUtils.isNotBlank(excelInfo.getUploadMoney())) {
checkWord.add("上传日期不能为空"); checkWord.add("上传日期不能为空");
break; break;
} }
if (StringUtils.isNotBlank(excelInfo.getUploadDate()) && StringUtils.isBlank(excelInfo.getUploadMoney())) {
checkWord.add("上传金额不能为空");
break;
}
if (StringUtils.isNotBlank(excelInfo.getUploadDate())) { if (StringUtils.isNotBlank(excelInfo.getUploadDate())) {
String uploadDate = ""; String uploadDate = "";
if (isNumber(excelInfo.getUploadDate())) { if (isNumber(excelInfo.getUploadDate())) {
@ -925,10 +1234,6 @@ public class ScmSpecialRebateService extends MybatisBaseService<ScmSpecialRebate
break; break;
} }
} }
if (StringUtils.isBlank(excelInfo.getUploadMoney())) {
checkWord.add("上传金额不能为空");
break;
}
if (StringUtils.isNotBlank(excelInfo.getUploadMoney())) { if (StringUtils.isNotBlank(excelInfo.getUploadMoney())) {
String uploadMoney = excelInfo.getUploadMoney(); String uploadMoney = excelInfo.getUploadMoney();
Pattern pattern = Pattern.compile("^(\\-|\\+)?\\d+(\\.\\d+)?$"); Pattern pattern = Pattern.compile("^(\\-|\\+)?\\d+(\\.\\d+)?$");
@ -938,10 +1243,6 @@ public class ScmSpecialRebateService extends MybatisBaseService<ScmSpecialRebate
break; break;
} }
} }
if (StringUtils.isBlank(excelInfo.getStayDetermineMoney())) {
checkWord.add("待确定金额不能为空");
break;
}
if (StringUtils.isNotBlank(excelInfo.getStayDetermineMoney())) { if (StringUtils.isNotBlank(excelInfo.getStayDetermineMoney())) {
String stayDetermineMoney = excelInfo.getStayDetermineMoney(); String stayDetermineMoney = excelInfo.getStayDetermineMoney();
Pattern pattern = Pattern.compile("^(\\-|\\+)?\\d+(\\.\\d+)?$"); Pattern pattern = Pattern.compile("^(\\-|\\+)?\\d+(\\.\\d+)?$");
@ -951,10 +1252,6 @@ public class ScmSpecialRebateService extends MybatisBaseService<ScmSpecialRebate
break; break;
} }
} }
if (StringUtils.isBlank(excelInfo.getOnceItureCost())) {
checkWord.add("其中支出费用不能为空");
break;
}
if (StringUtils.isNotBlank(excelInfo.getOnceItureCost())) { if (StringUtils.isNotBlank(excelInfo.getOnceItureCost())) {
String onceItureCost = excelInfo.getOnceItureCost(); String onceItureCost = excelInfo.getOnceItureCost();
Pattern pattern = Pattern.compile("^(\\-|\\+)?\\d+(\\.\\d+)?$"); Pattern pattern = Pattern.compile("^(\\-|\\+)?\\d+(\\.\\d+)?$");
@ -964,10 +1261,6 @@ public class ScmSpecialRebateService extends MybatisBaseService<ScmSpecialRebate
break; break;
} }
} }
if (StringUtils.isBlank(excelInfo.getOnceTreatCost())) {
checkWord.add("其中待支付费用不能为空");
break;
}
if (StringUtils.isNotBlank(excelInfo.getOnceTreatCost())) { if (StringUtils.isNotBlank(excelInfo.getOnceTreatCost())) {
String onceTreatCost = excelInfo.getOnceTreatCost(); String onceTreatCost = excelInfo.getOnceTreatCost();
Pattern pattern = Pattern.compile("^(\\-|\\+)?\\d+(\\.\\d+)?$"); Pattern pattern = Pattern.compile("^(\\-|\\+)?\\d+(\\.\\d+)?$");
@ -977,10 +1270,6 @@ public class ScmSpecialRebateService extends MybatisBaseService<ScmSpecialRebate
break; break;
} }
} }
if (StringUtils.isBlank(excelInfo.getOnceSuppCost())) {
checkWord.add("其中抵顶费用不能为空");
break;
}
if (StringUtils.isNotBlank(excelInfo.getOnceSuppCost())) { if (StringUtils.isNotBlank(excelInfo.getOnceSuppCost())) {
String onceSuppCost = excelInfo.getOnceSuppCost(); String onceSuppCost = excelInfo.getOnceSuppCost();
Pattern pattern = Pattern.compile("^(\\-|\\+)?\\d+(\\.\\d+)?$"); Pattern pattern = Pattern.compile("^(\\-|\\+)?\\d+(\\.\\d+)?$");
@ -1456,10 +1745,14 @@ public class ScmSpecialRebateService extends MybatisBaseService<ScmSpecialRebate
break; break;
} }
} }
if (StringUtils.isBlank(excelInfo.getUploadDate())) { if (StringUtils.isBlank(excelInfo.getUploadDate()) && StringUtils.isNotBlank(excelInfo.getSecondaryUploadMoney())) {
checkWord.add("二次上传日期不能为空"); checkWord.add("二次上传日期不能为空");
break; break;
} }
if (StringUtils.isNotBlank(excelInfo.getUploadDate()) && StringUtils.isBlank(excelInfo.getSecondaryUploadMoney())) {
checkWord.add("二次上传金额不能为空");
break;
}
if (StringUtils.isNotBlank(excelInfo.getSecondaryUploadDate())) { if (StringUtils.isNotBlank(excelInfo.getSecondaryUploadDate())) {
String secondaryUploadDate = ""; String secondaryUploadDate = "";
if (isNumber(excelInfo.getSecondaryUploadDate())) { if (isNumber(excelInfo.getSecondaryUploadDate())) {
@ -1477,10 +1770,6 @@ public class ScmSpecialRebateService extends MybatisBaseService<ScmSpecialRebate
break; break;
} }
} }
if (StringUtils.isBlank(excelInfo.getSecondaryUploadMoney())) {
checkWord.add("二次上传金额不能为空");
break;
}
if (StringUtils.isNotBlank(excelInfo.getSecondaryUploadMoney())) { if (StringUtils.isNotBlank(excelInfo.getSecondaryUploadMoney())) {
String secondaryUploadMoney = excelInfo.getSecondaryUploadMoney(); String secondaryUploadMoney = excelInfo.getSecondaryUploadMoney();
Pattern pattern = Pattern.compile("^(\\-|\\+)?\\d+(\\.\\d+)?$"); Pattern pattern = Pattern.compile("^(\\-|\\+)?\\d+(\\.\\d+)?$");
@ -1499,10 +1788,6 @@ public class ScmSpecialRebateService extends MybatisBaseService<ScmSpecialRebate
break; break;
} }
} }
if (StringUtils.isBlank(excelInfo.getSecondTreatCost())) {
checkWord.add("其中待支付费用不能为空");
break;
}
if (StringUtils.isNotBlank(excelInfo.getSecondTreatCost())) { if (StringUtils.isNotBlank(excelInfo.getSecondTreatCost())) {
String secondTreatCost = excelInfo.getSecondTreatCost(); String secondTreatCost = excelInfo.getSecondTreatCost();
Pattern pattern = Pattern.compile("^(\\-|\\+)?\\d+(\\.\\d+)?$"); Pattern pattern = Pattern.compile("^(\\-|\\+)?\\d+(\\.\\d+)?$");
@ -1512,10 +1797,6 @@ public class ScmSpecialRebateService extends MybatisBaseService<ScmSpecialRebate
break; break;
} }
} }
if (StringUtils.isBlank(excelInfo.getSecondSuppCost())) {
checkWord.add("其中抵顶费用不能为空");
break;
}
if (StringUtils.isNotBlank(excelInfo.getSecondSuppCost())) { if (StringUtils.isNotBlank(excelInfo.getSecondSuppCost())) {
String secondSuppCost = excelInfo.getSecondSuppCost(); String secondSuppCost = excelInfo.getSecondSuppCost();
Pattern pattern = Pattern.compile("^(\\-|\\+)?\\d+(\\.\\d+)?$"); Pattern pattern = Pattern.compile("^(\\-|\\+)?\\d+(\\.\\d+)?$");
@ -1789,34 +2070,34 @@ public class ScmSpecialRebateService extends MybatisBaseService<ScmSpecialRebate
qw.orderByDesc("createTime"); qw.orderByDesc("createTime");
List<ScmSpecialRebateExcelVo> scmSpecialRebateExcelVos = baseMapper.excelList(qw); List<ScmSpecialRebateExcelVo> scmSpecialRebateExcelVos = baseMapper.excelList(qw);
for (ScmSpecialRebateExcelVo scmSpecialRebateExcelVo : scmSpecialRebateExcelVos) { for (ScmSpecialRebateExcelVo scmSpecialRebateExcelVo : scmSpecialRebateExcelVos) {
if (scmSpecialRebateExcelVo.getState().equals("0")){ if (scmSpecialRebateExcelVo.getState().equals("0")) {
scmSpecialRebateExcelVo.setState("未预提"); scmSpecialRebateExcelVo.setState("未预提");
}else if (scmSpecialRebateExcelVo.getState().equals("1")){ } else if (scmSpecialRebateExcelVo.getState().equals("1")) {
scmSpecialRebateExcelVo.setState("预提中"); scmSpecialRebateExcelVo.setState("预提中");
}else if (scmSpecialRebateExcelVo.getState().equals("2")){ } else if (scmSpecialRebateExcelVo.getState().equals("2")) {
scmSpecialRebateExcelVo.setState("待核对"); scmSpecialRebateExcelVo.setState("待核对");
}else if (scmSpecialRebateExcelVo.getState().equals("3")){ } else if (scmSpecialRebateExcelVo.getState().equals("3")) {
scmSpecialRebateExcelVo.setState("核对中"); scmSpecialRebateExcelVo.setState("核对中");
}else if (scmSpecialRebateExcelVo.getState().equals("4")){ } else if (scmSpecialRebateExcelVo.getState().equals("4")) {
scmSpecialRebateExcelVo.setState("已核对"); scmSpecialRebateExcelVo.setState("已核对");
}else if (scmSpecialRebateExcelVo.getState().equals("5")){ } else if (scmSpecialRebateExcelVo.getState().equals("5")) {
scmSpecialRebateExcelVo.setState("分配中"); scmSpecialRebateExcelVo.setState("分配中");
}else if (scmSpecialRebateExcelVo.getState().equals("6")){ } else if (scmSpecialRebateExcelVo.getState().equals("6")) {
scmSpecialRebateExcelVo.setState("已分配"); scmSpecialRebateExcelVo.setState("已分配");
} }
if (scmSpecialRebateExcelVo.getOnceCheckState().equals("0")){ if (scmSpecialRebateExcelVo.getOnceCheckState().equals("0")) {
scmSpecialRebateExcelVo.setOnceCheckState("否"); scmSpecialRebateExcelVo.setOnceCheckState("否");
}else if (scmSpecialRebateExcelVo.getOnceCheckState().equals("1")){ } else if (scmSpecialRebateExcelVo.getOnceCheckState().equals("1")) {
scmSpecialRebateExcelVo.setOnceCheckState("是"); scmSpecialRebateExcelVo.setOnceCheckState("是");
}else if (scmSpecialRebateExcelVo.getOnceCheckState().equals("2")){ } else if (scmSpecialRebateExcelVo.getOnceCheckState().equals("2")) {
scmSpecialRebateExcelVo.setOnceCheckState("一次核对中"); scmSpecialRebateExcelVo.setOnceCheckState("一次核对中");
} }
scmSpecialRebateExcelVo.setCreateTime(DateUtil.formatDate(DateUtil.parse(scmSpecialRebateExcelVo.getCreateTime()))); scmSpecialRebateExcelVo.setCreateTime(DateUtil.formatDate(DateUtil.parse(scmSpecialRebateExcelVo.getCreateTime())));
if ("是".equals(scmSpecialRebateExcelVo.getIsAdjustment())){ if ("是".equals(scmSpecialRebateExcelVo.getIsAdjustment())) {
scmSpecialRebateExcelVo.setItureAdjustmentMoney(scmSpecialRebateExcelVo.getOnceItureCost().add(scmSpecialRebateExcelVo.getSecondItureCost()).subtract(scmSpecialRebateExcelVo.getExpectItureCost())); scmSpecialRebateExcelVo.setItureAdjustmentMoney(scmSpecialRebateExcelVo.getOnceItureCost().add(scmSpecialRebateExcelVo.getSecondItureCost()).subtract(scmSpecialRebateExcelVo.getExpectItureCost()));
scmSpecialRebateExcelVo.setTreatAdjustmentMoney(scmSpecialRebateExcelVo.getOnceTreatCost().add(scmSpecialRebateExcelVo.getSecondTreatCost()).subtract(scmSpecialRebateExcelVo.getExpectTreatCost())); scmSpecialRebateExcelVo.setTreatAdjustmentMoney(scmSpecialRebateExcelVo.getOnceTreatCost().add(scmSpecialRebateExcelVo.getSecondTreatCost()).subtract(scmSpecialRebateExcelVo.getExpectTreatCost()));
scmSpecialRebateExcelVo.setSuppAdjustmentMoney(scmSpecialRebateExcelVo.getOnceSuppCost().add(scmSpecialRebateExcelVo.getSecondSuppCost()).subtract(scmSpecialRebateExcelVo.getExpectSuppCost())); scmSpecialRebateExcelVo.setSuppAdjustmentMoney(scmSpecialRebateExcelVo.getOnceSuppCost().add(scmSpecialRebateExcelVo.getSecondSuppCost()).subtract(scmSpecialRebateExcelVo.getExpectSuppCost()));
}else { } else {
scmSpecialRebateExcelVo.setItureAdjustmentMoney(BigDecimal.ZERO); scmSpecialRebateExcelVo.setItureAdjustmentMoney(BigDecimal.ZERO);
scmSpecialRebateExcelVo.setTreatAdjustmentMoney(BigDecimal.ZERO); scmSpecialRebateExcelVo.setTreatAdjustmentMoney(BigDecimal.ZERO);
scmSpecialRebateExcelVo.setSuppAdjustmentMoney(BigDecimal.ZERO); scmSpecialRebateExcelVo.setSuppAdjustmentMoney(BigDecimal.ZERO);

2
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.java

@ -87,4 +87,6 @@ public interface ScmVehRebateMapper extends BaseMapper<ScmVehRebate> {
List<ScmVehRebateVo> checkApplyGetVehRebateAll(@Param(Constants.WRAPPER) QueryWrapper<ScmVehRebate> qw); List<ScmVehRebateVo> checkApplyGetVehRebateAll(@Param(Constants.WRAPPER) QueryWrapper<ScmVehRebate> qw);
List<ScmVehRebateVo> listAll(@Param(Constants.WRAPPER) QueryWrapper<ScmVehRebate> qw); List<ScmVehRebateVo> listAll(@Param(Constants.WRAPPER) QueryWrapper<ScmVehRebate> qw);
int delByVehSid2(@Param("vehSid") String vehSid, @Param("useOrgSid") String useOrgSid, @Param("key") String key);
} }

12
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.xml

@ -87,7 +87,7 @@
<update id="updateOneExcelInfo"> <update id="updateOneExcelInfo">
UPDATE UPDATE
scm_veh_rebate scm_veh_rebate
SET uploadDate = #{uploadDate}, SET uploadDate = #{uploadDate},
uploadMoney = #{uploadMoney}, uploadMoney = #{uploadMoney},
onceTreatCost = #{onceTreatCost}, onceTreatCost = #{onceTreatCost},
@ -104,7 +104,7 @@
<update id="updateTwoExcelInfo"> <update id="updateTwoExcelInfo">
UPDATE UPDATE
scm_veh_rebate scm_veh_rebate
SET secondaryUploadDate = #{secondaryUploadDate}, SET secondaryUploadDate = #{secondaryUploadDate},
secondaryUploadMoney = #{secondaryUploadMoney}, secondaryUploadMoney = #{secondaryUploadMoney},
secondTreatCost = #{secondTreatCost}, secondTreatCost = #{secondTreatCost},
@ -159,4 +159,12 @@
${ew.sqlSegment} ${ew.sqlSegment}
</where> </where>
</select> </select>
<delete id="delByVehSid2">
delete
from scm_veh_rebate
where vehSid = #{vehSid}
and useOrgSid = #{useOrgSid}
and rebateTypeKey = #{key}
</delete>
</mapper> </mapper>

5
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateRest.java

@ -228,4 +228,9 @@ public class ScmVehRebateRest implements ScmVehRebateFeign {
public ResultBean delByVehSid(String vehSid) { public ResultBean delByVehSid(String vehSid) {
return scmVehRebateService.delByVehSid(vehSid); return scmVehRebateService.delByVehSid(vehSid);
} }
@Override
public ResultBean delByVehSid2(String vehSid, String useOrgSid, String key) {
return scmVehRebateService.delByVehSid2(vehSid,useOrgSid,key);
}
} }

46
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateService.java

@ -1485,10 +1485,14 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper,
break; break;
} }
} }
if (StringUtils.isBlank(excelInfo.getUploadDate())) { if (StringUtils.isBlank(excelInfo.getUploadDate()) && StringUtils.isNotBlank(excelInfo.getUploadMoney())) {
checkWord.add("上传日期不能为空"); checkWord.add("上传日期不能为空");
break; break;
} }
if (StringUtils.isNotBlank(excelInfo.getUploadDate()) && StringUtils.isBlank(excelInfo.getUploadMoney())) {
checkWord.add("上传金额不能为空");
break;
}
if (StringUtils.isNotBlank(excelInfo.getUploadDate())) { if (StringUtils.isNotBlank(excelInfo.getUploadDate())) {
String uploadDate = ""; String uploadDate = "";
if (isNumber(excelInfo.getUploadDate())) { if (isNumber(excelInfo.getUploadDate())) {
@ -1506,10 +1510,6 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper,
break; break;
} }
} }
if (StringUtils.isBlank(excelInfo.getUploadMoney())) {
checkWord.add("上传金额不能为空");
break;
}
if (StringUtils.isNotBlank(excelInfo.getUploadMoney())) { if (StringUtils.isNotBlank(excelInfo.getUploadMoney())) {
String uploadMoney = excelInfo.getUploadMoney(); String uploadMoney = excelInfo.getUploadMoney();
Pattern pattern = Pattern.compile("^(\\-|\\+)?\\d+(\\.\\d+)?$"); Pattern pattern = Pattern.compile("^(\\-|\\+)?\\d+(\\.\\d+)?$");
@ -1519,10 +1519,6 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper,
break; break;
} }
} }
if (StringUtils.isBlank(excelInfo.getStayDetermineMoney())) {
checkWord.add("待确定金额不能为空");
break;
}
if (StringUtils.isNotBlank(excelInfo.getStayDetermineMoney())) { if (StringUtils.isNotBlank(excelInfo.getStayDetermineMoney())) {
String stayDetermineMoney = excelInfo.getStayDetermineMoney(); String stayDetermineMoney = excelInfo.getStayDetermineMoney();
Pattern pattern = Pattern.compile("^(\\-|\\+)?\\d+(\\.\\d+)?$"); Pattern pattern = Pattern.compile("^(\\-|\\+)?\\d+(\\.\\d+)?$");
@ -1532,10 +1528,6 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper,
break; break;
} }
} }
if (StringUtils.isBlank(excelInfo.getOnceTreatCost())) {
checkWord.add("待支付费用不能为空");
break;
}
if (StringUtils.isNotBlank(excelInfo.getOnceTreatCost())) { if (StringUtils.isNotBlank(excelInfo.getOnceTreatCost())) {
String onceTreatCost = excelInfo.getOnceTreatCost(); String onceTreatCost = excelInfo.getOnceTreatCost();
Pattern pattern = Pattern.compile("^(\\-|\\+)?\\d+(\\.\\d+)?$"); Pattern pattern = Pattern.compile("^(\\-|\\+)?\\d+(\\.\\d+)?$");
@ -1545,10 +1537,6 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper,
break; break;
} }
} }
if (StringUtils.isBlank(excelInfo.getOnceSuppCost())) {
checkWord.add("抵顶费用不能为空");
break;
}
if (StringUtils.isNotBlank(excelInfo.getOnceSuppCost())) { if (StringUtils.isNotBlank(excelInfo.getOnceSuppCost())) {
String onceSuppCost = excelInfo.getOnceSuppCost(); String onceSuppCost = excelInfo.getOnceSuppCost();
Pattern pattern = Pattern.compile("^(\\-|\\+)?\\d+(\\.\\d+)?$"); Pattern pattern = Pattern.compile("^(\\-|\\+)?\\d+(\\.\\d+)?$");
@ -1997,10 +1985,14 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper,
break; break;
} }
} }
if (StringUtils.isBlank(excelInfo.getUploadDate())) { if (StringUtils.isBlank(excelInfo.getUploadDate()) && StringUtils.isNotBlank(excelInfo.getSecondaryUploadMoney())) {
checkWord.add("二次上传日期不能为空"); checkWord.add("二次上传日期不能为空");
break; break;
} }
if (StringUtils.isNotBlank(excelInfo.getUploadDate()) && StringUtils.isBlank(excelInfo.getSecondaryUploadMoney())) {
checkWord.add("二次上传金额不能为空");
break;
}
if (StringUtils.isNotBlank(excelInfo.getSecondaryUploadDate())) { if (StringUtils.isNotBlank(excelInfo.getSecondaryUploadDate())) {
String secondaryUploadDate = ""; String secondaryUploadDate = "";
if (isNumber(excelInfo.getSecondaryUploadDate())) { if (isNumber(excelInfo.getSecondaryUploadDate())) {
@ -2018,10 +2010,6 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper,
break; break;
} }
} }
if (StringUtils.isBlank(excelInfo.getSecondaryUploadMoney())) {
checkWord.add("二次上传金额不能为空");
break;
}
if (StringUtils.isNotBlank(excelInfo.getSecondaryUploadMoney())) { if (StringUtils.isNotBlank(excelInfo.getSecondaryUploadMoney())) {
String secondaryUploadMoney = excelInfo.getSecondaryUploadMoney(); String secondaryUploadMoney = excelInfo.getSecondaryUploadMoney();
Pattern pattern = Pattern.compile("^(\\-|\\+)?\\d+(\\.\\d+)?$"); Pattern pattern = Pattern.compile("^(\\-|\\+)?\\d+(\\.\\d+)?$");
@ -2031,10 +2019,6 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper,
break; break;
} }
} }
if (StringUtils.isBlank(excelInfo.getSecondTreatCost())) {
checkWord.add("待支付费用不能为空");
break;
}
if (StringUtils.isNotBlank(excelInfo.getSecondTreatCost())) { if (StringUtils.isNotBlank(excelInfo.getSecondTreatCost())) {
String secondTreatCost = excelInfo.getSecondTreatCost(); String secondTreatCost = excelInfo.getSecondTreatCost();
Pattern pattern = Pattern.compile("^(\\-|\\+)?\\d+(\\.\\d+)?$"); Pattern pattern = Pattern.compile("^(\\-|\\+)?\\d+(\\.\\d+)?$");
@ -2044,10 +2028,6 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper,
break; break;
} }
} }
if (StringUtils.isBlank(excelInfo.getSecondSuppCost())) {
checkWord.add("抵顶费费用不能为空");
break;
}
if (StringUtils.isNotBlank(excelInfo.getSecondSuppCost())) { if (StringUtils.isNotBlank(excelInfo.getSecondSuppCost())) {
String secondSuppCost = excelInfo.getSecondSuppCost(); String secondSuppCost = excelInfo.getSecondSuppCost();
Pattern pattern = Pattern.compile("^(\\-|\\+)?\\d+(\\.\\d+)?$"); Pattern pattern = Pattern.compile("^(\\-|\\+)?\\d+(\\.\\d+)?$");
@ -2115,6 +2095,12 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper,
return rb.success(); return rb.success();
} }
public ResultBean delByVehSid2(String vehSid,String useOrgSid,String key) {
ResultBean rb = ResultBean.fireFail();
baseMapper.delByVehSid2(vehSid,useOrgSid,key);
return rb.success();
}
public List<ScmVehRebateExcelVo> excelList(ScmVehRebateQuery query) { public List<ScmVehRebateExcelVo> excelList(ScmVehRebateQuery query) {
QueryWrapper<ScmVehRebate> qw = new QueryWrapper<>(); QueryWrapper<ScmVehRebate> qw = new QueryWrapper<>();
//========================================数据授权开始 //========================================数据授权开始

13
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/oa/leaveapply/AppLeaveApplyDetailsVo.java

@ -36,19 +36,6 @@ import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
/**
* Project: yxt-oa(请假申请) <br/>
* File: OaLeaveApplyVo.java <br/>
* Class: com.yxt.anrui.oa.api.oaleaveapply.OaLeaveApplyVo <br/>
* Description: 请假申请 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-11-28 15:24:37 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data @Data
@ApiModel(value = "请假申请 视图数据详情", description = "请假申请 视图数据详情") @ApiModel(value = "请假申请 视图数据详情", description = "请假申请 视图数据详情")
public class AppLeaveApplyDetailsVo implements Vo { public class AppLeaveApplyDetailsVo implements Vo {

14
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/oa/leaveapply/AppLeaveApplyDto.java

@ -36,19 +36,7 @@ import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
/**
* Project: yxt-oa(请假申请) <br/>
* File: OaLeaveApplyDto.java <br/>
* Class: com.yxt.anrui.oa.api.oaleaveapply.OaLeaveApplyDto <br/>
* Description: 请假申请 数据传输对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-11-28 15:24:37 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data @Data
@ApiModel(value = "请假申请 数据传输对象", description = "请假申请 数据传输对象") @ApiModel(value = "请假申请 数据传输对象", description = "请假申请 数据传输对象")
public class AppLeaveApplyDto implements Dto { public class AppLeaveApplyDto implements Dto {

15
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/oa/leaveapply/AppLeaveApplyInitVo.java

@ -25,30 +25,15 @@
*********************************************************/ *********************************************************/
package com.yxt.anrui.terminal.api.oa.leaveapply; package com.yxt.anrui.terminal.api.oa.leaveapply;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.vo.Vo; import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
/**
* Project: yxt-oa(请假申请) <br/>
* File: OaLeaveApplyVo.java <br/>
* Class: com.yxt.anrui.oa.api.oaleaveapply.OaLeaveApplyVo <br/>
* Description: 请假申请 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-11-28 15:24:37 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data @Data
@ApiModel(value = "请假申请 视图数据详情", description = "请假申请 视图数据详情") @ApiModel(value = "请假申请 视图数据详情", description = "请假申请 视图数据详情")
public class AppLeaveApplyInitVo implements Vo { public class AppLeaveApplyInitVo implements Vo {

14
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/oa/mendapply/AppMendApplyDetailsVo.java

@ -36,19 +36,7 @@ import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
/**
* Project: yxt-oa(补卡申请) <br/>
* File: OaMendApplyVo.java <br/>
* Class: com.yxt.anrui.oa.api.oamendapply.OaMendApplyVo <br/>
* Description: 补卡申请 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-12-04 14:14:34 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data @Data
@ApiModel(value = "补卡申请 视图数据详情", description = "补卡申请 视图数据详情") @ApiModel(value = "补卡申请 视图数据详情", description = "补卡申请 视图数据详情")
public class AppMendApplyDetailsVo implements Vo { public class AppMendApplyDetailsVo implements Vo {

14
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/oa/mendapply/AppMendApplyDto.java

@ -36,19 +36,7 @@ import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
/**
* Project: yxt-oa(补卡申请) <br/>
* File: OaMendApplyDto.java <br/>
* Class: com.yxt.anrui.oa.api.oamendapply.OaMendApplyDto <br/>
* Description: 补卡申请 数据传输对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-12-04 14:14:34 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data @Data
@ApiModel(value = "补卡申请 数据传输对象", description = "补卡申请 数据传输对象") @ApiModel(value = "补卡申请 数据传输对象", description = "补卡申请 数据传输对象")
public class AppMendApplyDto implements Dto { public class AppMendApplyDto implements Dto {

14
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/oa/mendapply/AppMendApplyInitVo.java

@ -34,19 +34,7 @@ import lombok.Data;
import java.util.Date; import java.util.Date;
/**
* Project: yxt-oa(补卡申请) <br/>
* File: OaMendApplyVo.java <br/>
* Class: com.yxt.anrui.oa.api.oamendapply.OaMendApplyVo <br/>
* Description: 补卡申请 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-12-04 14:14:34 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data @Data
@ApiModel(value = "补卡申请 视图数据对象", description = "补卡申请 视图数据对象") @ApiModel(value = "补卡申请 视图数据对象", description = "补卡申请 视图数据对象")
public class AppMendApplyInitVo implements Vo { public class AppMendApplyInitVo implements Vo {

14
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/oaleaveapply/OaLeaveApplyDetailsVo.java

@ -36,19 +36,7 @@ import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
/**
* Project: yxt-oa(请假申请) <br/>
* File: OaLeaveApplyVo.java <br/>
* Class: com.yxt.anrui.oa.api.oaleaveapply.OaLeaveApplyVo <br/>
* Description: 请假申请 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-11-28 15:24:37 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data @Data
@ApiModel(value = "请假申请 视图数据详情", description = "请假申请 视图数据详情") @ApiModel(value = "请假申请 视图数据详情", description = "请假申请 视图数据详情")
public class OaLeaveApplyDetailsVo implements Vo { public class OaLeaveApplyDetailsVo implements Vo {

13
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/oaleaveapply/OaLeaveApplyDto.java

@ -36,19 +36,6 @@ import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
/**
* Project: yxt-oa(请假申请) <br/>
* File: OaLeaveApplyDto.java <br/>
* Class: com.yxt.anrui.oa.api.oaleaveapply.OaLeaveApplyDto <br/>
* Description: 请假申请 数据传输对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-11-28 15:24:37 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data @Data
@ApiModel(value = "请假申请 数据传输对象", description = "请假申请 数据传输对象") @ApiModel(value = "请假申请 数据传输对象", description = "请假申请 数据传输对象")
public class OaLeaveApplyDto implements Dto { public class OaLeaveApplyDto implements Dto {

14
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/oaleaveapply/OaLeaveApplyInitVo.java

@ -36,19 +36,7 @@ import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
/**
* Project: yxt-oa(请假申请) <br/>
* File: OaLeaveApplyVo.java <br/>
* Class: com.yxt.anrui.oa.api.oaleaveapply.OaLeaveApplyVo <br/>
* Description: 请假申请 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-11-28 15:24:37 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data @Data
@ApiModel(value = "请假申请 视图数据详情", description = "请假申请 视图数据详情") @ApiModel(value = "请假申请 视图数据详情", description = "请假申请 视图数据详情")
public class OaLeaveApplyInitVo implements Vo { public class OaLeaveApplyInitVo implements Vo {

14
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/oamendapply/OaMendApply.java

@ -34,19 +34,7 @@ import lombok.Data;
import java.util.Date; import java.util.Date;
/**
* Project: yxt-oa(补卡申请) <br/>
* File: OaMendApply.java <br/>
* Class: com.yxt.anrui.oa.api.oamendapply.OaMendApply <br/>
* Description: 补卡申请. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-12-04 14:14:34 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data @Data
@ApiModel(value = "补卡申请", description = "补卡申请") @ApiModel(value = "补卡申请", description = "补卡申请")
@TableName("oa_mend_apply") @TableName("oa_mend_apply")

14
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/oamendapply/OaMendApplyDetailsVo.java

@ -37,19 +37,7 @@ import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
/**
* Project: yxt-oa(补卡申请) <br/>
* File: OaMendApplyVo.java <br/>
* Class: com.yxt.anrui.oa.api.oamendapply.OaMendApplyVo <br/>
* Description: 补卡申请 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-12-04 14:14:34 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data @Data
@ApiModel(value = "补卡申请 视图数据详情", description = "补卡申请 视图数据详情") @ApiModel(value = "补卡申请 视图数据详情", description = "补卡申请 视图数据详情")
public class OaMendApplyDetailsVo extends OaLeaveApplyDetailsVo implements Vo { public class OaMendApplyDetailsVo extends OaLeaveApplyDetailsVo implements Vo {

14
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/oamendapply/OaMendApplyDto.java

@ -36,19 +36,7 @@ import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
/**
* Project: yxt-oa(补卡申请) <br/>
* File: OaMendApplyDto.java <br/>
* Class: com.yxt.anrui.oa.api.oamendapply.OaMendApplyDto <br/>
* Description: 补卡申请 数据传输对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-12-04 14:14:34 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data @Data
@ApiModel(value = "补卡申请 数据传输对象", description = "补卡申请 数据传输对象") @ApiModel(value = "补卡申请 数据传输对象", description = "补卡申请 数据传输对象")
public class OaMendApplyDto implements Dto { public class OaMendApplyDto implements Dto {

14
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/oamendapply/OaMendApplyInitVo.java

@ -34,19 +34,7 @@ import lombok.Data;
import java.util.Date; import java.util.Date;
/**
* Project: yxt-oa(补卡申请) <br/>
* File: OaMendApplyVo.java <br/>
* Class: com.yxt.anrui.oa.api.oamendapply.OaMendApplyVo <br/>
* Description: 补卡申请 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-12-04 14:14:34 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data @Data
@ApiModel(value = "补卡申请 视图数据对象", description = "补卡申请 视图数据对象") @ApiModel(value = "补卡申请 视图数据对象", description = "补卡申请 视图数据对象")
public class OaMendApplyInitVo implements Vo { public class OaMendApplyInitVo implements Vo {

44
doc/databases/flowable.sql

@ -0,0 +1,44 @@
DROP TABLE IF EXISTS `flow_approver`;
CREATE TABLE `flow_approver`
(
`id` int(32) NOT NULL AUTO_INCREMENT COMMENT 'id',
`sid` varchar(64) NOT NULL COMMENT 'sid',
`lockVersion` int(32) DEFAULT '0' COMMENT '版本锁',
`createTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`modifyTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
`isEnable` int(32) DEFAULT '1' COMMENT '是否可用:1可用,0不可用',
`state` int(32) DEFAULT '1' COMMENT '状态',
`isDelete` int(32) DEFAULT '0' COMMENT '是否删除:0未删除,1已删除',
`remarks` varchar(255) DEFAULT NULL COMMENT '备注',
`createBySid` varchar(64) DEFAULT NULL COMMENT '创建人sid',
`updateBySid` varchar(64) DEFAULT NULL COMMENT '更新人sid',
`businessSid` varchar(64) DEFAULT NULL COMMENT '申请sid',
`sortNo` int(32) DEFAULT NULL COMMENT '序号',
`approverSid` varchar(64) DEFAULT NULL COMMENT '审批人sid',
`approvalName` varchar(64) DEFAULT NULL COMMENT '审批人名称',
PRIMARY KEY (`id`),
KEY `id` (`id`)
) ENGINE = INNODB
DEFAULT CHARSET = utf8 COMMENT ='流程审批人';
DROP TABLE IF EXISTS `flow_cc`;
CREATE TABLE `flow_cc`
(
`id` int(32) NOT NULL AUTO_INCREMENT COMMENT 'id',
`sid` varchar(64) NOT NULL COMMENT 'sid',
`lockVersion` int(32) DEFAULT '0' COMMENT '版本锁',
`createTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`modifyTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
`isEnable` int(32) DEFAULT '1' COMMENT '是否可用:1可用,0不可用',
`state` int(32) DEFAULT '1' COMMENT '状态',
`isDelete` int(32) DEFAULT '0' COMMENT '是否删除:0未删除,1已删除',
`remarks` varchar(255) DEFAULT NULL COMMENT '备注',
`createBySid` varchar(64) DEFAULT NULL COMMENT '创建人sid',
`updateBySid` varchar(64) DEFAULT NULL COMMENT '更新人sid',
`businessSid` varchar(64) DEFAULT NULL COMMENT '申请sid',
`ccSids` text DEFAULT NULL COMMENT '抄送人sid',
`ccNames` text DEFAULT NULL COMMENT '抄送名称',
PRIMARY KEY (`id`),
KEY `id` (`id`)
) ENGINE = INNODB
DEFAULT CHARSET = utf8 COMMENT ='流程抄送人';

8
yxt-as/src/main/java/com/yxt/anrui/as/api/assaleinvoiceapply/AsSaleinvoiceapplyVo.java

@ -68,10 +68,10 @@ public class AsSaleinvoiceapplyVo implements Vo {
private String deptName; private String deptName;
@ApiModelProperty("申请人") @ApiModelProperty("申请人")
private String createByName; private String createByName;
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@ApiModelProperty("申请日期") @ApiModelProperty("申请日期")
private Date createTime; private Date createTime;
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@ApiModelProperty("办结日期") @ApiModelProperty("办结日期")
private Date finishTime; private Date finishTime;
@ApiModelProperty("开票单位") @ApiModelProperty("开票单位")
@ -84,4 +84,8 @@ public class AsSaleinvoiceapplyVo implements Vo {
private BigDecimal invoicePrice; private BigDecimal invoicePrice;
@ApiModelProperty("附件") @ApiModelProperty("附件")
private List<String> files = new ArrayList<>(); private List<String> files = new ArrayList<>();
@ApiModelProperty("流程定义的id")
private String procDefId;
@ApiModelProperty("流程实例的sid")
private String procInstId;
} }

162
yxt-as/src/main/java/com/yxt/anrui/as/biz/assaleinvoiceapply/AsSaleinvoiceapplyRest.java

@ -51,88 +51,88 @@ import java.util.List;
@RequestMapping("v1/salesInvoice") @RequestMapping("v1/salesInvoice")
public class AsSaleinvoiceapplyRest { public class AsSaleinvoiceapplyRest {
@Autowired @Autowired
private AsSaleinvoiceapplyService asSaleinvoiceapplyService; private AsSaleinvoiceapplyService asSaleinvoiceapplyService;
@ApiOperation("根据条件分页查询数据的列表") @ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage") @PostMapping("/listPage")
public ResultBean<PagerVo<AsSaleinvoiceapplyVo>> listPage(@RequestBody PagerQuery<AsSaleinvoiceapplyQuery> pq){ public ResultBean<PagerVo<AsSaleinvoiceapplyVo>> listPage(@RequestBody PagerQuery<AsSaleinvoiceapplyQuery> pq) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
PagerVo<AsSaleinvoiceapplyVo> pv = asSaleinvoiceapplyService.listPageVo(pq); PagerVo<AsSaleinvoiceapplyVo> pv = asSaleinvoiceapplyService.listPageVo(pq);
return rb.success().setData(pv); return rb.success().setData(pv);
} }
@ApiOperation("新增或修改") @ApiOperation("新增或修改")
@PostMapping("/saveOrUpdate") @PostMapping("/saveOrUpdate")
public ResultBean save(@RequestBody AsSaleinvoiceapplyDto dto){ public ResultBean save(@RequestBody AsSaleinvoiceapplyDto dto) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
asSaleinvoiceapplyService.saveOrUpdateDto(dto); asSaleinvoiceapplyService.saveOrUpdateDto(dto);
return rb.success(); return rb.success();
} }
@ApiOperation("根据sid批量删除") @ApiOperation("根据sid批量删除")
@DeleteMapping("/delBySids") @DeleteMapping("/delBySids")
public ResultBean delBySids(@RequestBody String[] sids){ public ResultBean delBySids(@RequestBody String[] sids) {
return asSaleinvoiceapplyService.delAll(sids); return asSaleinvoiceapplyService.delAll(sids);
} }
@ApiOperation("根据SID获取一条记录") @ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchDetailsBySid/{sid}") @GetMapping("/fetchDetailsBySid/{sid}")
public ResultBean<AsSaleinvoiceapplyDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid){ public ResultBean<AsSaleinvoiceapplyDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
AsSaleinvoiceapplyDetailsVo vo = asSaleinvoiceapplyService.fetchDetailsVoBySid(sid); AsSaleinvoiceapplyDetailsVo vo = asSaleinvoiceapplyService.fetchDetailsVoBySid(sid);
return rb.success().setData(vo); return rb.success().setData(vo);
} }
@ApiOperation("提交") @ApiOperation("提交")
@PostMapping("/submit") @PostMapping("/submit")
public ResultBean submitApply(@Valid @RequestBody SubmitSaleinvoiceapplyDto dto) { public ResultBean submitApply(@Valid @RequestBody SubmitSaleinvoiceapplyDto dto) {
return asSaleinvoiceapplyService.submitApply(dto); return asSaleinvoiceapplyService.submitApply(dto);
} }
@ApiOperation(value = "办理(同意)") @ApiOperation(value = "办理(同意)")
@PostMapping("/complete") @PostMapping("/complete")
public ResultBean complete(@Valid @RequestBody CompleteSaleinvoiceapplyDto query) { public ResultBean complete(@Valid @RequestBody CompleteSaleinvoiceapplyDto query) {
BusinessVariables bv = new BusinessVariables(); BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv); BeanUtil.copyProperties(query, bv);
bv.setModelId(""); bv.setModelId("");
return asSaleinvoiceapplyService.complete(bv); return asSaleinvoiceapplyService.complete(bv);
} }
@ApiOperation(value = "获取上一个环节") @ApiOperation(value = "获取上一个环节")
@GetMapping(value = "/getPreviousNodesForReject") @GetMapping(value = "/getPreviousNodesForReject")
ResultBean<List<SaleinvoiceapplyNodeVo>> getPreviousNodesForReject(@Valid @SpringQueryMap SaleinvoiceapplyNodeQuery query) { ResultBean<List<SaleinvoiceapplyNodeVo>> getPreviousNodesForReject(@Valid @SpringQueryMap SaleinvoiceapplyNodeQuery query) {
return asSaleinvoiceapplyService.getPreviousNodesForReject(query); return asSaleinvoiceapplyService.getPreviousNodesForReject(query);
} }
@ApiOperation(value = "获取下一个环节") @ApiOperation(value = "获取下一个环节")
@GetMapping(value = "/getNextNodesForSubmit") @GetMapping(value = "/getNextNodesForSubmit")
ResultBean<List<SaleinvoiceapplyNodeVo>> getNextNodesForSubmit(@Valid @SpringQueryMap SaleinvoiceapplyNodeQuery query) { ResultBean<List<SaleinvoiceapplyNodeVo>> getNextNodesForSubmit(@Valid @SpringQueryMap SaleinvoiceapplyNodeQuery query) {
return asSaleinvoiceapplyService.getNextNodesForSubmit(query); return asSaleinvoiceapplyService.getNextNodesForSubmit(query);
} }
@ApiOperation(value = "驳回任务") @ApiOperation(value = "驳回任务")
@PostMapping(value = "/reject") @PostMapping(value = "/reject")
public ResultBean taskReject(@Valid @RequestBody SaleinvoiceapplyTaskQuery query) { public ResultBean taskReject(@Valid @RequestBody SaleinvoiceapplyTaskQuery query) {
return asSaleinvoiceapplyService.taskReject(query); return asSaleinvoiceapplyService.taskReject(query);
} }
@ApiOperation(value = "撤回流程") @ApiOperation(value = "撤回流程")
@PostMapping(value = "/revokeProcess") @PostMapping(value = "/revokeProcess")
public ResultBean revokeProcess(@Valid @RequestBody SaleinvoiceapplyTaskQuery query) { public ResultBean revokeProcess(@Valid @RequestBody SaleinvoiceapplyTaskQuery query) {
return asSaleinvoiceapplyService.revokeProcess(query); return asSaleinvoiceapplyService.revokeProcess(query);
} }
@ApiOperation(value = "终止任务") @ApiOperation(value = "终止任务")
@PostMapping(value = "/breakProcess") @PostMapping(value = "/breakProcess")
public ResultBean breakProcess(@Valid @RequestBody SaleinvoiceapplyTaskQuery query) { public ResultBean breakProcess(@Valid @RequestBody SaleinvoiceapplyTaskQuery query) {
return asSaleinvoiceapplyService.breakProcess(query); return asSaleinvoiceapplyService.breakProcess(query);
} }
@ApiOperation(value = "加签") @ApiOperation(value = "加签")
@PostMapping(value = "/delegate") @PostMapping(value = "/delegate")
@ResponseBody @ResponseBody
public ResultBean delegate(@RequestBody SaleinvoiceapplyDelegateQuery query) { public ResultBean delegate(@RequestBody SaleinvoiceapplyDelegateQuery query) {
return asSaleinvoiceapplyService.delegate(query); return asSaleinvoiceapplyService.delegate(query);
} }
} }

118
yxt-oa/src/main/java/com/yxt/anrui/oa/api/AdFrockallotApplyRest.java

@ -0,0 +1,118 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.oa.api;
import com.yxt.anrui.oa.biz.adfrockallotapply.*;
import com.yxt.anrui.oa.biz.adpircarpulapply.AdPircarpulApplyDetailsVo;
import com.yxt.anrui.oa.biz.adpircarpulapply.AdPircarpulApplyDto;
import com.yxt.anrui.oa.biz.adpircarpulapply.AdPircarpulApplyVo;
import com.yxt.anrui.oa.biz.oaform.flowable.CompleteDto;
import com.yxt.anrui.oa.biz.oaform.flowable.NodeQuery;
import com.yxt.anrui.oa.biz.oaform.flowable.TaskDto;
import com.yxt.common.core.query.PagerQuery;
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.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import com.yxt.anrui.oa.api.adfrockallotapply.AdFrockallotApply;
import com.yxt.anrui.oa.api.adfrockallotapply.AdFrockallotApplyQuery;
import com.yxt.anrui.oa.api.adfrockallotapply.AdFrockallotApplyVo;
import com.yxt.anrui.oa.api.adfrockallotapply.AdFrockallotApplyDetailsVo;
import com.yxt.anrui.oa.api.adfrockallotapply.AdFrockallotApplyDto;
import com.yxt.anrui.oa.api.adfrockallotapply.AdFrockallotApplyFeign;
import javax.validation.Valid;
@Api(tags = "工装订制配发申请")
@RestController
@RequestMapping("v1/adfrockallotapply")
public class AdFrockallotApplyRest {
@Autowired
private AdFrockallotApplyService adFrockallotApplyService;
@ApiOperation("初始化(新增或修改)")
@GetMapping({"/getInit", "/getInit/{sid}"})
public ResultBean<AdFrockallotApplyVo> getInit(
@PathVariable(value = "sid", required = false) String sid,
@RequestParam(value = "userSid", required = false) String userSid,
@RequestParam(value = "orgPath", required = false) String orgPath) {
ResultBean<AdFrockallotApplyVo> rb = ResultBean.fireFail();
if (sid == null || sid.isEmpty()) {
// 执行新增初始化
if (userSid == null || orgPath == null) {
return rb.setMsg("userSid和orgPath不能为空");
}
return adFrockallotApplyService.getSaveInit(userSid, orgPath);
} else {
// 执行修改初始化
return adFrockallotApplyService.getUpdateInit(sid);
}
}
@ApiOperation("新增或修改")
@PostMapping("/save")
public ResultBean save(@RequestBody AdPircarpulApplyDto dto) {
return adFrockallotApplyService.saveOrUpdateDto(dto);
}
@ApiOperation("详情")
@GetMapping("/details/{sid}")
ResultBean<AdPircarpulApplyDetailsVo> details(@PathVariable("sid") String sid
, @RequestParam(value = "application", required = false) String application) {
return adFrockallotApplyService.details(sid,application);
}
@ApiOperation("提交审批流程")
@PostMapping("/submit")
public ResultBean submit(@RequestBody AdPircarpulApplyDto dto) {
return adFrockallotApplyService.submit(dto);
}
@ApiOperation(value = "办理(同意)")
@PutMapping("/complete")
public ResultBean complete(@Valid @RequestBody CompleteDto dto) {
return adFrockallotApplyService.complete(dto);
}
@ApiOperation(value = "驳回任务")
@PutMapping(value = "/reject")
public ResultBean reject(@Valid @RequestBody TaskDto dto) {
return adFrockallotApplyService.reject(dto);
}
@ApiOperation("获取流程操作标题")
@GetMapping("/getFlowOperateTitle")
@ResponseBody
ResultBean<String> getFlowOperateTitle(@SpringQueryMap NodeQuery query) {
return adFrockallotApplyService.getFlowOperateTitle(query);
}
}

51
yxt-oa/src/main/java/com/yxt/anrui/oa/api/AdFrockallotDetailRest.java

@ -0,0 +1,51 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.oa.api;
import com.yxt.anrui.oa.biz.adfrockallotdetail.*;
import com.yxt.common.core.query.PagerQuery;
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.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import com.yxt.anrui.oa.api.adfrockallotdetail.AdFrockallotDetail;
import com.yxt.anrui.oa.api.adfrockallotdetail.AdFrockallotDetailQuery;
import com.yxt.anrui.oa.api.adfrockallotdetail.AdFrockallotDetailVo;
import com.yxt.anrui.oa.api.adfrockallotdetail.AdFrockallotDetailDetailsVo;
import com.yxt.anrui.oa.api.adfrockallotdetail.AdFrockallotDetailDto;
import com.yxt.anrui.oa.api.adfrockallotdetail.AdFrockallotDetailFeign;
@Api(tags = "工装订制配发列表")
@RestController
@RequestMapping("v1/adfrockallotdetail")
public class AdFrockallotDetailRest {
}

111
yxt-oa/src/main/java/com/yxt/anrui/oa/api/AdPircarpulApplyRest.java

@ -0,0 +1,111 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.oa.api;
import com.yxt.anrui.oa.biz.adleasehostapply.AdLeasehostApplyDetailsVo;
import com.yxt.anrui.oa.biz.adleasehostapply.AdLeasehostApplyDto;
import com.yxt.anrui.oa.biz.adleasehostapply.adPircarpulApplyService;
import com.yxt.anrui.oa.biz.adleasehostapply.AdLeasehostApplyVo;
import com.yxt.anrui.oa.biz.adpircarpulapply.*;
import com.yxt.anrui.oa.biz.oaform.flowable.CompleteDto;
import com.yxt.anrui.oa.biz.oaform.flowable.NodeQuery;
import com.yxt.anrui.oa.biz.oaform.flowable.TaskDto;
import com.yxt.common.core.query.PagerQuery;
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.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
@Api(tags = "临时私车公用申请")
@RestController
@RequestMapping("v1/adpircarpulapply")
public class AdPircarpulApplyRest {
@Autowired
private AdPircarpulApplyService adPircarpulApplyService;
@ApiOperation("初始化(新增或修改)")
@GetMapping({"/getInit", "/getInit/{sid}"})
public ResultBean<AdPircarpulApplyVo> getInit(
@PathVariable(value = "sid", required = false) String sid,
@RequestParam(value = "userSid", required = false) String userSid,
@RequestParam(value = "orgPath", required = false) String orgPath) {
ResultBean<AdPircarpulApplyVo> rb = ResultBean.fireFail();
if (sid == null || sid.isEmpty()) {
// 执行新增初始化
if (userSid == null || orgPath == null) {
return rb.setMsg("userSid和orgPath不能为空");
}
return adPircarpulApplyService.getSaveInit(userSid, orgPath);
} else {
// 执行修改初始化
return adPircarpulApplyService.getUpdateInit(sid);
}
}
@ApiOperation("新增或修改")
@PostMapping("/save")
public ResultBean save(@RequestBody AdPircarpulApplyDto dto) {
return adPircarpulApplyService.saveOrUpdateDto(dto);
}
@ApiOperation("详情")
@GetMapping("/details/{sid}")
ResultBean<AdPircarpulApplyDetailsVo> details(@PathVariable("sid") String sid
, @RequestParam(value = "application", required = false) String application) {
return adPircarpulApplyService.details(sid,application);
}
@ApiOperation("提交审批流程")
@PostMapping("/submit")
public ResultBean submit(@RequestBody AdPircarpulApplyDto dto) {
return adPircarpulApplyService.submit(dto);
}
@ApiOperation(value = "办理(同意)")
@PutMapping("/complete")
public ResultBean complete(@Valid @RequestBody CompleteDto dto) {
return adPircarpulApplyService.complete(dto);
}
@ApiOperation(value = "驳回任务")
@PutMapping(value = "/reject")
public ResultBean reject(@Valid @RequestBody TaskDto dto) {
return adPircarpulApplyService.reject(dto);
}
@ApiOperation("获取流程操作标题")
@GetMapping("/getFlowOperateTitle")
@ResponseBody
ResultBean<String> getFlowOperateTitle(@SpringQueryMap NodeQuery query) {
return adPircarpulApplyService.getFlowOperateTitle(query);
}
}

36
yxt-oa/src/main/java/com/yxt/anrui/oa/api/AdPircarpulDetailRest.java

@ -0,0 +1,36 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.oa.api;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.*;
@Api(tags = "临时私车公用列表")
@RestController
@RequestMapping("v1/adpircarpuldetail")
public class AdPircarpulDetailRest {
}

104
yxt-oa/src/main/java/com/yxt/anrui/oa/api/AdSenpircarpulApplyRest.java

@ -0,0 +1,104 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.oa.api;
import com.yxt.anrui.oa.biz.adsenpircarpulapply.*;
import com.yxt.anrui.oa.biz.oaform.flowable.CompleteDto;
import com.yxt.anrui.oa.biz.oaform.flowable.NodeQuery;
import com.yxt.anrui.oa.biz.oaform.flowable.TaskDto;
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.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
@Api(tags = "总经理级固定私车公用申请")
@RestController
@RequestMapping("v1/adsenpircarpulapply")
public class AdSenpircarpulApplyRest {
@Autowired
private AdSenpircarpulApplyService adSenpircarpulApplyService;
@ApiOperation("初始化(新增或修改)")
@GetMapping({"/getInit", "/getInit/{sid}"})
public ResultBean<AdSenpircarpulApplyVo> getInit(
@PathVariable(value = "sid", required = false) String sid,
@RequestParam(value = "userSid", required = false) String userSid,
@RequestParam(value = "orgPath", required = false) String orgPath) {
ResultBean<AdSenpircarpulApplyVo> rb = ResultBean.fireFail();
if (sid == null || sid.isEmpty()) {
// 执行新增初始化
if (userSid == null || orgPath == null) {
return rb.setMsg("userSid和orgPath不能为空");
}
return adSenpircarpulApplyService.getSaveInit(userSid, orgPath);
} else {
// 执行修改初始化
return adSenpircarpulApplyService.getUpdateInit(sid);
}
}
@ApiOperation("新增或修改")
@PostMapping("/save")
public ResultBean save(@RequestBody AdSenpircarpulApplyDto dto) {
return adSenpircarpulApplyService.saveOrUpdateDto(dto);
}
@ApiOperation("详情")
@GetMapping("/details/{sid}")
ResultBean<AdSenpircarpulApplyDetailsVo> details(@PathVariable("sid") String sid
, @RequestParam(value = "application", required = false) String application) {
return adSenpircarpulApplyService.details(sid,application);
}
@ApiOperation("提交审批流程")
@PostMapping("/submit")
public ResultBean submit(@RequestBody AdSenpircarpulApplyDto dto) {
return adSenpircarpulApplyService.submit(dto);
}
@ApiOperation(value = "办理(同意)")
@PutMapping("/complete")
public ResultBean complete(@Valid @RequestBody CompleteDto dto) {
return adSenpircarpulApplyService.complete(dto);
}
@ApiOperation(value = "驳回任务")
@PutMapping(value = "/reject")
public ResultBean reject(@Valid @RequestBody TaskDto dto) {
return adSenpircarpulApplyService.reject(dto);
}
@ApiOperation("获取流程操作标题")
@GetMapping("/getFlowOperateTitle")
@ResponseBody
ResultBean<String> getFlowOperateTitle(@SpringQueryMap NodeQuery query) {
return adSenpircarpulApplyService.getFlowOperateTitle(query);
}
}

36
yxt-oa/src/main/java/com/yxt/anrui/oa/api/AdSenpircarpulDetailRest.java

@ -0,0 +1,36 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.oa.api;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.*;
@Api(tags = "总经理级固定私车公用列表")
@RestController
@RequestMapping("v1/adsenpircarpuldetail")
public class AdSenpircarpulDetailRest {
}

14
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adallocateassetdetails/AdAllocateAssetDetailsDto.java

@ -32,19 +32,7 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
/**
* Project: yxt-oa(认定人员) <br/>
* File: AdExpatriatesDetailVo.java <br/>
* Class: com.yxt.anrui.oa.api.adexpatriatesdetail.AdExpatriatesDetailVo <br/>
* Description: 驻外人员认定列表 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2025-01-20 15:35:08 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data @Data
@ApiModel(value = "固定资产列表 视图数据对象", description = "固定资产列表 视图数据对象") @ApiModel(value = "固定资产列表 视图数据对象", description = "固定资产列表 视图数据对象")
public class AdAllocateAssetDetailsDto implements Vo { public class AdAllocateAssetDetailsDto implements Vo {

14
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adallocateassetdetails/AdAllocateAssetDetailsVo.java

@ -32,19 +32,7 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
/**
* Project: yxt-oa(认定人员) <br/>
* File: AdExpatriatesDetailVo.java <br/>
* Class: com.yxt.anrui.oa.api.adexpatriatesdetail.AdExpatriatesDetailVo <br/>
* Description: 驻外人员认定列表 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2025-01-20 15:35:08 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data @Data
@ApiModel(value = "固定资产列表 视图数据对象", description = "固定资产列表 视图数据对象") @ApiModel(value = "固定资产列表 视图数据对象", description = "固定资产列表 视图数据对象")
public class AdAllocateAssetDetailsVo implements Vo { public class AdAllocateAssetDetailsVo implements Vo {

14
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adallocateassetdetails/AdAllocateAssetListDetailsVo.java

@ -31,19 +31,7 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
/**
* Project: yxt-oa(认定人员) <br/>
* File: AdExpatriatesDetailVo.java <br/>
* Class: com.yxt.anrui.oa.api.adexpatriatesdetail.AdExpatriatesDetailVo <br/>
* Description: 驻外人员认定列表 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2025-01-20 15:35:08 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data @Data
@ApiModel(value = "固定资产列表 视图数据对象", description = "固定资产列表 视图数据对象") @ApiModel(value = "固定资产列表 视图数据对象", description = "固定资产列表 视图数据对象")
public class AdAllocateAssetListDetailsVo implements Vo { public class AdAllocateAssetListDetailsVo implements Vo {

14
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adbeverageacceptancedetail/AdBeverageAcceptanceDetail.java

@ -33,19 +33,7 @@ import lombok.Data;
import java.math.BigDecimal; import java.math.BigDecimal;
/**
* Project: yxt-oa(认定人员) <br/>
* File: AdExpatriatesDetail.java <br/>
* Class: com.yxt.anrui.oa.api.adexpatriatesdetail.AdExpatriatesDetail <br/>
* Description: 驻外人员认定列表. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2025-01-20 15:35:08 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data @Data
@ApiModel(value = "集团用酒领用申请列表", description = "集团用酒领用申请列表") @ApiModel(value = "集团用酒领用申请列表", description = "集团用酒领用申请列表")
@TableName("ad_beverage_acceptance_detail") @TableName("ad_beverage_acceptance_detail")

14
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adbeverageacceptancedetail/AdBeverageAcceptanceDetailDto.java

@ -32,19 +32,7 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
/**
* Project: yxt-oa(认定人员) <br/>
* File: AdExpatriatesDetailDto.java <br/>
* Class: com.yxt.anrui.oa.api.adexpatriatesdetail.AdExpatriatesDetailDto <br/>
* Description: 驻外人员认定列表 数据传输对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2025-01-20 15:35:08 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data @Data
@ApiModel(value = "驻外人员认定列表 数据传输对象", description = "驻外人员认定列表 数据传输对象") @ApiModel(value = "驻外人员认定列表 数据传输对象", description = "驻外人员认定列表 数据传输对象")
public class AdBeverageAcceptanceDetailDto implements Dto { public class AdBeverageAcceptanceDetailDto implements Dto {

14
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adbeverageacceptancedetail/AdBeverageAcceptanceDetailListDetailVo.java

@ -31,19 +31,7 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
/**
* Project: yxt-oa(认定人员) <br/>
* File: AdExpatriatesDetailVo.java <br/>
* Class: com.yxt.anrui.oa.api.adexpatriatesdetail.AdExpatriatesDetailVo <br/>
* Description: 驻外人员认定列表 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2025-01-20 15:35:08 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data @Data
@ApiModel(value = "驻外人员认定列表 视图数据对象", description = "驻外人员认定列表 视图数据对象") @ApiModel(value = "驻外人员认定列表 视图数据对象", description = "驻外人员认定列表 视图数据对象")
public class AdBeverageAcceptanceDetailListDetailVo implements Vo { public class AdBeverageAcceptanceDetailListDetailVo implements Vo {

14
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adbeverageacceptancedetail/AdBeverageAcceptanceDetailVo.java

@ -31,19 +31,7 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
/**
* Project: yxt-oa(认定人员) <br/>
* File: AdExpatriatesDetailVo.java <br/>
* Class: com.yxt.anrui.oa.api.adexpatriatesdetail.AdExpatriatesDetailVo <br/>
* Description: 驻外人员认定列表 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2025-01-20 15:35:08 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data @Data
@ApiModel(value = "驻外人员认定列表 视图数据对象", description = "驻外人员认定列表 视图数据对象") @ApiModel(value = "驻外人员认定列表 视图数据对象", description = "驻外人员认定列表 视图数据对象")
public class AdBeverageAcceptanceDetailVo implements Vo { public class AdBeverageAcceptanceDetailVo implements Vo {

14
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/addisposalassetdetails/AdDisposalAssetDetailsDto.java

@ -32,19 +32,7 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
/**
* Project: yxt-oa(认定人员) <br/>
* File: AdExpatriatesDetailVo.java <br/>
* Class: com.yxt.anrui.oa.api.adexpatriatesdetail.AdExpatriatesDetailVo <br/>
* Description: 驻外人员认定列表 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2025-01-20 15:35:08 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data @Data
@ApiModel(value = "固定资产处置列表 视图数据对象", description = "固定资产处置列表 视图数据对象") @ApiModel(value = "固定资产处置列表 视图数据对象", description = "固定资产处置列表 视图数据对象")
public class AdDisposalAssetDetailsDto implements Vo { public class AdDisposalAssetDetailsDto implements Vo {

14
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/addisposalassetdetails/AdDisposalAssetDetailsVo.java

@ -32,19 +32,7 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
/**
* Project: yxt-oa(认定人员) <br/>
* File: AdExpatriatesDetailVo.java <br/>
* Class: com.yxt.anrui.oa.api.adexpatriatesdetail.AdExpatriatesDetailVo <br/>
* Description: 驻外人员认定列表 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2025-01-20 15:35:08 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data @Data
@ApiModel(value = "固定资产处置列表 视图数据对象", description = "固定资产处置列表 视图数据对象") @ApiModel(value = "固定资产处置列表 视图数据对象", description = "固定资产处置列表 视图数据对象")
public class AdDisposalAssetDetailsVo implements Vo { public class AdDisposalAssetDetailsVo implements Vo {

14
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/addisposalassetdetails/AdDisposalAssetListDetailsVo.java

@ -31,19 +31,7 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
/**
* Project: yxt-oa(认定人员) <br/>
* File: AdExpatriatesDetailVo.java <br/>
* Class: com.yxt.anrui.oa.api.adexpatriatesdetail.AdExpatriatesDetailVo <br/>
* Description: 驻外人员认定列表 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2025-01-20 15:35:08 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data @Data
@ApiModel(value = "固定资产处置列表 视图数据对象", description = "固定资产处置列表 视图数据对象") @ApiModel(value = "固定资产处置列表 视图数据对象", description = "固定资产处置列表 视图数据对象")
public class AdDisposalAssetListDetailsVo implements Vo { public class AdDisposalAssetListDetailsVo implements Vo {

14
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesdetail/AdExpatriatesDetail.java

@ -31,19 +31,7 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
/**
* Project: yxt-oa(认定人员) <br/>
* File: AdExpatriatesDetail.java <br/>
* Class: com.yxt.anrui.oa.api.adexpatriatesdetail.AdExpatriatesDetail <br/>
* Description: 驻外人员认定列表. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2025-01-20 15:35:08 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data @Data
@ApiModel(value = "驻外人员认定列表", description = "驻外人员认定列表") @ApiModel(value = "驻外人员认定列表", description = "驻外人员认定列表")
@TableName("ad_expatriates_detail") @TableName("ad_expatriates_detail")

14
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesdetail/AdExpatriatesDetailDto.java

@ -33,19 +33,7 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
/**
* Project: yxt-oa(认定人员) <br/>
* File: AdExpatriatesDetailDto.java <br/>
* Class: com.yxt.anrui.oa.api.adexpatriatesdetail.AdExpatriatesDetailDto <br/>
* Description: 驻外人员认定列表 数据传输对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2025-01-20 15:35:08 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data @Data
@ApiModel(value = "驻外人员认定列表 数据传输对象", description = "驻外人员认定列表 数据传输对象") @ApiModel(value = "驻外人员认定列表 数据传输对象", description = "驻外人员认定列表 数据传输对象")
public class AdExpatriatesDetailDto implements Dto { public class AdExpatriatesDetailDto implements Dto {

14
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesdetail/AdExpatriatesDetailVo.java

@ -33,19 +33,7 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
/**
* Project: yxt-oa(认定人员) <br/>
* File: AdExpatriatesDetailVo.java <br/>
* Class: com.yxt.anrui.oa.api.adexpatriatesdetail.AdExpatriatesDetailVo <br/>
* Description: 驻外人员认定列表 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2025-01-20 15:35:08 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data @Data
@ApiModel(value = "驻外人员认定列表 视图数据对象", description = "驻外人员认定列表 视图数据对象") @ApiModel(value = "驻外人员认定列表 视图数据对象", description = "驻外人员认定列表 视图数据对象")
public class AdExpatriatesDetailVo implements Vo { public class AdExpatriatesDetailVo implements Vo {

14
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesdetail/AdExpatriatesListDetailVo.java

@ -31,19 +31,7 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
/**
* Project: yxt-oa(认定人员) <br/>
* File: AdExpatriatesDetailVo.java <br/>
* Class: com.yxt.anrui.oa.api.adexpatriatesdetail.AdExpatriatesDetailVo <br/>
* Description: 驻外人员认定列表 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2025-01-20 15:35:08 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data @Data
@ApiModel(value = "驻外人员认定列表 视图数据对象", description = "驻外人员认定列表 视图数据对象") @ApiModel(value = "驻外人员认定列表 视图数据对象", description = "驻外人员认定列表 视图数据对象")
public class AdExpatriatesListDetailVo implements Vo { public class AdExpatriatesListDetailVo implements Vo {

45
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adfrockallotapply/AdFrockallotApply.java

@ -0,0 +1,45 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.oa.biz.adfrockallotapply;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "工装订制配发申请", description = "工装订制配发申请")
@TableName("ad_frockallot_apply")
public class AdFrockallotApply extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("基础表单sid")
private String formSid; // 基础表单sid
@ApiModelProperty("关联审批sid列表,英文逗号分隔")
private String linkFormSids; // 关联审批sid列表,英文逗号分隔
}

49
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adfrockallotapply/AdFrockallotApplyDetailsVo.java

@ -0,0 +1,49 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.oa.biz.adfrockallotapply;
import com.yxt.anrui.oa.biz.adleasehostdetail.AdLeasehostListDetailVo;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
@Data
@ApiModel(value = "工装订制配发申请 视图数据详情", description = "工装订制配发申请 视图数据详情")
public class AdFrockallotApplyDetailsVo implements Vo {
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("图片")
private List<String> files = new ArrayList<>();
@ApiModelProperty("附件")
private List<String> appes = new ArrayList<>();
private List<AdLeasehostListDetailVo> list = new ArrayList<>();
}

70
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adfrockallotapply/AdFrockallotApplyDto.java

@ -0,0 +1,70 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.oa.biz.adfrockallotapply;
import com.yxt.anrui.oa.biz.adfrockallotdetail.AdFrockallotDetailDto;
import com.yxt.anrui.oa.biz.adpircarpuldetail.AdPircarpulDetailDto;
import com.yxt.anrui.oa.biz.oaform.OaFormDto;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* Project: yxt-oa(1) <br/>
* File: AdFrockallotApplyDto.java <br/>
* Class: com.yxt.anrui.oa.api.adfrockallotapply.AdFrockallotApplyDto <br/>
* Description: 工装订制配发申请 数据传输对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2025-02-20 10:41:13 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "工装订制配发申请 数据传输对象", description = "工装订制配发申请 数据传输对象")
public class AdFrockallotApplyDto extends OaFormDto {
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("基础表单sid")
private String formSid;
@ApiModelProperty("关联审批单")
private String linkFormSids;
@ApiModelProperty("图片")
private List<String> files = new ArrayList<>();
@ApiModelProperty("文件")
private List<String> appes = new ArrayList<>();
private List<AdFrockallotDetailDto> list = new ArrayList<>();
}

35
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adfrockallotapply/AdFrockallotApplyMapper.java

@ -0,0 +1,35 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.oa.biz.adfrockallotapply;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface AdFrockallotApplyMapper extends BaseMapper<AdFrockallotApply> {
AdFrockallotApplyDetailsVo details(String sid);
}

26
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adfrockallotapply/AdFrockallotApplyMapper.xml

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.anrui.oa.biz.adfrockallotapply.AdFrockallotApplyMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="details" resultType="com.yxt.anrui.oa.biz.adfrockallotapply.AdFrockallotApplyDetailsVo">
select remarks, sid
from ad_frockallot_apply
where sid = #{sid}
</select>
<resultMap id="detailMap" type="com.yxt.anrui.oa.biz.adfrockallotapply.AdFrockallotApplyDetailsVo">
<result column="remarks" property="remarks"/>
<collection property="list" ofType="com.yxt.anrui.oa.biz.adfrockallotdetail.AdFrockallotListDetailVo"
select="selectList" column="sid">
</collection>
</resultMap>
<select id="selectList" resultType="com.yxt.anrui.oa.biz.adfrockallotdetail.AdFrockallotListDetailVo">
select sid,
expectCost,
costRemarks
from ad_frockallot_detail
where mainSid = #{sid}
</select>
</mapper>

300
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adfrockallotapply/AdFrockallotApplyService.java

@ -0,0 +1,300 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.oa.biz.adfrockallotapply;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.oa.biz.adfrockallotdetail.AdFrockallotDetailDto;
import com.yxt.anrui.oa.biz.adfrockallotdetail.AdFrockallotDetailService;
import com.yxt.anrui.oa.biz.adfrockallotdetail.AdFrockallotDetailVo;
import com.yxt.anrui.oa.biz.oaappendix.OaAppendixService;
import com.yxt.anrui.oa.biz.oaform.*;
import com.yxt.anrui.oa.biz.oaform.flowable.*;
import com.yxt.anrui.oa.feign.file.OaFileEnum;
import com.yxt.anrui.oa.feign.flowable.flow.ProcDefEnum;
import com.yxt.anrui.oa.feign.portal.sysorganization.SysOrganizationFeign;
import com.yxt.anrui.oa.feign.portal.sysorganization.SysOrganizationVo;
import org.apache.commons.lang3.StringUtils;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.core.result.ResultBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service
public class AdFrockallotApplyService extends MybatisBaseService<AdFrockallotApplyMapper, AdFrockallotApply> {
@Autowired
private OaAppendixService oaAppendixService;
@Autowired
private OaFormService oaFormService;
@Autowired
private AdFrockallotDetailService adFrockallotDetailService;
@Autowired
private SysOrganizationFeign sysOrganizationFeign;
public ResultBean<AdFrockallotApplyVo> getSaveInit(String userSid, String orgPath) {
ResultBean<AdFrockallotApplyVo> rb = ResultBean.fireFail();
AdFrockallotApplyVo adFrockallotApplyVo = new AdFrockallotApplyVo();
adFrockallotApplyVo.setCreateBySid(userSid);
adFrockallotApplyVo.setOrgSidPath(orgPath);
return rb.success().setData(adFrockallotApplyVo);
}
public ResultBean<AdFrockallotApplyVo> getUpdateInit(String sid) {
ResultBean<AdFrockallotApplyVo> rb = ResultBean.fireFail();
AdFrockallotApplyVo adFrockallotApplyVo = new AdFrockallotApplyVo();
AdFrockallotApply adFrockallotApply = fetchBySid(sid);
if (adFrockallotApply == null) {
return rb.setMsg("该申请不存在");
}
// adExpatriatesApplyVo.setTestPage(adExpatriatesApply.getTestPage());
OaForm oaForm = oaFormService.fetchBySid(sid);
adFrockallotApplyVo.setTaskId(oaForm.getTaskId());
adFrockallotApplyVo.setProcInsId(oaForm.getProcInstId());
//根据部门sid获取orgPath并赋值
SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(oaForm.getDeptSid()).getData();
String orgSidPath = organizationVo.getOrgSidPath();
adFrockallotApplyVo.setOrgSidPath(orgSidPath);
adFrockallotApplyVo.setCreateBySid(oaForm.getCreateBySid());
BeanUtil.copyProperties(adFrockallotApply, adFrockallotApplyVo);
List<AdFrockallotDetailVo> list = adFrockallotDetailService.getUpdateInit(sid);
List<String> files = oaAppendixService.selectByLinkSid(sid, "图片");
adFrockallotApplyVo.setFiles(files);
List<String> appes = oaAppendixService.selectByLinkSid(sid, "文件");
adFrockallotApplyVo.setAppes(appes);
adFrockallotApplyVo.setList(list);
adFrockallotApplyVo.setSid(sid);
return rb.success().setData(adFrockallotApplyVo);
}
public ResultBean<String> saveOrUpdateDto(AdFrockallotApplyDto dto) {
ResultBean<String> rb = ResultBean.fireFail();
String sid = dto.getSid();
List<String> files = dto.getFiles();
List<String> appes = dto.getAppes();
List<AdFrockallotDetailDto> list = dto.getList();
if (StringUtils.isBlank(sid)) {
// 新建操作
AdFrockallotApply entity = new AdFrockallotApply();
BeanUtil.copyProperties(dto, entity, "sid");
dto.setBillNo("GZDZPFSQ");
dto.setSid(entity.getSid());
ResultBean<String> resultBean = oaFormService.saveOaForm(dto);
if (!resultBean.getSuccess()) {
return rb;
}
entity.setFormSid(resultBean.getData());
baseMapper.insert(entity);
sid = entity.getSid();
} else {
// 更新操作
AdFrockallotApply entity = fetchBySid(sid);
BeanUtil.copyProperties(dto, entity, "id", "sid");
baseMapper.updateById(entity);
}
adFrockallotDetailService.saveDetails(list, sid);
// 处理附件
saveFiles(sid, files, OaFileEnum.ADEXPATRIATESAPPLY.getAttachType(), "图片");
saveFiles(sid, appes, OaFileEnum.ADEXPATRIATESAPPLY.getAttachType(), "文件");
return rb.success().setData(sid);
}
// 保存文件
private void saveFiles(String sid, List<String> files, String attachType, String fileType) {
files.removeAll(Collections.singleton(null));
oaAppendixService.saveFile(sid, files, attachType, fileType);
}
public ResultBean<AdFrockallotApplyDetailsVo> details(String sid, String application) {
ResultBean rb = ResultBean.fireFail();
AdFrockallotApplyDetailsVo adFrockallotApplyDetailsVo = baseMapper.details(sid);
if (adFrockallotApplyDetailsVo == null) {
return rb.setMsg("该申请不存在");
}
List<String> files = oaAppendixService.selectByLinkSid(sid, "图片");
List<String> appes = oaAppendixService.selectByLinkSid(sid, "文件");
adFrockallotApplyDetailsVo.setFiles(files);
adFrockallotApplyDetailsVo.setAppes(appes);
//基础字段赋值
BeanUtil.copyProperties(oaFormService.getDetails(sid), adFrockallotApplyDetailsVo);
return rb.success().setData(adFrockallotApplyDetailsVo);
}
/**
* 提交
*
* @param dto
* @return
*/
public ResultBean submit(AdFrockallotApplyDto dto) {
ResultBean rb = ResultBean.fireFail();
ResultBean<String> stringResultBean = saveOrUpdateDto(dto);
if (!stringResultBean.getSuccess()) {
return rb.setMsg(stringResultBean.getData());
}
String businessSid = stringResultBean.getData();
SubmitDto submitDto = new SubmitDto();
submitDto.setUserSid(dto.getCreateBySid());
submitDto.setBusinessSid(businessSid);
Map<String, Object> formVariables = new HashMap<>();
formVariables = getMap(formVariables, businessSid);
submitDto.setFormVariables(formVariables);
submitDto.setProcDefId(ProcDefEnum.HIHIREAPPLY.getProDefId());
submitDto.setNextTaskId(dto.getTaskId());
submitDto.setRule(OaFormRuleEnum.DIRECTLY_UNDER.getRule());
return oaFormService.submit(submitDto);
}
/**
* 办理同意
*
* @param dto
* @return
*/
public ResultBean complete(CompleteDto dto) {
Map<String, Object> formVariables = dto.getFormVariables();
formVariables = getMap(formVariables, dto.getBusinessSid());
dto.setFormVariables(formVariables);
BusinessVariablesDto businessVariablesDto = new BusinessVariablesDto();
BeanUtil.copyProperties(dto, businessVariablesDto);
return oaFormService.complete(businessVariablesDto);
}
/**
* 驳回
*
* @param dto
* @return
*/
public ResultBean reject(TaskDto dto) {
Map<String, Object> formVariables = dto.getFormVariables();
formVariables = getMap(formVariables, dto.getBusinessSid());
dto.setFormVariables(formVariables);
return oaFormService.reject(dto);
}
public ResultBean<String> getFlowOperateTitle(NodeQuery query) {
// 默认失败返回
ResultBean<String> rb = ResultBean.fireFail();
// 获取next值和formVariables
int next = query.getNext();
// 获取并更新formVariables
Map<String, Object> formVariables = getMap(query.getFormVariables(), query.getBusinessSid());
query.setFormVariables(formVariables);
// 校验next参数是否有效(只允许0或1)
if (next != 0 && next != 1) {
return rb.setMsg("参数错误:next"); // 如果next不是0或1,返回错误信息
}
// 获取节点名称
String data = getNodeName(query, next);
// 如果data为null,表示未获取到有效的节点信息
if (data == null) {
return rb.setMsg("没有获取到节点信息"); // 返回错误消息
}
// 返回成功的结果和获取到的节点名称
return rb.success().setData(data);
}
/**
* 网关参数组成
*
* @param formVariables
* @param sid
* @return
*/
public Map<String, Object> getMap(Map<String, Object> formVariables, String sid) {
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", sid);
/*appMap.put("editUrl", "approval/#/pages/EditOnboradingApplyActivity?sid=" + sid);
appMap.put("detailUrl", "approval/#/pages/DetailOnboradingApplyActivity?sid=" + sid);
appMap.put("flowOperateUrl", "oa/v1/HrHireApply/getFlowOperateTitle");
appMap.put("agreeUrl", "oa/v1/HrHireApply/complete");
appMap.put("stopUrl", "oa/v1/oaform/breakProcess");
appMap.put("rejectUrl", "oa/v1/HrHireApply/reject");
appMap.put("recallUrl", "oa/v1/oaform/revokeProcess");
appMap.put("signUrl", "oa/v1/oaform/delegate");
appMap.put("transferUrl", "oa/v1/oaform/assignTask");*/
appMap.put(OaFormUrlEnum.HRHIREAPPLY_EDIT.getType(), OaFormUrlEnum.HRHIREAPPLY_EDIT.getUrl() + "?sid=" + sid);
appMap.put(OaFormUrlEnum.HRHIREAPPLY_DETAIL.getType(), OaFormUrlEnum.HRHIREAPPLY_DETAIL.getUrl() + "?sid=" + sid);
appMap.put(OaFormUrlEnum.HRHIREAPPLY_FLOWOPERATEURL.getType(), OaFormUrlEnum.HRHIREAPPLY_FLOWOPERATEURL.getUrl());
appMap.put(OaFormUrlEnum.HRHIREAPPLY_AGREEURL.getType(), OaFormUrlEnum.HRHIREAPPLY_AGREEURL.getUrl());
appMap.put(OaFormUrlEnum.STOPURL.getType(), OaFormUrlEnum.STOPURL.getUrl());
appMap.put(OaFormUrlEnum.HRHIREAPPLY_REJECTURL.getType(), OaFormUrlEnum.HRHIREAPPLY_REJECTURL.getUrl());
appMap.put(OaFormUrlEnum.RECALLURL.getType(), OaFormUrlEnum.RECALLURL.getUrl());
appMap.put(OaFormUrlEnum.SIGNURL.getType(), OaFormUrlEnum.SIGNURL.getUrl());
appMap.put(OaFormUrlEnum.TRANSFERURL.getType(), OaFormUrlEnum.TRANSFERURL.getUrl());
formVariables.put("app", appMap);
//根据组织查询是否是分公司
OaForm oaForm = oaFormService.fetchBySid(sid);
AdFrockallotApply adFrockallotApply = fetchBySid(sid);
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(oaForm.getUseOrgSid()).getData();
//是否是分公司
formVariables.put("isTrue", sysOrganization.getIsDept() == 0);
return formVariables;
}
/**
* 根据next的值获取前一个节点或下一个节点的名称
*
* @param query 包含查询所需参数的NodeQuery对象
* @param next 参数0表示上一环节1表示下一环节
* @return 节点名称如果失败则返回null
*/
private String getNodeName(NodeQuery query, int next) {
// 根据next值选择相应的服务方法获取节点信息
ResultBean<List<NodeVo>> resultBean = (next == 0)
? oaFormService.getPreviousNodesForReject(query) // 获取上一环节的节点
: oaFormService.getNextNodesForSubmit(query); // 获取下一环节的节点
// 如果服务调用成功
if (resultBean.getSuccess()) {
// 清除结果列表中的null值,避免空节点
resultBean.getData().removeAll(Collections.singleton(null));
// 如果结果列表非空,返回第一个节点的名称
if (!resultBean.getData().isEmpty()) {
return resultBean.getData().get(0).getName();
}
} else {
// 如果服务调用失败,返回null
return null;
}
// 如果结果为空,返回null
return null;
}
}

65
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adfrockallotapply/AdFrockallotApplyVo.java

@ -0,0 +1,65 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.oa.biz.adfrockallotapply;
import com.yxt.anrui.oa.biz.adfrockallotdetail.AdFrockallotDetailVo;
import com.yxt.anrui.oa.biz.adpircarpuldetail.AdPircarpulDetailVo;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
@Data
@ApiModel(value = "工装订制配发申请 视图数据对象", description = "工装订制配发申请 视图数据对象")
public class AdFrockallotApplyVo implements Vo {
private String sid;
/* private String userSid;
private String orgPath;*/
private String orgSidPath;
private String createBySid;
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("图片")
private List<String> files = new ArrayList<>();
@ApiModelProperty("附件")
private List<String> appes = new ArrayList<>();
private List<AdFrockallotDetailVo> list = new ArrayList<>();
private String taskId;
@ApiModelProperty("流程实例id")
private String procInsId;
// private String testPage;
}

48
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adfrockallotdetail/AdFrockallotDetail.java

@ -0,0 +1,48 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.oa.biz.adfrockallotdetail;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "工装订制配发列表", description = "工装订制配发列表")
@TableName("ad_frockallot_detail")
public class AdFrockallotDetail extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("申请sid")
private String mainSid; // 申请sid
@ApiModelProperty("预计费用")
private BigDecimal expectCost; // 预计费用
@ApiModelProperty("费用明细")
private String costRemarks; // 费用明细
}

46
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adfrockallotdetail/AdFrockallotDetailDto.java

@ -0,0 +1,46 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.oa.biz.adfrockallotdetail;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
@Data
@ApiModel(value = "工装订制配发列表 数据传输对象", description = "工装订制配发列表 数据传输对象")
public class AdFrockallotDetailDto implements Dto {
@ApiModelProperty("预计费用")
private BigDecimal expectCost; // 预计费用
@ApiModelProperty("费用明细")
private String costRemarks; // 费用明细
}

50
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adfrockallotdetail/AdFrockallotDetailMapper.java

@ -0,0 +1,50 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.oa.biz.adfrockallotdetail;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
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.oa.biz.adpircarpuldetail.AdPircarpulDetail;
import com.yxt.anrui.oa.biz.adpircarpuldetail.AdPircarpulDetailVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import com.yxt.anrui.oa.api.adfrockallotdetail.AdFrockallotDetail;
import com.yxt.anrui.oa.api.adfrockallotdetail.AdFrockallotDetailVo;
import java.util.List;
@Mapper
public interface AdFrockallotDetailMapper extends BaseMapper<AdFrockallotDetail> {
List<AdFrockallotDetailVo> getUpdateInit(String sid);
@Select("select * from ad_frockallot_detail where mainSid = #{mainSid}")
List<AdFrockallotDetail> selectByMainSid(String mainSid);
}

13
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adfrockallotdetail/AdFrockallotDetailMapper.xml

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.anrui.oa.biz.adfrockallotdetail.AdFrockallotDetailMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="getUpdateInit" resultType="com.yxt.anrui.oa.biz.adfrockallotdetail.AdFrockallotDetailVo">
select sid,
expectCost,
costRemarks
from ad_frockallot_detail
where mainSid = #{sid}
</select>
</mapper>

79
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adfrockallotdetail/AdFrockallotDetailService.java

@ -0,0 +1,79 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.oa.biz.adfrockallotdetail;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.oa.biz.adpircarpuldetail.AdPircarpulDetail;
import com.yxt.anrui.oa.biz.adpircarpuldetail.AdPircarpulDetailDto;
import com.yxt.anrui.oa.biz.adpircarpuldetail.AdPircarpulDetailVo;
import org.apache.commons.lang3.StringUtils;
import com.yxt.common.base.service.MybatisBaseService;
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.adfrockallotdetail.AdFrockallotDetail;
import com.yxt.anrui.oa.api.adfrockallotdetail.AdFrockallotDetailQuery;
import com.yxt.anrui.oa.api.adfrockallotdetail.AdFrockallotDetailVo;
import com.yxt.anrui.oa.api.adfrockallotdetail.AdFrockallotDetailDetailsVo;
import com.yxt.anrui.oa.api.adfrockallotdetail.AdFrockallotDetailDto;
import com.yxt.anrui.oa.api.adfrockallotdetail.AdFrockallotDetailFeign;
import org.springframework.stereotype.Service;
import java.util.Collections;
import java.util.List;
@Service
public class AdFrockallotDetailService extends MybatisBaseService<AdFrockallotDetailMapper, AdFrockallotDetail> {
public void saveDetails(List<AdFrockallotDetailDto> list, String sid) {
//根据sid查询明细并删除
List<AdFrockallotDetail> list2 = baseMapper.selectByMainSid(sid);
list2.removeAll(Collections.singleton(null));
if (!list2.isEmpty()) {
list2.stream().forEach(v -> {
deleteBySid(v.getSid());
});
}
list.removeAll(Collections.singleton(null));
if (!list.isEmpty()) {
list.stream().forEach(details -> {
AdFrockallotDetail adFrockallotDetail = new AdFrockallotDetail();
BeanUtil.copyProperties(details, adFrockallotDetail);
adFrockallotDetail.setMainSid(sid);
baseMapper.insert(adFrockallotDetail);
});
}
}
public List<AdFrockallotDetailVo> getUpdateInit(String sid) {
return baseMapper.getUpdateInit(sid);
}
}

48
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adfrockallotdetail/AdFrockallotDetailVo.java

@ -0,0 +1,48 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.oa.biz.adfrockallotdetail;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
@Data
@ApiModel(value = "工装订制配发列表 视图数据对象", description = "工装订制配发列表 视图数据对象")
public class AdFrockallotDetailVo implements Vo {
private String sid; // sid
@ApiModelProperty("预计费用")
private BigDecimal expectCost; // 预计费用
@ApiModelProperty("费用明细")
private String costRemarks; // 费用明细
}

44
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adfrockallotdetail/AdFrockallotListDetailVo.java

@ -0,0 +1,44 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.oa.biz.adfrockallotdetail;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
@Data
@ApiModel(value = "工装订制配发列表 视图数据对象", description = "工装订制配发列表 视图数据对象")
public class AdFrockallotListDetailVo implements Vo {
private String sid; // sid
@ApiModelProperty("预计费用")
private BigDecimal expectCost; // 预计费用
@ApiModelProperty("费用明细")
private String costRemarks; // 费用明细
}

17
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adleasehostapply/AdLeasehostApply.java

@ -31,28 +31,15 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
/**
* Project: yxt-oa(宿舍租赁) <br/>
* File: AdLeasehostApply.java <br/>
* Class: com.yxt.anrui.oa.api.adleasehostapply.AdLeasehostApply <br/>
* Description: 宿舍租赁申请. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2025-02-17 14:11:50 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data @Data
@ApiModel(value = "宿舍租赁申请", description = "宿舍租赁申请") @ApiModel(value = "宿舍租赁申请", description = "宿舍租赁申请")
@TableName("ad_leasehost_apply") @TableName("ad_leasehost_apply")
public class AdLeasehostApply extends BaseEntity { public class AdLeasehostApply extends BaseEntity {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ApiModelProperty("基础表单sid") @ApiModelProperty("基础表单sid")
private String formSid; // 基础表单sid private String formSid; // 基础表单sid
@ApiModelProperty("关联审批sid列表,英文逗号分隔") @ApiModelProperty("关联审批sid列表,英文逗号分隔")
private String linkFormSids; // 关联审批sid列表,英文逗号分隔 private String linkFormSids; // 关联审批sid列表,英文逗号分隔
} }

14
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adofficesuppliesdetail/AdOfficeSuppliesDetail.java

@ -33,19 +33,7 @@ import lombok.Data;
import java.math.BigDecimal; import java.math.BigDecimal;
/**
* Project: yxt-oa(认定人员) <br/>
* File: AdExpatriatesDetail.java <br/>
* Class: com.yxt.anrui.oa.api.adexpatriatesdetail.AdExpatriatesDetail <br/>
* Description: 驻外人员认定列表. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2025-01-20 15:35:08 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data @Data
@ApiModel(value = "办公用品领用列表", description = "办公用品领用列表") @ApiModel(value = "办公用品领用列表", description = "办公用品领用列表")
@TableName("ad_office_supplies_detail") @TableName("ad_office_supplies_detail")

14
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adofficesuppliesdetail/AdOfficeSuppliesDetailDto.java

@ -32,19 +32,7 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
/**
* Project: yxt-oa(认定人员) <br/>
* File: AdExpatriatesDetailDto.java <br/>
* Class: com.yxt.anrui.oa.api.adexpatriatesdetail.AdExpatriatesDetailDto <br/>
* Description: 驻外人员认定列表 数据传输对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2025-01-20 15:35:08 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data @Data
@ApiModel(value = "驻外人员认定列表 数据传输对象", description = "驻外人员认定列表 数据传输对象") @ApiModel(value = "驻外人员认定列表 数据传输对象", description = "驻外人员认定列表 数据传输对象")
public class AdOfficeSuppliesDetailDto implements Dto { public class AdOfficeSuppliesDetailDto implements Dto {

14
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adofficesuppliesdetail/AdOfficeSuppliesDetailVo.java

@ -31,19 +31,7 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
/**
* Project: yxt-oa(认定人员) <br/>
* File: AdExpatriatesDetailVo.java <br/>
* Class: com.yxt.anrui.oa.api.adexpatriatesdetail.AdExpatriatesDetailVo <br/>
* Description: 驻外人员认定列表 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2025-01-20 15:35:08 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data @Data
@ApiModel(value = "驻外人员认定列表 视图数据对象", description = "驻外人员认定列表 视图数据对象") @ApiModel(value = "驻外人员认定列表 视图数据对象", description = "驻外人员认定列表 视图数据对象")
public class AdOfficeSuppliesDetailVo implements Vo { public class AdOfficeSuppliesDetailVo implements Vo {

14
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adoffspaceapply/AdOffspaceApply.java

@ -31,19 +31,7 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
/**
* Project: yxt-oa(办公场地租赁) <br/>
* File: AdOffspaceApply.java <br/>
* Class: com.yxt.anrui.oa.api.adoffspaceapply.AdOffspaceApply <br/>
* Description: 办公场地租赁申请. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2025-02-18 11:50:51 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data @Data
@ApiModel(value = "办公场地租赁申请", description = "办公场地租赁申请") @ApiModel(value = "办公场地租赁申请", description = "办公场地租赁申请")
@TableName("ad_offspace_apply") @TableName("ad_offspace_apply")

14
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adoffspaceapply/AdOffspaceApplyDetailsVo.java

@ -37,19 +37,7 @@ import lombok.Data;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
/**
* Project: yxt-oa(办公场地租赁) <br/>
* File: AdOffspaceApplyVo.java <br/>
* Class: com.yxt.anrui.oa.api.adoffspaceapply.AdOffspaceApplyVo <br/>
* Description: 办公场地租赁申请 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2025-02-18 11:50:51 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data @Data
@ApiModel(value = "办公场地租赁申请 视图数据详情", description = "办公场地租赁申请 视图数据详情") @ApiModel(value = "办公场地租赁申请 视图数据详情", description = "办公场地租赁申请 视图数据详情")
public class AdOffspaceApplyDetailsVo implements Vo { public class AdOffspaceApplyDetailsVo implements Vo {

14
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adoffspacedetail/AdOffspaceDetailDto.java

@ -34,19 +34,7 @@ import lombok.Data;
import java.math.BigDecimal; import java.math.BigDecimal;
/**
* Project: yxt-oa(办公场地租赁) <br/>
* File: AdOffspaceDetailDto.java <br/>
* Class: com.yxt.anrui.oa.api.adoffspacedetail.AdOffspaceDetailDto <br/>
* Description: 办公场地租赁列表 数据传输对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2025-02-18 11:50:51 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data @Data
@ApiModel(value = "办公场地租赁列表 数据传输对象", description = "办公场地租赁列表 数据传输对象") @ApiModel(value = "办公场地租赁列表 数据传输对象", description = "办公场地租赁列表 数据传输对象")
public class AdOffspaceDetailDto implements Dto { public class AdOffspaceDetailDto implements Dto {

14
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adoffspacedetail/AdOffspaceListDetailVo.java

@ -33,19 +33,7 @@ import lombok.Data;
import java.math.BigDecimal; import java.math.BigDecimal;
/**
* Project: yxt-oa(办公场地租赁) <br/>
* File: AdOffspaceDetailVo.java <br/>
* Class: com.yxt.anrui.oa.api.adoffspacedetail.AdOffspaceDetailVo <br/>
* Description: 办公场地租赁列表 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2025-02-18 11:50:51 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data @Data
@ApiModel(value = "办公场地租赁列表 视图数据对象", description = "办公场地租赁列表 视图数据对象") @ApiModel(value = "办公场地租赁列表 视图数据对象", description = "办公场地租赁列表 视图数据对象")
public class AdOffspaceListDetailVo implements Vo { public class AdOffspaceListDetailVo implements Vo {

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save