Browse Source

Merge remote-tracking branch 'origin/master'

zhanglei
fanzongzhe 9 months ago
parent
commit
2c05992a23
  1. 2
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapply/FinPaymentapplyService.java
  2. 2
      anrui-scm/anrui-scm-ui/src/views/specialrebate/specialrebatecheck/relation/specialrebatetobecheckedAdd.vue
  3. 2
      anrui-scm/anrui-scm-ui/src/views/specialrebate/specialrebatecheck/relation/specialrebatetobecheckedInfo.vue
  4. 71
      anrui-scm/anrui-scm-ui/src/views/specialrebate/specialrebatecheck/specialrebatecheckAdd.vue
  5. 2
      anrui-scm/anrui-scm-ui/src/views/workFlow/zhuanxiangfanliheduiFlow/relation/specialrebatetobecheckedAdd.vue
  6. 2
      anrui-scm/anrui-scm-ui/src/views/workFlow/zhuanxiangfanliheduiFlow/relation/specialrebatetobecheckedInfo.vue
  7. 43
      anrui-scm/anrui-scm-ui/src/views/workFlow/zhuanxiangfanliheduiFlow/zhuanxiangfanliheduiEdit.vue
  8. 28
      yxt-as-ui/src/views/basicinformation/sparePartsCommission/sparePartsCommission.vue
  9. 20
      yxt-as-ui/src/views/basicinformation/sparePartsCommissionFiling/sparePartsCommissionFilingAdd.vue
  10. 18
      yxt-as-ui/src/views/basicinformation/sparePartsCommissionFiling/sparePartsCommissionFilingInfo.vue
  11. 14
      yxt-as-ui/src/views/workFlow/peijianbeianFlow/sparePartsCommissionFilingDaiBan.vue
  12. 14
      yxt-as-ui/src/views/workFlow/peijianbeianFlow/sparePartsCommissionFilingEdit.vue
  13. 14
      yxt-as-ui/src/views/workFlow/peijianbeianFlow/sparePartsCommissionFilingYiBan.vue
  14. 72
      yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceaccomm/AsServiceAccomm.java
  15. 77
      yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceaccomm/AsServiceAccommDetailsVo.java
  16. 78
      yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceaccomm/AsServiceAccommDto.java
  17. 60
      yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceaccomm/AsServiceAccommQuery.java
  18. 70
      yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceaccomm/AsServiceAccommVo.java
  19. 81
      yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceaccommapply/AsServiceAccommApply.java
  20. 98
      yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceaccommapply/AsServiceAccommApplyDetailsVo.java
  21. 96
      yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceaccommapply/AsServiceAccommApplyDto.java
  22. 73
      yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceaccommapply/AsServiceAccommApplyQuery.java
  23. 77
      yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceaccommapply/AsServiceAccommApplyVo.java
  24. 51
      yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceaccommapply/AsServiceAccommFile.java
  25. 35
      yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceaccommapply/flowable/CompleteServiceAccommDto.java
  26. 23
      yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceaccommapply/flowable/ServiceAccommDelegateQuery.java
  27. 18
      yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceaccommapply/flowable/ServiceAccommNodeQuery.java
  28. 24
      yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceaccommapply/flowable/ServiceAccommNodeVo.java
  29. 43
      yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceaccommapply/flowable/ServiceAccommTaskQuery.java
  30. 19
      yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceaccommapply/flowable/SubmitServiceAccommDto.java
  31. 64
      yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceaccommdetail/AsServiceAccommDetail.java
  32. 66
      yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceaccommdetail/AsServiceAccommDetailDetailsVo.java
  33. 66
      yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceaccommdetail/AsServiceAccommDetailDto.java
  34. 57
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceaccomm/AsServiceAccommMapper.java
  35. 11
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceaccomm/AsServiceAccommMapper.xml
  36. 93
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceaccomm/AsServiceAccommRest.java
  37. 188
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceaccomm/AsServiceAccommService.java
  38. 64
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceaccommapply/AsServiceAccommApplyMapper.java
  39. 44
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceaccommapply/AsServiceAccommApplyMapper.xml
  40. 151
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceaccommapply/AsServiceAccommApplyRest.java
  41. 594
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceaccommapply/AsServiceAccommApplyService.java
  42. 62
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceaccommdetail/AsServiceAccommDetailMapper.java
  43. 6
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceaccommdetail/AsServiceAccommDetailMapper.xml
  44. 56
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceaccommdetail/AsServiceAccommDetailRest.java
  45. 73
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceaccommdetail/AsServiceAccommDetailService.java
  46. 1
      yxt-as/src/main/java/com/yxt/anrui/as/feign/file/AsFileEnum.java

2
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapply/FinPaymentapplyService.java

