diff --git a/anrui-scm/anrui-scm-ui/src/views/bikerebate/bikerebatemanagement/bicyclerebatemanagementAdd.vue b/anrui-scm/anrui-scm-ui/src/views/bikerebate/bikerebatemanagement/bicyclerebatemanagementAdd.vue
index 56029a8292..fc98b5c66c 100644
--- a/anrui-scm/anrui-scm-ui/src/views/bikerebate/bikerebatemanagement/bicyclerebatemanagementAdd.vue
+++ b/anrui-scm/anrui-scm-ui/src/views/bikerebate/bikerebatemanagement/bicyclerebatemanagementAdd.vue
@@ -50,7 +50,7 @@
(%)
(元)
-
+
@@ -158,6 +158,26 @@ export default {
}
})
},
+ getSpecialNumber(val, limit) {
+ val = val.replace(/[^0-9.-]/g, '') // 保留数字
+ val = val.replace(/^00/, '0.') // 开头不能有两个0
+ val = val.replace(/^\./g, '0.') // 开头为小数点转换为0.
+ val = val.replace(/\.{2,}/g, '.') // 两个以上的小数点转换成一个
+ val = val.replace(/\-{2,}/g, '.') // 两个以上的“-”号转换成一个
+ val = val.replace('.', '$#$').replace(/\./g, '').replace('$#$', '.') // 只保留一个小数点
+ val = val.replace('-', '$#$').replace(/\-/g, '').replace('$#$', '-'); // 只保留一个"-"号
+ /^0\d+/.test(val) ? val = val.slice(1) : '' // 两位以上数字开头不能为0
+ const str = '^(\\d+)\\.(\\d{' + limit + '}).*$'
+ const reg = new RegExp(str)
+ if (limit === 0) {
+ // 不需要小数点
+ val = val.replace(reg, '$1')
+ } else {
+ // 通过正则保留小数点后指定的位数
+ val = val.replace(reg, '$1.$2')
+ }
+ return val
+ },
getNumber(val, limit) {
val = val.replace(/[^0-9.]/g, '') // 保留数字
val = val.replace(/^00/, '0.') // 开头不能有两个0
diff --git a/anrui-scm/anrui-scm-ui/src/views/bikerebate/bikerebatemanagement/bicyclerebatemanagementEdit.vue b/anrui-scm/anrui-scm-ui/src/views/bikerebate/bikerebatemanagement/bicyclerebatemanagementEdit.vue
index 723747c22f..60911e589c 100644
--- a/anrui-scm/anrui-scm-ui/src/views/bikerebate/bikerebatemanagement/bicyclerebatemanagementEdit.vue
+++ b/anrui-scm/anrui-scm-ui/src/views/bikerebate/bikerebatemanagement/bicyclerebatemanagementEdit.vue
@@ -49,7 +49,7 @@
(%)
(元)
-
+
车辆信息({{ formobj.vinNo }} — {{ formobj.purchaseSystemName }} — {{ formobj.brandName }})
@@ -175,6 +175,26 @@ export default {
}
})
},
+ getSpecialNumber(val, limit) {
+ val = val.replace(/[^0-9.-]/g, '') // 保留数字
+ val = val.replace(/^00/, '0.') // 开头不能有两个0
+ val = val.replace(/^\./g, '0.') // 开头为小数点转换为0.
+ val = val.replace(/\.{2,}/g, '.') // 两个以上的小数点转换成一个
+ val = val.replace(/\-{2,}/g, '.') // 两个以上的“-”号转换成一个
+ val = val.replace('.', '$#$').replace(/\./g, '').replace('$#$', '.') // 只保留一个小数点
+ val = val.replace('-', '$#$').replace(/\-/g, '').replace('$#$', '-'); // 只保留一个"-"号
+ /^0\d+/.test(val) ? val = val.slice(1) : '' // 两位以上数字开头不能为0
+ const str = '^(\\d+)\\.(\\d{' + limit + '}).*$'
+ const reg = new RegExp(str)
+ if (limit === 0) {
+ // 不需要小数点
+ val = val.replace(reg, '$1')
+ } else {
+ // 通过正则保留小数点后指定的位数
+ val = val.replace(reg, '$1.$2')
+ }
+ return val
+ },
getNumber(val, limit) {
val = val.replace(/[^0-9.]/g, '') // 保留数字
val = val.replace(/^00/, '0.') // 开头不能有两个0
diff --git a/anrui-scm/anrui-scm-ui/src/views/specialrebate/specialrebatemanagement/specialrebatemanagementAdd.vue b/anrui-scm/anrui-scm-ui/src/views/specialrebate/specialrebatemanagement/specialrebatemanagementAdd.vue
index d75ae3d003..e52b9ae67e 100644
--- a/anrui-scm/anrui-scm-ui/src/views/specialrebate/specialrebatemanagement/specialrebatemanagementAdd.vue
+++ b/anrui-scm/anrui-scm-ui/src/views/specialrebate/specialrebatemanagement/specialrebatemanagementAdd.vue
@@ -64,7 +64,7 @@
*预计返利
-
+
@@ -151,6 +151,26 @@ export default {
}
},
methods: {
+ getSpecialNumber(val, limit) {
+ val = val.replace(/[^0-9.-]/g, '') // 保留数字
+ val = val.replace(/^00/, '0.') // 开头不能有两个0
+ val = val.replace(/^\./g, '0.') // 开头为小数点转换为0.
+ val = val.replace(/\.{2,}/g, '.') // 两个以上的小数点转换成一个
+ val = val.replace(/\-{2,}/g, '.') // 两个以上的“-”号转换成一个
+ val = val.replace('.', '$#$').replace(/\./g, '').replace('$#$', '.') // 只保留一个小数点
+ val = val.replace('-', '$#$').replace(/\-/g, '').replace('$#$', '-'); // 只保留一个"-"号
+ /^0\d+/.test(val) ? val = val.slice(1) : '' // 两位以上数字开头不能为0
+ const str = '^(\\d+)\\.(\\d{' + limit + '}).*$'
+ const reg = new RegExp(str)
+ if (limit === 0) {
+ // 不需要小数点
+ val = val.replace(reg, '$1')
+ } else {
+ // 通过正则保留小数点后指定的位数
+ val = val.replace(reg, '$1.$2')
+ }
+ return val
+ },
getNumber(val, limit) {
val = val.replace(/[^0-9.]/g, '') // 保留数字
val = val.replace(/^00/, '0.') // 开头不能有两个0
diff --git a/yxt-as-ui/src/views/operation/workorderinvoicing/relation/chooseRepairbill.vue b/yxt-as-ui/src/views/operation/workorderinvoicing/relation/chooseRepairbill.vue
index 7684bc378d..b1015c8b8d 100644
--- a/yxt-as-ui/src/views/operation/workorderinvoicing/relation/chooseRepairbill.vue
+++ b/yxt-as-ui/src/views/operation/workorderinvoicing/relation/chooseRepairbill.vue
@@ -101,7 +101,8 @@ export default {
vinNo: '',
settleTimeStart: '',
settleTimeEnd: '',
- deptSid: ''
+ deptSid: '',
+ sids: []
},
total: 0
}
@@ -159,15 +160,15 @@ export default {
this.sids = row
},
showData(value, deptSid) {
- // const aa = []
- // if (value.length > 0) {
- // for (var i = 0; i < value.length; i++) {
- // aa.push(value[i].saleVehSid)
- // }
- // this.listQuery.params.saleVehSids = aa
- // } else {
- // this.listQuery.params.saleVehSids = []
- // }``
+ const aa = []
+ if (value.length > 0) {
+ for (var i = 0; i < value.length; i++) {
+ aa.push(value[i].sourceBillSid)
+ }
+ this.listQuery.params.sids = aa
+ } else {
+ this.listQuery.params.sids = []
+ }``
this.listQuery.params.deptSid = deptSid
this.listQuery.current = 1
this.listQuery.size = 5
diff --git a/yxt-as-ui/src/views/operation/workorderinvoicing/workorderinvoicingAdd.vue b/yxt-as-ui/src/views/operation/workorderinvoicing/workorderinvoicingAdd.vue
index 7e1c057d4d..0939ba3e44 100644
--- a/yxt-as-ui/src/views/operation/workorderinvoicing/workorderinvoicingAdd.vue
+++ b/yxt-as-ui/src/views/operation/workorderinvoicing/workorderinvoicingAdd.vue
@@ -240,8 +240,7 @@ export default {
},
chooseGd() {
this.viewState = 2
- const aa = []
- this.$refs['divGD'].showData(aa, this.formobj.deptSid)
+ this.$refs['divGD'].showData(this.formobj.asBwinvoiceapplyDetailList, this.formobj.deptSid)
},
handleDelete(index) {
this.formobj.asBwinvoiceapplyDetailList.splice(index, 1)
diff --git a/yxt-as-ui/src/views/workFlow/gongdankaipiaoFlow/relation/chooseRepairbill.vue b/yxt-as-ui/src/views/workFlow/gongdankaipiaoFlow/relation/chooseRepairbill.vue
index 0ed0aff36c..93f9bec721 100644
--- a/yxt-as-ui/src/views/workFlow/gongdankaipiaoFlow/relation/chooseRepairbill.vue
+++ b/yxt-as-ui/src/views/workFlow/gongdankaipiaoFlow/relation/chooseRepairbill.vue
@@ -101,7 +101,8 @@ export default {
vinNo: '',
settleTimeStart: '',
settleTimeEnd: '',
- deptSid: ''
+ deptSid: '',
+ sids: []
},
total: 0
}
@@ -159,15 +160,15 @@ export default {
this.sids = row
},
showData(value, deptSid) {
- // const aa = []
- // if (value.length > 0) {
- // for (var i = 0; i < value.length; i++) {
- // aa.push(value[i].saleVehSid)
- // }
- // this.listQuery.params.saleVehSids = aa
- // } else {
- // this.listQuery.params.saleVehSids = []
- // }``
+ const aa = []
+ if (value.length > 0) {
+ for (var i = 0; i < value.length; i++) {
+ aa.push(value[i].sourceBillSid)
+ }
+ this.listQuery.params.sids = aa
+ } else {
+ this.listQuery.params.sids = []
+ }
this.listQuery.params.deptSid = deptSid
this.listQuery.current = 1
this.listQuery.size = 5
diff --git a/yxt-as-ui/src/views/workFlow/gongdankaipiaoFlow/workorderinvoicingEdit.vue b/yxt-as-ui/src/views/workFlow/gongdankaipiaoFlow/workorderinvoicingEdit.vue
index 1869887be2..9209d6744d 100644
--- a/yxt-as-ui/src/views/workFlow/gongdankaipiaoFlow/workorderinvoicingEdit.vue
+++ b/yxt-as-ui/src/views/workFlow/gongdankaipiaoFlow/workorderinvoicingEdit.vue
@@ -234,8 +234,7 @@ export default {
},
chooseGd() {
this.viewState = 2
- const aa = []
- this.$refs['divGD'].showData(aa, this.formobj.deptSid)
+ this.$refs['divGD'].showData(this.formobj.asBwinvoiceapplyDetailList, this.formobj.deptSid)
},
handleDelete(index) {
this.formobj.asBwinvoiceapplyDetailList.splice(index, 1)
diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBwBillPageListQuery.java b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBwBillPageListQuery.java
index ce0002aa09..c0e222e742 100644
--- a/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBwBillPageListQuery.java
+++ b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBwBillPageListQuery.java
@@ -4,6 +4,8 @@ import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
+import java.util.List;
+
/**
* @description:
* @author: dimengzhe
@@ -25,4 +27,6 @@ public class AsBusrepairBwBillPageListQuery implements Query {
@ApiModelProperty("结算日期")
private String settleTimeStart;
private String settleTimeEnd;
+
+ private List sids;
}
diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillService.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillService.java
index fc94882891..4e44026b6f 100644
--- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillService.java
+++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillService.java
@@ -1656,6 +1656,11 @@ public class AsBusrepairBillService extends MybatisBaseService 0) {
+ qw.notIn("a.sid", query.getSids());
+ }
+ }
//维修工单编号
if (StringUtils.isNotBlank(query.getBillNo())) {
qw.like("a.billNo", query.getBillNo());
diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwinvoiceapply/AsBwinvoiceapplyRest.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwinvoiceapply/AsBwinvoiceapplyRest.java
index 3eafa1c436..d4708c49bf 100644
--- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwinvoiceapply/AsBwinvoiceapplyRest.java
+++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwinvoiceapply/AsBwinvoiceapplyRest.java
@@ -48,88 +48,86 @@ import java.util.List;
@RequestMapping("v1/asbwinvoiceapply")
public class AsBwinvoiceapplyRest {
- @Autowired
- private AsBwinvoiceapplyService asBwinvoiceapplyService;
-
- @ApiOperation("根据条件分页查询数据的列表")
- @PostMapping("/listPage")
- public ResultBean> listPage(@RequestBody PagerQuery pq){
- ResultBean rb = ResultBean.fireFail();
- PagerVo pv = asBwinvoiceapplyService.listPageVo(pq);
- return rb.success().setData(pv);
- }
-
- @ApiOperation("新增或修改")
- @PostMapping("/save")
- public ResultBean save(@RequestBody AsBwinvoiceapplyDto dto){
- ResultBean rb = ResultBean.fireFail();
- asBwinvoiceapplyService.saveOrUpdateDto(dto);
- return rb.success();
- }
-
- @ApiOperation("根据sid批量删除")
+ @Autowired
+ private AsBwinvoiceapplyService asBwinvoiceapplyService;
+
+ @ApiOperation("根据条件分页查询数据的列表")
+ @PostMapping("/listPage")
+ public ResultBean> listPage(@RequestBody PagerQuery pq) {
+ ResultBean rb = ResultBean.fireFail();
+ PagerVo pv = asBwinvoiceapplyService.listPageVo(pq);
+ return rb.success().setData(pv);
+ }
+
+ @ApiOperation("新增或修改")
+ @PostMapping("/save")
+ public ResultBean save(@RequestBody AsBwinvoiceapplyDto dto) {
+ return asBwinvoiceapplyService.saveOrUpdateDto(dto);
+ }
+
+ @ApiOperation("根据sid批量删除")
@DeleteMapping("/delBySids")
- public ResultBean delBySids(@RequestBody String[] sids){
- return asBwinvoiceapplyService.delAll(sids);
- }
+ public ResultBean delBySids(@RequestBody String[] sids) {
+ return asBwinvoiceapplyService.delAll(sids);
+ }
- @ApiOperation("根据SID获取一条记录")
+ @ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchDetailsBySid/{sid}")
- public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid){
- ResultBean rb = ResultBean.fireFail();
- AsBwinvoiceapplyDetailsVo vo = asBwinvoiceapplyService.fetchDetailsVoBySid(sid);
- return rb.success().setData(vo);
- }
-
- @ApiOperation("提交")
- @PostMapping("/submitApply")
- public ResultBean submitApply(@Valid @RequestBody SubmitBwinvoiceApplyDto dto) {
- return asBwinvoiceapplyService.submitApply(dto);
- }
-
- @ApiOperation(value = "办理(同意)")
- @PostMapping("/complete")
- public ResultBean complete(@Valid @RequestBody CompleteBwinvoiceApplyDto query) {
- BusinessVariables bv = new BusinessVariables();
- BeanUtil.copyProperties(query, bv);
- bv.setModelId("");
- return asBwinvoiceapplyService.complete(bv);
- }
-
- @ApiOperation(value = "获取上一个环节")
- @GetMapping(value = "/getPreviousNodesForReject")
- ResultBean> getPreviousNodesForReject(@Valid @SpringQueryMap BwinvoiceApplyNodeQuery query) {
- return asBwinvoiceapplyService.getPreviousNodesForReject(query);
- }
-
- @ApiOperation(value = "获取下一个环节")
- @GetMapping(value = "/getNextNodesForSubmit")
- ResultBean> getNextNodesForSubmit(@Valid @SpringQueryMap BwinvoiceApplyNodeQuery query) {
- return asBwinvoiceapplyService.getNextNodesForSubmit(query);
- }
-
- @ApiOperation(value = "驳回任务")
- @PostMapping(value = "/reject")
- public ResultBean taskReject(@Valid @RequestBody BwinvoiceApplyTaskQuery query) {
- return asBwinvoiceapplyService.taskReject(query);
- }
-
- @ApiOperation(value = "撤回流程")
- @PostMapping(value = "/revokeProcess")
- public ResultBean revokeProcess(@Valid @RequestBody BwinvoiceApplyTaskQuery query) {
- return asBwinvoiceapplyService.revokeProcess(query);
- }
-
- @ApiOperation(value = "终止任务")
- @PostMapping(value = "/breakProcess")
- public ResultBean breakProcess(@Valid @RequestBody BwinvoiceApplyTaskQuery query) {
- return asBwinvoiceapplyService.breakProcess(query);
- }
-
- @ApiOperation(value = "加签")
- @PostMapping(value = "/delegate")
- @ResponseBody
- public ResultBean delegate(@RequestBody BwinvoiceApplyDelegateQuery query) {
- return asBwinvoiceapplyService.delegate(query);
- }
+ public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid) {
+ ResultBean rb = ResultBean.fireFail();
+ AsBwinvoiceapplyDetailsVo vo = asBwinvoiceapplyService.fetchDetailsVoBySid(sid);
+ return rb.success().setData(vo);
+ }
+
+ @ApiOperation("提交")
+ @PostMapping("/submitApply")
+ public ResultBean submitApply(@Valid @RequestBody SubmitBwinvoiceApplyDto dto) {
+ return asBwinvoiceapplyService.submitApply(dto);
+ }
+
+ @ApiOperation(value = "办理(同意)")
+ @PostMapping("/complete")
+ public ResultBean complete(@Valid @RequestBody CompleteBwinvoiceApplyDto query) {
+ BusinessVariables bv = new BusinessVariables();
+ BeanUtil.copyProperties(query, bv);
+ bv.setModelId("");
+ return asBwinvoiceapplyService.complete(bv);
+ }
+
+ @ApiOperation(value = "获取上一个环节")
+ @GetMapping(value = "/getPreviousNodesForReject")
+ ResultBean> getPreviousNodesForReject(@Valid @SpringQueryMap BwinvoiceApplyNodeQuery query) {
+ return asBwinvoiceapplyService.getPreviousNodesForReject(query);
+ }
+
+ @ApiOperation(value = "获取下一个环节")
+ @GetMapping(value = "/getNextNodesForSubmit")
+ ResultBean> getNextNodesForSubmit(@Valid @SpringQueryMap BwinvoiceApplyNodeQuery query) {
+ return asBwinvoiceapplyService.getNextNodesForSubmit(query);
+ }
+
+ @ApiOperation(value = "驳回任务")
+ @PostMapping(value = "/reject")
+ public ResultBean taskReject(@Valid @RequestBody BwinvoiceApplyTaskQuery query) {
+ return asBwinvoiceapplyService.taskReject(query);
+ }
+
+ @ApiOperation(value = "撤回流程")
+ @PostMapping(value = "/revokeProcess")
+ public ResultBean revokeProcess(@Valid @RequestBody BwinvoiceApplyTaskQuery query) {
+ return asBwinvoiceapplyService.revokeProcess(query);
+ }
+
+ @ApiOperation(value = "终止任务")
+ @PostMapping(value = "/breakProcess")
+ public ResultBean breakProcess(@Valid @RequestBody BwinvoiceApplyTaskQuery query) {
+ return asBwinvoiceapplyService.breakProcess(query);
+ }
+
+ @ApiOperation(value = "加签")
+ @PostMapping(value = "/delegate")
+ @ResponseBody
+ public ResultBean delegate(@RequestBody BwinvoiceApplyDelegateQuery query) {
+ return asBwinvoiceapplyService.delegate(query);
+ }
}
diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwinvoiceapply/AsBwinvoiceapplyService.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwinvoiceapply/AsBwinvoiceapplyService.java
index 673eaa5e76..c73502b058 100644
--- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwinvoiceapply/AsBwinvoiceapplyService.java
+++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwinvoiceapply/AsBwinvoiceapplyService.java
@@ -93,553 +93,565 @@ import java.util.stream.Collectors;
@Service
public class AsBwinvoiceapplyService extends MybatisBaseService {
- @Autowired
- private SysOrganizationFeign sysOrganizationFeign;
- @Autowired
- private SysStaffOrgFeign sysStaffOrgFeign;
- @Autowired
- private SysUserFeign sysUserFeign;
- @Autowired
- private FlowableFeign flowableFeign;
- @Autowired
- private FlowTaskFeign flowTaskFeign;
- @Autowired
- private FlowFeign flowFeign;
- @Autowired
- private MessageFeign messageFeign;
- @Autowired
- private FileUploadComponent fileUploadComponent;
- @Autowired
- private AsAppendixService asAppendixService;
- @Autowired
- private AsBwinvoiceapplyDetailService asBwinvoiceapplyDetailService;
- @Autowired
- private SysUserRoleFeign sysUserRoleFeign;
-
- public PagerVo listPageVo(PagerQuery pq) {
- AsBwinvoiceapplyQuery query = pq.getParams();
- QueryWrapper qw = new QueryWrapper<>();
- //========================================数据授权开始
- if (StringUtils.isNotBlank(query.getMenuUrl())) {
- PrivilegeQuery privilegeQuery = new PrivilegeQuery();
- privilegeQuery.setOrgPath(query.getOrgPath());
- privilegeQuery.setMenuUrl(query.getMenuUrl());
- privilegeQuery.setUserSid(query.getUserSid());
- ResultBean defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery);
- if (StringUtils.isNotBlank(defaultIdReltBean.getData())) {
- //数据权限ID(1集团、2事业部、3分公司、4部门、5个人)
- String orgSidPath = query.getOrgPath();
- orgSidPath = orgSidPath + "/";
- int i1 = orgSidPath.indexOf("/");
- int i2 = orgSidPath.indexOf("/", i1 + 1);
- int i3 = orgSidPath.indexOf("/", i2 + 1);
- int i4 = orgSidPath.indexOf("/", i3 + 1);
- String orgLevelKey = defaultIdReltBean.getData();
- if ("1".equals(orgLevelKey)) {
- orgSidPath = orgSidPath.substring(0, i1);
- qw.like("s.orgSidPath", orgSidPath);
- } else if ("2".equals(orgLevelKey)) {
- orgSidPath = orgSidPath.substring(0, i2);
- qw.like("s.orgSidPath", orgSidPath);
- } else if ("3".equals(orgLevelKey)) {
- orgSidPath = orgSidPath.substring(0, i3);
- qw.like("s.orgSidPath", orgSidPath);
- } else if ("4".equals(orgLevelKey)) {
- orgSidPath = orgSidPath.substring(0, i4);
- qw.like("s.orgSidPath", orgSidPath);
- } else if ("5".equals(orgLevelKey)) {
- qw.eq("ab.createBySid", query.getUserSid());
- } else {
- PagerVo p = new PagerVo<>();
- return p;
- }
- } else {
- PagerVo p = new PagerVo<>();
- return p;
- }
- }
- if (StringUtils.isNotBlank(query.getUseOrgName())) {
- qw.like("ab.useOrgName", query.getUseOrgName());
- }
- if (StringUtils.isNotBlank(query.getDeptName())) {
- qw.like("ab.deptName", query.getDeptName());
- }
- if (StringUtils.isNotBlank(query.getCreateByName())) {
- qw.like("ab.createByName", query.getCreateByName());
- }
- if (StringUtils.isNotBlank(query.getBillNo())) {
- qw.like("ab.billNo", query.getBillNo());
- }
- if (StringUtils.isNotBlank(query.getInvoiceTitle())){
- qw.like("ab.invoiceTitle",query.getInvoiceTitle());
- }
- if (StringUtils.isNotBlank(query.getInvoiceTypeKey())){
- qw.eq("ab.invoiceTypeKey",query.getInvoiceTypeKey());
- }
- String createTimeStart = query.getCreateTimeStart();
- String createTimeEnd = query.getCreateTimeEnd();
- qw.apply(StringUtils.isNotEmpty(createTimeStart), "date_format (ab.createTime,'%Y-%m-%d') >= date_format('" + createTimeStart + "','%Y-%m-%d')").
- apply(StringUtils.isNotEmpty(createTimeEnd), "date_format (ab.createTime,'%Y-%m-%d') <= date_format('" + createTimeEnd + "','%Y-%m-%d')"
- );
- String finishTimeStart = query.getFinishTimeStart();
- String finishTimeEnd = query.getFinishTimeEnd();
- qw.apply(StringUtils.isNotEmpty(finishTimeStart), "date_format (ab.finishTime,'%Y-%m-%d') >= date_format('" + finishTimeStart + "','%Y-%m-%d')").
- apply(StringUtils.isNotEmpty(finishTimeEnd), "date_format (ab.finishTime,'%Y-%m-%d') <= date_format('" + finishTimeEnd + "','%Y-%m-%d')"
- );
- IPage page = PagerUtil.queryToPage(pq);
- IPage pagging = baseMapper.selectPageVo(page, qw);
- for (AsBwinvoiceapplyVo record : pagging.getRecords()) {
- List asBwinvoiceapplyFiles = new ArrayList<>();
- List asAppendices = asAppendixService.fetchByLinkSid(record.getSid());
- for (AsAppendix asAppendix : asAppendices) {
- AsBwinvoiceapplyFile asBwinvoiceapplyFile = new AsBwinvoiceapplyFile();
- String url = fileUploadComponent.getUrlPrefix() + asAppendix.getFilePath();
- asBwinvoiceapplyFile.setUrl(url);
- asBwinvoiceapplyFiles.add(asBwinvoiceapplyFile);
- }
- record.setFileList(asBwinvoiceapplyFiles);
- }
- PagerVo p = PagerUtil.pageToVo(pagging, null);
- return p;
- }
-
- public String saveOrUpdateDto(AsBwinvoiceapplyDto dto){
+ @Autowired
+ private SysOrganizationFeign sysOrganizationFeign;
+ @Autowired
+ private SysStaffOrgFeign sysStaffOrgFeign;
+ @Autowired
+ private SysUserFeign sysUserFeign;
+ @Autowired
+ private FlowableFeign flowableFeign;
+ @Autowired
+ private FlowTaskFeign flowTaskFeign;
+ @Autowired
+ private FlowFeign flowFeign;
+ @Autowired
+ private MessageFeign messageFeign;
+ @Autowired
+ private FileUploadComponent fileUploadComponent;
+ @Autowired
+ private AsAppendixService asAppendixService;
+ @Autowired
+ private AsBwinvoiceapplyDetailService asBwinvoiceapplyDetailService;
+ @Autowired
+ private SysUserRoleFeign sysUserRoleFeign;
+
+ public PagerVo listPageVo(PagerQuery pq) {
+ AsBwinvoiceapplyQuery query = pq.getParams();
+ QueryWrapper qw = new QueryWrapper<>();
+ //========================================数据授权开始
+ if (StringUtils.isNotBlank(query.getMenuUrl())) {
+ PrivilegeQuery privilegeQuery = new PrivilegeQuery();
+ privilegeQuery.setOrgPath(query.getOrgPath());
+ privilegeQuery.setMenuUrl(query.getMenuUrl());
+ privilegeQuery.setUserSid(query.getUserSid());
+ ResultBean defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery);
+ if (StringUtils.isNotBlank(defaultIdReltBean.getData())) {
+ //数据权限ID(1集团、2事业部、3分公司、4部门、5个人)
+ String orgSidPath = query.getOrgPath();
+ orgSidPath = orgSidPath + "/";
+ int i1 = orgSidPath.indexOf("/");
+ int i2 = orgSidPath.indexOf("/", i1 + 1);
+ int i3 = orgSidPath.indexOf("/", i2 + 1);
+ int i4 = orgSidPath.indexOf("/", i3 + 1);
+ String orgLevelKey = defaultIdReltBean.getData();
+ if ("1".equals(orgLevelKey)) {
+ orgSidPath = orgSidPath.substring(0, i1);
+ qw.like("s.orgSidPath", orgSidPath);
+ } else if ("2".equals(orgLevelKey)) {
+ orgSidPath = orgSidPath.substring(0, i2);
+ qw.like("s.orgSidPath", orgSidPath);
+ } else if ("3".equals(orgLevelKey)) {
+ orgSidPath = orgSidPath.substring(0, i3);
+ qw.like("s.orgSidPath", orgSidPath);
+ } else if ("4".equals(orgLevelKey)) {
+ orgSidPath = orgSidPath.substring(0, i4);
+ qw.like("s.orgSidPath", orgSidPath);
+ } else if ("5".equals(orgLevelKey)) {
+ qw.eq("ab.createBySid", query.getUserSid());
+ } else {
+ PagerVo p = new PagerVo<>();
+ return p;
+ }
+ } else {
+ PagerVo p = new PagerVo<>();
+ return p;
+ }
+ }
+ if (StringUtils.isNotBlank(query.getUseOrgName())) {
+ qw.like("ab.useOrgName", query.getUseOrgName());
+ }
+ if (StringUtils.isNotBlank(query.getDeptName())) {
+ qw.like("ab.deptName", query.getDeptName());
+ }
+ if (StringUtils.isNotBlank(query.getCreateByName())) {
+ qw.like("ab.createByName", query.getCreateByName());
+ }
+ if (StringUtils.isNotBlank(query.getBillNo())) {
+ qw.like("ab.billNo", query.getBillNo());
+ }
+ if (StringUtils.isNotBlank(query.getInvoiceTitle())) {
+ qw.like("ab.invoiceTitle", query.getInvoiceTitle());
+ }
+ if (StringUtils.isNotBlank(query.getInvoiceTypeKey())) {
+ qw.eq("ab.invoiceTypeKey", query.getInvoiceTypeKey());
+ }
+ String createTimeStart = query.getCreateTimeStart();
+ String createTimeEnd = query.getCreateTimeEnd();
+ qw.apply(StringUtils.isNotEmpty(createTimeStart), "date_format (ab.createTime,'%Y-%m-%d') >= date_format('" + createTimeStart + "','%Y-%m-%d')").
+ apply(StringUtils.isNotEmpty(createTimeEnd), "date_format (ab.createTime,'%Y-%m-%d') <= date_format('" + createTimeEnd + "','%Y-%m-%d')"
+ );
+ String finishTimeStart = query.getFinishTimeStart();
+ String finishTimeEnd = query.getFinishTimeEnd();
+ qw.apply(StringUtils.isNotEmpty(finishTimeStart), "date_format (ab.finishTime,'%Y-%m-%d') >= date_format('" + finishTimeStart + "','%Y-%m-%d')").
+ apply(StringUtils.isNotEmpty(finishTimeEnd), "date_format (ab.finishTime,'%Y-%m-%d') <= date_format('" + finishTimeEnd + "','%Y-%m-%d')"
+ );
+ qw.orderByDesc("ab.createTime");
+ IPage page = PagerUtil.queryToPage(pq);
+ IPage pagging = baseMapper.selectPageVo(page, qw);
+ for (AsBwinvoiceapplyVo record : pagging.getRecords()) {
+ List asBwinvoiceapplyFiles = new ArrayList<>();
+ List asAppendices = asAppendixService.fetchByLinkSid(record.getSid());
+ for (AsAppendix asAppendix : asAppendices) {
+ AsBwinvoiceapplyFile asBwinvoiceapplyFile = new AsBwinvoiceapplyFile();
+ String url = fileUploadComponent.getUrlPrefix() + asAppendix.getFilePath();
+ asBwinvoiceapplyFile.setUrl(url);
+ asBwinvoiceapplyFiles.add(asBwinvoiceapplyFile);
+ }
+ record.setFileList(asBwinvoiceapplyFiles);
+ }
+ PagerVo p = PagerUtil.pageToVo(pagging, null);
+ return p;
+ }
+
+ public ResultBean saveOrUpdateDto(AsBwinvoiceapplyDto dto) {
+ ResultBean rb = ResultBean.fireFail();
+ String dtoSid = dto.getSid();
+ List fileList = dto.getFileList();
+ List asBwinvoiceapplyDetailList = dto.getAsBwinvoiceapplyDetailList();
+ String deptSid = dto.getDeptSid();
+ SysOrganizationVo deptVo = sysOrganizationFeign.fetchBySid(deptSid).getData();
+ String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(deptVo.getOrgSidPath()).getData();
+ SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(useOrgSid).getData();
+ dto.setUseOrgSid(useOrgSid);
+ dto.setUseOrgName(organizationVo.getName());
+ if (StringUtils.isBlank(dtoSid)) {
+ for (AsBwinvoiceapplyDetailDto asBwinvoiceapplyDetailDto : asBwinvoiceapplyDetailList) {
+ String sourceBillSid = asBwinvoiceapplyDetailDto.getSourceBillSid();
+ int i = asBwinvoiceapplyDetailService.selBySourceBillSid(sourceBillSid);
+ if (i > 0){
+ return rb.setMsg("维修单编号" + asBwinvoiceapplyDetailDto.getSourceBillNo() + "已存在");
+ }
+ }
+ //生成单据编号
+ String billNo = "";
+ String date = DateUtil.format(DateUtil.date(), "yyyyMM");
+ billNo = "BWGDKP" + organizationVo.getOrgCode() + date;
+ String i = baseMapper.selectNum(billNo);
+ if (StringUtils.isNotBlank(i)) {
+ billNo = Rule.getBillNo(billNo, Integer.valueOf(i).intValue());
+ } else {
+ billNo = Rule.getBillNo(billNo, 0);
+ }
+ dto.setBillNo(billNo);
+ String sid = this.insertByDto(dto);
+ for (AsBwinvoiceapplyFile asBwinvoiceapplyFile : fileList) {
+ String filePath = asBwinvoiceapplyFile.getUrl().replace(fileUploadComponent.getUrlPrefix(), "");
+ AsAppendix asAppendix = new AsAppendix();
+ asAppendix.setLinkSid(sid);
+ asAppendix.setAttachType(AsFileEnum.ASBWINVOICEAPPLY.getAttachType());
+ asAppendix.setFilePath(filePath);
+ asAppendixService.save(asAppendix);
+ }
+ for (AsBwinvoiceapplyDetailDto asBwinvoiceapplyDetailDto : asBwinvoiceapplyDetailList) {
+ asBwinvoiceapplyDetailDto.setMainSid(sid);
+ asBwinvoiceapplyDetailService.insertByDto(asBwinvoiceapplyDetailDto);
+ }
+ return rb.success().setData(sid);
+ }
+ this.updateByDto(dto);
+ asAppendixService.delByLinkSid(dtoSid);
+ for (AsBwinvoiceapplyFile asBwinvoiceapplyFile : fileList) {
+ String filePath = asBwinvoiceapplyFile.getUrl().replace(fileUploadComponent.getUrlPrefix(), "");
+ AsAppendix asAppendix = new AsAppendix();
+ asAppendix.setLinkSid(dtoSid);
+ asAppendix.setAttachType(AsFileEnum.ASBWINVOICEAPPLY.getAttachType());
+ asAppendix.setFilePath(filePath);
+ asAppendixService.save(asAppendix);
+ }
+ asBwinvoiceapplyDetailService.delByMainSid(dtoSid);
+ for (AsBwinvoiceapplyDetailDto asBwinvoiceapplyDetailDto : asBwinvoiceapplyDetailList) {
+ asBwinvoiceapplyDetailDto.setMainSid(dtoSid);
+ asBwinvoiceapplyDetailService.insertByDto(asBwinvoiceapplyDetailDto);
+ }
+ return rb.success().setData(dtoSid);
+ }
+
+ public String insertByDto(AsBwinvoiceapplyDto dto) {
+ AsBwinvoiceapply entity = new AsBwinvoiceapply();
+ BeanUtil.copyProperties(dto, entity, "id", "sid");
+ entity.setNodeState("待提交");
+ baseMapper.insert(entity);
+ return entity.getSid();
+ }
+
+ public void updateByDto(AsBwinvoiceapplyDto dto) {
String dtoSid = dto.getSid();
- List fileList = dto.getFileList();
- List asBwinvoiceapplyDetailList = dto.getAsBwinvoiceapplyDetailList();
- String deptSid = dto.getDeptSid();
- SysOrganizationVo deptVo = sysOrganizationFeign.fetchBySid(deptSid).getData();
- String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(deptVo.getOrgSidPath()).getData();
- SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(useOrgSid).getData();
- dto.setUseOrgSid(useOrgSid);
- dto.setUseOrgName(organizationVo.getName());
- if (StringUtils.isBlank(dtoSid)) {
- //生成单据编号
- String billNo = "";
- String date = DateUtil.format(DateUtil.date(), "yyyyMM");
- billNo = "BWGDKP" + organizationVo.getOrgCode() + date;
- String i = baseMapper.selectNum(billNo);
- if (StringUtils.isNotBlank(i)) {
- billNo = Rule.getBillNo(billNo, Integer.valueOf(i).intValue());
- } else {
- billNo = Rule.getBillNo(billNo, 0);
- }
- dto.setBillNo(billNo);
- String sid = this.insertByDto(dto);
- for (AsBwinvoiceapplyFile asBwinvoiceapplyFile : fileList) {
- String filePath = asBwinvoiceapplyFile.getUrl().replace(fileUploadComponent.getUrlPrefix(), "");
- AsAppendix asAppendix = new AsAppendix();
- asAppendix.setLinkSid(sid);
- asAppendix.setAttachType(AsFileEnum.ASBWINVOICEAPPLY.getAttachType());
- asAppendix.setFilePath(filePath);
- asAppendixService.save(asAppendix);
- }
- for (AsBwinvoiceapplyDetailDto asBwinvoiceapplyDetailDto : asBwinvoiceapplyDetailList) {
- asBwinvoiceapplyDetailDto.setMainSid(sid);
- asBwinvoiceapplyDetailService.insertByDto(asBwinvoiceapplyDetailDto);
- }
- return sid;
- }
- this.updateByDto(dto);
- asAppendixService.delByLinkSid(dtoSid);
- for (AsBwinvoiceapplyFile asBwinvoiceapplyFile : fileList) {
- String filePath = asBwinvoiceapplyFile.getUrl().replace(fileUploadComponent.getUrlPrefix(), "");
- AsAppendix asAppendix = new AsAppendix();
- asAppendix.setLinkSid(dtoSid);
- asAppendix.setAttachType(AsFileEnum.ASBWINVOICEAPPLY.getAttachType());
- asAppendix.setFilePath(filePath);
- asAppendixService.save(asAppendix);
- }
- asBwinvoiceapplyDetailService.delByMainSid(dtoSid);
- for (AsBwinvoiceapplyDetailDto asBwinvoiceapplyDetailDto : asBwinvoiceapplyDetailList) {
- asBwinvoiceapplyDetailDto.setMainSid(dtoSid);
- asBwinvoiceapplyDetailService.insertByDto(asBwinvoiceapplyDetailDto);
- }
- return dtoSid;
- }
-
- public String insertByDto(AsBwinvoiceapplyDto dto){
- AsBwinvoiceapply entity = new AsBwinvoiceapply();
- BeanUtil.copyProperties(dto, entity, "id", "sid");
- entity.setNodeState("待提交");
- baseMapper.insert(entity);
- return entity.getSid();
- }
-
- public void updateByDto(AsBwinvoiceapplyDto dto){
- String dtoSid = dto.getSid();
if (StringUtils.isBlank(dtoSid)) {
return;
- }
- AsBwinvoiceapply entity = fetchBySid(dtoSid);
- BeanUtil.copyProperties(dto, entity, "id", "sid");
- baseMapper.updateById(entity);
- }
-
- public AsBwinvoiceapplyDetailsVo fetchDetailsVoBySid(String sid){
- AsBwinvoiceapply entity = fetchBySid(sid);
- AsBwinvoiceapplyDetailsVo vo = new AsBwinvoiceapplyDetailsVo();
- BeanUtil.copyProperties(entity, vo);
- List asAppendices = asAppendixService.fetchByLinkSid(sid);
- List asBwinvoiceapplyFiles = new ArrayList<>();
- for (AsAppendix asAppendix : asAppendices) {
- AsBwinvoiceapplyFile asBwinvoiceapplyFile = new AsBwinvoiceapplyFile();
- String url = fileUploadComponent.getUrlPrefix() + asAppendix.getFilePath();
- asBwinvoiceapplyFile.setUrl(url);
- asBwinvoiceapplyFiles.add(asBwinvoiceapplyFile);
- }
- vo.setFileList(asBwinvoiceapplyFiles);
- List asBwinvoiceapplyDetailDetailsVos = asBwinvoiceapplyDetailService.fetchByMainSid(sid);
- vo.setAsBwinvoiceapplyDetailList(asBwinvoiceapplyDetailDetailsVos);
- return vo;
- }
+ }
+ AsBwinvoiceapply entity = fetchBySid(dtoSid);
+ BeanUtil.copyProperties(dto, entity, "id", "sid");
+ baseMapper.updateById(entity);
+ }
+
+ public AsBwinvoiceapplyDetailsVo fetchDetailsVoBySid(String sid) {
+ AsBwinvoiceapply entity = fetchBySid(sid);
+ AsBwinvoiceapplyDetailsVo vo = new AsBwinvoiceapplyDetailsVo();
+ BeanUtil.copyProperties(entity, vo);
+ List asAppendices = asAppendixService.fetchByLinkSid(sid);
+ List asBwinvoiceapplyFiles = new ArrayList<>();
+ for (AsAppendix asAppendix : asAppendices) {
+ AsBwinvoiceapplyFile asBwinvoiceapplyFile = new AsBwinvoiceapplyFile();
+ String url = fileUploadComponent.getUrlPrefix() + asAppendix.getFilePath();
+ asBwinvoiceapplyFile.setUrl(url);
+ asBwinvoiceapplyFiles.add(asBwinvoiceapplyFile);
+ }
+ vo.setFileList(asBwinvoiceapplyFiles);
+ List asBwinvoiceapplyDetailDetailsVos = asBwinvoiceapplyDetailService.fetchByMainSid(sid);
+ vo.setAsBwinvoiceapplyDetailList(asBwinvoiceapplyDetailDetailsVos);
+ return vo;
+ }
- public ResultBean delAll(String[] sids) {
- ResultBean rb = ResultBean.fireFail();
- //查询该sid中是否有流程不是待提交的
- int count = baseMapper.selectBySid(StringUtils.join(sids, ","));
- if (count > 0) {
- return rb.setMsg("删除的数据中包含已提交或已办结审批的数据,删除失败");
- }
- delBySids(sids);
- for (String sid : sids) {
- asAppendixService.delByLinkSid(sid);
- asBwinvoiceapplyDetailService.delByMainSid(sid);
- }
- return rb.success();
- }
+ public ResultBean delAll(String[] sids) {
+ ResultBean rb = ResultBean.fireFail();
+ //查询该sid中是否有流程不是待提交的
+ int count = baseMapper.selectBySid(StringUtils.join(sids, ","));
+ if (count > 0) {
+ return rb.setMsg("删除的数据中包含已提交或已办结审批的数据,删除失败");
+ }
+ delBySids(sids);
+ for (String sid : sids) {
+ asAppendixService.delByLinkSid(sid);
+ asBwinvoiceapplyDetailService.delByMainSid(sid);
+ }
+ return rb.success();
+ }
- public ResultBean submitApply(SubmitBwinvoiceApplyDto dto) {
- ResultBean rb = ResultBean.fireFail();
- AsBwinvoiceapply asBwinvoiceapply = fetchBySid(dto.getSid());
- int r = submitBusinessData(dto, asBwinvoiceapply);
- if (r == 3) {
- return rb.setMsg("该申请不存在");
- }
- if (r == 0) {
- return rb.setMsg("操作失败!提交的数据不一致");
- }
- String businessSid = saveOrUpdateDto(dto);
- asBwinvoiceapply = fetchBySid(businessSid);
- //创建BusinessVariables实体对象
- BusinessVariables bv = new BusinessVariables();
- //流程中的参数赋值、若有网关,则赋值网关中判断的字段。
- Map variables = new HashMap<>();
- Map appMap = new HashMap<>();
- appMap.put("sid", businessSid);
- variables.put("app", appMap);
- //判断发起人是否为前台主管
- String createBySid = asBwinvoiceapply.getCreateBySid();
- List list = sysUserRoleFeign.getUserRoleSidByUserSid(createBySid).getData();
- variables.put("iszg", list.contains("f00a7338-a6a4-4712-ab85-ca211d56fb1f"));
- //用户的部门全路径sid
- SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(asBwinvoiceapply.getDeptSid()).getData();
- if (sysOrganization != null) {
- bv.setOrgSidPath(sysOrganization.getOrgSidPath());
- }
- bv.setBusinessSid(businessSid);
- bv.setUserSid(dto.getCreateBySid());
- bv.setFormVariables(variables);
- if (r == 1) {
- //ToDo:流程定义id
- bv.setModelId(ProcDefEnum.ASBWINVOICEAPPLY.getProDefId());
- ResultBean voResultBean = flowFeign.startProcess(bv);
- if (!voResultBean.getSuccess()) {
- return rb.setMsg(voResultBean.getMsg());
- }
- UpdateFlowFieldVo ufVo = voResultBean.getData();
- updateFlowFiled(BeanUtil.beanToMap(ufVo));
- asBwinvoiceapply = fetchBySid(businessSid);
- //==================================添加线程
- try {
- ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
- .setNameFormat("demo-pool-%d").build();
- ExecutorService pool = new ThreadPoolExecutor(2, 100,
- 0L, TimeUnit.MILLISECONDS,
- new LinkedBlockingQueue(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy());
- AsBwinvoiceapply finalAsBwinvoiceapply = asBwinvoiceapply;
- Future future1 = pool.submit(() -> {
- //极光推送
- MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
- MessageFlowVo messageFlowVo = new MessageFlowVo();
- BeanUtil.copyProperties(ufVo, messageFlowVo);
- messageFlowableQuery.setUfVo(messageFlowVo);
- messageFlowableQuery.setAppMap(appMap);
- messageFlowableQuery.setBusinessSid(businessSid);
- messageFlowableQuery.setModuleName("工单开票申请");
- messageFlowableQuery.setMsgContent(finalAsBwinvoiceapply.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
- messageFlowableQuery.setMsgTitle("工单开票申请");
- ResultBean stringResultBean = messageFeign.pushMessage(messageFlowableQuery);
- });
- } catch (Exception e) {
- e.printStackTrace();
- }
- //==================================添加线程
- return voResultBean;
- }
- if (r == 2) {
- // ToDo:驳回到发起人后再次提交
- if (StringUtils.isBlank(dto.getInstanceId())) {
- return rb.setMsg("参数错误:instanceId");
- }
- bv.setTaskId(asBwinvoiceapply.getTaskId());
- bv.setTaskDefKey(asBwinvoiceapply.getNodeId());
- bv.setComment("重新提交");
- bv.setInstanceId(dto.getInstanceId());
- return complete(bv);
- }
- return rb;
- }
+ public ResultBean submitApply(SubmitBwinvoiceApplyDto dto) {
+ ResultBean rb = ResultBean.fireFail();
+ AsBwinvoiceapply asBwinvoiceapply = fetchBySid(dto.getSid());
+ int r = submitBusinessData(dto, asBwinvoiceapply);
+ if (r == 3) {
+ return rb.setMsg("该申请不存在");
+ }
+ if (r == 0) {
+ return rb.setMsg("操作失败!提交的数据不一致");
+ }
+ String businessSid = saveOrUpdateDto(dto).getData();
+ asBwinvoiceapply = fetchBySid(businessSid);
+ if (asBwinvoiceapply == null){
+ return rb.setMsg(saveOrUpdateDto(dto).getMsg());
+ }
+ //创建BusinessVariables实体对象
+ BusinessVariables bv = new BusinessVariables();
+ //流程中的参数赋值、若有网关,则赋值网关中判断的字段。
+ Map variables = new HashMap<>();
+ Map appMap = new HashMap<>();
+ appMap.put("sid", businessSid);
+ variables.put("app", appMap);
+ //判断发起人是否为前台主管
+ String createBySid = asBwinvoiceapply.getCreateBySid();
+ List list = sysUserRoleFeign.getUserRoleSidByUserSid(createBySid).getData();
+ variables.put("iszg", list.contains("f00a7338-a6a4-4712-ab85-ca211d56fb1f"));
+ //用户的部门全路径sid
+ SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(asBwinvoiceapply.getDeptSid()).getData();
+ if (sysOrganization != null) {
+ bv.setOrgSidPath(sysOrganization.getOrgSidPath());
+ }
+ bv.setBusinessSid(businessSid);
+ bv.setUserSid(dto.getCreateBySid());
+ bv.setFormVariables(variables);
+ if (r == 1) {
+ //ToDo:流程定义id
+ bv.setModelId(ProcDefEnum.ASBWINVOICEAPPLY.getProDefId());
+ ResultBean voResultBean = flowFeign.startProcess(bv);
+ if (!voResultBean.getSuccess()) {
+ return rb.setMsg(voResultBean.getMsg());
+ }
+ UpdateFlowFieldVo ufVo = voResultBean.getData();
+ updateFlowFiled(BeanUtil.beanToMap(ufVo));
+ asBwinvoiceapply = fetchBySid(businessSid);
+ //==================================添加线程
+ try {
+ ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
+ .setNameFormat("demo-pool-%d").build();
+ ExecutorService pool = new ThreadPoolExecutor(2, 100,
+ 0L, TimeUnit.MILLISECONDS,
+ new LinkedBlockingQueue(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy());
+ AsBwinvoiceapply finalAsBwinvoiceapply = asBwinvoiceapply;
+ Future future1 = pool.submit(() -> {
+ //极光推送
+ MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
+ MessageFlowVo messageFlowVo = new MessageFlowVo();
+ BeanUtil.copyProperties(ufVo, messageFlowVo);
+ messageFlowableQuery.setUfVo(messageFlowVo);
+ messageFlowableQuery.setAppMap(appMap);
+ messageFlowableQuery.setBusinessSid(businessSid);
+ messageFlowableQuery.setModuleName("工单开票申请");
+ messageFlowableQuery.setMsgContent(finalAsBwinvoiceapply.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
+ messageFlowableQuery.setMsgTitle("工单开票申请");
+ ResultBean stringResultBean = messageFeign.pushMessage(messageFlowableQuery);
+ });
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ //==================================添加线程
+ return voResultBean;
+ }
+ if (r == 2) {
+ // ToDo:驳回到发起人后再次提交
+ if (StringUtils.isBlank(dto.getInstanceId())) {
+ return rb.setMsg("参数错误:instanceId");
+ }
+ bv.setTaskId(asBwinvoiceapply.getTaskId());
+ bv.setTaskDefKey(asBwinvoiceapply.getNodeId());
+ bv.setComment("重新提交");
+ bv.setInstanceId(dto.getInstanceId());
+ return complete(bv);
+ }
+ return rb;
+ }
- private int updateFlowFiled(Map beanToMap) {
- return baseMapper.updateFlowFiled(beanToMap);
- }
+ private int updateFlowFiled(Map beanToMap) {
+ return baseMapper.updateFlowFiled(beanToMap);
+ }
- private int submitBusinessData(SubmitBwinvoiceApplyDto dto, AsBwinvoiceapply asBwinvoiceapply) {
- int r = 0;
- if (StringUtils.isBlank(dto.getSid())) {
- r = 1;
- } else {
- if (asBwinvoiceapply != null) {
- String businessTaskId = asBwinvoiceapply.getTaskId();
- if (StringUtils.isBlank(businessTaskId) && StringUtils.isBlank(dto.getTaskId())) {
- //新提交
- r = 1;
- } else if (StringUtils.isNotBlank(businessTaskId) && businessTaskId.equals(dto.getTaskId())) {
- //二次提交//只有数据一致的时候才能进行下一步
- r = 2;
- }
- } else {
- r = 3;
- }
- }
- return r;
- }
+ private int submitBusinessData(SubmitBwinvoiceApplyDto dto, AsBwinvoiceapply asBwinvoiceapply) {
+ int r = 0;
+ if (StringUtils.isBlank(dto.getSid())) {
+ r = 1;
+ } else {
+ if (asBwinvoiceapply != null) {
+ String businessTaskId = asBwinvoiceapply.getTaskId();
+ if (StringUtils.isBlank(businessTaskId) && StringUtils.isBlank(dto.getTaskId())) {
+ //新提交
+ r = 1;
+ } else if (StringUtils.isNotBlank(businessTaskId) && businessTaskId.equals(dto.getTaskId())) {
+ //二次提交//只有数据一致的时候才能进行下一步
+ r = 2;
+ }
+ } else {
+ r = 3;
+ }
+ }
+ return r;
+ }
- public ResultBean complete(BusinessVariables bv) {
- ResultBean rb = ResultBean.fireFail();
- String businessSid = bv.getBusinessSid();
- AsBwinvoiceapply asBwinvoiceapply = fetchBySid(businessSid);
- Map variables = new HashMap<>();
- //判断发起人是否为前台主管
- String createBySid = asBwinvoiceapply.getCreateBySid();
- List list = sysUserRoleFeign.getUserRoleSidByUserSid(createBySid).getData();
- variables.put("iszg", list.contains("f00a7338-a6a4-4712-ab85-ca211d56fb1f"));
- Map appMap = new HashMap<>();
- appMap.put("sid", businessSid);
- variables.put("app", appMap);
- bv.setFormVariables(variables);
- SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(asBwinvoiceapply.getDeptSid()).getData();
- if (sysOrganization != null) {
- bv.setOrgSidPath(sysOrganization.getOrgSidPath());
- }
- bv.setModelId(asBwinvoiceapply.getProcDefId());
- if (bv.getTaskId().equals(asBwinvoiceapply.getTaskId())) {
- ResultBean resultBean = flowFeign.handleProsess(bv);
- if (!resultBean.getSuccess()) {
- return rb.setMsg(resultBean.getMsg());
- }
- UpdateFlowFieldVo ufVo = resultBean.getData();
- updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
- if ("Event_end".equals(resultBean.getData().getTaskDefKey())) {
+ public ResultBean complete(BusinessVariables bv) {
+ ResultBean rb = ResultBean.fireFail();
+ String businessSid = bv.getBusinessSid();
+ AsBwinvoiceapply asBwinvoiceapply = fetchBySid(businessSid);
+ Map variables = new HashMap<>();
+ //判断发起人是否为前台主管
+ String createBySid = asBwinvoiceapply.getCreateBySid();
+ List list = sysUserRoleFeign.getUserRoleSidByUserSid(createBySid).getData();
+ variables.put("iszg", list.contains("f00a7338-a6a4-4712-ab85-ca211d56fb1f"));
+ Map appMap = new HashMap<>();
+ appMap.put("sid", businessSid);
+ variables.put("app", appMap);
+ bv.setFormVariables(variables);
+ SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(asBwinvoiceapply.getDeptSid()).getData();
+ if (sysOrganization != null) {
+ bv.setOrgSidPath(sysOrganization.getOrgSidPath());
+ }
+ bv.setModelId(asBwinvoiceapply.getProcDefId());
+ if (bv.getTaskId().equals(asBwinvoiceapply.getTaskId())) {
+ ResultBean resultBean = flowFeign.handleProsess(bv);
+ if (!resultBean.getSuccess()) {
+ return rb.setMsg(resultBean.getMsg());
+ }
+ UpdateFlowFieldVo ufVo = resultBean.getData();
+ updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
+ if ("Event_end".equals(resultBean.getData().getTaskDefKey())) {
- } else {
- //极光推送
- asBwinvoiceapply = fetchBySid(businessSid);
- MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
- MessageFlowVo messageFlowVo = new MessageFlowVo();
- BeanUtil.copyProperties(ufVo, messageFlowVo);
- messageFlowVo.setProcDefId(asBwinvoiceapply.getProcDefId());
- messageFlowVo.setProcInsId(asBwinvoiceapply.getProcInstId());
- messageFlowableQuery.setUfVo(messageFlowVo);
- messageFlowableQuery.setAppMap(appMap);
- messageFlowableQuery.setBusinessSid(businessSid);
- messageFlowableQuery.setModuleName("工单开票申请");
- messageFlowableQuery.setMsgContent(asBwinvoiceapply.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
- messageFlowableQuery.setMsgTitle("工单开票申请");
- ResultBean stringResultBean = messageFeign.pushMessage(messageFlowableQuery);
- }
- return rb.success().setData(resultBean.getData());
- } else {
- return rb.setMsg("操作失败!提交的数据不一致");
- }
- }
+ } else {
+ //极光推送
+ asBwinvoiceapply = fetchBySid(businessSid);
+ MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
+ MessageFlowVo messageFlowVo = new MessageFlowVo();
+ BeanUtil.copyProperties(ufVo, messageFlowVo);
+ messageFlowVo.setProcDefId(asBwinvoiceapply.getProcDefId());
+ messageFlowVo.setProcInsId(asBwinvoiceapply.getProcInstId());
+ messageFlowableQuery.setUfVo(messageFlowVo);
+ messageFlowableQuery.setAppMap(appMap);
+ messageFlowableQuery.setBusinessSid(businessSid);
+ messageFlowableQuery.setModuleName("工单开票申请");
+ messageFlowableQuery.setMsgContent(asBwinvoiceapply.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
+ messageFlowableQuery.setMsgTitle("工单开票申请");
+ ResultBean stringResultBean = messageFeign.pushMessage(messageFlowableQuery);
+ }
+ return rb.success().setData(resultBean.getData());
+ } else {
+ return rb.setMsg("操作失败!提交的数据不一致");
+ }
+ }
- public ResultBean> getPreviousNodesForReject(BwinvoiceApplyNodeQuery query) {
- ResultBean> rb = ResultBean.fireFail();
- BusinessVariables bv = new BusinessVariables();
- BeanUtil.copyProperties(query, bv);
- //流程中的参数赋值、若有网关,则赋值网关中判断的字段。
- Map variables = new HashMap<>();
- //查询业务信息
- AsBwinvoiceapply asBwinvoiceapply = fetchBySid(query.getBusinessSid());
- //判断发起人是否为前台主管
- String createBySid = asBwinvoiceapply.getCreateBySid();
- List list = sysUserRoleFeign.getUserRoleSidByUserSid(createBySid).getData();
- variables.put("iszg", list.contains("f00a7338-a6a4-4712-ab85-ca211d56fb1f"));
- bv.setModelId(asBwinvoiceapply.getProcDefId());
- bv.setFormVariables(variables);
- //=======================================
- ResultBean>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv);
- //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给TemplateApplyNodeVo
- List voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), BwinvoiceApplyNodeVo.class)).collect(Collectors.toList());
- return rb.success().setData(voList);
- }
+ public ResultBean> getPreviousNodesForReject(BwinvoiceApplyNodeQuery query) {
+ ResultBean> rb = ResultBean.fireFail();
+ BusinessVariables bv = new BusinessVariables();
+ BeanUtil.copyProperties(query, bv);
+ //流程中的参数赋值、若有网关,则赋值网关中判断的字段。
+ Map variables = new HashMap<>();
+ //查询业务信息
+ AsBwinvoiceapply asBwinvoiceapply = fetchBySid(query.getBusinessSid());
+ //判断发起人是否为前台主管
+ String createBySid = asBwinvoiceapply.getCreateBySid();
+ List list = sysUserRoleFeign.getUserRoleSidByUserSid(createBySid).getData();
+ variables.put("iszg", list.contains("f00a7338-a6a4-4712-ab85-ca211d56fb1f"));
+ bv.setModelId(asBwinvoiceapply.getProcDefId());
+ bv.setFormVariables(variables);
+ //=======================================
+ ResultBean>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv);
+ //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给TemplateApplyNodeVo
+ List voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), BwinvoiceApplyNodeVo.class)).collect(Collectors.toList());
+ return rb.success().setData(voList);
+ }
- public ResultBean> getNextNodesForSubmit(BwinvoiceApplyNodeQuery query) {
- ResultBean> rb = ResultBean.fireFail();
- BusinessVariables bv = new BusinessVariables();
- BeanUtil.copyProperties(query, bv);
- //流程中的参数赋值、若有网关,则赋值网关中判断的字段。
- Map variables = new HashMap<>();
- //查询业务信息
- AsBwinvoiceapply asBwinvoiceapply = fetchBySid(query.getBusinessSid());
- //判断发起人是否为前台主管
- String createBySid = asBwinvoiceapply.getCreateBySid();
- List list = sysUserRoleFeign.getUserRoleSidByUserSid(createBySid).getData();
- variables.put("iszg", list.contains("f00a7338-a6a4-4712-ab85-ca211d56fb1f"));
- bv.setModelId(asBwinvoiceapply.getProcDefId());
- bv.setFormVariables(variables);
- //=======================================
- ResultBean>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv);
- //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给TemplateApplyNodeVo
- List voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), BwinvoiceApplyNodeVo.class)).collect(Collectors.toList());
- return rb.success().setData(voList);
- }
+ public ResultBean> getNextNodesForSubmit(BwinvoiceApplyNodeQuery query) {
+ ResultBean> rb = ResultBean.fireFail();
+ BusinessVariables bv = new BusinessVariables();
+ BeanUtil.copyProperties(query, bv);
+ //流程中的参数赋值、若有网关,则赋值网关中判断的字段。
+ Map variables = new HashMap<>();
+ //查询业务信息
+ AsBwinvoiceapply asBwinvoiceapply = fetchBySid(query.getBusinessSid());
+ //判断发起人是否为前台主管
+ String createBySid = asBwinvoiceapply.getCreateBySid();
+ List list = sysUserRoleFeign.getUserRoleSidByUserSid(createBySid).getData();
+ variables.put("iszg", list.contains("f00a7338-a6a4-4712-ab85-ca211d56fb1f"));
+ bv.setModelId(asBwinvoiceapply.getProcDefId());
+ bv.setFormVariables(variables);
+ //=======================================
+ ResultBean>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv);
+ //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给TemplateApplyNodeVo
+ List voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), BwinvoiceApplyNodeVo.class)).collect(Collectors.toList());
+ return rb.success().setData(voList);
+ }
- public ResultBean taskReject(BwinvoiceApplyTaskQuery query) {
- ResultBean rb = ResultBean.fireFail();
- String businessSid = query.getBusinessSid();
- AsBwinvoiceapply asBwinvoiceapply = fetchBySid(businessSid);
- if (asBwinvoiceapply == null) {
- return rb.setMsg("该申请不存在");
- }
- String businessTaskId = asBwinvoiceapply.getTaskId();
- if (StringUtils.isNotBlank(businessTaskId)) {
- if (businessTaskId.equals(query.getTaskId())) {
- if (StringUtils.isBlank(query.getComment())) {
- return rb.setMsg("请填写意见");
- }
- if (StringUtils.isBlank(query.getUserSid())) {
- return rb.setMsg("参数错误:userSid");
- }
- FlowTaskVo flowTaskVo = new FlowTaskVo();
- BeanUtil.copyProperties(query, flowTaskVo);
- Map variables = new HashMap<>();
- Map appMap = new HashMap<>();
- appMap.put("sid", businessSid);
- variables.put("app", appMap);
- //判断发起人是否为前台主管
- String createBySid = asBwinvoiceapply.getCreateBySid();
- List list = sysUserRoleFeign.getUserRoleSidByUserSid(createBySid).getData();
- variables.put("iszg", list.contains("f00a7338-a6a4-4712-ab85-ca211d56fb1f"));
- flowTaskVo.setValues(variables);
- ResultBean resultBean = flowableFeign.taskReject(flowTaskVo);
- if (!resultBean.getSuccess()) {
- return rb.setMsg(resultBean.getMsg());
- }
- UpdateFlowFieldVo ufVo = resultBean.getData();
- Map map = BeanUtil.beanToMap(ufVo);
- //更新业务中的流程相关的参数
- updateFlowFiled(map);
- //极光推送
- asBwinvoiceapply = fetchBySid(businessSid);
- MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
- MessageFlowVo messageFlowVo = new MessageFlowVo();
- BeanUtil.copyProperties(ufVo, messageFlowVo);
- String procId = asBwinvoiceapply.getProcInstId();
- messageFlowVo.setProcInsId(procId);
- messageFlowVo.setProcDefId(asBwinvoiceapply.getProcDefId());
- messageFlowableQuery.setUfVo(messageFlowVo);
- messageFlowableQuery.setAppMap(appMap);
- messageFlowableQuery.setBusinessSid(businessSid);
- messageFlowableQuery.setModuleName("工单开票申请");
- ResultBean> listResultBean = flowTaskFeign.getLatestTasks(procId);
- String nextName = listResultBean.getData().get(0).getName_();
- String nextNodeUserSids = listResultBean.getData().get(0).getASSIGNEE_();
- if ("发起申请".equals(nextName)) {
- messageFlowableQuery.setMsgContent("您提交的" + messageFlowableQuery.getModuleName() + "已被驳回,请重新提交");
- } else {
- messageFlowableQuery.setMsgContent(asBwinvoiceapply.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
- }
+ public ResultBean taskReject(BwinvoiceApplyTaskQuery query) {
+ ResultBean rb = ResultBean.fireFail();
+ String businessSid = query.getBusinessSid();
+ AsBwinvoiceapply asBwinvoiceapply = fetchBySid(businessSid);
+ if (asBwinvoiceapply == null) {
+ return rb.setMsg("该申请不存在");
+ }
+ String businessTaskId = asBwinvoiceapply.getTaskId();
+ if (StringUtils.isNotBlank(businessTaskId)) {
+ if (businessTaskId.equals(query.getTaskId())) {
+ if (StringUtils.isBlank(query.getComment())) {
+ return rb.setMsg("请填写意见");
+ }
+ if (StringUtils.isBlank(query.getUserSid())) {
+ return rb.setMsg("参数错误:userSid");
+ }
+ FlowTaskVo flowTaskVo = new FlowTaskVo();
+ BeanUtil.copyProperties(query, flowTaskVo);
+ Map variables = new HashMap<>();
+ Map appMap = new HashMap<>();
+ appMap.put("sid", businessSid);
+ variables.put("app", appMap);
+ //判断发起人是否为前台主管
+ String createBySid = asBwinvoiceapply.getCreateBySid();
+ List list = sysUserRoleFeign.getUserRoleSidByUserSid(createBySid).getData();
+ variables.put("iszg", list.contains("f00a7338-a6a4-4712-ab85-ca211d56fb1f"));
+ flowTaskVo.setValues(variables);
+ ResultBean resultBean = flowableFeign.taskReject(flowTaskVo);
+ if (!resultBean.getSuccess()) {
+ return rb.setMsg(resultBean.getMsg());
+ }
+ UpdateFlowFieldVo ufVo = resultBean.getData();
+ Map map = BeanUtil.beanToMap(ufVo);
+ //更新业务中的流程相关的参数
+ updateFlowFiled(map);
+ //极光推送
+ asBwinvoiceapply = fetchBySid(businessSid);
+ MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
+ MessageFlowVo messageFlowVo = new MessageFlowVo();
+ BeanUtil.copyProperties(ufVo, messageFlowVo);
+ String procId = asBwinvoiceapply.getProcInstId();
+ messageFlowVo.setProcInsId(procId);
+ messageFlowVo.setProcDefId(asBwinvoiceapply.getProcDefId());
+ messageFlowableQuery.setUfVo(messageFlowVo);
+ messageFlowableQuery.setAppMap(appMap);
+ messageFlowableQuery.setBusinessSid(businessSid);
+ messageFlowableQuery.setModuleName("工单开票申请");
+ ResultBean> listResultBean = flowTaskFeign.getLatestTasks(procId);
+ String nextName = listResultBean.getData().get(0).getName_();
+ String nextNodeUserSids = listResultBean.getData().get(0).getASSIGNEE_();
+ if ("发起申请".equals(nextName)) {
+ messageFlowableQuery.setMsgContent("您提交的" + messageFlowableQuery.getModuleName() + "已被驳回,请重新提交");
+ } else {
+ messageFlowableQuery.setMsgContent(asBwinvoiceapply.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
+ }
- messageFlowableQuery.setMsgTitle("工单开票申请");
- ResultBean stringResultBean = messageFeign.pushMessage(messageFlowableQuery);
- return rb.success();
- }
- }
- return rb.setMsg("操作失败!提交的数据不一致!");
- }
+ messageFlowableQuery.setMsgTitle("工单开票申请");
+ ResultBean stringResultBean = messageFeign.pushMessage(messageFlowableQuery);
+ return rb.success();
+ }
+ }
+ return rb.setMsg("操作失败!提交的数据不一致!");
+ }
- public ResultBean revokeProcess(BwinvoiceApplyTaskQuery query) {
- ResultBean rb = ResultBean.fireFail();
- if (StringUtils.isBlank(query.getUserSid())) {
- return rb.setMsg("参数错误:userSid");
- }
- AsBwinvoiceapply asBwinvoiceapply = fetchBySid(query.getBusinessSid());
- String businessTaskId = asBwinvoiceapply.getTaskId();
- if (StringUtils.isNotBlank(businessTaskId)) {
- if (businessTaskId.equals(query.getTaskId())) {
- FlowTaskVo flowTaskVo = new FlowTaskVo();
- BeanUtil.copyProperties(query, flowTaskVo);
- ResultBean resultBean = flowableFeign.revokeProcess(flowTaskVo);
- if (!resultBean.getSuccess()) {
- return rb.setMsg(resultBean.getMsg());
- }
- updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
- return rb.success().setData(resultBean.getData());
- }
- }
- return rb.setMsg("操作失败,提交的数据不一致!");
- }
+ public ResultBean revokeProcess(BwinvoiceApplyTaskQuery query) {
+ ResultBean rb = ResultBean.fireFail();
+ if (StringUtils.isBlank(query.getUserSid())) {
+ return rb.setMsg("参数错误:userSid");
+ }
+ AsBwinvoiceapply asBwinvoiceapply = fetchBySid(query.getBusinessSid());
+ String businessTaskId = asBwinvoiceapply.getTaskId();
+ if (StringUtils.isNotBlank(businessTaskId)) {
+ if (businessTaskId.equals(query.getTaskId())) {
+ FlowTaskVo flowTaskVo = new FlowTaskVo();
+ BeanUtil.copyProperties(query, flowTaskVo);
+ ResultBean resultBean = flowableFeign.revokeProcess(flowTaskVo);
+ if (!resultBean.getSuccess()) {
+ return rb.setMsg(resultBean.getMsg());
+ }
+ updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
+ return rb.success().setData(resultBean.getData());
+ }
+ }
+ return rb.setMsg("操作失败,提交的数据不一致!");
+ }
- public ResultBean breakProcess(BwinvoiceApplyTaskQuery query) {
- ResultBean rb = ResultBean.fireFail();
- if (StringUtils.isBlank(query.getInstanceId())) {
- return rb.setMsg("参数错误:instanceId");
- }
- if (StringUtils.isBlank(query.getUserSid())) {
- return rb.setMsg("参数错误:userSid");
- }
- if (StringUtils.isBlank(query.getComment())) {
- return rb.setMsg("请填写意见");
- }
- AsBwinvoiceapply asBwinvoiceapply = fetchBySid(query.getBusinessSid());
- String businessTaskId = asBwinvoiceapply.getTaskId();
- if (StringUtils.isNotBlank(businessTaskId)) {
- if (query.getUserSid().equals(asBwinvoiceapply.getCreateBySid())) {
- FlowTaskVo flowTaskVo = new FlowTaskVo();
- BeanUtil.copyProperties(query, flowTaskVo);
- ResultBean resultBean = flowableFeign.breakProcess(flowTaskVo);
- if (!resultBean.getSuccess()) {
- return rb.setMsg(resultBean.getMsg());
- }
- Map map = BeanUtil.beanToMap(resultBean.getData());
- updateFlowFiled(map);
- return rb.success().setData(resultBean.getData());
- } else {
- if (businessTaskId.equals(query.getTaskId())) {
- FlowTaskVo flowTaskVo = new FlowTaskVo();
- BeanUtil.copyProperties(query, flowTaskVo);
- ResultBean resultBean = flowableFeign.breakProcess(flowTaskVo);
- if (!resultBean.getSuccess()) {
- return rb.setMsg(resultBean.getMsg());
- }
- Map map = BeanUtil.beanToMap(resultBean.getData());
- updateFlowFiled(map);
- return rb.success().setData(resultBean.getData());
- }
- }
- }
- return rb.setMsg("操作失败!提交的数据不一致!");
- }
+ public ResultBean breakProcess(BwinvoiceApplyTaskQuery query) {
+ ResultBean rb = ResultBean.fireFail();
+ if (StringUtils.isBlank(query.getInstanceId())) {
+ return rb.setMsg("参数错误:instanceId");
+ }
+ if (StringUtils.isBlank(query.getUserSid())) {
+ return rb.setMsg("参数错误:userSid");
+ }
+ if (StringUtils.isBlank(query.getComment())) {
+ return rb.setMsg("请填写意见");
+ }
+ AsBwinvoiceapply asBwinvoiceapply = fetchBySid(query.getBusinessSid());
+ String businessTaskId = asBwinvoiceapply.getTaskId();
+ if (StringUtils.isNotBlank(businessTaskId)) {
+ if (query.getUserSid().equals(asBwinvoiceapply.getCreateBySid())) {
+ FlowTaskVo flowTaskVo = new FlowTaskVo();
+ BeanUtil.copyProperties(query, flowTaskVo);
+ ResultBean resultBean = flowableFeign.breakProcess(flowTaskVo);
+ if (!resultBean.getSuccess()) {
+ return rb.setMsg(resultBean.getMsg());
+ }
+ Map map = BeanUtil.beanToMap(resultBean.getData());
+ updateFlowFiled(map);
+ return rb.success().setData(resultBean.getData());
+ } else {
+ if (businessTaskId.equals(query.getTaskId())) {
+ FlowTaskVo flowTaskVo = new FlowTaskVo();
+ BeanUtil.copyProperties(query, flowTaskVo);
+ ResultBean resultBean = flowableFeign.breakProcess(flowTaskVo);
+ if (!resultBean.getSuccess()) {
+ return rb.setMsg(resultBean.getMsg());
+ }
+ Map map = BeanUtil.beanToMap(resultBean.getData());
+ updateFlowFiled(map);
+ return rb.success().setData(resultBean.getData());
+ }
+ }
+ }
+ return rb.setMsg("操作失败!提交的数据不一致!");
+ }
- public ResultBean delegate(BwinvoiceApplyDelegateQuery query) {
- ResultBean rb = ResultBean.fireFail();
- FlowDelegateQuery delegateQuery = new FlowDelegateQuery();
- BeanUtil.copyProperties(query, delegateQuery);
- flowFeign.delegate(delegateQuery);
- return rb.success();
- }
+ public ResultBean delegate(BwinvoiceApplyDelegateQuery query) {
+ ResultBean rb = ResultBean.fireFail();
+ FlowDelegateQuery delegateQuery = new FlowDelegateQuery();
+ BeanUtil.copyProperties(query, delegateQuery);
+ flowFeign.delegate(delegateQuery);
+ return rb.success();
+ }
}
\ No newline at end of file
diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwinvoiceapplydetail/AsBwinvoiceapplyDetailMapper.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwinvoiceapplydetail/AsBwinvoiceapplyDetailMapper.java
index cda2f7f9b4..c99a10653a 100644
--- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwinvoiceapplydetail/AsBwinvoiceapplyDetailMapper.java
+++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwinvoiceapplydetail/AsBwinvoiceapplyDetailMapper.java
@@ -59,4 +59,7 @@ public interface AsBwinvoiceapplyDetailMapper extends BaseMapper fetchByMainSid(String mainSid);
+
+ @Select("select count(*) from as_bwinvoiceapply_detail where sourceBillSid = #{sourceBillSid}")
+ int selBySourceBillSid(String sourceBillSid);
}
\ No newline at end of file
diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwinvoiceapplydetail/AsBwinvoiceapplyDetailService.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwinvoiceapplydetail/AsBwinvoiceapplyDetailService.java
index 1e4cb5da98..0cbe2ae203 100644
--- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwinvoiceapplydetail/AsBwinvoiceapplyDetailService.java
+++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbwinvoiceapplydetail/AsBwinvoiceapplyDetailService.java
@@ -92,4 +92,8 @@ public class AsBwinvoiceapplyDetailService extends MybatisBaseService fetchByMainSid(String mainSid) {
return baseMapper.fetchByMainSid(mainSid);
}
+
+ public int selBySourceBillSid(String sourceBillSid) {
+ return baseMapper.selBySourceBillSid(sourceBillSid);
+ }
}
\ No newline at end of file
diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/api/AdNoexpatriatesHostelApplyRest.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/api/AdNoexpatriatesHostelApplyRest.java
index 5589e45413..a4fe928cff 100644
--- a/yxt-oa/src/main/java/com/yxt/anrui/oa/api/AdNoexpatriatesHostelApplyRest.java
+++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/api/AdNoexpatriatesHostelApplyRest.java
@@ -95,6 +95,7 @@ public class AdNoexpatriatesHostelApplyRest {
public ResultBean reject(@Valid @RequestBody TaskDto dto) {
return adNoexpatriatesHostelApplyService.reject(dto);
}
+
@ApiOperation("获取流程操作标题")
@GetMapping("/getFlowOperateTitle")
@ResponseBody
diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriateshomeapply/AdExpatriatesHomeApply.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriateshomeapply/AdExpatriatesHomeApply.java
index 669a61abe6..c83157a549 100644
--- a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriateshomeapply/AdExpatriatesHomeApply.java
+++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriateshomeapply/AdExpatriatesHomeApply.java
@@ -31,6 +31,8 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
+import java.math.BigDecimal;
+
@Data
@ApiModel(value = "驻外人员探亲申请", description = "驻外人员探亲申请")
@TableName("ad_expatriates_home_apply")
@@ -61,6 +63,10 @@ public class AdExpatriatesHomeApply extends BaseEntity {
@ApiModelProperty("探亲类型")
private String homeTypeKey;
private String homeTypeValue;
+ @ApiModelProperty("预计费用")
+ private BigDecimal expectCost;
+ @ApiModelProperty("费用明细")
+ private String costRemarks;
@ApiModelProperty("基础表单sid")
private String formSid; // 基础表单sid
@ApiModelProperty("关联审批sid列表,英文逗号分隔")
diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriateshomeapply/AdExpatriatesHomeApplyDetailVo.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriateshomeapply/AdExpatriatesHomeApplyDetailVo.java
index 3ef2e850d3..52e3798179 100644
--- a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriateshomeapply/AdExpatriatesHomeApplyDetailVo.java
+++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriateshomeapply/AdExpatriatesHomeApplyDetailVo.java
@@ -30,6 +30,7 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
+import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
@@ -57,6 +58,10 @@ public class AdExpatriatesHomeApplyDetailVo implements Vo {
private String peoNum;
@ApiModelProperty("探亲类型")
private String homeTypeValue;
+ @ApiModelProperty("预计费用")
+ private BigDecimal expectCost;
+ @ApiModelProperty("费用明细")
+ private String costRemarks;
@ApiModelProperty("备注")
private String remarks;
diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriateshomeapply/AdExpatriatesHomeApplyDto.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriateshomeapply/AdExpatriatesHomeApplyDto.java
index 5d30b07c13..c6dca589d0 100644
--- a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriateshomeapply/AdExpatriatesHomeApplyDto.java
+++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriateshomeapply/AdExpatriatesHomeApplyDto.java
@@ -32,6 +32,7 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
+import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
@@ -65,6 +66,10 @@ public class AdExpatriatesHomeApplyDto extends OaFormDto {
private FormCommon homeTypeObj;
private String homeTypeKey;
private String homeTypeValue;
+ @ApiModelProperty("预计费用")
+ private BigDecimal expectCost;
+ @ApiModelProperty("费用明细")
+ private String costRemarks;
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("基础表单sid")
diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriateshomeapply/AdExpatriatesHomeApplyMapper.xml b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriateshomeapply/AdExpatriatesHomeApplyMapper.xml
index 45676c8a0e..9b1c15e492 100644
--- a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriateshomeapply/AdExpatriatesHomeApplyMapper.xml
+++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriateshomeapply/AdExpatriatesHomeApplyMapper.xml
@@ -23,7 +23,9 @@
thisEndDate,
relationValue,
peoNum,
- homeTypeValue
+ homeTypeValue,
+ expectCost,
+ costRemarks
from ad_expatriates_home_apply
where sid = #{sid}
diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriateshomeapply/AdExpatriatesHomeApplyVo.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriateshomeapply/AdExpatriatesHomeApplyVo.java
index 78fed5a156..43c29b36e3 100644
--- a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriateshomeapply/AdExpatriatesHomeApplyVo.java
+++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriateshomeapply/AdExpatriatesHomeApplyVo.java
@@ -32,6 +32,7 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
+import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
@@ -71,6 +72,10 @@ public class AdExpatriatesHomeApplyVo implements Vo {
private FormCommon homeTypeObj;
private String homeTypeKey;
private String homeTypeValue;
+ @ApiModelProperty("预计费用")
+ private BigDecimal expectCost;
+ @ApiModelProperty("费用明细")
+ private String costRemarks;
@ApiModelProperty("备注")
private String remarks;
diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adnoexpatriateshostelapply/AdNoexpatriatesHostelApplyDto.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adnoexpatriateshostelapply/AdNoexpatriatesHostelApplyDto.java
index 8d352f4a4f..35e8b5cda5 100644
--- a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adnoexpatriateshostelapply/AdNoexpatriatesHostelApplyDto.java
+++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adnoexpatriateshostelapply/AdNoexpatriatesHostelApplyDto.java
@@ -27,6 +27,7 @@ package com.yxt.anrui.oa.biz.adnoexpatriateshostelapply;
import com.yxt.anrui.oa.biz.adexpatriatesdetail.AdExpatriatesDetailDto;
+import com.yxt.anrui.oa.biz.adnoexpatriateshosteldetail.AdNoexpatriatesHostelDetailDto;
import com.yxt.anrui.oa.biz.adnoexpatriateshosteldetail.AdNoexpatriatesHostelDetailVo;
import com.yxt.anrui.oa.biz.oaform.FormCommon;
import com.yxt.anrui.oa.biz.oaform.OaFormDto;
@@ -68,5 +69,5 @@ public class AdNoexpatriatesHostelApplyDto extends OaFormDto {
@ApiModelProperty("文件")
private List appes = new ArrayList<>();
- private List list = new ArrayList<>();
+ private List list = new ArrayList<>();
}
\ No newline at end of file
diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adnoexpatriateshostelapply/AdNoexpatriatesHostelApplyMapper.xml b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adnoexpatriateshostelapply/AdNoexpatriatesHostelApplyMapper.xml
index eb0116b51e..52090cbe47 100644
--- a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adnoexpatriateshostelapply/AdNoexpatriatesHostelApplyMapper.xml
+++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adnoexpatriateshostelapply/AdNoexpatriatesHostelApplyMapper.xml
@@ -1,8 +1,8 @@
-
-
+
+
-
+
-
-