@ -296,7 +296,7 @@ public class FinPaymentapplyService extends MybatisBaseService<FinPaymentapplyMa
return rb.setMsg(userVoResultBean.getMsg());
}
if (StringUtils.isNotBlank(dto.getOrgPath())) {
orgSidPath = dto.getOrgSidPath();
orgSidPath = dto.getOrgPath();
} else {
//根据staffSid获取用户的组织全路径

2
anrui-scm/anrui-scm-ui/src/views/specialrebate/specialrebatecheck/relation/specialrebatetobecheckedAdd.vue

@ -121,7 +121,7 @@ export default {
this.viewTitle = '专项返利核对审核申请明细'
this.rebateType = row.rebateTypeValue
console.log('编辑回显', row)
req.vehRebateWithDetails(row.specialRebateSids).then((resp) => {
req.vehRebateWithDetails(row.specialRebateSid).then((resp) => {
this.list = resp.data
}).catch((e) => {
this.list = []

2
anrui-scm/anrui-scm-ui/src/views/specialrebate/specialrebatecheck/relation/specialrebatetobecheckedInfo.vue

@ -109,7 +109,7 @@ export default {
})
this.viewTitle = '专项返利核对审核申请明细'
console.log('编辑回显', row)
req.vehRebateWithDetails(row.specialRebateSids).then((resp) => {
req.vehRebateWithDetails(row.specialRebateSid).then((resp) => {
this.list = resp.data
}).catch((e) => {
this.list = []

71
anrui-scm/anrui-scm-ui/src/views/specialrebate/specialrebatecheck/specialrebatecheckAdd.vue

@ -291,16 +291,12 @@ export default {
})
},
changeBrand(value) {
let bb = null
this.brand_list.forEach((e) => {
if (e.brandName === value) {
bb = {
name: e.brandName,
sid: e.sid
}
}
})
this.formobj.brandSid = bb.sid
const choose = this.brand_list.filter((item) => item.brandName === value)
if (choose !== null && choose.length > 0) {
this.formobj.brandSid = choose[0].sid
} else {
this.formobj.brandSid = ''
}
},
//
handleSelect() {
@ -322,13 +318,14 @@ export default {
let v = 0
for (var j in this.formobj.scmWhenSpecialrebateCheckapplydetailDetails) {
if (this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].rebateTypeValue === cval.rebateTypeValue) {
this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].num = parseInt(this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].num) + parseInt(1)
this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].withRebate = parseInt(this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].withRebate) + parseInt(cval.withRebate)
this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].uploadMoney = parseInt(this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].uploadMoney) + parseInt(cval.uploadMoney)
this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].stayDetermineMoney = parseInt(this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].stayDetermineMoney) + parseInt(cval.stayDetermineMoney)
this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].adjustmentMoney = parseInt(this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].adjustmentMoney) + parseInt(cval.adjustmentMoney)
this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].money = parseInt(this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].money) + parseInt(cval.money)
this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].num = parseFloat(this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].num !== '' ? this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].num : 0) + parseFloat(1)
this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].withRebate = parseFloat(this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].withRebate !== '' ? this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].withRebate : 0) + parseFloat(cval.withRebate !== '' ? cval.withRebate : 0)
this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].uploadMoney = parseFloat(this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].uploadMoney !== '' ? this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].uploadMoney : 0) + parseFloat(cval.uploadMoney !== '' ? cval.uploadMoney : 0)
this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].stayDetermineMoney = parseFloat(this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].stayDetermineMoney !== '' ? this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].stayDetermineMoney : 0) + parseFloat(cval.stayDetermineMoney !== '' ? cval.stayDetermineMoney : 0)
this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].adjustmentMoney = parseFloat(this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].adjustmentMoney !== '' ? this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].adjustmentMoney : 0) + parseFloat(cval.adjustmentMoney !== '' ? cval.adjustmentMoney : 0)
this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].money = parseFloat(this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].money !== '' ? this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].money : 0) + parseFloat(cval.money !== '' ? cval.money : 0)
this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].specialRebateSids.push(cval.sid)
this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].specialRebateSid = this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].specialRebateSids.join(',')
v = 1
break
}
@ -345,6 +342,7 @@ export default {
stayDetermineMoney: cval.stayDetermineMoney,
adjustmentMoney: cval.adjustmentMoney,
money: cval.money,
specialRebateSid: cval.sid,
specialRebateSids: [cval.sid],
sid: '',
mainSid: ''
@ -361,13 +359,13 @@ export default {
let v = 0
for (var l in this.formobj.scmLastSpecialrebateCheckapplydetailDetails) {
if (this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].withholdingDate === bval.withholdingDate) {
this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].withholdingAmount = parseInt(this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].withholdingAmount) + parseInt(1)
this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].uploadAmount = parseInt(this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].uploadAmount) + parseInt(1)
this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].withRebate = parseInt(this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].withRebate) + parseInt(bval.withRebate)
this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].uploadMoney = parseInt(this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].uploadMoney) + parseInt(bval.uploadMoney)
this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].stayDetermineMoney = parseInt(this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].stayDetermineMoney) + parseInt(bval.stayDetermineMoney)
this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].adjustmentMoney = parseInt(this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].adjustmentMoney) + parseInt(bval.adjustmentMoney)
this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].money = parseInt(this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].money) + parseInt(bval.money)
this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].withholdingAmount = parseFloat(this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].withholdingAmount !== '' ? this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].withholdingAmount : 0) + parseFloat(1)
this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].uploadAmount = parseFloat(this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].uploadAmount !== '' ? this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].uploadAmount : 0) + parseFloat(1)
this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].withRebate = parseFloat(this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].withRebate !== '' ? this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].withRebate : 0) + parseFloat(bval.withRebate !== '' ? bval.withRebate : 0)
this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].uploadMoney = parseFloat(this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].uploadMoney !== '' ? this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].uploadMoney : 0) + parseFloat(bval.uploadMoney !== '' ? bval.uploadMoney : 0)
this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].stayDetermineMoney = parseFloat(this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].stayDetermineMoney !== '' ? this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].stayDetermineMoney : 0) + parseFloat(bval.stayDetermineMoney !== '' ? bval.stayDetermineMoney : 0)
this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].adjustmentMoney = parseFloat(this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].adjustmentMoney !== '' ? this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].adjustmentMoney : 0) + parseFloat(bval.adjustmentMoney !== '' ? bval.adjustmentMoney : 0)
this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].money = parseFloat(this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].money !== '' ? this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].money : 0) + parseFloat(bval.money !== '' ? bval.money : 0)
this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].specialRebateSids.push(bval.sid)
v = 1
break
@ -410,13 +408,14 @@ export default {
let v = 0
for (var j in aa) {
if (aa[j].rebateTypeValue === cval.rebateTypeValue) {
aa[j].num = parseInt(aa[j].num) + parseInt(1)
aa[j].withRebate = parseInt(aa[j].withRebate) + parseInt(cval.withRebate)
aa[j].uploadMoney = parseInt(aa[j].uploadMoney) + parseInt(cval.uploadMoney)
aa[j].stayDetermineMoney = parseInt(aa[j].stayDetermineMoney) + parseInt(cval.stayDetermineMoney)
aa[j].adjustmentMoney = parseInt(aa[j].adjustmentMoney) + parseInt(cval.adjustmentMoney)
aa[j].money = parseInt(aa[j].money) + parseInt(cval.money)
aa[j].num = parseFloat(aa[j].num !== '' ? aa[j].num : 0) + parseFloat(1)
aa[j].withRebate = parseFloat(aa[j].withRebate !== '' ? aa[j].withRebate : 0) + parseFloat(cval.withRebate !== '' ? cval.withRebate : 0)
aa[j].uploadMoney = parseFloat(aa[j].uploadMoney !== '' ? aa[j].uploadMoney : 0) + parseFloat(cval.uploadMoney !== '' ? cval.uploadMoney : 0)
aa[j].stayDetermineMoney = parseFloat(aa[j].stayDetermineMoney !== '' ? aa[j].stayDetermineMoney : 0) + parseFloat(cval.stayDetermineMoney !== '' ? cval.stayDetermineMoney : 0)
aa[j].adjustmentMoney = parseFloat(aa[j].adjustmentMoney !== '' ? aa[j].adjustmentMoney : 0) + parseFloat(cval.adjustmentMoney !== '' ? cval.adjustmentMoney : 0)
aa[j].money = parseFloat(aa[j].money !== '' ? aa[j].money : 0) + parseFloat(cval.money !== '' ? cval.money : 0)
aa[j].specialRebateSids.push(cval.sid)
aa[j].specialRebateSid = aa[j].specialRebateSids.join(',')
v = 1
break
}
@ -433,6 +432,7 @@ export default {
stayDetermineMoney: cval.stayDetermineMoney,
adjustmentMoney: cval.adjustmentMoney,
money: cval.money,
specialRebateSid: cval.sid,
specialRebateSids: [cval.sid],
sid: '',
mainSid: ''
@ -452,6 +452,7 @@ export default {
this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[k].adjustmentMoney = aa[0].adjustmentMoney
this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[k].money = aa[0].money
this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[k].specialRebateSids = aa[0].specialRebateSids
this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[k].specialRebateSid = aa[0].specialRebateSid
break
}
}
@ -478,11 +479,7 @@ export default {
req.save(this.formobj).then((resp) => {
this.submitdisabled = false
if (resp.success) {
this.$message({
showClose: true,
type: 'success',
message: resp.msg
})
this.$message({ showClose: true, type: 'success', message: resp.msg })
this.handleReturn('true')
}
}).catch(() => {
@ -500,11 +497,7 @@ export default {
req.submitVehicleApply(this.formobj).then((resp) => {
this.submitdisabled = false
if (resp.success) {
this.$message({
showClose: true,
type: 'success',
message: resp.msg
})
this.$message({ showClose: true, type: 'success', message: resp.msg })
this.handleReturn('true')
}
}).catch(() => {

2
anrui-scm/anrui-scm-ui/src/views/workFlow/zhuanxiangfanliheduiFlow/relation/specialrebatetobecheckedAdd.vue

@ -121,7 +121,7 @@ export default {
this.viewTitle = '专项返利核对审核申请明细'
this.rebateType = row.rebateTypeValue
console.log('编辑回显', row)
req.vehRebateWithDetails(row.specialRebateSids).then((resp) => {
req.vehRebateWithDetails(row.specialRebateSid).then((resp) => {
this.list = resp.data
}).catch((e) => {
this.list = []

2
anrui-scm/anrui-scm-ui/src/views/workFlow/zhuanxiangfanliheduiFlow/relation/specialrebatetobecheckedInfo.vue

@ -109,7 +109,7 @@ export default {
})
this.viewTitle = '专项返利核对审核申请明细'
console.log('编辑回显', row)
req.vehRebateWithDetails(row.specialRebateSids).then((resp) => {
req.vehRebateWithDetails(row.specialRebateSid).then((resp) => {
this.list = resp.data
}).catch((e) => {
this.list = []

43
anrui-scm/anrui-scm-ui/src/views/workFlow/zhuanxiangfanliheduiFlow/zhuanxiangfanliheduiEdit.vue

@ -303,13 +303,14 @@ export default {
let v = 0
for (var j in this.formobj.scmWhenSpecialrebateCheckapplydetailDetails) {
if (this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].rebateTypeValue === cval.rebateTypeValue) {
this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].num = parseInt(this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].num) + parseInt(1)
this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].withRebate = parseInt(this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].withRebate) + parseInt(cval.withRebate)
this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].uploadMoney = parseInt(this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].uploadMoney) + parseInt(cval.uploadMoney)
this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].stayDetermineMoney = parseInt(this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].stayDetermineMoney) + parseInt(cval.stayDetermineMoney)
this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].adjustmentMoney = parseInt(this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].adjustmentMoney) + parseInt(cval.adjustmentMoney)
this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].money = parseInt(this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].money) + parseInt(cval.money)
this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].num = parseFloat(this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].num !== '' ? this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].num : 0) + parseFloat(1)
this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].withRebate = parseFloat(this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].withRebate !== '' ? this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].withRebate : 0) + parseFloat(cval.withRebate !== '' ? cval.withRebate : 0)
this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].uploadMoney = parseFloat(this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].uploadMoney !== '' ? this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].uploadMoney : 0) + parseFloat(cval.uploadMoney !== '' ? cval.uploadMoney : 0)
this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].stayDetermineMoney = parseFloat(this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].stayDetermineMoney !== '' ? this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].stayDetermineMoney : 0) + parseFloat(cval.stayDetermineMoney !== '' ? cval.stayDetermineMoney : 0)
this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].adjustmentMoney = parseFloat(this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].adjustmentMoney !== '' ? this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].adjustmentMoney : 0) + parseFloat(cval.adjustmentMoney !== '' ? cval.adjustmentMoney : 0)
this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].money = parseFloat(this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].money !== '' ? this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].money : 0) + parseFloat(cval.money !== '' ? cval.money : 0)
this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].specialRebateSids.push(cval.sid)
this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].specialRebateSid = this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[j].specialRebateSids.join(',')
v = 1
break
}
@ -326,6 +327,7 @@ export default {
stayDetermineMoney: cval.stayDetermineMoney,
adjustmentMoney: cval.adjustmentMoney,
money: cval.money,
specialRebateSid: cval.sid,
specialRebateSids: [cval.sid],
sid: '',
mainSid: ''
@ -344,13 +346,13 @@ export default {
let v = 0
for (var l in this.formobj.scmLastSpecialrebateCheckapplydetailDetails) {
if (this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].withholdingDate === bval.withholdingDate) {
this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].withholdingAmount = parseInt(this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].withholdingAmount) + parseInt(1)
this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].uploadAmount = parseInt(this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].uploadAmount) + parseInt(1)
this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].withRebate = parseInt(this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].withRebate) + parseInt(bval.withRebate)
this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].uploadMoney = parseInt(this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].uploadMoney) + parseInt(bval.uploadMoney)
this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].stayDetermineMoney = parseInt(this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].stayDetermineMoney) + parseInt(bval.stayDetermineMoney)
this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].adjustmentMoney = parseInt(this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].adjustmentMoney) + parseInt(bval.adjustmentMoney)
this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].money = parseInt(this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].money) + parseInt(bval.money)
this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].withholdingAmount = parseFloat(this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].withholdingAmount !== '' ? this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].withholdingAmount : 0) + parseFloat(1)
this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].uploadAmount = parseFloat(this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].uploadAmount !== '' ? this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].uploadAmount : 0) + parseFloat(1)
this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].withRebate = parseFloat(this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].withRebate !== '' ? this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].withRebate : 0) + parseFloat(bval.withRebate !== '' ? bval.withRebate : 0)
this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].uploadMoney = parseFloat(this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].uploadMoney !== '' ? this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].uploadMoney : 0) + parseFloat(bval.uploadMoney !== '' ? bval.uploadMoney : 0)
this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].stayDetermineMoney = parseFloat(this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].stayDetermineMoney !== '' ? this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].stayDetermineMoney : 0) + parseFloat(bval.stayDetermineMoney !== '' ? bval.stayDetermineMoney : 0)
this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].adjustmentMoney = parseFloat(this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].adjustmentMoney !== '' ? this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].adjustmentMoney : 0) + parseFloat(bval.adjustmentMoney !== '' ? bval.adjustmentMoney : 0)
this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].money = parseFloat(this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].money !== '' ? this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].money : 0) + parseFloat(bval.money !== '' ? bval.money : 0)
this.formobj.scmLastSpecialrebateCheckapplydetailDetails[l].specialRebateSids.push(bval.sid)
v = 1
break
@ -395,13 +397,14 @@ export default {
let v = 0
for (var j in aa) {
if (aa[j].rebateTypeValue === cval.rebateTypeValue) {
aa[j].num = parseInt(aa[j].num) + parseInt(1)
aa[j].withRebate = parseInt(aa[j].withRebate) + parseInt(cval.withRebate)
aa[j].uploadMoney = parseInt(aa[j].uploadMoney) + parseInt(cval.uploadMoney)
aa[j].stayDetermineMoney = parseInt(aa[j].stayDetermineMoney) + parseInt(cval.stayDetermineMoney)
aa[j].adjustmentMoney = parseInt(aa[j].adjustmentMoney) + parseInt(cval.adjustmentMoney)
aa[j].money = parseInt(aa[j].money) + parseInt(cval.money)
aa[j].num = parseFloat(aa[j].num !== '' ? aa[j].num : 0) + parseFloat(1)
aa[j].withRebate = parseFloat(aa[j].withRebate !== '' ? aa[j].withRebate : 0) + parseFloat(cval.withRebate !== '' ? cval.withRebate : 0)
aa[j].uploadMoney = parseFloat(aa[j].uploadMoney !== '' ? aa[j].uploadMoney : 0) + parseFloat(cval.uploadMoney !== '' ? cval.uploadMoney : 0)
aa[j].stayDetermineMoney = parseFloat(aa[j].stayDetermineMoney !== '' ? aa[j].stayDetermineMoney : 0) + parseFloat(cval.stayDetermineMoney !== '' ? cval.stayDetermineMoney : 0)
aa[j].adjustmentMoney = parseFloat(aa[j].adjustmentMoney !== '' ? aa[j].adjustmentMoney : 0) + parseFloat(cval.adjustmentMoney !== '' ? cval.adjustmentMoney : 0)
aa[j].money = parseFloat(aa[j].money !== '' ? aa[j].money : 0) + parseFloat(cval.money !== '' ? cval.money : 0)
aa[j].specialRebateSids.push(cval.sid)
aa[j].specialRebateSid = aa[j].specialRebateSids.join(',')
v = 1
break
}
@ -418,6 +421,7 @@ export default {
stayDetermineMoney: cval.stayDetermineMoney,
adjustmentMoney: cval.adjustmentMoney,
money: cval.money,
specialRebateSid: cval.sid,
specialRebateSids: [cval.sid],
sid: '',
mainSid: ''
@ -437,6 +441,7 @@ export default {
this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[k].adjustmentMoney = aa[0].adjustmentMoney
this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[k].money = aa[0].money
this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[k].specialRebateSids = aa[0].specialRebateSids
this.formobj.scmWhenSpecialrebateCheckapplydetailDetails[k].specialRebateSid = aa[0].specialRebateSid
break
}
}

28
yxt-as-ui/src/views/basicinformation/sparePartsCommission/sparePartsCommission.vue

@ -31,9 +31,13 @@
<el-table :key="tableKey" v-loading="listLoading" :data="list" :border="true" style="width: 100%;" @selection-change="handleSelectionChange">
<el-table-column type="selection" align="center" width="50" />
<el-table-column label="序号" type="index" width="80" :index="indexMethod" align="center" />
<el-table-column prop="state" label="备案状态" align="center" width="150" />
<el-table-column prop="state" label="备案状态" align="center" width="150">
<template slot-scope="scope">
<span>{{ scope.row.state == '1' ? '未备案' : scope.row.state == '2' ? '备案中' : scope.row.state == '3' ? '已备案' : '' }}</span>
</template>
</el-table-column>
<el-table-column prop="postName" label="岗位名称" align="center" width="150" />
<el-table-column prop="cormRatio" label="提成比例(%)" align="center" width="80" />
<el-table-column prop="commRatio" label="提成比例(%)" align="center" width="120" />
<el-table-column prop="useOrgName" label="隶属服务站" align="center" width="150" />
<el-table-column prop="remarks" label="备注" align="center" min-width="200" />
<el-table-column prop="sortNo" label="排序" align="center" width="80" />
@ -48,7 +52,7 @@
<!--End查询列表部分-->
</div>
</div>
<el-dialog :visible.sync="dialogVisible" width="30%">
<el-dialog :visible.sync="dialogVisible" width="50%">
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02">
<el-row style="border-top: 1px solid #E0E3EB">
<el-col :span="24">
@ -63,7 +67,7 @@
<el-row>
<el-col :span="24">
<div class="span-sty"><span class="icon">*</span>提成比例(%)</div>
<el-form-item prop="cormRatio"><el-input class="addinputInfo addinputw" @keyup.native="formobj.cormRatio = getNumber(formobj.cormRatio, 0)" v-model="formobj.cormRatio" clearable placeholder="请填写零以上数字" /></el-form-item>
<el-form-item prop="commRatio"><el-input class="addinputInfo addinputw" @keyup.native="formobj.commRatio = getNumber(formobj.commRatio, 0)" v-model="formobj.commRatio" clearable placeholder="请填写零以上数字" /></el-form-item>
</el-col>
</el-row>
<el-row>
@ -114,7 +118,7 @@ export default {
remarks: '',
postName: '',
postSid: '',
cormRatio: '',
commRatio: '',
sortNo: '',
useOrgSid: '',
useOrgName: '',
@ -122,8 +126,8 @@ export default {
createOrgName: ''
},
rules: {
postSid: [{ required: true, message: '岗位名称不能为空', trigger: 'blur' }],
cormRatio: [{ required: true, message: '提成比例不能为空', trigger: 'blur' }],
postSid: [{ required: true, message: '岗位名称不能为空', trigger: 'change' }],
commRatio: [{ required: true, message: '提成比例不能为空', trigger: 'blur' }],
sortNo: [{ required: true, message: '排序不能为空', trigger: 'blur' }]
},
btndisabled: false,
@ -322,7 +326,7 @@ export default {
}
},
postNameChange(value) {
const choose = this.post_list.filter((item) => item.dictKey === value)
const choose = this.post_list.filter((item) => item.sid === value)
if (choose !== null && choose.length > 0) {
this.formobj.postName = choose[0].name
} else {
@ -351,7 +355,7 @@ export default {
remarks: '',
postName: '',
postSid: '',
cormRatio: '',
commRatio: '',
sortNo: '',
useOrgSid: '',
useOrgName: '',
@ -411,12 +415,12 @@ export default {
</script>
<style scoped>
.span-sty {
width: 80px !important;
width: 100px !important;
}
.addinputInfo {
margin-left: 75px !important;
margin-left: 95px !important;
}
/deep/ .el-form-item__error {
margin-left: 75px !important;
margin-left: 95px !important;
}
</style>

20
yxt-as-ui/src/views/basicinformation/sparePartsCommissionFiling/sparePartsCommissionFilingAdd.vue

@ -35,12 +35,12 @@
<el-col :span="24">
<div class="span-sty">附件</div>
<el-form-item>
<uploadImg ref="uploadImg" class="addinputInfo" v-model="formobj.files" :limit="50" bucket="map" :upload-data="{ type: '0001' }"/>
<uploadImg ref="uploadImg" class="addinputInfo" v-model="formobj.fileList" :limit="50" bucket="map" :upload-data="{ type: '0001' }"/>
</el-form-item>
</el-col>
</el-row>
<div class="title">配件销售提成备案列表</div>
<el-table :key="tableKey" :data="formobj.mountingsList" :index="index" border style="width: 100%">
<el-table :key="tableKey" :data="formobj.asServiceAccommDetailList" :index="index" border style="width: 100%">
<el-table-column fixed width="60" label="序号" type="index" :index="index + 1" align="center"/>
<el-table-column fixed label="操作" align="center" width="100">
<template slot-scope="scope">
@ -91,8 +91,8 @@ export default {
taskId: '',
nodeId: '',
nodeState: '',
mountingsList: [],
files: []
asServiceAccommDetailList: [],
fileList: []
},
rules: {}
}
@ -127,7 +127,7 @@ export default {
}
})
row.forEach((e) => {
this.formobj.mountingsList.push({
this.formobj.asServiceAccommDetailList.push({
sid: '',
mainSid: '',
postSid: e.postSid,
@ -150,10 +150,10 @@ export default {
})
},
handleDelete(index) {
this.formobj.mountingsList.splice(index, 1)
this.formobj.asServiceAccommDetailList.splice(index, 1)
},
saveOrUpdate() {
if (this.formobj.mountingsList.length === 0) {
if (this.formobj.asServiceAccommDetailList.length === 0) {
this.$message({ showClose: true, type: 'error', message: '配件销售提成备案列表不能为空' })
return
}
@ -174,7 +174,7 @@ export default {
})
},
submit() {
if (this.formobj.mountingsList.length === 0) {
if (this.formobj.asServiceAccommDetailList.length === 0) {
this.$message({ showClose: true, type: 'error', message: '配件销售提成备案列表不能为空' })
return
}
@ -213,8 +213,8 @@ export default {
taskId: '',
nodeId: '',
nodeState: '',
mountingsList: [],
files: []
asServiceAccommDetailList: [],
fileList: []
}
this.submitdisabled = false
this.$emit('doback')

18
yxt-as-ui/src/views/basicinformation/sparePartsCommissionFiling/sparePartsCommissionFilingInfo.vue

@ -32,11 +32,11 @@
<el-row>
<el-col :span="24">
<div class="span-sty">附件</div>
<el-form-item><el-image class="addinputInfo" style="width: 150px;height: 150px" v-for="(item, index) in formobj.files" :key="index" :src="item" :preview-src-list="formobj.files" /></el-form-item>
<el-form-item><el-image class="addinputInfo" style="width: 150px;height: 150px" v-for="(item, index) in formobj.fileList" :key="index" :src="item" :preview-src-list="formobj.fileList" /></el-form-item>
</el-col>
</el-row>
<div class="title">配件销售提成备案列表</div>
<el-table :key="tableKey" :data="formobj.mountingsList" :index="index" border style="width: 100%">
<el-table :key="tableKey" :data="formobj.asServiceAccommDetailList" :index="index" border style="width: 100%">
<el-table-column fixed width="60" label="序号" type="index" :index="index + 1" align="center"/>
<el-table-column prop="postName" label="职称名称" align="center" />
<el-table-column prop="commRatio" label="权重" align="center" />
@ -76,8 +76,8 @@ export default {
taskId: '',
nodeId: '',
nodeState: '',
mountingsList: [],
files: []
asServiceAccommDetailList: [],
fileList: []
},
rules: {}
}
@ -91,12 +91,12 @@ export default {
req.fetchDetailsBySid(row.sid).then((res) => {
if (res.success) {
this.formobj = res.data
if (this.formobj.files.length > 0) {
if (this.formobj.fileList.length > 0) {
const aa = []
this.formobj.files.forEach((e) => {
this.formobj.fileList.forEach((e) => {
aa.push(e.url)
})
this.formobj.files = aa
this.formobj.fileList = aa
}
}
})
@ -119,8 +119,8 @@ export default {
taskId: '',
nodeId: '',
nodeState: '',
mountingsList: [],
files: []
asServiceAccommDetailList: [],
fileList: []
}
this.$emit('doback')
}

14
yxt-as-ui/src/views/workFlow/peijianbeianFlow/sparePartsCommissionFilingDaiBan.vue

@ -35,11 +35,11 @@
<el-row>
<el-col :span="24">
<div class="span-sty">附件</div>
<el-form-item><el-image class="addinputInfo" style="width: 150px;height: 150px" v-for="(item, index) in formobj.files" :key="index" :src="item" :preview-src-list="formobj.files" /></el-form-item>
<el-form-item><el-image class="addinputInfo" style="width: 150px;height: 150px" v-for="(item, index) in formobj.fileList" :key="index" :src="item" :preview-src-list="formobj.fileList" /></el-form-item>
</el-col>
</el-row>
<div class="title">配件销售提成备案列表</div>
<el-table :key="tableKey" :data="formobj.mountingsList" :index="index" border style="width: 100%">
<el-table :key="tableKey" :data="formobj.asServiceAccommDetailList" :index="index" border style="width: 100%">
<el-table-column fixed width="60" label="序号" type="index" :index="index + 1" align="center"/>
<el-table-column prop="postName" label="职称名称" align="center" />
<el-table-column prop="commRatio" label="权重" align="center" />
@ -118,8 +118,8 @@ export default {
taskId: '',
nodeId: '',
nodeState: '',
mountingsList: [],
files: []
asServiceAccommDetailList: [],
fileList: []
},
rules: {},
options: [],
@ -197,12 +197,12 @@ export default {
req.fetchDetailsBySid(sid).then((res) => {
if (res.success) {
this.formobj = res.data
if (this.formobj.files.length > 0) {
if (this.formobj.fileList.length > 0) {
const aa = []
this.formobj.files.forEach((e) => {
this.formobj.fileList.forEach((e) => {
aa.push(e.url)
})
this.formobj.files = aa
this.formobj.fileList = aa
}
}
})

14
yxt-as-ui/src/views/workFlow/peijianbeianFlow/sparePartsCommissionFilingEdit.vue

@ -34,12 +34,12 @@
<el-col :span="24">
<div class="span-sty">附件</div>
<el-form-item>
<uploadImg ref="uploadImg" class="addinputInfo" v-model="formobj.files" :limit="50" bucket="map" :upload-data="{ type: '0001' }"/>
<uploadImg ref="uploadImg" class="addinputInfo" v-model="formobj.fileList" :limit="50" bucket="map" :upload-data="{ type: '0001' }"/>
</el-form-item>
</el-col>
</el-row>
<div class="title">配件销售提成备案列表</div>
<el-table :key="tableKey" :data="formobj.mountingsList" :index="index" border style="width: 100%">
<el-table :key="tableKey" :data="formobj.asServiceAccommDetailList" :index="index" border style="width: 100%">
<el-table-column fixed width="60" label="序号" type="index" :index="index + 1" align="center"/>
<el-table-column fixed label="操作" align="center" width="100">
<template slot-scope="scope">
@ -89,8 +89,8 @@ export default {
taskId: '',
nodeId: '',
nodeState: '',
mountingsList: [],
files: []
asServiceAccommDetailList: [],
fileList: []
},
rules: {}
}
@ -126,10 +126,10 @@ export default {
})
},
handleDelete(index) {
this.formobj.mountingsList.splice(index, 1)
this.formobj.asServiceAccommDetailList.splice(index, 1)
},
saveOrUpdate() {
if (this.formobj.mountingsList.length === 0) {
if (this.formobj.asServiceAccommDetailList.length === 0) {
this.$message({ showClose: true, type: 'error', message: '配件销售提成备案列表不能为空' })
return
}
@ -157,7 +157,7 @@ export default {
})
},
submit() {
if (this.formobj.mountingsList.length === 0) {
if (this.formobj.asServiceAccommDetailList.length === 0) {
this.$message({ showClose: true, type: 'error', message: '配件销售提成备案列表不能为空' })
return
}

14
yxt-as-ui/src/views/workFlow/peijianbeianFlow/sparePartsCommissionFilingYiBan.vue

@ -32,11 +32,11 @@
<el-row>
<el-col :span="24">
<div class="span-sty">附件</div>
<el-form-item><el-image class="addinputInfo" style="width: 150px;height: 150px" v-for="(item, index) in formobj.files" :key="index" :src="item" :preview-src-list="formobj.files" /></el-form-item>
<el-form-item><el-image class="addinputInfo" style="width: 150px;height: 150px" v-for="(item, index) in formobj.fileList" :key="index" :src="item" :preview-src-list="formobj.fileList" /></el-form-item>
</el-col>
</el-row>
<div class="title">配件销售提成备案列表</div>
<el-table :key="tableKey" :data="formobj.mountingsList" :index="index" border style="width: 100%">
<el-table :key="tableKey" :data="formobj.asServiceAccommDetailList" :index="index" border style="width: 100%">
<el-table-column fixed width="60" label="序号" type="index" :index="index + 1" align="center"/>
<el-table-column prop="postName" label="职称名称" align="center" />
<el-table-column prop="commRatio" label="权重" align="center" />
@ -76,8 +76,8 @@ export default {
taskId: '',
nodeId: '',
nodeState: '',
mountingsList: [],
files: []
asServiceAccommDetailList: [],
fileList: []
},
rules: {},
//
@ -126,12 +126,12 @@ export default {
req.fetchDetailsBySid(sid).then((res) => {
if (res.success) {
this.formobj = res.data
if (this.formobj.files.length > 0) {
if (this.formobj.fileList.length > 0) {
const aa = []
this.formobj.files.forEach((e) => {
this.formobj.fileList.forEach((e) => {
aa.push(e.url)
})
this.formobj.files = aa
this.formobj.fileList = aa
}
}
})

72
yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceaccomm/AsServiceAccomm.java

@ -0,0 +1,72 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.as.api.asserviceaccomm;
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;
import java.math.BigDecimal;
/**
* Project: yxt-as(销售配件提成) <br/>
* File: AsServiceAccomm.java <br/>
* Class: com.yxt.anrui.as.api.asserviceaccomm.AsServiceAccomm <br/>
* Description: 配件销售提成. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-08-30 09:09:58 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "配件销售提成", description = "配件销售提成")
@TableName("as_service_accomm")
public class AsServiceAccomm extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("岗位sid")
private String postSid; // 岗位sid
@ApiModelProperty("岗位名称")
private String postName; // 岗位名称
@ApiModelProperty("提成比例")
private BigDecimal commRatio; // 提成比例
@ApiModelProperty("排序")
private Integer sortNo; // 排序
@ApiModelProperty("部门sid")
private String useOrgSid; // 部门sid
@ApiModelProperty("部门名称")
private String useOrgName; // 部门名称
@ApiModelProperty("创建组织名称")
private String createOrgName; // 创建组织名称
@ApiModelProperty("创建组织sid")
private String createOrgSid; // 创建组织sid
}

77
yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceaccomm/AsServiceAccommDetailsVo.java

@ -0,0 +1,77 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.as.api.asserviceaccomm;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* Project: yxt-as(销售配件提成) <br/>
* File: AsServiceAccommVo.java <br/>
* Class: com.yxt.anrui.as.api.asserviceaccomm.AsServiceAccommVo <br/>
* Description: 配件销售提成 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-08-30 09:09:58 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "配件销售提成 视图数据详情", description = "配件销售提成 视图数据详情")
public class AsServiceAccommDetailsVo implements Vo {
private String sid; // sid
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("申请人sid")
private String createBySid;
@ApiModelProperty("岗位sid")
private String postSid; // 岗位sid
@ApiModelProperty("岗位名称")
private String postName; // 岗位名称
@ApiModelProperty("提成比例")
private BigDecimal commRatio; // 提成比例
@ApiModelProperty("排序")
private Integer sortNo; // 排序
@ApiModelProperty("部门sid")
private String useOrgSid; // 部门sid
@ApiModelProperty("部门名称")
private String useOrgName; // 部门名称
@ApiModelProperty("创建组织名称")
private String createOrgName; // 创建组织名称
@ApiModelProperty("创建组织sid")
private String createOrgSid; // 创建组织sid
}

78
yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceaccomm/AsServiceAccommDto.java

@ -0,0 +1,78 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.as.api.asserviceaccomm;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* Project: yxt-as(销售配件提成) <br/>
* File: AsServiceAccommDto.java <br/>
* Class: com.yxt.anrui.as.api.asserviceaccomm.AsServiceAccommDto <br/>
* Description: 配件销售提成 数据传输对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-08-30 09:09:58 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "配件销售提成 数据传输对象", description = "配件销售提成 数据传输对象")
public class AsServiceAccommDto implements Dto {
private String sid; // sid
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("申请人sid")
private String createBySid;
@ApiModelProperty("岗位sid")
private String postSid; // 岗位sid
@ApiModelProperty("岗位名称")
private String postName; // 岗位名称
@ApiModelProperty("提成比例")
private BigDecimal commRatio; // 提成比例
@ApiModelProperty("排序")
private Integer sortNo; // 排序
@ApiModelProperty("部门sid")
private String useOrgSid; // 部门sid
@ApiModelProperty("部门名称")
private String useOrgName; // 部门名称
@ApiModelProperty("创建组织名称")
private String createOrgName; // 创建组织名称
@ApiModelProperty("创建组织sid")
private String createOrgSid; // 创建组织sid
@ApiModelProperty("组织全路径")
private String orgPath;
}

60
yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceaccomm/AsServiceAccommQuery.java

@ -0,0 +1,60 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.as.api.asserviceaccomm;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* Project: yxt-as(销售配件提成) <br/>
* File: AsServiceAccommQuery.java <br/>
* Class: com.yxt.anrui.as.api.asserviceaccomm.AsServiceAccommQuery <br/>
* Description: 配件销售提成 查询条件. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-08-30 09:09:58 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "配件销售提成 查询条件", description = "配件销售提成 查询条件")
public class AsServiceAccommQuery implements Query {
@ApiModelProperty("岗位sid")
private String postSid;
private String userSid;
private String orgPath;
private String menuUrl;
}

70
yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceaccomm/AsServiceAccommVo.java

@ -0,0 +1,70 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.as.api.asserviceaccomm;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* Project: yxt-as(销售配件提成) <br/>
* File: AsServiceAccommVo.java <br/>
* Class: com.yxt.anrui.as.api.asserviceaccomm.AsServiceAccommVo <br/>
* Description: 配件销售提成 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-08-30 09:09:58 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "配件销售提成 视图数据对象", description = "配件销售提成 视图数据对象")
public class AsServiceAccommVo implements Vo {
private String sid; // sid
@ApiModelProperty("备案状态")
private String state;
@ApiModelProperty("岗位sid")
private String postSid;
@ApiModelProperty("岗位名称")
private String postName;
@ApiModelProperty("提成比例")
private BigDecimal commRatio;
@ApiModelProperty("部门名称")
private String useOrgName;
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("排序")
private Integer sortNo;
}

81
yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceaccommapply/AsServiceAccommApply.java

@ -0,0 +1,81 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.as.api.asserviceaccommapply;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yxt.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.Date;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: yxt-as(销售配件提成) <br/>
* File: AsServiceAccommApply.java <br/>
* Class: com.yxt.anrui.as.api.asserviceaccommapply.AsServiceAccommApply <br/>
* Description: 配件销售提成备案. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-08-30 09:09:58 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "配件销售提成备案", description = "配件销售提成备案")
@TableName("as_service_accomm_apply")
public class AsServiceAccommApply extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("制单人姓名")
private String createByName; // 制单人姓名
@ApiModelProperty("发起部门sid")
private String deptSid; // 发起部门sid
@ApiModelProperty("发起部门名称")
private String deptName; // 发起部门名称
@ApiModelProperty("单据编号")
private String billNo; // 单据编号
@ApiModelProperty("分公司sid")
private String useOrgSid; // 分公司sid
@ApiModelProperty("分公司名称")
private String useOrgName; // 分公司名称
@ApiModelProperty("流程定义的id")
private String procDefId; // 流程定义的id
@ApiModelProperty("环节定义的sid")
private String nodeId; // 环节定义的sid
@ApiModelProperty("流程实例的sid")
private String procInstId; // 流程实例的sid
@ApiModelProperty("流程状态")
private String nodeState; // 流程状态
@ApiModelProperty("任务id")
private String taskId; // 任务id
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@ApiModelProperty("办结时间")
private Date finishTime; // 办结时间
}

98
yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceaccommapply/AsServiceAccommApplyDetailsVo.java

@ -0,0 +1,98 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.as.api.asserviceaccommapply;
import com.yxt.anrui.as.api.asserviceaccommdetail.AsServiceAccommDetailDetailsVo;
import com.yxt.anrui.as.api.asserviceaccommdetail.AsServiceAccommDetailDto;
import com.yxt.common.core.vo.Vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: yxt-as(销售配件提成) <br/>
* File: AsServiceAccommApplyVo.java <br/>
* Class: com.yxt.anrui.as.api.asserviceaccommapply.AsServiceAccommApplyVo <br/>
* Description: 配件销售提成备案 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-08-30 09:09:58 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "配件销售提成备案 视图数据详情", description = "配件销售提成备案 视图数据详情")
public class AsServiceAccommApplyDetailsVo implements Vo {
private String sid; // sid
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@ApiModelProperty("申请日期")
private Date createTime;
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("申请人sid")
private String createBySid;
@ApiModelProperty("制单人姓名")
private String createByName; // 制单人姓名
@ApiModelProperty("发起部门sid")
private String deptSid; // 发起部门sid
@ApiModelProperty("发起部门名称")
private String deptName; // 发起部门名称
@ApiModelProperty("单据编号")
private String billNo; // 单据编号
@ApiModelProperty("分公司sid")
private String useOrgSid; // 分公司sid
@ApiModelProperty("分公司名称")
private String useOrgName; // 分公司名称
@ApiModelProperty("流程定义的id")
private String procDefId; // 流程定义的id
@ApiModelProperty("环节定义的sid")
private String nodeId; // 环节定义的sid
@ApiModelProperty("流程实例的sid")
private String procInstId; // 流程实例的sid
@ApiModelProperty("流程状态")
private String nodeState; // 流程状态
@ApiModelProperty("任务id")
private String taskId; // 任务id
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@ApiModelProperty("办结时间")
private Date finishTime;
@ApiModelProperty("附件")
private List<AsServiceAccommFile> fileList = new ArrayList<>();
@ApiModelProperty("列表")
private List<AsServiceAccommDetailDetailsVo> asServiceAccommDetailList = new ArrayList<>();
}

96
yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceaccommapply/AsServiceAccommApplyDto.java

@ -0,0 +1,96 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.as.api.asserviceaccommapply;
import com.yxt.anrui.as.api.asbwdiffapply.AsBwdiffapplyFile;
import com.yxt.anrui.as.api.asbwdiffapplydetail.AsBwdiffapplyDetailDto;
import com.yxt.anrui.as.api.asserviceaccommdetail.AsServiceAccommDetailDto;
import com.yxt.common.core.dto.Dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: yxt-as(销售配件提成) <br/>
* File: AsServiceAccommApplyDto.java <br/>
* Class: com.yxt.anrui.as.api.asserviceaccommapply.AsServiceAccommApplyDto <br/>
* Description: 配件销售提成备案 数据传输对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-08-30 09:09:58 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "配件销售提成备案 数据传输对象", description = "配件销售提成备案 数据传输对象")
public class AsServiceAccommApplyDto implements Dto {
private String sid; // sid
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("申请人sid")
private String createBySid;
@ApiModelProperty("制单人姓名")
private String createByName; // 制单人姓名
@ApiModelProperty("发起部门sid")
private String deptSid; // 发起部门sid
@ApiModelProperty("发起部门名称")
private String deptName; // 发起部门名称
@ApiModelProperty("单据编号")
private String billNo; // 单据编号
@ApiModelProperty("分公司sid")
private String useOrgSid; // 分公司sid
@ApiModelProperty("分公司名称")
private String useOrgName; // 分公司名称
@ApiModelProperty("流程定义的id")
private String procDefId; // 流程定义的id
@ApiModelProperty("环节定义的sid")
private String nodeId; // 环节定义的sid
@ApiModelProperty("流程实例的sid")
private String procInstId; // 流程实例的sid
@ApiModelProperty("流程状态")
private String nodeState; // 流程状态
@ApiModelProperty("任务id")
private String taskId; // 任务id
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@ApiModelProperty("办结时间")
private Date finishTime;
@ApiModelProperty("附件")
private List<AsServiceAccommFile> fileList = new ArrayList<>();
@ApiModelProperty("列表")
private List<AsServiceAccommDetailDto> asServiceAccommDetailList = new ArrayList<>();
}

73
yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceaccommapply/AsServiceAccommApplyQuery.java

@ -0,0 +1,73 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.as.api.asserviceaccommapply;
import com.yxt.common.core.query.Query;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.Date;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: yxt-as(销售配件提成) <br/>
* File: AsServiceAccommApplyQuery.java <br/>
* Class: com.yxt.anrui.as.api.asserviceaccommapply.AsServiceAccommApplyQuery <br/>
* Description: 配件销售提成备案 查询条件. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-08-30 09:09:58 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "配件销售提成备案 查询条件", description = "配件销售提成备案 查询条件")
public class AsServiceAccommApplyQuery implements Query {
@ApiModelProperty("分公司名称")
private String useOrgName;
@ApiModelProperty("发起部门名称")
private String deptName;
@ApiModelProperty("制单人姓名")
private String createByName;
@ApiModelProperty("单据编号")
private String billNo;
@ApiModelProperty("申请日期")
private String createTimeStart;
private String createTimeEnd;
@ApiModelProperty("办结日期")
private String finishTimeStart;
private String finishTimeEnd;
private String userSid;
private String orgPath;
private String menuUrl;
}

77
yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceaccommapply/AsServiceAccommApplyVo.java

@ -0,0 +1,77 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.as.api.asserviceaccommapply;
import com.yxt.common.core.vo.Vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.Date;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: yxt-as(销售配件提成) <br/>
* File: AsServiceAccommApplyVo.java <br/>
* Class: com.yxt.anrui.as.api.asserviceaccommapply.AsServiceAccommApplyVo <br/>
* Description: 配件销售提成备案 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-08-30 09:09:58 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "配件销售提成备案 视图数据对象", description = "配件销售提成备案 视图数据对象")
public class AsServiceAccommApplyVo implements Vo {
private String sid; // sid
@ApiModelProperty("流程状态")
private String nodeState;
@ApiModelProperty("单据编号")
private String billNo;
@ApiModelProperty("分公司名称")
private String useOrgName;
@ApiModelProperty("发起部门名称")
private String deptName;
@ApiModelProperty("制单人姓名")
private String createByName; // 制单人姓名
@ApiModelProperty("流程定义的id")
private String procDefId; // 流程定义的id
@ApiModelProperty("流程实例的sid")
private String procInstId; // 流程实例的sid
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@ApiModelProperty("申请日期")
private Date createTime;
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@ApiModelProperty("办结日期")
private Date finishTime;
}

51
yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceaccommapply/AsServiceAccommFile.java

@ -0,0 +1,51 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.as.api.asserviceaccommapply;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import lombok.Data;
/**
* Project: yxt-as(保外工单) <br/>
* File: AsBwinvoiceapplyVo.java <br/>
* Class: com.yxt.anrui.as.api.asbwinvoiceapply.AsBwinvoiceapplyVo <br/>
* Description: 保外工单开票申请 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-06-17 13:42:57 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "保外工单开票申请 视图数据对象", description = "保外工单开票申请 视图数据对象")
public class AsServiceAccommFile implements Vo {
private String url;
}

35
yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceaccommapply/flowable/CompleteServiceAccommDto.java

@ -0,0 +1,35 @@
package com.yxt.anrui.as.api.asserviceaccommapply.flowable;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @description:
* @author: dimengzhe
* @date: 2024/5/11
**/
@Data
public class CompleteServiceAccommDto {
@ApiModelProperty(value = "用户sid")
@NotBlank(message = "参数错误:userSid")
private String userSid;
@ApiModelProperty(value = "用户全路径sid")
private String orgSidPath;
@ApiModelProperty(value = "节点id")
@NotBlank(message = "参数错误:taskDefKey")
private String taskDefKey;
@ApiModelProperty(value = "任务id")
@NotBlank(message = "参数错误:taskId")
private String taskId;
@ApiModelProperty(value = "流程id")
@NotBlank(message = "参数错误:instanceId")
private String instanceId;
@ApiModelProperty(value = "意见")
private String comment;
@ApiModelProperty(value = "业务sid")
@NotBlank(message = "参数错误:businessSid")
private String businessSid;
}

23
yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceaccommapply/flowable/ServiceAccommDelegateQuery.java

@ -0,0 +1,23 @@
package com.yxt.anrui.as.api.asserviceaccommapply.flowable;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2024/5/11
**/
@Data
public class ServiceAccommDelegateQuery {
private String userSid;
@ApiModelProperty("流程实例id")
private String instanceId;
@ApiModelProperty("任务Id")
private String taskId;
@ApiModelProperty("审批人sid")
private String assignee;
@ApiModelProperty("填写意见")
private String views;
}

18
yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceaccommapply/flowable/ServiceAccommNodeQuery.java

@ -0,0 +1,18 @@
package com.yxt.anrui.as.api.asserviceaccommapply.flowable;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2024/5/11
**/
@Data
public class ServiceAccommNodeQuery {
@ApiModelProperty(value = "环节定义id")
private String taskDefKey;
@ApiModelProperty(value = "业务sid")
private String businessSid;
}

24
yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceaccommapply/flowable/ServiceAccommNodeVo.java

@ -0,0 +1,24 @@
package com.yxt.anrui.as.api.asserviceaccommapply.flowable;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @description:
* @author: dimengzhe
* @date: 2024/5/11
**/
@Data
public class ServiceAccommNodeVo {
@ApiModelProperty(value = "节点名称")
private String name;
@ApiModelProperty(value = "节点id")
private String id;
@ApiModelProperty(value = "审批组")
private List<String> candidateGroups;
@ApiModelProperty(value = "是否是最后环节")
private String endTask;
}

43
yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceaccommapply/flowable/ServiceAccommTaskQuery.java

@ -0,0 +1,43 @@
package com.yxt.anrui.as.api.asserviceaccommapply.flowable;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @description:
* @author: dimengzhe
* @date: 2024/5/11
**/
@Data
public class ServiceAccommTaskQuery {
/**
* 终止驳回撤回
*/
@ApiModelProperty("任务Id")
@NotBlank(message = "参数错误:taskId")
private String taskId;
/**
* 终止驳回撤回
*/
@ApiModelProperty("业务sid")
@NotBlank(message = "参数错误:businessSid")
private String businessSid;
/**
* 终止驳回
*/
@ApiModelProperty("任务意见")
private String comment;
/**
* 终止撤回驳回
*/
@ApiModelProperty("用户Sid")
private String userSid;
/**
* 终止
*/
@ApiModelProperty("流程实例Id")
private String instanceId;
}

19
yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceaccommapply/flowable/SubmitServiceAccommDto.java

@ -0,0 +1,19 @@
package com.yxt.anrui.as.api.asserviceaccommapply.flowable;
import com.yxt.anrui.as.api.asserviceaccommapply.AsServiceAccommApplyDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2024/5/11
**/
@Data
public class SubmitServiceAccommDto extends AsServiceAccommApplyDto {
@ApiModelProperty("流程实例id")
private String instanceId;
@ApiModelProperty("任务id")
private String taskId;
}

64
yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceaccommdetail/AsServiceAccommDetail.java

@ -0,0 +1,64 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.as.api.asserviceaccommdetail;
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;
import java.math.BigDecimal;
/**
* Project: yxt-as(销售配件提成) <br/>
* File: AsServiceAccommDetail.java <br/>
* Class: com.yxt.anrui.as.api.asserviceaccommdetail.AsServiceAccommDetail <br/>
* Description: 配件销售提成备案列表. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-08-30 09:09:59 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "配件销售提成备案列表", description = "配件销售提成备案列表")
@TableName("as_service_accomm_detail")
public class AsServiceAccommDetail extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("主表sid")
private String mainSid; // 主表sid
@ApiModelProperty("岗位sid")
private String postSid; // 岗位sid
@ApiModelProperty("岗位名称")
private String postName; // 岗位名称
@ApiModelProperty("提成比例")
private BigDecimal commRatio; // 提成比例
}

66
yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceaccommdetail/AsServiceAccommDetailDetailsVo.java

@ -0,0 +1,66 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.as.api.asserviceaccommdetail;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* Project: yxt-as(销售配件提成) <br/>
* File: AsServiceAccommDetailVo.java <br/>
* Class: com.yxt.anrui.as.api.asserviceaccommdetail.AsServiceAccommDetailVo <br/>
* Description: 配件销售提成备案列表 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-08-30 09:09:59 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "配件销售提成备案列表 视图数据详情", description = "配件销售提成备案列表 视图数据详情")
public class AsServiceAccommDetailDetailsVo implements Vo {
private String sid; // sid
@ApiModelProperty("主表sid")
private String mainSid; // 主表sid
@ApiModelProperty("岗位sid")
private String postSid; // 岗位sid
@ApiModelProperty("岗位名称")
private String postName; // 岗位名称
@ApiModelProperty("提成比例")
private BigDecimal commRatio; // 提成比例
@ApiModelProperty("备注")
private String remarks;
}

66
yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceaccommdetail/AsServiceAccommDetailDto.java

@ -0,0 +1,66 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.as.api.asserviceaccommdetail;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* Project: yxt-as(销售配件提成) <br/>
* File: AsServiceAccommDetailDto.java <br/>
* Class: com.yxt.anrui.as.api.asserviceaccommdetail.AsServiceAccommDetailDto <br/>
* Description: 配件销售提成备案列表 数据传输对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-08-30 09:09:59 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "配件销售提成备案列表 数据传输对象", description = "配件销售提成备案列表 数据传输对象")
public class AsServiceAccommDetailDto implements Dto {
private String sid; // sid
@ApiModelProperty("主表sid")
private String mainSid; // 主表sid
@ApiModelProperty("岗位sid")
private String postSid; // 岗位sid
@ApiModelProperty("岗位名称")
private String postName; // 岗位名称
@ApiModelProperty("提成比例")
private BigDecimal commRatio; // 提成比例
@ApiModelProperty("备注")
private String remarks;
}

57
yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceaccomm/AsServiceAccommMapper.java

@ -0,0 +1,57 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.as.biz.asserviceaccomm;
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 org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import com.yxt.anrui.as.api.asserviceaccomm.AsServiceAccomm;
import com.yxt.anrui.as.api.asserviceaccomm.AsServiceAccommVo;
import java.util.List;
/**
* Project: yxt-as(销售配件提成) <br/>
* File: AsServiceAccommMapper.java <br/>
* Class: com.yxt.anrui.as.biz.asserviceaccomm.AsServiceAccommMapper <br/>
* Description: 配件销售提成. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-08-30 09:09:58 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Mapper
public interface AsServiceAccommMapper extends BaseMapper<AsServiceAccomm> {
IPage<AsServiceAccommVo> selectPageVo(IPage<AsServiceAccomm> page, @Param(Constants.WRAPPER) Wrapper<AsServiceAccomm> qw);
}

11
yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceaccomm/AsServiceAccommMapper.xml

@ -0,0 +1,11 @@
<?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.as.biz.asserviceaccomm.AsServiceAccommMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="selectPageVo" resultType="com.yxt.anrui.as.api.asserviceaccomm.AsServiceAccommVo">
SELECT * FROM as_service_accomm aa
LEFT JOIN anrui_portal.sys_organization as s ON aa.useOrgSid = s.sid
<where> ${ew.sqlSegment} </where>
</select>
</mapper>

93
yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceaccomm/AsServiceAccommRest.java

@ -0,0 +1,93 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.as.biz.asserviceaccomm;
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 com.yxt.anrui.as.api.asserviceaccomm.AsServiceAccommQuery;
import com.yxt.anrui.as.api.asserviceaccomm.AsServiceAccommVo;
import com.yxt.anrui.as.api.asserviceaccomm.AsServiceAccommDetailsVo;
import com.yxt.anrui.as.api.asserviceaccomm.AsServiceAccommDto;
/**
* Project: yxt-as(销售配件提成) <br/>
* File: AsServiceAccommFeignFallback.java <br/>
* Class: com.yxt.anrui.as.biz.asserviceaccomm.AsServiceAccommRest <br/>
* Description: 配件销售提成. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-08-30 09:09:58 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "配件销售提成")
@RestController
@RequestMapping("v1/asserviceaccomm")
public class AsServiceAccommRest {
@Autowired
private AsServiceAccommService asServiceAccommService;
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage")
public ResultBean<PagerVo<AsServiceAccommVo>> listPage(@RequestBody PagerQuery<AsServiceAccommQuery> pq){
ResultBean rb = ResultBean.fireFail();
PagerVo<AsServiceAccommVo> pv = asServiceAccommService.listPageVo(pq);
return rb.success().setData(pv);
}
@ApiOperation("新增或修改")
@PostMapping("/save")
public ResultBean save(@RequestBody AsServiceAccommDto dto){
ResultBean rb = ResultBean.fireFail();
asServiceAccommService.saveOrUpdateDto(dto);
return rb.success();
}
@ApiOperation("根据sid批量删除")
@DeleteMapping("/delBySids")
public ResultBean delBySids(@RequestBody String[] sids){
ResultBean rb = ResultBean.fireFail();
asServiceAccommService.delBySids(sids);
return rb.success();
}
@ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchDetailsBySid/{sid}")
public ResultBean<AsServiceAccommDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid){
ResultBean rb = ResultBean.fireFail();
AsServiceAccommDetailsVo vo = asServiceAccommService.fetchDetailsVoBySid(sid);
return rb.success().setData(vo);
}
}

188
yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceaccomm/AsServiceAccommService.java

@ -0,0 +1,188 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.as.biz.asserviceaccomm;
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.as.api.asserviceitemapply.AsServiceItemApplyVo;
import com.yxt.anrui.as.feign.portal.privilege.PrivilegeQuery;
import com.yxt.anrui.as.feign.portal.sysorganization.SysOrganizationFeign;
import com.yxt.anrui.as.feign.portal.sysorganization.SysOrganizationVo;
import com.yxt.anrui.as.feign.portal.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.as.feign.portal.sysuser.SysUserFeign;
import com.yxt.common.core.result.ResultBean;
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.vo.PagerVo;
import com.yxt.anrui.as.api.asserviceaccomm.AsServiceAccomm;
import com.yxt.anrui.as.api.asserviceaccomm.AsServiceAccommQuery;
import com.yxt.anrui.as.api.asserviceaccomm.AsServiceAccommVo;
import com.yxt.anrui.as.api.asserviceaccomm.AsServiceAccommDetailsVo;
import com.yxt.anrui.as.api.asserviceaccomm.AsServiceAccommDto;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Arrays;
import java.util.List;
/**
* Project: yxt-as(销售配件提成) <br/>
* File: AsServiceAccommService.java <br/>
* Class: com.yxt.anrui.as.biz.asserviceaccomm.AsServiceAccommService <br/>
* Description: 配件销售提成 业务逻辑. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-08-30 09:09:58 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Service
public class AsServiceAccommService extends MybatisBaseService<AsServiceAccommMapper, AsServiceAccomm> {
@Autowired
private SysUserFeign sysUserFeign;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
@Autowired
private SysOrganizationFeign sysOrganizationFeign;
public PagerVo<AsServiceAccommVo> listPageVo(PagerQuery<AsServiceAccommQuery> pq) {
AsServiceAccommQuery query = pq.getParams();
QueryWrapper<AsServiceAccomm> 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<String> 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("aa.createBySid", query.getUserSid());
} else {
PagerVo<AsServiceAccommVo> p = new PagerVo<>();
return p;
}
} else {
PagerVo<AsServiceAccommVo> p = new PagerVo<>();
return p;
}
}
if (StringUtils.isNotBlank(query.getPostSid())) {
qw.eq("aa.postSid", query.getPostSid());
}
IPage<AsServiceAccomm> page = PagerUtil.queryToPage(pq);
IPage<AsServiceAccommVo> pagging = baseMapper.selectPageVo(page, qw);
PagerVo<AsServiceAccommVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public void saveOrUpdateDto(AsServiceAccommDto dto){
String dtoSid = dto.getSid();
if (StringUtils.isBlank(dtoSid)) {
String deptName = "";
String deptSid = "";
String createOrgSid = "";
String orgPath = dto.getOrgPath();
if (StringUtils.isNotBlank(orgPath)) {
List<String> split = Arrays.asList(orgPath.split("/"));
if (split.size() > 1) {
//获取本级sid获取本级部门信息
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(split.size() - 2)).getData();
SysOrganizationVo sysOrganization1 = sysOrganizationFeign.fetchBySid(split.get(split.size() - 1)).getData();
deptName = sysOrganization.getName() + "/" + sysOrganization1.getName();
deptName = sysOrganization1.getName();
deptSid = sysOrganization1.getSid();
} else {
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(0)).getData();
deptName = sysOrganization.getName();
deptName = sysOrganization.getName();
deptSid = sysOrganization.getSid();
}
dto.setUseOrgSid(deptSid);
dto.setUseOrgName(deptName);
createOrgSid = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData();
//创建组织使用组织
ResultBean<SysOrganizationVo> organizationResultBean = sysOrganizationFeign.fetchBySid(createOrgSid);
if (organizationResultBean.getData() != null) {
dto.setCreateOrgSid(createOrgSid);
dto.setCreateOrgName(organizationResultBean.getData().getName());
}
}
this.insertByDto(dto);
return;
}
this.updateByDto(dto);
}
public void insertByDto(AsServiceAccommDto dto){
AsServiceAccomm entity = new AsServiceAccomm();
BeanUtil.copyProperties(dto, entity, "id", "sid");
baseMapper.insert(entity);
}
public void updateByDto(AsServiceAccommDto dto){
String dtoSid = dto.getSid();
if (StringUtils.isBlank(dtoSid)) {
return;
}
AsServiceAccomm entity = fetchBySid(dtoSid);
BeanUtil.copyProperties(dto, entity, "id", "sid");
baseMapper.updateById(entity);
}
public AsServiceAccommDetailsVo fetchDetailsVoBySid(String sid){
AsServiceAccomm entity = fetchBySid(sid);
AsServiceAccommDetailsVo vo = new AsServiceAccommDetailsVo();
BeanUtil.copyProperties(entity, vo);
return vo;
}
}

64
yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceaccommapply/AsServiceAccommApplyMapper.java

@ -0,0 +1,64 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.as.biz.asserviceaccommapply;
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 org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import com.yxt.anrui.as.api.asserviceaccommapply.AsServiceAccommApply;
import com.yxt.anrui.as.api.asserviceaccommapply.AsServiceAccommApplyVo;
import java.util.List;
import java.util.Map;
/**
* Project: yxt-as(销售配件提成) <br/>
* File: AsServiceAccommApplyMapper.java <br/>
* Class: com.yxt.anrui.as.biz.asserviceaccommapply.AsServiceAccommApplyMapper <br/>
* Description: 配件销售提成备案. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-08-30 09:09:58 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Mapper
public interface AsServiceAccommApplyMapper extends BaseMapper<AsServiceAccommApply> {
IPage<AsServiceAccommApplyVo> selectPageVo(IPage<AsServiceAccommApply> page, @Param(Constants.WRAPPER) Wrapper<AsServiceAccommApply> qw);
String selectNum(String billNo);
int selectBySid(String join);
int updateFlowFiled(Map<String, Object> beanToMap);
}

44
yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceaccommapply/AsServiceAccommApplyMapper.xml

@ -0,0 +1,44 @@
<?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.as.biz.asserviceaccommapply.AsServiceAccommApplyMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="selectPageVo" resultType="com.yxt.anrui.as.api.asserviceaccommapply.AsServiceAccommApplyVo">
SELECT * FROM as_service_accomm_apply aaa
LEFT JOIN anrui_portal.sys_organization as s ON aaa.deptSid = s.sid
<where> ${ew.sqlSegment} </where>
</select>
<select id="selectNum" resultType="java.lang.String">
select RIGHT (billNo, 4)
from as_service_accomm_apply
where billNo LIKE concat(#{billNo}, '%')
order by billNo desc
limit 1
</select>
<select id="selectBySid" resultType="int">
SELECT COUNT(*)
FROM as_service_accomm_apply
WHERE nodeState != '待提交'
and find_in_set(sid, #{list})
</select>
<update id="updateFlowFiled">
UPDATE as_service_accomm_apply
SET nodeState=#{nodeState}, nodeId=#{taskDefKey}
<if test="nodeState == '已办结' or nodeState == '终止'">
, finishTime = NOW()
</if>
<if test="procDefId != null and procDefId != ''">
, procDefId=#{procDefId}
</if>
<if test="procInsId != null and procInsId != ''">
, procInstId=#{procInsId}
</if>
<if test="taskId != null and taskId != ''">
, taskId=#{taskId}
</if>
WHERE sid=#{sid}
</update>
</mapper>

151
yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceaccommapply/AsServiceAccommApplyRest.java

@ -0,0 +1,151 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.as.biz.asserviceaccommapply;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.as.api.asbwinvoiceapply.flowable.*;
import com.yxt.anrui.as.api.asserviceaccommapply.flowable.*;
import com.yxt.anrui.as.feign.flowable.flow.BusinessVariables;
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 com.yxt.anrui.as.api.asserviceaccommapply.AsServiceAccommApplyQuery;
import com.yxt.anrui.as.api.asserviceaccommapply.AsServiceAccommApplyVo;
import com.yxt.anrui.as.api.asserviceaccommapply.AsServiceAccommApplyDetailsVo;
import com.yxt.anrui.as.api.asserviceaccommapply.AsServiceAccommApplyDto;
import javax.validation.Valid;
import java.util.List;
/**
* Project: yxt-as(销售配件提成) <br/>
* File: AsServiceAccommApplyFeignFallback.java <br/>
* Class: com.yxt.anrui.as.biz.asserviceaccommapply.AsServiceAccommApplyRest <br/>
* Description: 配件销售提成备案. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-08-30 09:09:58 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "配件销售提成备案")
@RestController
@RequestMapping("v1/asserviceaccommapply")
public class AsServiceAccommApplyRest {
@Autowired
private AsServiceAccommApplyService asServiceAccommApplyService;
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage")
public ResultBean<PagerVo<AsServiceAccommApplyVo>> listPage(@RequestBody PagerQuery<AsServiceAccommApplyQuery> pq){
ResultBean rb = ResultBean.fireFail();
PagerVo<AsServiceAccommApplyVo> pv = asServiceAccommApplyService.listPageVo(pq);
return rb.success().setData(pv);
}
@ApiOperation("新增或修改")
@PostMapping("/save")
public ResultBean save(@RequestBody AsServiceAccommApplyDto dto){
ResultBean rb = ResultBean.fireFail();
asServiceAccommApplyService.saveOrUpdateDto(dto);
return rb.success();
}
@ApiOperation("根据sid批量删除")
@DeleteMapping("/delBySids")
public ResultBean delBySids(@RequestBody String[] sids){
return asServiceAccommApplyService.delAll(sids);
}
@ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchDetailsBySid/{sid}")
public ResultBean<AsServiceAccommApplyDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid){
ResultBean rb = ResultBean.fireFail();
AsServiceAccommApplyDetailsVo vo = asServiceAccommApplyService.fetchDetailsVoBySid(sid);
return rb.success().setData(vo);
}
@ApiOperation("提交")
@PostMapping("/submitApply")
public ResultBean submitApply(@Valid @RequestBody SubmitServiceAccommDto dto) {
return asServiceAccommApplyService.submitApply(dto);
}
@ApiOperation(value = "办理(同意)")
@PostMapping("/complete")
public ResultBean complete(@Valid @RequestBody CompleteServiceAccommDto query) {
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
bv.setModelId("");
return asServiceAccommApplyService.complete(bv);
}
@ApiOperation(value = "获取上一个环节")
@GetMapping(value = "/getPreviousNodesForReject")
ResultBean<List<ServiceAccommNodeVo>> getPreviousNodesForReject(@Valid @SpringQueryMap ServiceAccommNodeQuery query) {
return asServiceAccommApplyService.getPreviousNodesForReject(query);
}
@ApiOperation(value = "获取下一个环节")
@GetMapping(value = "/getNextNodesForSubmit")
ResultBean<List<ServiceAccommNodeVo>> getNextNodesForSubmit(@Valid @SpringQueryMap ServiceAccommNodeQuery query) {
return asServiceAccommApplyService.getNextNodesForSubmit(query);
}
@ApiOperation(value = "驳回任务")
@PostMapping(value = "/reject")
public ResultBean taskReject(@Valid @RequestBody ServiceAccommTaskQuery query) {
return asServiceAccommApplyService.taskReject(query);
}
@ApiOperation(value = "撤回流程")
@PostMapping(value = "/revokeProcess")
public ResultBean revokeProcess(@Valid @RequestBody ServiceAccommTaskQuery query) {
return asServiceAccommApplyService.revokeProcess(query);
}
@ApiOperation(value = "终止任务")
@PostMapping(value = "/breakProcess")
public ResultBean breakProcess(@Valid @RequestBody ServiceAccommTaskQuery query) {
return asServiceAccommApplyService.breakProcess(query);
}
@ApiOperation(value = "加签")
@PostMapping(value = "/delegate")
@ResponseBody
public ResultBean delegate(@RequestBody ServiceAccommDelegateQuery query) {
return asServiceAccommApplyService.delegate(query);
}
}

594
yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceaccommapply/AsServiceAccommApplyService.java

@ -0,0 +1,594 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.as.biz.asserviceaccommapply;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.google.common.util.concurrent.ThreadFactoryBuilder;
import com.yxt.anrui.as.api.asappendix.AsAppendix;
import com.yxt.anrui.as.api.asbwinvoiceapply.AsBwinvoiceapply;
import com.yxt.anrui.as.api.asbwinvoiceapply.AsBwinvoiceapplyFile;
import com.yxt.anrui.as.api.asbwinvoiceapply.flowable.*;
import com.yxt.anrui.as.api.asserviceaccomm.AsServiceAccommVo;
import com.yxt.anrui.as.api.asserviceaccommapply.*;
import com.yxt.anrui.as.api.asserviceaccommapply.flowable.*;
import com.yxt.anrui.as.api.asserviceaccommdetail.AsServiceAccommDetailDetailsVo;
import com.yxt.anrui.as.api.asserviceaccommdetail.AsServiceAccommDetailDto;
import com.yxt.anrui.as.biz.asappendix.AsAppendixService;
import com.yxt.anrui.as.biz.asserviceaccommdetail.AsServiceAccommDetailService;
import com.yxt.anrui.as.feign.base.billno.Rule;
import com.yxt.anrui.as.feign.file.AsFileEnum;
import com.yxt.anrui.as.feign.flowable.flow.BusinessVariables;
import com.yxt.anrui.as.feign.flowable.flow.FlowableFeign;
import com.yxt.anrui.as.feign.flowable.flow.ProcDefEnum;
import com.yxt.anrui.as.feign.flowable.flow.UpdateFlowFieldVo;
import com.yxt.anrui.as.feign.flowable.flow2.FlowDelegateQuery;
import com.yxt.anrui.as.feign.flowable.flow2.FlowFeign;
import com.yxt.anrui.as.feign.flowable.flowtask.FlowTaskFeign;
import com.yxt.anrui.as.feign.flowable.flowtask.FlowTaskVo;
import com.yxt.anrui.as.feign.flowable.flowtask.LatestTaskVo;
import com.yxt.anrui.as.feign.message.MessageFeign;
import com.yxt.anrui.as.feign.message.MessageFlowVo;
import com.yxt.anrui.as.feign.message.MessageFlowableQuery;
import com.yxt.anrui.as.feign.portal.privilege.PrivilegeQuery;
import com.yxt.anrui.as.feign.portal.sysorganization.SysOrganizationFeign;
import com.yxt.anrui.as.feign.portal.sysorganization.SysOrganizationVo;
import com.yxt.anrui.as.feign.portal.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.as.feign.portal.sysuser.SysUserFeign;
import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.core.result.ResultBean;
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.vo.PagerVo;
import org.apache.tomcat.util.threads.ThreadPoolExecutor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.*;
import java.util.concurrent.*;
import java.util.stream.Collectors;
/**
* Project: yxt-as(销售配件提成) <br/>
* File: AsServiceAccommApplyService.java <br/>
* Class: com.yxt.anrui.as.biz.asserviceaccommapply.AsServiceAccommApplyService <br/>
* Description: 配件销售提成备案 业务逻辑. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-08-30 09:09:58 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Service
public class AsServiceAccommApplyService extends MybatisBaseService<AsServiceAccommApplyMapper, AsServiceAccommApply> {
@Autowired
private SysUserFeign sysUserFeign;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
@Autowired
private SysOrganizationFeign sysOrganizationFeign;
@Autowired
private AsServiceAccommDetailService asServiceAccommDetailService;
@Autowired
private FileUploadComponent fileUploadComponent;
@Autowired
private AsAppendixService asAppendixService;
@Autowired
private FlowableFeign flowableFeign;
@Autowired
private FlowTaskFeign flowTaskFeign;
@Autowired
private FlowFeign flowFeign;
@Autowired
private MessageFeign messageFeign;
public PagerVo<AsServiceAccommApplyVo> listPageVo(PagerQuery<AsServiceAccommApplyQuery> pq) {
AsServiceAccommApplyQuery query = pq.getParams();
QueryWrapper<AsServiceAccommApply> 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<String> 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("aaa.createBySid", query.getUserSid());
} else {
PagerVo<AsServiceAccommApplyVo> p = new PagerVo<>();
return p;
}
} else {
PagerVo<AsServiceAccommApplyVo> p = new PagerVo<>();
return p;
}
}
if (StringUtils.isNotBlank(query.getUseOrgName())) {
qw.like("aaa.useOrgName", query.getUseOrgName());
}
if (StringUtils.isNotBlank(query.getDeptName())) {
qw.like("aaa.deptName", query.getDeptName());
}
if (StringUtils.isNotBlank(query.getCreateByName())) {
qw.like("aaa.createByName", query.getCreateByName());
}
if (StringUtils.isNotBlank(query.getBillNo())) {
qw.like("aaa.billNo", query.getBillNo());
}
String createTimeStart = query.getCreateTimeStart();
String createTimeEnd = query.getCreateTimeEnd();
qw.apply(StringUtils.isNotEmpty(createTimeStart), "date_format (aaa.createTime,'%Y-%m-%d') >= date_format('" + createTimeStart + "','%Y-%m-%d')").
apply(StringUtils.isNotEmpty(createTimeEnd), "date_format (aaa.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 (aaa.finishTime,'%Y-%m-%d') >= date_format('" + finishTimeStart + "','%Y-%m-%d')").
apply(StringUtils.isNotEmpty(finishTimeEnd), "date_format (aaa.finishTime,'%Y-%m-%d') <= date_format('" + finishTimeEnd + "','%Y-%m-%d')"
);
IPage<AsServiceAccommApply> page = PagerUtil.queryToPage(pq);
IPage<AsServiceAccommApplyVo> pagging = baseMapper.selectPageVo(page, qw);
PagerVo<AsServiceAccommApplyVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public String saveOrUpdateDto(AsServiceAccommApplyDto dto){
String dtoSid = dto.getSid();
List<AsServiceAccommDetailDto> asServiceAccommDetailList = dto.getAsServiceAccommDetailList();
List<AsServiceAccommFile> fileList = dto.getFileList();
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 = "PJXSTC" + 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 (AsServiceAccommDetailDto asServiceAccommDetailDto : asServiceAccommDetailList) {
asServiceAccommDetailDto.setMainSid(sid);
asServiceAccommDetailService.insertByDto(asServiceAccommDetailDto);
}
for (AsServiceAccommFile asServiceAccommFile : fileList) {
String filePath = asServiceAccommFile.getUrl().replace(fileUploadComponent.getUrlPrefix(), "");
AsAppendix asAppendix = new AsAppendix();
asAppendix.setLinkSid(sid);
asAppendix.setAttachType(AsFileEnum.ASSERVICEACCOMMAPPLY.getAttachType());
asAppendix.setFilePath(filePath);
asAppendixService.save(asAppendix);
}
return sid;
}
this.updateByDto(dto);
asServiceAccommDetailService.delByMainSid(dtoSid);
for (AsServiceAccommDetailDto asServiceAccommDetailDto : asServiceAccommDetailList) {
asServiceAccommDetailDto.setMainSid(dtoSid);
asServiceAccommDetailService.insertByDto(asServiceAccommDetailDto);
}
asAppendixService.delByLinkSid(dtoSid);
for (AsServiceAccommFile asServiceAccommFile : fileList) {
String filePath = asServiceAccommFile.getUrl().replace(fileUploadComponent.getUrlPrefix(), "");
AsAppendix asAppendix = new AsAppendix();
asAppendix.setLinkSid(dtoSid);
asAppendix.setAttachType(AsFileEnum.ASSERVICEACCOMMAPPLY.getAttachType());
asAppendix.setFilePath(filePath);
asAppendixService.save(asAppendix);
}
return dtoSid;
}
public String insertByDto(AsServiceAccommApplyDto dto){
AsServiceAccommApply entity = new AsServiceAccommApply();
BeanUtil.copyProperties(dto, entity, "id", "sid");
entity.setNodeState("待提交");
baseMapper.insert(entity);
return entity.getSid();
}
public void updateByDto(AsServiceAccommApplyDto dto){
String dtoSid = dto.getSid();
if (StringUtils.isBlank(dtoSid)) {
return;
}
AsServiceAccommApply entity = fetchBySid(dtoSid);
BeanUtil.copyProperties(dto, entity, "id", "sid");
baseMapper.updateById(entity);
}
public AsServiceAccommApplyDetailsVo fetchDetailsVoBySid(String sid){
AsServiceAccommApply entity = fetchBySid(sid);
AsServiceAccommApplyDetailsVo vo = new AsServiceAccommApplyDetailsVo();
BeanUtil.copyProperties(entity, vo);
List<AsServiceAccommDetailDetailsVo> asServiceAccommDetailDetailsVos = asServiceAccommDetailService.selByMainSid(sid);
vo.setAsServiceAccommDetailList(asServiceAccommDetailDetailsVos);
List<AsAppendix> asAppendices = asAppendixService.fetchByLinkSid(sid);
List<AsServiceAccommFile> asServiceAccommFiles = new ArrayList<>();
for (AsAppendix asAppendix : asAppendices) {
AsServiceAccommFile asServiceAccommFile = new AsServiceAccommFile();
String url = fileUploadComponent.getUrlPrefix() + asAppendix.getFilePath();
asServiceAccommFile.setUrl(url);
asServiceAccommFiles.add(asServiceAccommFile);
}
vo.setFileList(asServiceAccommFiles);
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) {
asServiceAccommDetailService.delByMainSid(sid);
asAppendixService.delByLinkSid(sid);
}
return rb.success();
}
public ResultBean submitApply(SubmitServiceAccommDto dto) {
ResultBean rb = ResultBean.fireFail();
AsServiceAccommApply asServiceAccommApply = fetchBySid(dto.getSid());
int r = submitBusinessData(dto, asServiceAccommApply);
if (r == 3) {
return rb.setMsg("该申请不存在");
}
if (r == 0) {
return rb.setMsg("操作失败!提交的数据不一致");
}
String businessSid = saveOrUpdateDto(dto);
asServiceAccommApply = fetchBySid(businessSid);
//创建BusinessVariables实体对象
BusinessVariables bv = new BusinessVariables();
//流程中的参数赋值、若有网关,则赋值网关中判断的字段。
Map<String, Object> variables = new HashMap<>();
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", businessSid);
variables.put("app", appMap);
//用户的部门全路径sid
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(asServiceAccommApply.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<UpdateFlowFieldVo> voResultBean = flowFeign.startProcess(bv);
if (!voResultBean.getSuccess()) {
return rb.setMsg(voResultBean.getMsg());
}
UpdateFlowFieldVo ufVo = voResultBean.getData();
updateFlowFiled(BeanUtil.beanToMap(ufVo));
asServiceAccommApply = fetchBySid(businessSid);
//==================================添加线程
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());
AsServiceAccommApply finalAsServiceAccommApply = asServiceAccommApply;
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(finalAsServiceAccommApply.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
messageFlowableQuery.setMsgTitle("配件销售提成备案申请");
ResultBean<String> 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(asServiceAccommApply.getTaskId());
bv.setTaskDefKey(asServiceAccommApply.getNodeId());
bv.setComment("重新提交");
bv.setInstanceId(dto.getInstanceId());
return complete(bv);
}
return rb;
}
private int updateFlowFiled(Map<String, Object> beanToMap) {
return baseMapper.updateFlowFiled(beanToMap);
}
private int submitBusinessData(SubmitServiceAccommDto dto, AsServiceAccommApply asServiceAccommApply) {
int r = 0;
if (StringUtils.isBlank(dto.getSid())) {
r = 1;
} else {
if (asServiceAccommApply != null) {
String businessTaskId = asServiceAccommApply.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();
AsServiceAccommApply asServiceAccommApply = fetchBySid(businessSid);
Map<String, Object> variables = new HashMap<>();
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", businessSid);
variables.put("app", appMap);
bv.setFormVariables(variables);
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(asServiceAccommApply.getDeptSid()).getData();
if (sysOrganization != null) {
bv.setOrgSidPath(sysOrganization.getOrgSidPath());
}
bv.setModelId(asServiceAccommApply.getProcDefId());
if (bv.getTaskId().equals(asServiceAccommApply.getTaskId())) {
ResultBean<UpdateFlowFieldVo> 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 {
//极光推送
asServiceAccommApply = fetchBySid(businessSid);
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
MessageFlowVo messageFlowVo = new MessageFlowVo();
BeanUtil.copyProperties(ufVo, messageFlowVo);
messageFlowVo.setProcDefId(asServiceAccommApply.getProcDefId());
messageFlowVo.setProcInsId(asServiceAccommApply.getProcInstId());
messageFlowableQuery.setUfVo(messageFlowVo);
messageFlowableQuery.setAppMap(appMap);
messageFlowableQuery.setBusinessSid(businessSid);
messageFlowableQuery.setModuleName("配件销售提成备案申请");
messageFlowableQuery.setMsgContent(asServiceAccommApply.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
messageFlowableQuery.setMsgTitle("配件销售提成备案申请");
ResultBean<String> stringResultBean = messageFeign.pushMessage(messageFlowableQuery);
}
return rb.success().setData(resultBean.getData());
} else {
return rb.setMsg("操作失败!提交的数据不一致");
}
}
public ResultBean<List<ServiceAccommNodeVo>> getPreviousNodesForReject(ServiceAccommNodeQuery query) {
ResultBean<List<ServiceAccommNodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
AsServiceAccommApply asServiceAccommApply = fetchBySid(query.getBusinessSid());
bv.setModelId(asServiceAccommApply.getProcDefId());
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给TemplateApplyNodeVo
List<ServiceAccommNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), ServiceAccommNodeVo.class)).collect(Collectors.toList());
return rb.success().setData(voList);
}
public ResultBean<List<ServiceAccommNodeVo>> getNextNodesForSubmit(ServiceAccommNodeQuery query) {
ResultBean<List<ServiceAccommNodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
AsServiceAccommApply asServiceAccommApply = fetchBySid(query.getBusinessSid());
bv.setModelId(asServiceAccommApply.getProcDefId());
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给TemplateApplyNodeVo
List<ServiceAccommNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), ServiceAccommNodeVo.class)).collect(Collectors.toList());
return rb.success().setData(voList);
}
public ResultBean taskReject(ServiceAccommTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
String businessSid = query.getBusinessSid();
AsServiceAccommApply asServiceAccommApply = fetchBySid(businessSid);
if (asServiceAccommApply == null) {
return rb.setMsg("该申请不存在");
}
String businessTaskId = asServiceAccommApply.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<String, Object> variables = new HashMap<>();
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", businessSid);
variables.put("app", appMap);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.taskReject(flowTaskVo);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
UpdateFlowFieldVo ufVo = resultBean.getData();
Map<String, Object> map = BeanUtil.beanToMap(ufVo);
//更新业务中的流程相关的参数
updateFlowFiled(map);
//极光推送
asServiceAccommApply = fetchBySid(businessSid);
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
MessageFlowVo messageFlowVo = new MessageFlowVo();
BeanUtil.copyProperties(ufVo, messageFlowVo);
String procId = asServiceAccommApply.getProcInstId();
messageFlowVo.setProcInsId(procId);
messageFlowVo.setProcDefId(asServiceAccommApply.getProcDefId());
messageFlowableQuery.setUfVo(messageFlowVo);
messageFlowableQuery.setAppMap(appMap);
messageFlowableQuery.setBusinessSid(businessSid);
messageFlowableQuery.setModuleName("配件销售提成备案申请");
ResultBean<List<LatestTaskVo>> 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(asServiceAccommApply.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
}
messageFlowableQuery.setMsgTitle("配件销售提成备案申请");
ResultBean<String> stringResultBean = messageFeign.pushMessage(messageFlowableQuery);
return rb.success();
}
}
return rb.setMsg("操作失败!提交的数据不一致!");
}
public ResultBean revokeProcess(ServiceAccommTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
if (StringUtils.isBlank(query.getUserSid())) {
return rb.setMsg("参数错误:userSid");
}
AsServiceAccommApply asServiceAccommApply = fetchBySid(query.getBusinessSid());
String businessTaskId = asServiceAccommApply.getTaskId();
if (StringUtils.isNotBlank(businessTaskId)) {
if (businessTaskId.equals(query.getTaskId())) {
FlowTaskVo flowTaskVo = new FlowTaskVo();
BeanUtil.copyProperties(query, flowTaskVo);
ResultBean<UpdateFlowFieldVo> 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(ServiceAccommTaskQuery 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("请填写意见");
}
AsServiceAccommApply asServiceAccommApply = fetchBySid(query.getBusinessSid());
String businessTaskId = asServiceAccommApply.getTaskId();
if (StringUtils.isNotBlank(businessTaskId)) {
if (query.getUserSid().equals(asServiceAccommApply.getCreateBySid())) {
FlowTaskVo flowTaskVo = new FlowTaskVo();
BeanUtil.copyProperties(query, flowTaskVo);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.breakProcess(flowTaskVo);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
Map<String, Object> 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<UpdateFlowFieldVo> resultBean = flowableFeign.breakProcess(flowTaskVo);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
Map<String, Object> map = BeanUtil.beanToMap(resultBean.getData());
updateFlowFiled(map);
return rb.success().setData(resultBean.getData());
}
}
}
return rb.setMsg("操作失败!提交的数据不一致!");
}
public ResultBean delegate(ServiceAccommDelegateQuery query) {
ResultBean rb = ResultBean.fireFail();
FlowDelegateQuery delegateQuery = new FlowDelegateQuery();
BeanUtil.copyProperties(query, delegateQuery);
flowFeign.delegate(delegateQuery);
return rb.success();
}
}

62
yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceaccommdetail/AsServiceAccommDetailMapper.java

@ -0,0 +1,62 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.as.biz.asserviceaccommdetail;
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.as.api.asserviceaccommdetail.AsServiceAccommDetailDetailsVo;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import com.yxt.anrui.as.api.asserviceaccommdetail.AsServiceAccommDetail;
import java.util.List;
/**
* Project: yxt-as(销售配件提成) <br/>
* File: AsServiceAccommDetailMapper.java <br/>
* Class: com.yxt.anrui.as.biz.asserviceaccommdetail.AsServiceAccommDetailMapper <br/>
* Description: 配件销售提成备案列表. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-08-30 09:09:59 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Mapper
public interface AsServiceAccommDetailMapper extends BaseMapper<AsServiceAccommDetail> {
@Delete("delete from as_service_accomm_detail where mainSid = #{mainSid}")
void delByMainSid(String mainSid);
@Select("select * from as_service_accomm_detail where mainSid = #{mainSid}")
List<AsServiceAccommDetailDetailsVo> selByMainSid(String mainSid);
}

6
yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceaccommdetail/AsServiceAccommDetailMapper.xml

@ -0,0 +1,6 @@
<?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.as.biz.asserviceaccommdetail.AsServiceAccommDetailMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
</mapper>

56
yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceaccommdetail/AsServiceAccommDetailRest.java

@ -0,0 +1,56 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.as.biz.asserviceaccommdetail;
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 com.yxt.anrui.as.api.asserviceaccommdetail.AsServiceAccommDetailDetailsVo;
import com.yxt.anrui.as.api.asserviceaccommdetail.AsServiceAccommDetailDto;
/**
* Project: yxt-as(销售配件提成) <br/>
* File: AsServiceAccommDetailFeignFallback.java <br/>
* Class: com.yxt.anrui.as.biz.asserviceaccommdetail.AsServiceAccommDetailRest <br/>
* Description: 配件销售提成备案列表. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-08-30 09:09:59 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "配件销售提成备案列表")
@RestController
@RequestMapping("v1/asserviceaccommdetail")
public class AsServiceAccommDetailRest {
}

73
yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceaccommdetail/AsServiceAccommDetailService.java

@ -0,0 +1,73 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.as.biz.asserviceaccommdetail;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
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.vo.PagerVo;
import com.yxt.anrui.as.api.asserviceaccommdetail.AsServiceAccommDetail;
import com.yxt.anrui.as.api.asserviceaccommdetail.AsServiceAccommDetailDetailsVo;
import com.yxt.anrui.as.api.asserviceaccommdetail.AsServiceAccommDetailDto;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* Project: yxt-as(销售配件提成) <br/>
* File: AsServiceAccommDetailService.java <br/>
* Class: com.yxt.anrui.as.biz.asserviceaccommdetail.AsServiceAccommDetailService <br/>
* Description: 配件销售提成备案列表 业务逻辑. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-08-30 09:09:59 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Service
public class AsServiceAccommDetailService extends MybatisBaseService<AsServiceAccommDetailMapper, AsServiceAccommDetail> {
public void insertByDto(AsServiceAccommDetailDto dto){
AsServiceAccommDetail entity = new AsServiceAccommDetail();
BeanUtil.copyProperties(dto, entity, "id", "sid");
baseMapper.insert(entity);
}
public void delByMainSid(String mainSid) {
baseMapper.delByMainSid(mainSid);
}
public List<AsServiceAccommDetailDetailsVo> selByMainSid(String mainSid) {
return baseMapper.selByMainSid(mainSid);
}
}

1
yxt-as/src/main/java/com/yxt/anrui/as/feign/file/AsFileEnum.java

@ -14,6 +14,7 @@ public enum AsFileEnum {
WXGD("005", "维修工单附件"),
ASTECHTITLEAPPLY("006", "维修技师职称备案附件"),
ASOLDPARTRETURNCONFIRM("007", "旧件返厂确认附件"),
ASSERVICEACCOMMAPPLY("008", "配件销售提成备案附件"),
;

Loading…
Cancel
Save