Browse Source

Merge remote-tracking branch 'origin/master'

master
yunuo970428 8 months ago
parent
commit
12d0cdd0cd
  1. 19
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java
  2. 2
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/voucher/PaymentVoucher.java
  3. 2
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/voucher/Voucher.java
  4. 5
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java
  5. 29
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java
  6. 5
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/voucher/VoucherService.java
  7. 22
      anrui-riskcenter-ui/src/api/Common/dictcommons.js
  8. 62
      anrui-riskcenter-ui/src/api/auditSupervision/auditSupervision.js
  9. 839
      anrui-riskcenter-ui/src/router/index.js
  10. 14
      anrui-riskcenter-ui/src/utils/index.js
  11. 419
      anrui-riskcenter-ui/src/views/auditSupervision/auditSupervision.vue
  12. 269
      anrui-riskcenter-ui/src/views/auditSupervision/auditSupervisionAdd.vue
  13. 114
      anrui-riskcenter-ui/src/views/auditSupervision/auditSupervisionInfo.vue
  14. 65
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanaudit/LoanAudit.java
  15. 65
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanaudit/LoanAuditDetailsVo.java
  16. 65
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanaudit/LoanAuditDto.java
  17. 69
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanaudit/LoanAuditFeign.java
  18. 53
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanaudit/LoanAuditQuery.java
  19. 44
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanaudit/LoanAuditResulitDto.java
  20. 56
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanaudit/LoanAuditVo.java
  21. 61
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanaudit/LoanAuditMapper.java
  22. 11
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanaudit/LoanAuditMapper.xml
  23. 89
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanaudit/LoanAuditRest.java
  24. 164
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanaudit/LoanAuditService.java
  25. 4
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbuckleapply/LoanBuckleApplyMapper.java
  26. 13
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbuckleapply/LoanBuckleApplyMapper.xml
  27. 7
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbuckleapply/LoanBuckleApplyService.java
  28. 25
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyService.java
  29. 6
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebate.java
  30. 8
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateDetailsVo.java
  31. 2
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateFeign.java
  32. 23
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateVehAdjDto.java
  33. 6
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateVehDto.java
  34. 15
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateVo.java
  35. 4
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatecheckapply/ScmVehrebateCheckapplyDetailsVo.java
  36. 6
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatecheckapply/ScmVehrebateCheckapplyDto.java
  37. 2
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatecheckapply/ScmVehrebateCheckapplyVo.java
  38. 84
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatecheckapplydetail/ScmVehrebateCheckapplydetail.java
  39. 8
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatecheckapplydetail/ScmVehrebateCheckapplydetailDetailsVo.java
  40. 92
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatecheckapplydetail/ScmVehrebateCheckapplydetailDto.java
  41. 91
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatecheckapplydetail/ScmVehrebateCheckapplydetailVo.java
  42. 4
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.java
  43. 37
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.xml
  44. 6
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateRest.java
  45. 89
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateService.java
  46. 3
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatecheckapply/ScmVehrebateCheckapplyMapper.xml
  47. 104
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatecheckapply/ScmVehrebateCheckapplyService.java
  48. 3
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatecheckapplydetail/ScmVehrebateCheckapplydetailMapper.java
  49. 49
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatecheckapplydetail/ScmVehrebateCheckapplydetailMapper.xml
  50. 46
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatecheckapplydetail/ScmVehrebateCheckapplydetailRest.java
  51. 39
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatecheckapplydetail/ScmVehrebateCheckapplydetailService.java
  52. 9
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatewith/ScmVehRebateWithService.java
  53. 1
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatewithapply/ScmVehRebateWithApplyService.java
  54. 85
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/busclaimcheckapply/AppBusclaimCheckApplyDetailVo.java
  55. 27
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/busclaimcheckapply/AppBusclaimCheckApplyDetailsVo.java
  56. 60
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/busclaimcheckapply/AppBusclaimCheckApplyFeign.java
  57. 25
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/busclaimcheckapply/flowable/AppDelegateQuery.java
  58. 37
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/busclaimcheckapply/flowable/AppFlowDto.java
  59. 28
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/busclaimcheckapply/flowable/AppFlowQuery.java
  60. 47
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/busclaimcheckapply/flowable/AppFlowTaskQuery.java
  61. 2
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/TerminalApplication.java
  62. 85
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/as/busclaimcheckapply/AppBusclaimCheckApplyRest.java
  63. 191
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/as/busclaimcheckapply/AppBusclaimCheckApplyService.java
  64. 90
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asbusclaimcheckapply/AsBusclaimCheckApplyDetailVo.java
  65. 50
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asbusclaimcheckapply/AsBusclaimCheckApplyDetailsVo.java
  66. 59
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asbusclaimcheckapply/AsBusclaimCheckApplyFegin.java
  67. 14
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asbusclaimcheckapply/AsBusclaimCheckApplyFile.java
  68. 23
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asbusclaimcheckapply/flowable/BusclaimCheckApplyDelegateQuery.java
  69. 18
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asbusclaimcheckapply/flowable/BusclaimCheckApplyNodeQuery.java
  70. 24
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asbusclaimcheckapply/flowable/BusclaimCheckApplyNodeVo.java
  71. 43
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asbusclaimcheckapply/flowable/BusclaimCheckApplyTaskQuery.java
  72. 35
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asbusclaimcheckapply/flowable/CompleteBusclaimCheckApplyDto.java
  73. 28
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbusclaimcheckapplydetail/AsBusclaimCheckApplyDetail.java
  74. 18
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbusclaimcheckapplydetail/AsBusclaimCheckApplyDetailDto.java
  75. 26
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbusclaimcheckapplydetail/AsBusclaimCheckApplyDetailVo.java
  76. 2
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbusclaiminvoicebilldetail/AsBusclaimInvoiceBillDetail.java
  77. 34
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaimcheckapply/AsBusclaimCheckApplyService.java
  78. 4
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaimcheckapplydetail/AsBusclaimCheckApplyDetailMapper.xml

19
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java

@ -851,6 +851,7 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
/*************************************************其他信息*****************************************************/
if (busSalesOrderSubmit != null) {
BusSalesOrderotherMessageDetailsVo busSalesOrderotherMessageDetailsVo = new BusSalesOrderotherMessageDetailsVo();
busSalesOrderotherMessageDetailsVo.setRemarks(busSalesOrderSubmit.getRemarks());
//内部推荐人
if (StringUtils.isNotBlank(busSalesOrderSubmit.getName())) {
busSalesOrderotherMessageDetailsVo.setName(busSalesOrderSubmit.getName());
@ -7199,22 +7200,6 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
//获取分公司名称
SysOrganization sysOrganization = sysOrganizationFeign.selectBySid(busSalesOrder.getUseOrgSid()).getData();
String createOrgName = sysOrganization.getName();
//获取创建部门
List<SysStaffOrgVo> sysStaffOrgVos = sysStaffOrgFeign.getSysStaffOrgListByStaffSid(sysUserVo.getStaffSid()).getData();
StringBuilder deptName = new StringBuilder();
for (SysStaffOrgVo sysStaffOrgVo : sysStaffOrgVos) {
//部门名称
String deptOrgName = sysStaffOrgVo.getOrgName();
String deptOrgSid = sysStaffOrgVo.getOrgSid();
SysOrganizationVo sysOrganizationVo = sysOrganizationFeign.fetchBySid(deptOrgSid).getData();
String psid = sysOrganizationVo.getPsid();
SysOrganizationVo sysOrganizationVo1 = sysOrganizationFeign.fetchBySid(psid).getData();
String orgName = sysOrganizationVo1.getName();
String psid1 = sysOrganizationVo1.getPsid();
SysOrganizationVo sysOrganizationVo2 = sysOrganizationFeign.fetchBySid(psid1).getData();
String pname = sysOrganizationVo2.getName();
deptName.append(pname).append("-").append(orgName).append("-").append(deptOrgName).append(" ");
}
//获取审批编号
dataMap.put("billNo", busSalesOrder.getBillNo());
//获取审批记录
@ -7271,7 +7256,7 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
//创建人
dataMap.put("userSid", createByName);
//创建部门
dataMap.put("deptName", deptName);
dataMap.put("deptName", busSalesOrder.getOrgName());
//分公司名称
dataMap.put("orgName", createOrgName);
//客户名称

2
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/voucher/PaymentVoucher.java

@ -58,5 +58,7 @@ public class PaymentVoucher {
public String remarks;
@ApiModelProperty("借贷方类型")
public String type;
@ApiModelProperty("核算维度银行")
public String bank;
}
}

2
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/voucher/Voucher.java

@ -39,6 +39,8 @@ public class Voucher {
public String dimensionCustom;
@ApiModelProperty("核算维度银行账号")
public String bankAccount;
@ApiModelProperty("核算维度银行")
public String bank;
@ApiModelProperty("借方金额")
public String debit;
@ApiModelProperty("贷方金额")

5
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java

@ -3919,7 +3919,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
loanRepaymentHistoryFeign.saveHistoryByEntity(historyEntity);
}
//认资方退还垫款或者结清时资方逾期利息
if (v.getReceivablesName().equals("资方退还垫款") || v.getReceivablesName().equals("结清时资方逾期利息") || v.getReceivablesName().equals("贷款保证金扣罚")) {
if (v.getReceivablesName().equals("资方退还垫款") || v.getReceivablesName().equals("贷款保证金扣罚")) {
CollectionVoucher.CollectionVoucherDetail d = getReturnBackMoneyVoucher(v, collectionDate);
voucherDetails.add(d);
}
@ -4095,7 +4095,8 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
//认名义价、合同违约金、其他费用收款
if (v.getReceivablesName().equals("名义价") ||
v.getReceivablesName().equals("合同违约金") ||
v.getReceivablesName().equals("其他费用")
v.getReceivablesName().equals("其他费用") ||
v.getReceivablesName().equals("结清时资方逾期利息")
) {
CollectionVoucher.CollectionVoucherDetail d = getBalanceMoneyVoucher(v, collectionDate);
voucherDetails.add(d);

29
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java

@ -291,6 +291,7 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign {
subjectNo2 = "1009.01.00";
dto1.setDebit(voucherDetail.getAmount().toString());
dto2.setCredit(voucherDetail.getAmount().toString());
dto2.setBank("342");
}
dto1.setSummary(summary1);
dto2.setSummary(summary2);
@ -583,14 +584,25 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign {
resultDetails.add(dto2);
decimal = decimal.add(voucherDetail.getAmount());
} else if (payCostTitleValue.equals("结清时资方逾期利息")) {
Voucher.VoucherResultDetailDto dto2 = new Voucher.VoucherResultDetailDto(); //贷方
dto2.setSummary("收资方逾期利息");
dto2.setSubjectNo("1201.02.03");
dto2.setDimensionDept(voucherDetail.getDeptCode());
dto2.setDimensionCustom(voucherDetail.getCustomerCode());
dto2.setCredit(String.valueOf(voucherDetail.getAmount()));
resultDetails.add(dto2);
decimal = decimal.add(voucherDetail.getAmount());
if (voucherDetail.getSubtrahend().compareTo(BigDecimal.ZERO) != 0) {
Voucher.VoucherResultDetailDto dto2 = new Voucher.VoucherResultDetailDto(); //贷方
dto2.setSummary("收资方逾期利息");
dto2.setSubjectNo(bankCode);
dto2.setDimensionDept(voucherDetail.getDeptCode());
dto2.setDimensionCustom(voucherDetail.getCustomerCode());
dto2.setCredit(String.valueOf(voucherDetail.getSubtrahend()));
resultDetails.add(dto2);
decimal = decimal.add(voucherDetail.getSubtrahend());
}
if (voucherDetail.getBalance().compareTo(BigDecimal.ZERO) != 0) {
Voucher.VoucherResultDetailDto dto3 = new Voucher.VoucherResultDetailDto(); //贷方
dto3.setSummary("结清资方逾期利息差额转收入");
dto3.setSubjectNo("6002.01.17");
dto3.setDimensionDept(voucherDetail.getDeptCode());
dto3.setCredit(String.valueOf(voucherDetail.getBalance()));
resultDetails.add(dto3);
decimal = decimal.add(voucherDetail.getBalance());
}
} else if (payCostTitleValue.equals("名义价")) {
if (voucherDetail.getSubtrahend().compareTo(BigDecimal.ZERO) != 0) {
Voucher.VoucherResultDetailDto dto2 = new Voucher.VoucherResultDetailDto(); //贷方
@ -862,6 +874,7 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign {
dto4.setSubjectNo("1009.01.00");
dto4.setDimensionDept(voucherDetail.getDeptCode());
dto4.setDimensionCustom(voucherDetail.getCustomerCode());
dto4.setBank("342");
dto4.setCredit(String.valueOf(voucherDetail.getSubtrahend()));
resultDetails.add(dto4);
Voucher.VoucherResultDetailDto dto5 = new Voucher.VoucherResultDetailDto(); //贷方

5
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/voucher/VoucherService.java

@ -91,6 +91,11 @@ public class VoucherService extends FinKingDeeService {
} else {
m.put("FFLEX5", "");
}
if (StringUtils.isNotBlank(c.getBank())) {
m.put("FF100003", c.getBank());
} else {
m.put("FF100003", "");
}
if (StringUtils.isNotBlank(c.getDimensionCustom())) {
m.put("FFLEX6", c.getDimensionCustom());
} else {

22
anrui-riskcenter-ui/src/api/Common/dictcommons.js

@ -8,6 +8,15 @@ export function typeValues(data) {
})
}
// 获取所有分公司
export function selectOrgSidList(data) {
return request({
url: '/portal/v1/sysorganization/selectOrgSidList',
method: 'get',
params: data
})
}
// 根据当前登录人orgSidPath(全路径sid)查询分公司
export function getOrgSidByPath(data) {
return request({
@ -76,7 +85,9 @@ export function selectHaveMessage(data) {
url: '/portal/v1/sysuser/selectHaveMessage ',
method: 'post',
data: data,
headers: { 'Content-Type': 'application/json' }
headers: {
'Content-Type': 'application/json'
}
})
}
@ -86,7 +97,9 @@ export function getButtonPermissions(data) {
url: '/portal/v1/sysfunction/getButtonPermissions',
method: 'post',
data: data,
headers: { 'Content-Type': 'application/json' }
headers: {
'Content-Type': 'application/json'
}
})
}
@ -224,7 +237,9 @@ export function getLegalStaffS(data) {
url: '/riskcenter/v1/LoanCaseProgress/getLegalStaffS',
method: 'post',
data: data,
headers: { 'Content-Type': 'application/json' }
headers: {
'Content-Type': 'application/json'
}
})
}
@ -236,4 +251,3 @@ export function fetchListByBankSid(data) {
params: data
})
}

62
anrui-riskcenter-ui/src/api/auditSupervision/auditSupervision.js

@ -0,0 +1,62 @@
import request from '@/utils/request'
// 审计监管
export default {
// 查询分页列表
listPage: function(params) {
return request({
// baseURL: "http://127.0.0.1:4523/m1/613533-0-default",
url: '/riskcenter/v1/auditSupervision/listPage',
method: 'post',
data: params,
headers: {
'Content-Type': 'application/json'
}
})
},
saveOrUpdate: function(data) {
return request({
// baseURL: "http://127.0.0.1:4523/m1/613533-0-default",
url: '/riskcenter/v1/auditSupervision/saveOrUpdate',
method: 'post',
data: data,
headers: {
'Content-Type': 'application/json'
}
})
},
saveResult: function(data) {
return request({
// baseURL: "http://127.0.0.1:4523/m1/613533-0-default",
url: '/riskcenter/v1/auditSupervision/saveResult',
method: 'post',
data: data,
headers: {
'Content-Type': 'application/json'
}
})
},
init: function(data) {
return request({
// baseURL: "http://127.0.0.1:4523/m1/613533-0-default",
url: '/riskcenter/v1/auditSupervision/gteInitBySid/' + data,
method: 'get',
})
},
deleteBySids: function(data) {
return request({
// baseURL: "http://127.0.0.1:4523/m1/613533-0-default",
url: '/riskcenter/v1/auditSupervision/delBySids',
method: 'DELETE',
data: data,
headers: {
'Content-Type': 'application/json'
}
})
},
}

839
anrui-riskcenter-ui/src/router/index.js

File diff suppressed because it is too large

14
anrui-riskcenter-ui/src/utils/index.js

@ -45,7 +45,9 @@ export function parseTime(time, cFormat) {
const time_str = format.replace(/{([ymdhisa])+}/g, (result, key) => {
const value = formatObj[key]
// Note: getDay() returns 0 on Sunday
if (key === 'a') { return ['日', '一', '二', '三', '四', '五', '六'][value ] }
if (key === 'a') {
return ['日', '一', '二', '三', '四', '五', '六'][value]
}
return value.toString().padStart(2, '0')
})
return time_str
@ -115,3 +117,13 @@ export function param2Obj(url) {
})
return obj
}
/**
* 获取当前日期
*/
export function getCurrentDate() {
let now = new Date();
let year = now.getFullYear();
let month = now.getMonth() + 1;
let day = now.getDate();
return year + "-" + month + "-" + day;
}

419
anrui-riskcenter-ui/src/views/auditSupervision/auditSupervision.vue

@ -0,0 +1,419 @@
<template>
<div class="app-container">
<!--列表页面-->
<div v-show="viewState == 1">
<button-bar view-title="审计监管管理" ref="btnbar" :btndisabled="btndisabled" @btnhandle="btnHandle" />
<!--Start查询列表部分-->
<div class="main-content">
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="clicksearchShow">{{ searchxianshitit }}</el-button>
<div v-show="isSearchShow" class="search">
<el-form ref="listQueryform" :inline="true" :model="listQuery" class="tab-header">
<el-form-item label="分公司">
<el-input v-model="listQuery.params.orgName" placeholder="" clearable />
</el-form-item>
<el-form-item label="审计事项">
<el-input v-model="listQuery.params.auditMatters" placeholder="" clearable />
</el-form-item>
<el-form-item label="审计日期">
<el-date-picker v-model="listQuery.params.createStartDate" value-format="yyyy-MM-dd" format="yyyy-MM-dd"
type="date" placeholder="选择日期"></el-date-picker>
<span style="padding: 0 8px"></span>
<el-date-picker v-model="listQuery.params.createEndDate" value-format="yyyy-MM-dd" format="yyyy-MM-dd"
type="date" placeholder="选择日期"></el-date-picker>
</el-form-item>
</el-form>
<div class="btn" style="text-align: center;">
<el-button type="primary" icon="el-icon-search" size="small" @click="handleFilter">查询</el-button>
<el-button type="primary" icon="el-icon-refresh" size="small" @click="handleReset">重置</el-button>
</div>
</div>
</div>
<!--End查询列表部分-->
<div class="listtop">
<div class="tit">审计列表</div>
<!-- <pageye v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current"
:limit.sync="listQuery.size" class="pagination" @pagination="getList" /> -->
</div>
<!--Start 主页面主要部分 -->
<div class="">
<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 label="操作" width="80" align="center">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="toInfo(scope.row)">详情</el-button>
</template>
</el-table-column>
<el-table-column prop="useOrgName" label="分公司" align="center" />
<el-table-column prop="auditMatters" label="审计事项" align="center" />
<el-table-column prop="createStartDate" label="审计开始日期" align="center" />
<el-table-column prop="createEndDate" label="审计结束日期" align="center" />
<el-table-column prop="auditor" label="审计人" align="center" />
<el-table-column prop="auditResults" label="审计结果" align="center" />
</el-table>
</div>
<!--End 主页面主要部分-->
<div class="pages">
<div class="tit" />
<!-- 翻页 -->
<pagination v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current"
:limit.sync="listQuery.size" class="pagination" @pagination="getList" />
</div>
<!--End查询列表部分-->
</div>
</div>
<!--新增及修改 -->
<auditSupervisionAdd v-show="viewState == 2 || viewState == 3" ref="divAdd" @doback="resetState"
@reloadlist="getList" />
<!--详情-->
<auditSupervisionInfo v-show="viewState == 4" ref="divInfo" @doback="resetState" />
<el-dialog title="审计结果" :visible.sync="dialogVisible" :before-close="handleClose">
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02" style="margin-top: -30px">
<el-row style="border-top: 1px solid #e0e3eb">
<el-col :span="24">
<div class="span-sty"><span class="must">*</span> 审计结果</div>
<el-form-item prop="result"><el-input v-model="formobj.result" clearable placeholder=""
class="addinputInfo addinputw" /></el-form-item>
</el-col>
</el-row>
</el-form>
<div style="display: flex;flex-direction: row;width: 100%;justify-content: center;align-items: center;">
<el-button type="primary" style="margin-top: 20px;" @click="saveResults"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import ButtonBar from '@/components/ButtonBar'
import req from '@/api/auditSupervision/auditSupervision'
import auditSupervisionAdd from './auditSupervisionAdd'
import auditSupervisionInfo from './auditSupervisionInfo'
export default {
name: 'AdvanceDetails',
components: {
Pagination,
pageye,
ButtonBar,
auditSupervisionAdd,
auditSupervisionInfo
},
data() {
return {
btndisabled: false,
dialogVisible: false,
btnList: [{
type: 'primary',
size: 'small',
icon: 'plus',
btnKey: 'toAdd',
btnLabel: '新增'
},
{
type: 'primary',
size: 'small',
icon: 'plus',
btnKey: 'toEdit',
btnLabel: '编辑'
},
{
type: 'primary',
size: 'small',
icon: 'plus',
btnKey: 'toResult',
btnLabel: '审计结果'
},
{
type: 'danger',
size: 'small',
icon: 'del',
btnKey: 'doDel',
btnLabel: '删除'
},
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
isSearchShow: false,
searchxianshitit: '显示查询条件',
viewState: 1, // 1 2 3 4
tableKey: 0,
list: [],
sids: [], // SIDs
FormLoading: false,
listLoading: false,
//
listQuery: {
current: 1,
size: 10,
total: 0,
params: {
"userSid": "",
"menuUrl": "",
"orgPath": "",
"orgName": "",
"auditMatters": "",
"createStartDate": "",
"createEndDate": ""
}
},
sids: [],
formobj: {
sids: [],
result: '',
userSid: window.sessionStorage.getItem('userSid'),
},
rules: {
result: [{
required: true,
message: '审计结果不能为空',
trigger: 'blur'
}],
}
}
},
created() {
//
this.getList()
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
methods: {
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
btnHandle(btnKey) {
console.log('XXXXXXXXXXXXXXX ' + btnKey)
switch (btnKey) {
case 'toAdd':
this.toAdd()
break
case 'toEdit':
this.toEdit()
break
case 'toResult':
this.toResult()
break
case 'doDel':
this.doDel()
break
case 'doClose':
this.doClose()
break
default:
break
}
},
handleSelectionChange(row) {
const aa = []
row.forEach(element => {
aa.push(element.sid)
})
this.sids = aa
},
//
indexMethod(index) {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size
var pageindex = index + 1 + pagestart
return pageindex
},
//
getList() {
this.listLoading = true
this.listQuery.params.userSid = window.sessionStorage.getItem('userSid')
this.listQuery.params.orgPath = window.sessionStorage.getItem('defaultOrgPath')
this.listQuery.params.menuUrl = this.$route.path
req.listPage(this.listQuery).then(response => {
this.listLoading = false
if (response.success) {
this.list = response.data.records
this.listQuery.total = response.data.total
} else {
this.list = []
this.listQuery.total = 0
}
})
},
//
handleFilter() {
this.listQuery.current = 1
this.getList()
},
//
handleReset() {
this.listQuery = {
current: 1,
size: 10,
total: 0,
params: {
"userSid": "",
"menuUrl": "",
"orgPath": "",
"orgName": "",
"auditMatters": "",
"createStartDate": "",
"createEndDate": ""
}
}
this.getList()
},
toAdd() {
this.viewState = 2
this.$refs['divAdd'].showAdd()
},
toEdit() {
if (this.sids.length != 1) {
this.$message({
showClose: true,
type: 'error',
message: '请选择一条记录进行操作'
})
return
}
this.viewState = 3
this.$refs['divAdd'].showEdit(this.sids[0])
},
toResult() {
this.dialogVisible = true
},
handleClose() {
this.dialogVisible = false
this.formobj = {
sids: [],
result: '',
userSid: window.sessionStorage.getItem('userSid'),
}
},
saveResults() {
this.formobj.sids = this.sids
this.$refs['form_obj'].validate((valid) => {
if (valid) {
req.saveResult(this.formobj).then((res) => {
if (res.success) {
this.handleClose()
}
})
}
})
},
doDel() {
if (this.sids.length === 0) {
this.$message({
showClose: true,
type: 'error',
message: '请选择至少一条记录进行删除操作'
})
return
}
const tip = '请确认是否删除所选 ' + this.sids.length + ' 条记录?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
req.deleteBySids(this.sids).then(resp => {
if (resp.success) {
this.$message({
type: 'success',
message: resp.msg,
showClose: true
})
}
this.getList()
loading.close()
}).catch(e => {
loading.close()
})
}).catch(() => {})
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
},
toInfo(row) {
this.viewState = 4
this.$refs['divInfo'].showDetail(row.sid)
},
resetState() {
this.viewState = 1
},
}
}
</script>
<style scoped>
/deep/ .el-form-item__error {
margin-left: 120px !important;
}
.must {
color: #f00;
}
.span-sty {
width: 130px !important;
align-items: center;
}
.addinputInfo {
margin-left: 120px !important;
}
.formaddcopy02 .el-row .el-col /deep/ .el-form-item .addinputw {
margin-left: 120px !important;
width: calc(100% - 115px);
}
.first_row {
border-top: 1px solid #E0E3EB;
}
.titleOne {
padding: 7px;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
.formaddcopy02 .el-row .el-col /deep/ .el-form-item .el-radio-group {
display: inline;
line-height: 1px;
vertical-align: middle;
}
</style>

269
anrui-riskcenter-ui/src/views/auditSupervision/auditSupervisionAdd.vue

@ -0,0 +1,269 @@
<template>
<div class="app-container">
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="saveOrUpdate()">保存</el-button>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="listconadd">
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02">
<!-- <el-row style="border-top: 1px solid #e0e3eb">
<el-col :span="8">
<div class="span-sty">申请部门</div>
<el-form-item><span class="addinputInfo">{{ formobj.deptName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">申请人</div>
<el-form-item><span class="addinputInfo">{{ formobj.createByName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">申请日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.createStartDate }}</span></el-form-item>
</el-col>
</el-row> -->
<el-row style="border-top: 1px solid #e0e3eb">
<el-col :span="8">
<div class="span-sty"><span class="must">*</span> 分公司</div>
<el-form-item prop="useOrgName">
<el-select class="addinputInfo addinputw" v-model="formobj.useOrgName" placeholder="请选择"
@change="seleOrgName">
<el-option v-for="item in orgList" :key="item.sid" :label="item.name" :value="item.sid"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty"><span class="must">*</span> 审计人</div>
<el-form-item prop="auditor"><el-input v-model="formobj.auditor" clearable placeholder=""
class="addinputInfo addinputw" /></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty"><span class="must">*</span> 审计事项</div>
<el-form-item prop="auditMatters"><el-input v-model="formobj.auditMatters" clearable placeholder=""
class="addinputInfo addinputw" /></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">备注</div>
<el-form-item><el-input v-model="formobj.remarks" clearable placeholder=""
class="addinputInfo addinputw" /></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">附件</div>
<el-form-item>
<upload-img ref="uploadImg" class="addinputw addinputInfo" v-model="formobj.urls" :limit="1" bucket="map"
:upload-data="{ type: '0001' }" @change="backData" />
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
</template>
<script>
import req from '@/api/auditSupervision/auditSupervision'
import uploadImg from '@/components/uploadFile/uploadImg'
import {
selectOrgSidList,
getOrgSidByPath,
fetchBySid
} from '@/api/Common/dictcommons'
import {
getCurrentDate,
} from '@/utils/index'
export default {
name: 'AuditSupervisionAdd',
components: {
uploadImg
},
data() {
return {
viewTitle: '',
submitdisabled: false,
formobj: {
"sid": "",
"useOrgName": "",
"useOrgSid": "",
"auditMatters": "",
"createStartDate": getCurrentDate(),
"createEndDate": "",
"auditor": "",
"auditResults": "",
"remarks": "",
"urls": [],
"createBySid": window.sessionStorage.getItem('userSid'),
"createByName": window.sessionStorage.getItem('name'),
"createOrgSid": "",
"createOrgName": '',
},
rules: {
orgName: [{
required: true,
message: '请选择分公司',
trigger: 'change'
}],
auditor: [{
required: true,
message: '审计人不能为空',
trigger: 'blur'
}],
auditMatters: [{
required: true,
message: '审计项目不能为空',
trigger: 'blur'
}],
},
orgList: [],
}
},
methods: {
init() {
selectOrgSidList().then((res) => {
if (res.success) {
console.log("selectOrgSidList", res);
this.orgList = res.data
}
})
getOrgSidByPath({
orgPath: window.sessionStorage.getItem('defaultOrgPath')
}).then((resp) => {
if (resp.success) {
this.formobj.createOrgSid = resp.data
fetchBySid(resp.data).then((respsone) => {
if (respsone.success) {
this.formobj.createOrgName = respsone.data.name
}
})
}
})
},
backData(value) {
console.log('backData》》》》', value)
this.formobj.urls = value
},
showAdd() {
this.viewTitle = '【新增】审计监管'
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
this.init()
},
showEdit(sid) {
this.viewTitle = '【编辑】审计监管'
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
this.init()
req.init(sid).then((res) => {
if (res.success) {
this.formobj = res.data
}
})
},
saveOrUpdate() {
this.$refs['form_obj'].validate((valid) => {
if (valid) {
this.submitdisabled = true
req.saveOrUpdate(this.formobj).then((res) => {
if (res.success) {
this.$message({
showClose: true,
type: 'success',
message: '保存成功'
})
this.handleReturn('true')
} else {
this.submitdisabled = false
}
}).catch(() => {
this.submitdisabled = false
})
}
})
},
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
this.formobj = {
"sid": "",
"useOrgName": "",
"useOrgSid": "",
"auditMatters": "",
"createStartDate": getCurrentDate(),
"createEndDate": "",
"auditor": "",
"auditResults": "",
"remarks": "",
"urls": [],
"createBySid": window.sessionStorage.getItem('userSid'),
"createByName": window.sessionStorage.getItem('name'),
"createOrgSid": "",
"createOrgName": '',
}
this.submitdisabled = false
this.$emit('doback')
},
seleOrgName(val) {
console.log("seleOrgName", val);
const choose = this.orgList.filter((item) => item.sid == val)
console.log('>>>>>>>>>seleOrgName', choose)
this.formobj.useOrgSid = choose[0].sid
this.formobj.useOrgName = choose[0].name
}
}
}
</script>
<style scoped>
/deep/ .el-form-item__error {
margin-left: 120px !important;
}
.must {
color: #f00;
}
.span-sty {
width: 130px !important;
align-items: center;
}
.addinputInfo {
margin-left: 120px !important;
}
.formaddcopy02 .el-row .el-col /deep/ .el-form-item .addinputw {
margin-left: 120px !important;
width: calc(100% - 115px);
}
.first_row {
border-top: 1px solid #E0E3EB;
}
.titleOne {
padding: 7px;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
.formaddcopy02 .el-row .el-col /deep/ .el-form-item .el-radio-group {
display: inline;
line-height: 1px;
vertical-align: middle;
}
</style>

114
anrui-riskcenter-ui/src/views/auditSupervision/auditSupervisionInfo.vue

@ -0,0 +1,114 @@
<template>
<div class="app-container">
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="listconadd">
<el-form ref="form_obj" :model="formobj" class="formaddcopy02">
<!-- <el-row style="border-top: 1px solid #e0e3eb">
<el-col :span="8">
<div class="span-sty">申请部门</div>
<el-form-item><span class="addinputInfo">{{ formobj.deptName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">申请人</div>
<el-form-item><span class="addinputInfo">{{ formobj.createByName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">申请日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.createStartDate }}</span></el-form-item>
</el-col>
</el-row> -->
<el-row style="border-top: 1px solid #e0e3eb">
<el-col :span="8">
<div class="span-sty">分公司</div>
<el-form-item><span class="addinputInfo">{{ formobj.useOrgName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">审计人</div>
<el-form-item><span class="addinputInfo">{{ formobj.auditor }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">审计事项</div>
<el-form-item><span class="addinputInfo">{{ formobj.auditMatters }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">备注</div>
<el-form-item><span class="addinputInfo">{{ formobj.remarks }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">附件</div>
<el-form-item>
<template slot-scope="scope">
<span v-for="(item,index) in formobj.urls" :key="index" class="addinputInfo">
<el-popover placement="left" trigger="click" width="300">
<img :src="item.url" width="100%" />
<img slot="reference" :src="item.url" :alt="item.url"
style="max-height: 70px;max-width: 70px; padding: 5px" />
</el-popover>
</span>
</template>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
</template>
<script>
import req from '@/api/auditSupervision/auditSupervision'
export default {
name: 'AuditSupervisionAdd',
components: {},
data() {
return {
viewTitle: '',
submitdisabled: false,
formobj: {},
}
},
methods: {
showDetail(sid) {
this.viewTitle = '审计监管详情'
req.init(sid).then((res) => {
if (res.success) {
this.formobj = res.data
}
})
},
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
this.formobj = {
}
this.submitdisabled = false
this.$emit('doback')
},
}
}
</script>
<style scoped>
.span-sty {
width: 160px !important;
}
.addinputInfo {
margin-left: 150px !important;
}
.formaddcopy02 .el-row .el-col /deep/ .el-form-item .addinputw {
margin-left: 150px !important;
width: calc(100% - 145px);
}
</style>

65
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanaudit/LoanAudit.java

@ -0,0 +1,65 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.riskcenter.api.loanaudit;
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;
@Data
@ApiModel(value = "审计监管", description = "审计监管")
@TableName("loan_audit")
public class LoanAudit extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("创建人sid")
private String createByName; // 创建人sid
@ApiModelProperty("审计事项")
private String auditMatters; // 审计事项
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@ApiModelProperty("审计开始日期")
private Date createStartDate; // 审计开始日期
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@ApiModelProperty("审计结束日期")
private Date createEndDate; // 审计结束日期
@ApiModelProperty("审计人")
private String auditor; // 审计人
@ApiModelProperty("审计结果")
private String auditResults; // 审计结果
@ApiModelProperty("分公司sid")
private String useOrgSid; // 分公司sid
@ApiModelProperty("分公司名称")
private String useOrgName; // 分公司名称
@ApiModelProperty("创建组织sid")
private String createOrgSid; // 创建组织sid
@ApiModelProperty("创建组织名称")
private String createOrgName; // 创建组织名称
}

65
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanaudit/LoanAuditDetailsVo.java

@ -0,0 +1,65 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.riskcenter.api.loanaudit;
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;
@Data
@ApiModel(value = "审计监管 视图数据详情", description = "审计监管 视图数据详情")
public class LoanAuditDetailsVo implements Vo {
private String sid; // sid
@ApiModelProperty("创建人sid")
private String createByName; // 创建人sid
@ApiModelProperty("审计事项")
private String auditMatters; // 审计事项
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@ApiModelProperty("审计开始日期")
private Date createStartDate;
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@ApiModelProperty("审计结束日期")
private Date createEndDate; // 审计结束日期
@ApiModelProperty("审计人")
private String auditor; // 审计人
@ApiModelProperty("审计结果")
private String auditResults; // 审计结果
@ApiModelProperty("分公司sid")
private String useOrgSid; // 分公司sid
@ApiModelProperty("分公司名称")
private String useOrgName; // 分公司名称
@ApiModelProperty("创建组织sid")
private String createOrgSid; // 创建组织sid
@ApiModelProperty("创建组织名称")
private String createOrgName; // 创建组织名称
}

65
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanaudit/LoanAuditDto.java

@ -0,0 +1,65 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.riskcenter.api.loanaudit;
import com.yxt.common.core.dto.Dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.Date;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "审计监管 数据传输对象", description = "审计监管 数据传输对象")
public class LoanAuditDto implements Dto {
private String sid; // sid
@ApiModelProperty("创建人sid")
private String createByName; // 创建人sid
@ApiModelProperty("审计事项")
private String auditMatters; // 审计事项
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@ApiModelProperty("审计开始日期")
private Date createStartDate;
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@ApiModelProperty("审计结束日期")
private Date createEndDate;
@ApiModelProperty("审计人")
private String auditor; // 审计人
@ApiModelProperty("审计结果")
private String auditResults; // 审计结果
@ApiModelProperty("分公司sid")
private String useOrgSid; // 分公司sid
@ApiModelProperty("分公司名称")
private String useOrgName; // 分公司名称
@ApiModelProperty("创建组织sid")
private String createOrgSid; // 创建组织sid
@ApiModelProperty("创建组织名称")
private String createOrgName; // 创建组织名称
}

69
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanaudit/LoanAuditFeign.java

@ -0,0 +1,69 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.riskcenter.api.loanaudit;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@Api(tags = "审计监管")
@FeignClient(
contextId = "anrui-riskcenter-LoanAudit",
name = "anrui-riskcenter",
path = "v1/auditSupervision")
public interface LoanAuditFeign {
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage")
@ResponseBody
public ResultBean<PagerVo<LoanAuditVo>> listPage(@RequestBody PagerQuery<LoanAuditQuery> pq);
@ApiOperation("新增或修改")
@PostMapping("/saveOrUpdate")
@ResponseBody
public ResultBean save(@RequestBody LoanAuditDto dto);
@ApiOperation("保存审计结果")
@PostMapping("/saveResult")
@ResponseBody
public ResultBean saveResult(@RequestBody LoanAuditResulitDto dto);
@ApiOperation("根据sid删除记录")
@DeleteMapping("/saveResult")
@ResponseBody
public ResultBean delBySids(@RequestBody String[] sids);
@ApiOperation("根据SID获取一条记录")
@GetMapping("/gteInitBySid/{sid}")
@ResponseBody
public ResultBean<LoanAuditDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid);
}

53
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanaudit/LoanAuditQuery.java

@ -0,0 +1,53 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.riskcenter.api.loanaudit;
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;
@Data
@ApiModel(value = "审计监管 查询条件", description = "审计监管 查询条件")
public class LoanAuditQuery implements Query {
@ApiModelProperty("分公司名称")
private String useOrgName;
@ApiModelProperty("审计事项")
private String auditMatters;
@ApiModelProperty("审计开始日期")
private String createStartDate;
@ApiModelProperty("审计结束日期")
private String createEndDate;
private String userSid;
private String orgPath;
private String menuUrl;
private String menuSid;
}

44
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanaudit/LoanAuditResulitDto.java

@ -0,0 +1,44 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.riskcenter.api.loanaudit;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
import java.util.List;
@Data
@ApiModel(value = "审计监管 数据传输对象", description = "审计监管 数据传输对象")
public class LoanAuditResulitDto implements Dto {
private List<String> sids;
@ApiModelProperty("审计结果")
private String auditResults; // 审计结果
}

56
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanaudit/LoanAuditVo.java

@ -0,0 +1,56 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.riskcenter.api.loanaudit;
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;
@Data
@ApiModel(value = "审计监管 视图数据对象", description = "审计监管 视图数据对象")
public class LoanAuditVo implements Vo {
private String sid; // sid
@ApiModelProperty("分公司名称")
private String useOrgName;
@ApiModelProperty("审计事项")
private String auditMatters;
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@ApiModelProperty("审计开始日期")
private Date createStartDate;
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@ApiModelProperty("审计结束日期")
private Date createEndDate;
@ApiModelProperty("审计人")
private String auditor;
@ApiModelProperty("审计结果")
private String auditResults;
}

61
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanaudit/LoanAuditMapper.java

@ -0,0 +1,61 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.riskcenter.biz.loanaudit;
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.riskcenter.api.loanaudit.LoanAudit;
import com.yxt.anrui.riskcenter.api.loanaudit.LoanAuditVo;
import org.apache.ibatis.annotations.Update;
import java.util.List;
/**
* Project: 111(111) <br/>
* File: LoanAuditMapper.java <br/>
* Class: com.yxt.anrui.riskcenter.biz.loanaudit.LoanAuditMapper <br/>
* Description: 审计监管. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-09-29 16:25:57 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Mapper
public interface LoanAuditMapper extends BaseMapper<LoanAudit> {
IPage<LoanAuditVo> selectPageVo(IPage<LoanAudit> page, @Param(Constants.WRAPPER) Wrapper<LoanAudit> qw);
@Update("update loan_audit set auditResults = #{auditResults} where sid = #{sid}")
void updateResulit(@Param("auditResults") String auditResults,@Param("sid") String sid);
}

11
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanaudit/LoanAuditMapper.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.riskcenter.biz.loanaudit.LoanAuditMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="selectPageVo" resultType="com.yxt.anrui.riskcenter.api.loanaudit.LoanAuditVo">
SELECT la.* FROM loan_audit la
LEFT JOIN anrui_portal.sys_organization as u ON la.createOrgSid = u.sid
<where> ${ew.sqlSegment} </where>
</select>
</mapper>

89
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanaudit/LoanAuditRest.java

@ -0,0 +1,89 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.riskcenter.biz.loanaudit;
import com.yxt.anrui.riskcenter.api.loanaudit.*;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@Api(tags = "审计监管")
@RestController
@RequestMapping("v1/auditSupervision")
public class LoanAuditRest implements LoanAuditFeign {
@Autowired
private LoanAuditService loanAuditService;
@Override
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage")
public ResultBean<PagerVo<LoanAuditVo>> listPage(@RequestBody PagerQuery<LoanAuditQuery> pq){
ResultBean rb = ResultBean.fireFail();
PagerVo<LoanAuditVo> pv = loanAuditService.listPageVo(pq);
return rb.success().setData(pv);
}
@Override
@ApiOperation("新增或修改")
@PostMapping("/save")
public ResultBean save(@RequestBody LoanAuditDto dto){
ResultBean rb = ResultBean.fireFail();
loanAuditService.saveOrUpdateDto(dto);
return rb.success();
}
@Override
public ResultBean saveResult(LoanAuditResulitDto dto) {
ResultBean rb = ResultBean.fireFail();
loanAuditService.saveResult(dto);
return rb.success();
}
@Override
@ApiOperation("根据sid批量删除")
@PostMapping("/delBySids")
public ResultBean delBySids(@RequestBody String[] sids){
ResultBean rb = ResultBean.fireFail();
loanAuditService.delBySids(sids);
return rb.success();
}
@Override
@ApiOperation("根据SID获取一条记录")
@GetMapping("/gteInitBySid/{sid}")
public ResultBean<LoanAuditDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid){
ResultBean rb = ResultBean.fireFail();
LoanAuditDetailsVo vo = loanAuditService.fetchDetailsVoBySid(sid);
return rb.success().setData(vo);
}
}

164
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanaudit/LoanAuditService.java

@ -0,0 +1,164 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.riskcenter.biz.loanaudit;
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.portal.api.sysuser.PrivilegeQuery;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.riskcenter.api.loanaudit.*;
import com.yxt.anrui.riskcenter.api.loanbecollectionapply.LoanBeCollectionApplyVo;
import org.apache.commons.lang3.StringUtils;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* Project: 111(111) <br/>
* File: LoanAuditService.java <br/>
* Class: com.yxt.anrui.riskcenter.biz.loanaudit.LoanAuditService <br/>
* Description: 审计监管 业务逻辑. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-09-29 16:25:57 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Service
public class LoanAuditService extends MybatisBaseService<LoanAuditMapper, LoanAudit> {
@Autowired
private SysUserFeign sysUserFeign;
public PagerVo<LoanAuditVo> listPageVo(PagerQuery<LoanAuditQuery> pq) {
LoanAuditQuery query = pq.getParams();
QueryWrapper<LoanAudit> qw = new QueryWrapper<>();
//========================================数据授权开始
if (StringUtils.isNotBlank(query.getMenuUrl())) {
PrivilegeQuery privilegeQuery = new PrivilegeQuery();
privilegeQuery.setOrgPath(query.getOrgPath());
privilegeQuery.setMenuUrl(query.getMenuUrl());
privilegeQuery.setMenuSid(query.getMenuSid());
privilegeQuery.setUserSid(query.getUserSid());
ResultBean<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("u.orgSidPath", orgSidPath);
} else if ("2".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i2);
qw.like("u.orgSidPath", orgSidPath);
} else if ("3".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i3);
qw.like("u.orgSidPath", orgSidPath);
} else if ("4".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i4);
qw.like("u.orgSidPath", orgSidPath);
} else if ("5".equals(orgLevelKey)) {
qw.eq("la.createBySid", query.getUserSid());
} else {
PagerVo<LoanAuditVo> p = new PagerVo<>();
return p;
}
} else {
PagerVo<LoanAuditVo> p = new PagerVo<>();
return p;
}
}
if(StringUtils.isNotBlank(query.getUseOrgName())){
qw.like("la.useOrgName",query.getUseOrgName());
}
if(StringUtils.isNotBlank(query.getAuditMatters())){
qw.like("la.auditMatters",query.getAuditMatters());
}
String createStartTime = query.getCreateStartDate();
String createEndTime = query.getCreateEndDate();
qw.apply(StringUtils.isNotEmpty(createStartTime), "date_format (la.createStartDate,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')").
apply(StringUtils.isNotEmpty(createEndTime), "date_format (la.createEndTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')"
);
IPage<LoanAudit> page = PagerUtil.queryToPage(pq);
IPage<LoanAuditVo> pagging = baseMapper.selectPageVo(page, qw);
PagerVo<LoanAuditVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public void saveOrUpdateDto(LoanAuditDto dto){
String dtoSid = dto.getSid();
if (StringUtils.isBlank(dtoSid)) {
this.insertByDto(dto);
return;
}
this.updateByDto(dto);
}
public void insertByDto(LoanAuditDto dto){
LoanAudit entity = new LoanAudit();
BeanUtil.copyProperties(dto, entity, "id", "sid");
baseMapper.insert(entity);
}
public void updateByDto(LoanAuditDto dto){
String dtoSid = dto.getSid();
if (StringUtils.isBlank(dtoSid)) {
return;
}
LoanAudit entity = fetchBySid(dtoSid);
BeanUtil.copyProperties(dto, entity, "id", "sid");
baseMapper.updateById(entity);
}
public LoanAuditDetailsVo fetchDetailsVoBySid(String sid){
LoanAudit entity = fetchBySid(sid);
LoanAuditDetailsVo vo = new LoanAuditDetailsVo();
BeanUtil.copyProperties(entity, vo);
return vo;
}
public void saveResult(LoanAuditResulitDto dto) {
List<String> sids = dto.getSids();
for (String sid : sids) {
baseMapper.updateResulit(dto.getAuditResults(),sid);
}
}
}

4
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbuckleapply/LoanBuckleApplyMapper.java

@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailedjr.FinUncollectedReceivablesDetailedJR;
import com.yxt.anrui.riskcenter.api.loanbuckleapply.LoanBuckleApply;
import com.yxt.anrui.riskcenter.api.loanbuckleapply.LoanBuckleApplyVo;
import com.yxt.anrui.riskcenter.api.loancustomerrecord.LoanCustomerRecord;
@ -14,6 +15,7 @@ import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update;
import java.util.List;
import java.util.Map;
@ -25,4 +27,6 @@ public interface LoanBuckleApplyMapper extends BaseMapper<LoanBuckleApply> {
int updateFlowFiled(Map<String, Object> map);
int selectNum(String bill);
List<FinUncollectedReceivablesDetailedJR> selFinJrList(String sid);
}

13
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbuckleapply/LoanBuckleApplyMapper.xml

@ -40,4 +40,15 @@
from loan_buckle_apply
where billNo LIKE concat(#{bill}, '%')
</select>
</mapper>
<select id="selFinJrList"
resultType="com.yxt.anrui.fin.api.finuncollectedreceivablesdetailedjr.FinUncollectedReceivablesDetailedJR">
SELECT
*
FROM
anrui_fin.fin_uncollected_receivables_detailed_jr
WHERE
busSid = #{sid}
AND payCostTitleValue = '资方退还垫款'
AND reveivableMoney > 0
</select>
</mapper>

7
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbuckleapply/LoanBuckleApplyService.java

@ -18,6 +18,7 @@ import com.yxt.anrui.buscenter.api.bussalesorderborrower.BusSalesOrderBorrowerDe
import com.yxt.anrui.buscenter.api.bussalesorderborrower.BusSalesOrderBorrowerFeign;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleFeign;
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailedjr.FinUncollectedReceivablesDetailedJR;
import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign;
import com.yxt.anrui.fin.api.kingdee.bdcustomer.BdCustomer;
import com.yxt.anrui.fin.api.kingdee.voucher.GeneralVoucher;
@ -800,9 +801,9 @@ public class LoanBuckleApplyService extends MybatisBaseService<LoanBuckleApplyMa
voucherDetail.setSceneCode("01");
}
} else if (oweState == 0) {
BigDecimal paymentMoney = planDetails.getPaymentMoney();
if (null != paymentMoney) {
if (paymentMoney.compareTo(BigDecimal.ZERO) > 0) {
List<FinUncollectedReceivablesDetailedJR> jrList = baseMapper.selFinJrList(planDetails.getSid());
if (null != jrList) {
if (jrList.size() > 0) {
voucherDetail.setSceneCode("03");
} else {
voucherDetail.setSceneCode("02");

25
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyService.java

@ -1548,15 +1548,15 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa
}
}
}
if (null != planDetails.getOweState()) {
if (planDetails.getOweState() == 0) {
if (null != details.getOweState()) {
if (details.getOweState() == 0) {
cwYYQ = cwYYQ.add(mm);
} else if (planDetails.getOweState() == 1) {
} else if (details.getOweState() == 1) {
//获取收款日期的当月最后一天
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
LocalDate localDate = LocalDate.parse(DateUtil.formatDate(new Date()), formatter);
LocalDate date = localDate.withDayOfMonth(localDate.lengthOfMonth());
Date dueDate = planDetails.getDueDate(); //应还日期
Date dueDate = details.getDueDate(); //应还日期
// Date -> LocalDate
LocalDate localDueDate = dueDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
boolean after = localDueDate.isAfter(date);
@ -1654,7 +1654,10 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa
fin.setUseOrgName(planDetails.getUseOrgName());
fin.setOrgSidPath(loanSettleApply.getOrgSidPath());
selectList.add(fin);
cwYYQ = cwYYQ.add(mm);
LoanSettleVoucherVo v = new LoanSettleVoucherVo();
v.setReceivablesName("结清时资方逾期利息");
v.setSubscriptionMoney(mm);
list.add(v);
}
}
@ -2343,7 +2346,7 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa
voucherDetail.setCredit(subscriptionMoney.toString());
resultDetails.add(voucherDetail);
}
if (receivablesName.equals("名义价") || receivablesName.equals("合同违约金") || receivablesName.equals("其他费用")) {
if (receivablesName.equals("名义价") || receivablesName.equals("合同违约金") || receivablesName.equals("其他费用") || receivablesName.equals("结清时资方逾期利息")) {
SettleFinVo finVo = getFinSettleVo(planDetails.getBusVinSid(), receivablesName, subscriptionMoney.toString()).getData();
if (null != finVo) {
if (null != finVo.getSubtrahend()) {
@ -4019,6 +4022,11 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa
subtrahend = bankCost.getBankOtherReceivable();
}
}
if (receivablesName.equals("结清时资方逾期利息")) {
if (null != bankCost.getBankInterest()) {
subtrahend = bankCost.getBankInterest();
}
}
}
if (null != companyCost) {
if (receivablesName.equals("名义价")) {
@ -4036,6 +4044,11 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa
companyAmount = companyCost.getCompanyOtherPrice();
}
}
if (receivablesName.equals("结清时资方逾期利息")) {
if (null != companyCost.getBankOverInterest()) {
companyAmount = companyCost.getBankOverInterest();
}
}
}
PlanNoReturnMoney p = baseMapper.selectNoReturnMoneyByType(planDetailsSid, receivablesName);
if (null != p) {

6
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebate.java

@ -92,8 +92,10 @@ public class ScmVehRebate extends BaseEntity {
private String secondaryUploadDate; // 二次上传日期
@ApiModelProperty("二次上传金额")
private String secondaryUploadMoney; // 二次上传金额
@ApiModelProperty("待确定金额")
private String stayDetermineMoney; // 待确定金额
@ApiModelProperty("待确定金额(动态)")
private String stayDetermineMoney;
@ApiModelProperty("待确定金额(常量)")
private String stayDetermineMoneyNew;
@ApiModelProperty("是否调整")
private String isAdjustment; // 是否调整
@ApiModelProperty("调整金额")

8
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateDetailsVo.java

@ -102,8 +102,12 @@ public class ScmVehRebateDetailsVo implements Vo {
private String secondaryUploadDate; // 二次上传日期
@ApiModelProperty("二次上传金额")
private String secondaryUploadMoney; // 二次上传金额
@ApiModelProperty("待确定金额")
private String stayDetermineMoney; // 待确定金额
@ApiModelProperty("待确定金额(动态)")
private String stayDetermineMoney;
@ApiModelProperty("待确定金额(常量)")
private String stayDetermineMoneyNew;
@ApiModelProperty("费用")
private String money; // 费用
@ApiModelProperty("是否调整")
private String isAdjustment; // 是否调整
@ApiModelProperty("调整金额")

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

@ -108,7 +108,7 @@ public interface ScmVehRebateFeign {
@ApiOperation("修改")
@PostMapping("/update")
@ResponseBody
public ResultBean update(@RequestBody ScmVehRebateVehDto dto);
public ResultBean update(@RequestBody ScmVehRebateVehDto dto);
@ApiOperation("调整")
@PostMapping("/adjustment")

23
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateVehAdjDto.java

@ -31,20 +31,35 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
@Data
@ApiModel(value = "单车返利表 数据传输对象", description = "单车返利表 数据传输对象")
public class ScmVehRebateVehAdjDto implements Dto {
private String sid; // sid
@ApiModelProperty("一次待支付费用")
private BigDecimal onceTreatCost;
@ApiModelProperty("一次抵顶费用")
private BigDecimal onceSuppCost;
@ApiModelProperty("一次抵顶费用说明")
private String onceSuppRemark;
@ApiModelProperty("二次待支付费用")
private BigDecimal secondTreatCost;
@ApiModelProperty("二次抵顶费用")
private BigDecimal secondSuppCost;
@ApiModelProperty("二次抵顶费用说明")
private String secondSuppRemark;
@ApiModelProperty("二次上传日期")
private String secondaryUploadDate; // 二次上传日期
@ApiModelProperty("二次上传金额")
private String secondaryUploadMoney; // 二次上传金额
@ApiModelProperty("待确定金额")
private String stayDetermineMoney; // 待确定金额
@ApiModelProperty("费用")
private String cost; // 费用
@ApiModelProperty("待确定金额(动态)")
private String stayDetermineMoney;
@ApiModelProperty("调整金额")
private String adjustmentMoney; // 调整金额
@ApiModelProperty("调整说明")
private String adjustmentRemarks;
}

6
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateVehDto.java

@ -95,8 +95,10 @@ public class ScmVehRebateVehDto implements Dto {
private String secondaryUploadDate; // 二次上传日期
@ApiModelProperty("二次上传金额")
private String secondaryUploadMoney; // 二次上传金额
@ApiModelProperty("待确定金额")
private String stayDetermineMoney; // 待确定金额
@ApiModelProperty("待确定金额(动态)")
private String stayDetermineMoney;
@ApiModelProperty("待确定金额(常量)")
private String stayDetermineMoneyNew;
@ApiModelProperty("是否调整")
private String isAdjustment; // 是否调整
@ApiModelProperty("调整金额")

15
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateVo.java

@ -60,6 +60,7 @@ public class ScmVehRebateVo implements Vo {
private Date createTime; // 创建日期
@ApiModelProperty("状态")
private String state; // 状态
private String vehRebateSid; // 单车返利sid
@ApiModelProperty("品牌sid")
private String brandSid; // 品牌sid
@ApiModelProperty("品牌名称")
@ -88,8 +89,6 @@ public class ScmVehRebateVo implements Vo {
private String estimateRebate; // 预计返利
@ApiModelProperty("所属年月")
private String palceGenDate; // 所属年月
@ApiModelProperty("所属年月(页面展示)")
private String palceGenDateCopy; // 所属年月(页面展示)
@ApiModelProperty("预提日期")
private String withholdingDate; // 预提日期
@ApiModelProperty("上传日期")
@ -122,8 +121,6 @@ public class ScmVehRebateVo implements Vo {
private String createOrgName; // 创建组织名称
@ApiModelProperty("上传状态(0未上传、1已上传)")
private String uploadState; // 上传状态
@ApiModelProperty("是否可以点击是否调整")
private Boolean adjustOrNot;
@ApiModelProperty("调整状态")
private Integer adjustmentState;
@ -139,4 +136,14 @@ public class ScmVehRebateVo implements Vo {
private BigDecimal expectSuppCost;
@ApiModelProperty("差异金额")
private BigDecimal diffAmount;
@ApiModelProperty("其中费用")
private BigDecimal money;
@ApiModelProperty("一次待支付费用")
private BigDecimal onceTreatCost;
@ApiModelProperty("一次抵顶费用")
private BigDecimal onceSuppCost;
@ApiModelProperty("二次待支付费用")
private BigDecimal secondTreatCost;
@ApiModelProperty("二次抵顶费用")
private BigDecimal secondSuppCost;
}

4
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatecheckapply/ScmVehrebateCheckapplyDetailsVo.java

@ -27,6 +27,8 @@ package com.yxt.anrui.scm.api.scmvehrebatecheckapply;
import com.yxt.anrui.scm.api.scmvehrebatecheckapplydetail.ScmVehrebateCheckapplydetailDetailsVo;
import com.yxt.anrui.scm.api.scmvehrebatecheckapplydetail.ScmVehrebateCheckapplydetailDto;
import com.yxt.anrui.scm.api.scmvehrebatecheckapplydetail.ScmVehrebateCheckapplydetailVo;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
@ -90,4 +92,6 @@ public class ScmVehrebateCheckapplyDetailsVo implements Vo {
private List<ScmVehrebateCheckapplydetailDetailsVo> scmWhenVehrebateCheckapplydetailDetails; // 本月核对本月已上传单车返利信息
@ApiModelProperty("本月核对往月已上传单车返利信息")
private List<ScmVehrebateCheckapplydetailDetailsVo> scmLastVehrebateCheckapplydetailDetails; // 本月核对往月已上传单车返利信息
@ApiModelProperty("返利信息")
private List<ScmVehrebateCheckapplydetailVo> scmVehrebateCheckapplydetailList;
}

6
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatecheckapply/ScmVehrebateCheckapplyDto.java

@ -86,8 +86,6 @@ public class ScmVehrebateCheckapplyDto implements Dto {
private String taskId; // taskId
@ApiModelProperty("组织全路径")
private String orgPath;
@ApiModelProperty("本月核对本月已上传单车返利信息")
private List<ScmVehrebateCheckapplydetailDto> scmWhenVehrebateCheckapplydetailDetails; // 本月核对本月已上传单车返利信息
@ApiModelProperty("本月核对往月已上传单车返利信息")
private List<ScmVehrebateCheckapplydetailDto> scmLastVehrebateCheckapplydetailDetails; // 本月核对往月已上传单车返利信息
@ApiModelProperty("返利信息")
private List<ScmVehrebateCheckapplydetailDto> scmVehrebateCheckapplydetailList;
}

2
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatecheckapply/ScmVehrebateCheckapplyVo.java

@ -67,6 +67,8 @@ public class ScmVehrebateCheckapplyVo implements Vo {
private String createOrgName; // 创建组织名称
@ApiModelProperty("预计返利")
private String estimateRebate; // 预计返利
@ApiModelProperty("其中预提费用")
private String expectCost;
@ApiModelProperty("上传金额")
private String uploadMoney; // 上传金额
@ApiModelProperty("待确定金额")

84
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatecheckapplydetail/ScmVehrebateCheckapplydetail.java

@ -31,6 +31,8 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* Project: anrui-scm(单车返利核对) <br/>
* File: ScmVehrebateCheckapplydetail.java <br/>
@ -55,4 +57,86 @@ public class ScmVehrebateCheckapplydetail extends BaseEntity {
@ApiModelProperty("核对申请sid")
private String mainSid; // 核对申请sid
@ApiModelProperty("品牌sid")
private String brandSid; // 品牌sid
@ApiModelProperty("品牌名称")
private String brandName; // 品牌名称
@ApiModelProperty("车型sid")
private String vehModelSid; // 车型sid
@ApiModelProperty("车型名称")
private String vehModelName; // 车型名称
@ApiModelProperty("车辆sid")
private String vehSid; // 车辆sid
@ApiModelProperty("车架号")
private String vinNo; // 车架号
@ApiModelProperty("厂家结算价")
private String manufactorSettlementPrice; // 厂家结算价
@ApiModelProperty("运费")
private String freight; // 运费
@ApiModelProperty("返利类型key")
private String rebateTypeKey; // 返利类型key
@ApiModelProperty("返利类型value")
private String rebateTypeValue; // 返利类型value
@ApiModelProperty("返利名称")
private String rebateName; // 返利名称
@ApiModelProperty("计算标准")
private String calculationStandard; // 计算标准
@ApiModelProperty("预计返利")
private String estimateRebate; // 预计返利
@ApiModelProperty("所属年月")
private String palceGenDate; // 所属年月
@ApiModelProperty("预提日期")
private String withholdingDate; // 预提日期
@ApiModelProperty("上传日期")
private String uploadDate; // 上传日期
@ApiModelProperty("上传金额")
private String uploadMoney; // 上传金额
@ApiModelProperty("二次上传日期")
private String secondaryUploadDate; // 二次上传日期
@ApiModelProperty("二次上传金额")
private String secondaryUploadMoney; // 二次上传金额
@ApiModelProperty("待确定金额(动态)")
private String stayDetermineMoney;
@ApiModelProperty("待确定金额(常量)")
private String stayDetermineMoneyNew;
@ApiModelProperty("是否调整")
private String isAdjustment; // 是否调整
@ApiModelProperty("调整金额")
private String adjustmentMoney; // 调整金额
@ApiModelProperty("调整说明")
private String adjustmentRemarks; // 调整说明
@ApiModelProperty("计算方式key")
private String calculationModeKey; // 计算方式key
@ApiModelProperty("计算方式Value")
private String calculationModeValue; // 计算方式Value
@ApiModelProperty("调整状态")
private Integer adjustmentState;
@ApiModelProperty("一次核对状态")
private Integer onceCheckState;
@ApiModelProperty("其中预计费用")
private BigDecimal expectCost;
@ApiModelProperty("差异金额")
private BigDecimal diffAmount;
@ApiModelProperty("预计待支付费用")
private BigDecimal expectTreatCost;
@ApiModelProperty("预计抵顶费用")
private BigDecimal expectSuppCost;
@ApiModelProperty("预计抵顶费用说明")
private String expectSuppRemark;
@ApiModelProperty("上装金额")
private BigDecimal topAmount;
@ApiModelProperty("一次待支付费用")
private BigDecimal onceTreatCost;
@ApiModelProperty("一次抵顶费用")
private BigDecimal onceSuppCost;
@ApiModelProperty("一次抵顶费用说明")
private String onceSuppRemark;
@ApiModelProperty("二次待支付费用")
private BigDecimal secondTreatCost;
@ApiModelProperty("二次抵顶费用")
private BigDecimal secondSuppCost;
@ApiModelProperty("二次抵顶费用说明")
private String secondSuppRemark;
}

8
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatecheckapplydetail/ScmVehrebateCheckapplydetailDetailsVo.java

@ -63,14 +63,12 @@ public class ScmVehrebateCheckapplydetailDetailsVo implements Vo {
private String rebateTypeKey; // 返利类型key
@ApiModelProperty("返利类型value")
private String rebateTypeValue; // 返利类型value
@ApiModelProperty("数")
@ApiModelProperty("数")
private String num; // 台数
@ApiModelProperty("预提数量")
private String withholdingAmount; // 预提数量
@ApiModelProperty("上传数量")
private String uploadAmount; // 上传数量
@ApiModelProperty("预提金额")
private String withRebate; // 预提金额
@ApiModelProperty("其中预提费用")
private String expectCost;
@ApiModelProperty("上传金额")
private String uploadMoney; // 上传金额
@ApiModelProperty("待确定金额")

92
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatecheckapplydetail/ScmVehrebateCheckapplydetailDto.java

@ -32,6 +32,7 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.List;
/**
@ -51,11 +52,92 @@ import java.util.List;
@ApiModel(value = "单车返利核对申请表_返利列表 数据传输对象", description = "单车返利核对申请表_返利列表 数据传输对象")
public class ScmVehrebateCheckapplydetailDto implements Dto {
private String sid; // sid
@ApiModelProperty("单车返利sid")
private List<String> vehRebateSids; // 单车返利sid
@ApiModelProperty("核对申请sid")
@ApiModelProperty("单车返利sid")
private String vehRebateSid; // 单车返利sid
@ApiModelProperty("核对申请sid")
private String mainSid; // 核对申请sid
@ApiModelProperty("品牌sid")
private String brandSid; // 品牌sid
@ApiModelProperty("品牌名称")
private String brandName; // 品牌名称
@ApiModelProperty("车型sid")
private String vehModelSid; // 车型sid
@ApiModelProperty("车型名称")
private String vehModelName; // 车型名称
@ApiModelProperty("车辆sid")
private String vehSid; // 车辆sid
@ApiModelProperty("车架号")
private String vinNo; // 车架号
@ApiModelProperty("厂家结算价")
private String manufactorSettlementPrice; // 厂家结算价
@ApiModelProperty("运费")
private String freight; // 运费
@ApiModelProperty("返利类型key")
private String rebateTypeKey; // 返利类型key
@ApiModelProperty("返利类型value")
private String rebateTypeValue; // 返利类型value
@ApiModelProperty("返利名称")
private String rebateName; // 返利名称
@ApiModelProperty("计算标准")
private String calculationStandard; // 计算标准
@ApiModelProperty("预计返利")
private String estimateRebate; // 预计返利
@ApiModelProperty("所属年月")
private String palceGenDate; // 所属年月
@ApiModelProperty("预提日期")
private String withholdingDate; // 预提日期
@ApiModelProperty("上传日期")
private String uploadDate; // 上传日期
@ApiModelProperty("上传金额")
private String uploadMoney; // 上传金额
@ApiModelProperty("二次上传日期")
private String secondaryUploadDate; // 二次上传日期
@ApiModelProperty("二次上传金额")
private String secondaryUploadMoney; // 二次上传金额
@ApiModelProperty("待确定金额(动态)")
private String stayDetermineMoney;
@ApiModelProperty("待确定金额(常量)")
private String stayDetermineMoneyNew;
@ApiModelProperty("是否调整")
private String isAdjustment; // 是否调整
@ApiModelProperty("调整金额")
private String adjustmentMoney; // 调整金额
@ApiModelProperty("调整说明")
private String adjustmentRemarks; // 调整说明
@ApiModelProperty("计算方式key")
private String calculationModeKey; // 计算方式key
@ApiModelProperty("计算方式Value")
private String calculationModeValue; // 计算方式Value
@ApiModelProperty("调整状态")
private Integer adjustmentState;
@ApiModelProperty("一次核对状态")
private Integer onceCheckState;
@ApiModelProperty("其中预计费用")
private BigDecimal expectCost;
@ApiModelProperty("差异金额")
private BigDecimal diffAmount;
@ApiModelProperty("预计待支付费用")
private BigDecimal expectTreatCost;
@ApiModelProperty("预计抵顶费用")
private BigDecimal expectSuppCost;
@ApiModelProperty("预计抵顶费用说明")
private String expectSuppRemark;
@ApiModelProperty("上装金额")
private BigDecimal topAmount;
@ApiModelProperty("一次待支付费用")
private BigDecimal onceTreatCost;
@ApiModelProperty("一次抵顶费用")
private BigDecimal onceSuppCost;
@ApiModelProperty("一次抵顶费用说明")
private String onceSuppRemark;
@ApiModelProperty("二次待支付费用")
private BigDecimal secondTreatCost;
@ApiModelProperty("二次抵顶费用")
private BigDecimal secondSuppCost;
@ApiModelProperty("二次抵顶费用说明")
private String secondSuppRemark;
}

91
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatecheckapplydetail/ScmVehrebateCheckapplydetailVo.java

@ -32,6 +32,8 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* Project: anrui-scm(单车返利核对) <br/>
* File: ScmVehrebateCheckapplydetailVo.java <br/>
@ -49,11 +51,92 @@ import lombok.Data;
@ApiModel(value = "单车返利核对申请表_返利列表 视图数据对象", description = "单车返利核对申请表_返利列表 视图数据对象")
public class ScmVehrebateCheckapplydetailVo implements Vo {
private String sid; // sid
@ApiModelProperty("单车返利sid")
@ApiModelProperty("单车返利sid")
private String vehRebateSid; // 单车返利sid
@ApiModelProperty("核对申请sid")
@ApiModelProperty("核对申请sid")
private String mainSid; // 核对申请sid
@ApiModelProperty("品牌sid")
private String brandSid; // 品牌sid
@ApiModelProperty("品牌名称")
private String brandName; // 品牌名称
@ApiModelProperty("车型sid")
private String vehModelSid; // 车型sid
@ApiModelProperty("车型名称")
private String vehModelName; // 车型名称
@ApiModelProperty("车辆sid")
private String vehSid; // 车辆sid
@ApiModelProperty("车架号")
private String vinNo; // 车架号
@ApiModelProperty("厂家结算价")
private String manufactorSettlementPrice; // 厂家结算价
@ApiModelProperty("运费")
private String freight; // 运费
@ApiModelProperty("返利类型key")
private String rebateTypeKey; // 返利类型key
@ApiModelProperty("返利类型value")
private String rebateTypeValue; // 返利类型value
@ApiModelProperty("返利名称")
private String rebateName; // 返利名称
@ApiModelProperty("计算标准")
private String calculationStandard; // 计算标准
@ApiModelProperty("预计返利")
private String estimateRebate; // 预计返利
@ApiModelProperty("所属年月")
private String palceGenDate; // 所属年月
@ApiModelProperty("预提日期")
private String withholdingDate; // 预提日期
@ApiModelProperty("上传日期")
private String uploadDate; // 上传日期
@ApiModelProperty("上传金额")
private String uploadMoney; // 上传金额
@ApiModelProperty("二次上传日期")
private String secondaryUploadDate; // 二次上传日期
@ApiModelProperty("二次上传金额")
private String secondaryUploadMoney; // 二次上传金额
@ApiModelProperty("待确定金额(动态)")
private String stayDetermineMoney;
@ApiModelProperty("待确定金额(常量)")
private String stayDetermineMoneyNew;
@ApiModelProperty("是否调整")
private String isAdjustment; // 是否调整
@ApiModelProperty("调整金额")
private String adjustmentMoney; // 调整金额
@ApiModelProperty("调整说明")
private String adjustmentRemarks; // 调整说明
@ApiModelProperty("计算方式key")
private String calculationModeKey; // 计算方式key
@ApiModelProperty("计算方式Value")
private String calculationModeValue; // 计算方式Value
@ApiModelProperty("调整状态")
private Integer adjustmentState;
@ApiModelProperty("一次核对状态")
private Integer onceCheckState;
@ApiModelProperty("其中预计费用")
private BigDecimal expectCost;
@ApiModelProperty("差异金额")
private BigDecimal diffAmount;
@ApiModelProperty("预计待支付费用")
private BigDecimal expectTreatCost;
@ApiModelProperty("预计抵顶费用")
private BigDecimal expectSuppCost;
@ApiModelProperty("预计抵顶费用说明")
private String expectSuppRemark;
@ApiModelProperty("上装金额")
private BigDecimal topAmount;
@ApiModelProperty("一次待支付费用")
private BigDecimal onceTreatCost;
@ApiModelProperty("一次抵顶费用")
private BigDecimal onceSuppCost;
@ApiModelProperty("一次抵顶费用说明")
private String onceSuppRemark;
@ApiModelProperty("二次待支付费用")
private BigDecimal secondTreatCost;
@ApiModelProperty("二次抵顶费用")
private BigDecimal secondSuppCost;
@ApiModelProperty("二次抵顶费用说明")
private String secondSuppRemark;
private String money;
}

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

@ -74,9 +74,7 @@ public interface ScmVehRebateMapper extends BaseMapper<ScmVehRebate> {
List<TwoExcelVo> excelListTwo(@Param(Constants.WRAPPER) QueryWrapper<ScmVehRebate> qw);
ScmVehRebateVo selectExcelInfo(@Param("vinNo") String vinNo, @Param("rebateName") String rebateName, @Param("palceGenDate") String palceGenDate);
void updateOneExcelInfo(@Param("uploadDate") String uploadDate, @Param("uploadMoney") String uploadMoney, @Param("stayDetermineMoney") String stayDetermineMoney, @Param("onceTreatCost") String onceTreatCost, @Param("onceSuppCost") String onceSuppCost, @Param("onceSuppRemark") String onceSuppRemark, @Param("adjustmentRemarks") String adjustmentRemarks, @Param("sid") String sid);
void updateOneExcelInfo(@Param("uploadDate") String uploadDate, @Param("uploadMoney") String uploadMoney, @Param("stayDetermineMoney") String stayDetermineMoney, @Param("onceTreatCost") String onceTreatCost, @Param("onceSuppCost") String onceSuppCost, @Param("onceSuppRemark") String onceSuppRemark, @Param("adjustmentRemarks") String adjustmentRemarks, @Param("isAdjustment") String isAdjustment, @Param("adjustmentMoney") String adjustmentMoney, @Param("diffAmount") String diffAmount, @Param("sid") String sid);
void updateTwoExcelInfo(@Param("secondaryUploadDate") String secondaryUploadDate, @Param("secondaryUploadMoney") String secondaryUploadMoney, @Param("secondTreatCost") String secondTreatCost, @Param("secondSuppCost") String secondSuppCost, @Param("secondSuppRemark") String secondSuppRemark, @Param("adjustmentRemarks") String adjustmentRemarks, @Param("sid") String sid);

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

@ -4,7 +4,7 @@
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="selectPageVo" resultType="com.yxt.anrui.scm.api.scmvehrebate.ScmVehRebateVo">
SELECT * FROM scm_veh_rebate
SELECT *,sid vehRebateSid FROM scm_veh_rebate
<where>
${ew.sqlSegment}
</where>
@ -20,7 +20,7 @@
<select id="selectByVinNoAndOrgSid" resultType="com.yxt.anrui.scm.api.scmvehrebate.ScmVehRebateVo">
SELECT *
FROM scm_veh_rebate
WHERE vinNo = #{vinNo}
WHERE vinNo LIKE CONCAT('%', #{vinNo}, '%')
AND rebateTypeValue = #{rebateTypeValue}
AND rebateName = #{rebateName}
AND palceGenDate = #{palceGenDate}
@ -49,24 +49,20 @@
</where>
</select>
<select id="selectExcelInfo" resultType="com.yxt.anrui.scm.api.scmvehrebate.ScmVehRebateVo">
SELECT *
FROM scm_veh_rebate
WHERE vinNo LIKE CONCAT('%', #{vinNo}, '%')
AND rebateName = #{rebateName}
AND palceGenDate = #{palceGenDate}
</select>
<update id="updateOneExcelInfo">
UPDATE
scm_veh_rebate
SET uploadDate = #{uploadDate},
uploadMoney = #{uploadMoney},
onceTreatCost = #{onceTreatCost},
onceSuppCost = #{onceSuppCost},
onceSuppRemark = #{onceSuppRemark},
stayDetermineMoney = #{stayDetermineMoney},
adjustmentRemarks = #{adjustmentRemarks}
SET uploadDate = #{uploadDate},
uploadMoney = #{uploadMoney},
onceTreatCost = #{onceTreatCost},
onceSuppCost = #{onceSuppCost},
onceSuppRemark = #{onceSuppRemark},
stayDetermineMoney = #{stayDetermineMoney},
stayDetermineMoneyNew = #{stayDetermineMoney},
adjustmentRemarks = #{adjustmentRemarks},
isAdjustment = #{isAdjustment},
adjustmentMoney = #{adjustmentMoney},
diffAmount = #{diffAmount}
WHERE sid = #{sid}
</update>
@ -78,7 +74,10 @@
secondTreatCost = #{secondTreatCost},
secondSuppCost = #{secondSuppCost},
secondSuppRemark = #{secondSuppRemark},
adjustmentRemarks = #{adjustmentRemarks}
adjustmentRemarks = #{adjustmentRemarks},
isAdjustment = #{isAdjustment},
adjustmentMoney = #{adjustmentMoney},
diffAmount = #{diffAmount}
WHERE sid = #{sid}
</update>
</mapper>
</mapper>

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

@ -147,11 +147,7 @@ public class ScmVehRebateRest implements ScmVehRebateFeign {
@Override
public ResultBean update(ScmVehRebateVehDto dto) {
ResultBean rb = ResultBean.fireFail();
if ("是".equals(dto.getIsAdjustment())){
dto.setAdjustmentState(1);
}else {
dto.setAdjustmentState(2);
}
dto.setStayDetermineMoneyNew(dto.getStayDetermineMoney());
scmVehRebateService.updateBySid(dto,dto.getSid());
return rb.success().setMsg("修改成功");
}

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

@ -263,18 +263,13 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper,
if (StringUtils.isNotBlank(query.getRebateName())) {
qw.like("rebateName", query.getRebateName());
}
if (StringUtils.isNotBlank(query.getAdjustmentState())) {
qw.eq("adjustmentState", query.getAdjustmentState());
}
String createStartTime = query.getCreateStartTime();
String createEndTime = query.getCreateEndTime();
qw.apply(StringUtils.isNotBlank(createStartTime), "date_format (createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')").
apply(StringUtils.isNotBlank(createEndTime), "date_format (createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')"
);
qw.eq("state", 2);
if (StringUtils.isNotBlank(query.getState())) {
qw.eq("state", query.getState());
}
qw.eq("adjustmentState", 0);
qw.orderByDesc("createTime");
IPage<ScmVehRebate> page = PagerUtil.queryToPage(pq);
IPage<ScmVehRebateVo> pagging = baseMapper.selectPageVo(page, qw);
@ -285,30 +280,8 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper,
} else {//上传状态:已上传
record.setUploadState("1");
}
//是否调整
if (0 == record.getAdjustmentState()) {
if (new BigDecimal(record.getStayDetermineMoney()).compareTo(BigDecimal.ZERO) == 0) {
BigDecimal decimal = new BigDecimal(StringUtils.isNotBlank(record.getUploadMoney()) ? record.getUploadMoney() : "0").add(new BigDecimal(StringUtils.isNotBlank(record.getSecondaryUploadMoney()) ? record.getSecondaryUploadMoney() : "0")).subtract(record.getExpectCost()).subtract(new BigDecimal(StringUtils.isNotBlank(record.getStayDetermineMoney()) ? record.getStayDetermineMoney() : "0")).subtract(new BigDecimal(StringUtils.isNotBlank(record.getEstimateRebate()) ? record.getEstimateRebate() : "0"));
int i = decimal.compareTo(BigDecimal.ZERO);
if (i < 0) {//小于
record.setIsAdjustment("否");
record.setAdjustmentMoney("0");
record.setAdjustOrNot(true);
} else if (i == 0) {//等于
record.setIsAdjustment("是");
record.setAdjustmentMoney("0");
record.setAdjustOrNot(false);
} else {//大于
record.setIsAdjustment("是");
record.setAdjustmentMoney(decimal.toString());
record.setAdjustOrNot(true);
}
} else {
record.setIsAdjustment("否");
record.setAdjustmentMoney("0");
record.setAdjustOrNot(false);
}
}
//其中费用
record.setMoney(record.getOnceTreatCost().add(record.getOnceSuppCost()).add(record.getSecondTreatCost()).add(record.getSecondSuppCost()));
}
PagerVo<ScmVehRebateVo> p = PagerUtil.pageToVo(pagging, null);
return p;
@ -486,16 +459,15 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper,
);
qw.eq("adjustmentState", 0);
qw.eq("state", 2);
qw.and(wrapper -> wrapper.eq("onceCheckState", 1).eq("isAdjustment", "是")).or(wrapper -> wrapper.eq("onceCheckState", 0).isNotNull("uploadDate"));
if (query.getSidList().size() > 0) {
qw.notIn("sid", query.getSidList());
}
IPage<ScmVehRebate> page = PagerUtil.queryToPage(pq);
IPage<ScmVehRebateVo> pagging = baseMapper.selectPageVo(page, qw);
for (ScmVehRebateVo record : pagging.getRecords()) {
//所属年月
String palceGenDate = record.getPalceGenDate();
String[] split = palceGenDate.split("-");
record.setPalceGenDateCopy(split[0] + "年" + split[1] + "月");
//其中费用
record.setMoney(record.getOnceTreatCost().add(record.getOnceSuppCost()).add(record.getSecondTreatCost()).add(record.getSecondSuppCost()));
}
PagerVo<ScmVehRebateVo> p = PagerUtil.pageToVo(pagging, null);
return p;
@ -561,12 +533,18 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper,
ScmVehRebate scmVehRebate = fetchBySid(sid);
ScmVehRebateVehDto scmVehRebateVehDto = new ScmVehRebateVehDto();
BeanUtil.copyProperties(scmVehRebate, scmVehRebateVehDto);
scmVehRebateVehDto.setOnceTreatCost(dto.getOnceTreatCost());
scmVehRebateVehDto.setOnceSuppCost(dto.getOnceSuppCost());
scmVehRebateVehDto.setOnceSuppRemark(dto.getOnceSuppRemark());
scmVehRebateVehDto.setSecondTreatCost(dto.getSecondTreatCost());
scmVehRebateVehDto.setSecondSuppCost(dto.getSecondSuppCost());
scmVehRebateVehDto.setSecondSuppRemark(dto.getSecondSuppRemark());
scmVehRebateVehDto.setSecondaryUploadDate(dto.getSecondaryUploadDate());
scmVehRebateVehDto.setSecondaryUploadMoney(dto.getSecondaryUploadMoney());
scmVehRebateVehDto.setStayDetermineMoney(dto.getStayDetermineMoney());
scmVehRebateVehDto.setStayDetermineMoney("0");
scmVehRebateVehDto.setAdjustmentRemarks(dto.getAdjustmentRemarks());
scmVehRebateVehDto.setAdjustmentMoney(dto.getAdjustmentMoney());
scmVehRebateVehDto.setIsAdjustment("是");
scmVehRebateVehDto.setAdjustmentState(1);
updateBySid(scmVehRebateVehDto, sid);
return rb.success().setMsg("调整成功");
}
@ -925,22 +903,28 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper,
wb = new XSSFWorkbook(is);
}
Sheet sheet = wb.getSheetAt(0);
VehRebateOneExcelInfo importReturn = getSheetValOne(sheet, resultCell, userSid);
String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData();
VehRebateOneExcelInfo importReturn = getSheetValOne(sheet, resultCell, userSid, useOrgSid);
if (StringUtils.isNotBlank(importReturn.getCheckInfo())) {
return rb.setMsg(importReturn.getCheckInfo());
} else {
List<OneExcelInfo> infos = importReturn.getInfos();
for (OneExcelInfo info : infos) {
ScmVehRebateVo scmVehRebateVo = baseMapper.selectExcelInfo(info.getVinNo(), info.getRebateName(), info.getPalceGenDate());
Date javaDate = new Date((long) ((Double.valueOf(info.getUploadDate()) - 25569) * 86400 * 1000));
String uploadDate = DateUtil.formatDate(javaDate);
baseMapper.updateOneExcelInfo(uploadDate, info.getUploadMoney(), info.getStayDetermineMoney(), info.getOnceTreatCost(), info.getOnceSuppCost(), info.getOnceSuppRemark(), info.getAdjustmentRemarks(), scmVehRebateVo.getSid());
ScmVehRebateVo scmVehRebateVo = baseMapper.selectByVinNoAndOrgSid(info.getVinNo(), info.getRebateTypeValue(), info.getRebateName(), info.getPalceGenDate(), info.getEstimateRebate(), useOrgSid);
String uploadDate = "";
if (isNumber(info.getUploadDate())) {
Date javaDate = new Date((long) ((Double.valueOf(info.getUploadDate()) - 25569) * 86400 * 1000));
uploadDate = DateUtil.formatDate(javaDate);
} else {
uploadDate = info.getUploadDate();
}
baseMapper.updateOneExcelInfo(uploadDate, info.getUploadMoney(), info.getStayDetermineMoney(), info.getOnceTreatCost(), info.getOnceSuppCost(), info.getOnceSuppRemark(), info.getAdjustmentRemarks(), info.getIsAdjustment(), info.getAdjustmentMoney(), info.getDiffAmount(), scmVehRebateVo.getSid());
}
return rb.success().setMsg("成功导入数据,请点击确定按钮");
}
}
private VehRebateOneExcelInfo getSheetValOne(Sheet sheet, int[] resultCell, String userSid) {
private VehRebateOneExcelInfo getSheetValOne(Sheet sheet, int[] resultCell, String userSid, String useOrgSid) {
VehRebateOneExcelInfo importReturn = new VehRebateOneExcelInfo();
List<OneExcelInfo> importVoList = new ArrayList<>();
Set<String> checkWord = new HashSet<>();
@ -1083,13 +1067,13 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper,
}
if (!importVoList.isEmpty()) {
for (OneExcelInfo excelInfo : importVoList) {
ScmVehRebateVo scmVehRebateVo = baseMapper.selectExcelInfo(excelInfo.getVinNo(), excelInfo.getRebateName(), excelInfo.getPalceGenDate());
ScmVehRebateVo scmVehRebateVo = baseMapper.selectByVinNoAndOrgSid(excelInfo.getVinNo(), excelInfo.getRebateTypeValue(), excelInfo.getRebateName(), excelInfo.getPalceGenDate(), excelInfo.getEstimateRebate(), useOrgSid);
if (scmVehRebateVo == null || StringUtils.isBlank(scmVehRebateVo.getSid())) {
checkWord.add("车架号" + excelInfo.getVinNo() + "导入的返利信息不存在");
break;
}
if (scmVehRebateVo.getAdjustmentState() == 1) {
checkWord.add("车架号" + excelInfo.getVinNo() + "导入的返利信息已调整");
if (scmVehRebateVo.getOnceCheckState() == 1) {
checkWord.add("车架号" + excelInfo.getVinNo() + "导入的返利信息已核对");
break;
}
if (StringUtils.isBlank(excelInfo.getVinNo())) {
@ -1363,13 +1347,14 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper,
wb = new XSSFWorkbook(is);
}
Sheet sheet = wb.getSheetAt(0);
VehRebateTwoExcelInfo importReturn = getSheetValTwo(sheet, resultCell, userSid);
String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData();
VehRebateTwoExcelInfo importReturn = getSheetValTwo(sheet, resultCell, userSid, useOrgSid);
if (StringUtils.isNotBlank(importReturn.getCheckInfo())) {
return rb.setMsg(importReturn.getCheckInfo());
} else {
List<TwoExcelInfo> infos = importReturn.getInfos();
for (TwoExcelInfo info : infos) {
ScmVehRebateVo scmVehRebateVo = baseMapper.selectExcelInfo(info.getVinNo(), info.getRebateName(), info.getPalceGenDate());
ScmVehRebateVo scmVehRebateVo = baseMapper.selectByVinNoAndOrgSid(info.getVinNo(), info.getRebateTypeValue(), info.getRebateName(), info.getPalceGenDate(), info.getEstimateRebate(), useOrgSid);
Date javaDate = new Date((long) ((Double.valueOf(info.getSecondaryUploadDate()) - 25569) * 86400 * 1000));
String secondaryUploadDate = DateUtil.formatDate(javaDate);
baseMapper.updateTwoExcelInfo(secondaryUploadDate, info.getSecondaryUploadMoney(), info.getSecondTreatCost(), info.getSecondSuppCost(), info.getSecondSuppRemark(), info.getAdjustmentRemarks(), scmVehRebateVo.getSid());
@ -1378,7 +1363,7 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper,
}
}
private VehRebateTwoExcelInfo getSheetValTwo(Sheet sheet, int[] resultCell, String userSid) {
private VehRebateTwoExcelInfo getSheetValTwo(Sheet sheet, int[] resultCell, String userSid, String useOrgSid) {
VehRebateTwoExcelInfo importReturn = new VehRebateTwoExcelInfo();
List<TwoExcelInfo> importVoList = new ArrayList<>();
Set<String> checkWord = new HashSet<>();
@ -1539,13 +1524,13 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper,
}
if (!importVoList.isEmpty()) {
for (TwoExcelInfo excelInfo : importVoList) {
ScmVehRebateVo scmVehRebateVo = baseMapper.selectExcelInfo(excelInfo.getVinNo(), excelInfo.getRebateName(), excelInfo.getPalceGenDate());
ScmVehRebateVo scmVehRebateVo = baseMapper.selectByVinNoAndOrgSid(excelInfo.getVinNo(), excelInfo.getRebateTypeValue(), excelInfo.getRebateName(), excelInfo.getPalceGenDate(), excelInfo.getEstimateRebate(), useOrgSid);
if (scmVehRebateVo == null || StringUtils.isBlank(scmVehRebateVo.getSid())) {
checkWord.add("车架号" + excelInfo.getVinNo() + "导入的返利信息不存在");
break;
}
if (scmVehRebateVo.getAdjustmentState() == 1) {
checkWord.add("车架号" + excelInfo.getVinNo() + "导入的返利信息已调整");
if (!scmVehRebateVo.getState().equals("2") || StringUtils.isBlank(scmVehRebateVo.getUploadDate())) {
checkWord.add("车架号" + excelInfo.getVinNo() + "导入的返利信息需为待核对且已上传");
break;
}
if (StringUtils.isBlank(excelInfo.getVinNo())) {
@ -1840,6 +1825,6 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper,
}
public void updateOnceCheckState(String sid, int onceCheckState) {
baseMapper.updateOnceCheckState(sid,onceCheckState);
baseMapper.updateOnceCheckState(sid, onceCheckState);
}
}

3
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatecheckapply/ScmVehrebateCheckapplyMapper.xml

@ -10,7 +10,8 @@
SUM(svr.`uploadMoney`) uploadMoney,
SUM(svr.`stayDetermineMoney`) stayDetermineMoney,
SUM(svr.`adjustmentMoney`) adjustmentMoney,
SUM(svr.`money`) money
SUM(svr.onceTreatCost + svr.onceSuppCost + svr.secondTreatCost + svr.secondSuppCost) money,
SUM(svr.expectTreatCost + svr.expectSuppCost) expectCost
FROM
scm_vehrebate_checkapply svc
LEFT JOIN scm_vehrebate_checkapplydetail svcd

104
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatecheckapply/ScmVehrebateCheckapplyService.java

@ -68,6 +68,7 @@ import com.yxt.anrui.scm.api.scmvehrebatecheckapply.ScmVehrebateCheckapplyDto;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
@ -167,14 +168,6 @@ public class ScmVehrebateCheckapplyService extends MybatisBaseService<ScmVehreba
qw.orderByDesc("svc.createTime");
IPage<ScmVehrebateCheckapply> page = PagerUtil.queryToPage(pq);
IPage<ScmVehrebateCheckapplyVo> pagging = baseMapper.selectPageVo(page, qw);
List<ScmVehrebateCheckapplyVo> records = pagging.getRecords();
for (ScmVehrebateCheckapplyVo record : records) {
record.setEstimateRebate(record.getEstimateRebate().substring(0, record.getEstimateRebate().lastIndexOf(".")));
record.setUploadMoney(record.getUploadMoney().substring(0, record.getUploadMoney().lastIndexOf(".")));
record.setStayDetermineMoney(record.getStayDetermineMoney().substring(0, record.getStayDetermineMoney().lastIndexOf(".")));
record.setAdjustmentMoney(record.getAdjustmentMoney().substring(0, record.getAdjustmentMoney().lastIndexOf(".")));
record.setMoney(record.getMoney().substring(0, record.getMoney().lastIndexOf(".")));
}
PagerVo<ScmVehrebateCheckapplyVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
@ -182,32 +175,15 @@ public class ScmVehrebateCheckapplyService extends MybatisBaseService<ScmVehreba
public ResultBean saveOrUpdateDto(ScmVehrebateCheckapplyDto dto) {
ResultBean rb = ResultBean.fireFail();
String dtoSid = dto.getSid();
List<ScmVehrebateCheckapplydetailDto> scmWhenVehrebateCheckapplydetailDetails = dto.getScmWhenVehrebateCheckapplydetailDetails();
List<ScmVehrebateCheckapplydetailDto> scmLastVehrebateCheckapplydetailDetails = dto.getScmLastVehrebateCheckapplydetailDetails();
if (scmWhenVehrebateCheckapplydetailDetails.size() < 1 && scmLastVehrebateCheckapplydetailDetails.size() < 1) {
List<ScmVehrebateCheckapplydetailDto> scmVehrebateCheckapplydetailList = dto.getScmVehrebateCheckapplydetailList();
if (scmVehrebateCheckapplydetailList.size() == 0) {
return rb.setMsg("请选择已核对单车返利信息");
}
if (StringUtils.isBlank(dtoSid)) {
String sid = this.insertByDto(dto).getData();
if (scmWhenVehrebateCheckapplydetailDetails.size() > 0) {
for (ScmVehrebateCheckapplydetailDto scmVehrebateCheckapplydetail : scmWhenVehrebateCheckapplydetailDetails) {
for (String vehRebateSid : scmVehrebateCheckapplydetail.getVehRebateSids()) {
ScmVehrebateCheckapplydetail scmVehrebateCheckapplydetail1 = new ScmVehrebateCheckapplydetail();
scmVehrebateCheckapplydetail1.setVehRebateSid(vehRebateSid);
scmVehrebateCheckapplydetail1.setMainSid(sid);
scmVehrebateCheckapplydetailService.save(scmVehrebateCheckapplydetail1);
}
}
}
if (scmLastVehrebateCheckapplydetailDetails.size() > 0) {
for (ScmVehrebateCheckapplydetailDto scmVehrebateCheckapplydetail : scmLastVehrebateCheckapplydetailDetails) {
for (String vehRebateSid : scmVehrebateCheckapplydetail.getVehRebateSids()) {
ScmVehrebateCheckapplydetail scmVehrebateCheckapplydetail1 = new ScmVehrebateCheckapplydetail();
scmVehrebateCheckapplydetail1.setVehRebateSid(vehRebateSid);
scmVehrebateCheckapplydetail1.setMainSid(sid);
scmVehrebateCheckapplydetailService.save(scmVehrebateCheckapplydetail1);
}
}
for (ScmVehrebateCheckapplydetailDto scmVehrebateCheckapplydetail : scmVehrebateCheckapplydetailList) {
scmVehrebateCheckapplydetail.setMainSid(sid);
scmVehrebateCheckapplydetailService.insertByDto(scmVehrebateCheckapplydetail);
}
return rb.success().setMsg("添加成功").setData(sid);
}
@ -217,25 +193,9 @@ public class ScmVehrebateCheckapplyService extends MybatisBaseService<ScmVehreba
}
this.updateByDto(dto);
scmVehrebateCheckapplydetailService.delByMainSid(dtoSid);
if (scmWhenVehrebateCheckapplydetailDetails.size() > 0) {
for (ScmVehrebateCheckapplydetailDto scmVehrebateCheckapplydetail : scmWhenVehrebateCheckapplydetailDetails) {
for (String vehRebateSid : scmVehrebateCheckapplydetail.getVehRebateSids()) {
ScmVehrebateCheckapplydetail scmVehrebateCheckapplydetail1 = new ScmVehrebateCheckapplydetail();
scmVehrebateCheckapplydetail1.setVehRebateSid(vehRebateSid);
scmVehrebateCheckapplydetail1.setMainSid(dtoSid);
scmVehrebateCheckapplydetailService.save(scmVehrebateCheckapplydetail1);
}
}
}
if (scmLastVehrebateCheckapplydetailDetails.size() > 0) {
for (ScmVehrebateCheckapplydetailDto scmVehrebateCheckapplydetail : scmLastVehrebateCheckapplydetailDetails) {
for (String vehRebateSid : scmVehrebateCheckapplydetail.getVehRebateSids()) {
ScmVehrebateCheckapplydetail scmVehrebateCheckapplydetail1 = new ScmVehrebateCheckapplydetail();
scmVehrebateCheckapplydetail1.setVehRebateSid(vehRebateSid);
scmVehrebateCheckapplydetail1.setMainSid(dtoSid);
scmVehrebateCheckapplydetailService.save(scmVehrebateCheckapplydetail1);
}
}
for (ScmVehrebateCheckapplydetailDto scmVehrebateCheckapplydetail : scmVehrebateCheckapplydetailList) {
scmVehrebateCheckapplydetail.setMainSid(dtoSid);
scmVehrebateCheckapplydetailService.insertByDto(scmVehrebateCheckapplydetail);
}
return rb.success().setMsg("修改成功").setData(dtoSid);
}
@ -291,11 +251,6 @@ public class ScmVehrebateCheckapplyService extends MybatisBaseService<ScmVehreba
String vehRebateSid = scmWhenVehrebateCheckapplydetailDetailsVo.getVehRebateSid();
String[] vehRebateSids = vehRebateSid.split(",");
scmWhenVehrebateCheckapplydetailDetailsVo.setVehRebateSids(Arrays.asList(vehRebateSids));
scmWhenVehrebateCheckapplydetailDetailsVo.setWithRebate(scmWhenVehrebateCheckapplydetailDetailsVo.getWithRebate().substring(0, scmWhenVehrebateCheckapplydetailDetailsVo.getWithRebate().lastIndexOf(".")));
scmWhenVehrebateCheckapplydetailDetailsVo.setUploadMoney(scmWhenVehrebateCheckapplydetailDetailsVo.getUploadMoney().substring(0, scmWhenVehrebateCheckapplydetailDetailsVo.getUploadMoney().lastIndexOf(".")));
scmWhenVehrebateCheckapplydetailDetailsVo.setStayDetermineMoney(scmWhenVehrebateCheckapplydetailDetailsVo.getStayDetermineMoney().substring(0, scmWhenVehrebateCheckapplydetailDetailsVo.getStayDetermineMoney().lastIndexOf(".")));
scmWhenVehrebateCheckapplydetailDetailsVo.setAdjustmentMoney(scmWhenVehrebateCheckapplydetailDetailsVo.getAdjustmentMoney().substring(0, scmWhenVehrebateCheckapplydetailDetailsVo.getAdjustmentMoney().lastIndexOf(".")));
scmWhenVehrebateCheckapplydetailDetailsVo.setMoney(scmWhenVehrebateCheckapplydetailDetailsVo.getMoney().substring(0, scmWhenVehrebateCheckapplydetailDetailsVo.getMoney().lastIndexOf(".")));
}
}
scmVehrebateCheckapplyDetailsVo.setScmWhenVehrebateCheckapplydetailDetails(scmWhenVehrebateCheckapplydetailDetailsVos);
@ -305,14 +260,29 @@ public class ScmVehrebateCheckapplyService extends MybatisBaseService<ScmVehreba
String vehRebateSid = scmLastVehrebateCheckapplydetailDetailsVo.getVehRebateSid();
String[] vehRebateSids = vehRebateSid.split(",");
scmLastVehrebateCheckapplydetailDetailsVo.setVehRebateSids(Arrays.asList(vehRebateSids));
scmLastVehrebateCheckapplydetailDetailsVo.setWithRebate(scmLastVehrebateCheckapplydetailDetailsVo.getWithRebate().substring(0, scmLastVehrebateCheckapplydetailDetailsVo.getWithRebate().lastIndexOf(".")));
scmLastVehrebateCheckapplydetailDetailsVo.setUploadMoney(scmLastVehrebateCheckapplydetailDetailsVo.getUploadMoney().substring(0, scmLastVehrebateCheckapplydetailDetailsVo.getUploadMoney().lastIndexOf(".")));
scmLastVehrebateCheckapplydetailDetailsVo.setStayDetermineMoney(scmLastVehrebateCheckapplydetailDetailsVo.getStayDetermineMoney().substring(0, scmLastVehrebateCheckapplydetailDetailsVo.getStayDetermineMoney().lastIndexOf(".")));
scmLastVehrebateCheckapplydetailDetailsVo.setAdjustmentMoney(scmLastVehrebateCheckapplydetailDetailsVo.getAdjustmentMoney().substring(0, scmLastVehrebateCheckapplydetailDetailsVo.getAdjustmentMoney().lastIndexOf(".")));
scmLastVehrebateCheckapplydetailDetailsVo.setMoney(scmLastVehrebateCheckapplydetailDetailsVo.getMoney().substring(0, scmLastVehrebateCheckapplydetailDetailsVo.getMoney().lastIndexOf(".")));
}
}
scmVehrebateCheckapplyDetailsVo.setScmLastVehrebateCheckapplydetailDetails(scmLastVehrebateCheckapplydetailDetailsVos);
List<ScmVehrebateCheckapplydetailVo> scmVehrebateCheckapplydetailVos = scmVehrebateCheckapplydetailService.selByMainSid(sid);
if (scmVehrebateCheckapplydetailVos.size() > 0) {
for (ScmVehrebateCheckapplydetailVo s : scmVehrebateCheckapplydetailVos) {
BigDecimal money = BigDecimal.ZERO;
if (null != s.getOnceTreatCost()) {
money = money.add(s.getOnceTreatCost());
}
if (null != s.getOnceSuppCost()) {
money = money.add(s.getOnceSuppCost());
}
if (null != s.getSecondTreatCost()) {
money = money.add(s.getSecondTreatCost());
}
if (null != s.getSecondSuppCost()) {
money = money.add(s.getSecondSuppCost());
}
s.setMoney(money.toString());
}
}
scmVehrebateCheckapplyDetailsVo.setScmVehrebateCheckapplydetailList(scmVehrebateCheckapplydetailVos);
return rb.success().setData(scmVehrebateCheckapplyDetailsVo);
}
@ -372,7 +342,7 @@ public class ScmVehrebateCheckapplyService extends MybatisBaseService<ScmVehreba
for (ScmVehrebateCheckapplydetailVo scmVehrebateCheckapplydetailVo : scmVehrebateCheckapplydetailVos) {
scmVehRebateService.updateState(scmVehrebateCheckapplydetailVo.getVehRebateSid(), 3);
ScmVehRebate scmVehRebate = scmVehRebateService.fetchBySid(scmVehrebateCheckapplydetailVo.getVehRebateSid());
if (scmVehRebate.getOnceCheckState() == 0) {
if (scmVehRebate.getOnceCheckState() != 1) {
scmVehRebateService.updateOnceCheckState(scmVehRebate.getSid(), 2);
}
}
@ -443,8 +413,10 @@ public class ScmVehrebateCheckapplyService extends MybatisBaseService<ScmVehreba
if ("是".equals(scmVehRebate.getIsAdjustment())) {
scmVehRebateService.updateState(scmVehrebateCheckapplydetailVo.getVehRebateSid(), 4);
scmVehRebateService.updateAdjustmentState(scmVehrebateCheckapplydetailVo.getVehRebateSid(), 1);
scmVehRebateService.updateOnceCheckState(scmVehrebateCheckapplydetailVo.getSid(), 1);
} else {
scmVehRebateService.updateState(scmVehrebateCheckapplydetailVo.getVehRebateSid(), 2);
}
scmVehRebateService.updateOnceCheckState(scmVehrebateCheckapplydetailVo.getVehRebateSid(), 1);
}
}
return rb.success().setData(resultBean.getData());
@ -525,7 +497,9 @@ public class ScmVehrebateCheckapplyService extends MybatisBaseService<ScmVehreba
for (ScmVehrebateCheckapplydetailVo scmVehrebateCheckapplydetailVo : scmVehrebateCheckapplydetailVos) {
scmVehRebateService.updateState(scmVehrebateCheckapplydetailVo.getVehRebateSid(), 2);
ScmVehRebate scmVehRebate = scmVehRebateService.fetchBySid(scmVehrebateCheckapplydetailVo.getVehRebateSid());
scmVehRebateService.updateOnceCheckState(scmVehRebate.getSid(), 0);
if (scmVehRebate.getOnceCheckState() != 1) {
scmVehRebateService.updateOnceCheckState(scmVehRebate.getSid(), 0);
}
}
return rb.success().setData(resultBean.getData());
} else {
@ -541,7 +515,9 @@ public class ScmVehrebateCheckapplyService extends MybatisBaseService<ScmVehreba
for (ScmVehrebateCheckapplydetailVo scmVehrebateCheckapplydetailVo : scmVehrebateCheckapplydetailVos) {
scmVehRebateService.updateState(scmVehrebateCheckapplydetailVo.getVehRebateSid(), 2);
ScmVehRebate scmVehRebate = scmVehRebateService.fetchBySid(scmVehrebateCheckapplydetailVo.getVehRebateSid());
scmVehRebateService.updateOnceCheckState(scmVehRebate.getSid(), 0);
if (scmVehRebate.getOnceCheckState() != 1) {
scmVehRebateService.updateOnceCheckState(scmVehRebate.getSid(), 0);
}
}
return rb.success().setData(resultBean.getData());
}
@ -578,4 +554,4 @@ public class ScmVehrebateCheckapplyService extends MybatisBaseService<ScmVehreba
// List<GetNodeVo> voList = resultBean.getData().stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList());
return rb.success().setData(voList);
}
}
}

3
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatecheckapplydetail/ScmVehrebateCheckapplydetailMapper.java

@ -74,4 +74,7 @@ public interface ScmVehrebateCheckapplydetailMapper extends BaseMapper<ScmVehreb
@Select("select * from scm_vehrebate_checkapplydetail where mainSid = #{sid}")
List<ScmVehrebateCheckapplydetailVo> selByMainSid(String mainSid);
@Select("select * from scm_vehrebate_checkapplydetail where vehRebateSid = #{vehRebateSid}")
ScmVehrebateCheckapplydetailVo selByVehRebteSid(String vehRebateSid);
}

49
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatecheckapplydetail/ScmVehrebateCheckapplydetailMapper.xml

@ -21,40 +21,35 @@
<select id="fetchWhenDetailsVoBySid"
resultType="com.yxt.anrui.scm.api.scmvehrebatecheckapplydetail.ScmVehrebateCheckapplydetailDetailsVo">
SELECT svr.rebateTypeKey,
svr.`rebateTypeValue`,
SUM(svr.`estimateRebate`) withRebate,
COUNT(*) num,
GROUP_CONCAT(svc.`vehRebateSid`) vehRebateSid,
SUM(svr.`uploadMoney`) uploadMoney,
SUM(svr.`stayDetermineMoney`) stayDetermineMoney,
SUM(svr.`adjustmentMoney`) adjustmentMoney,
SUM(svr.`money`) money
SELECT svc.rebateTypeKey,
svc.`rebateTypeValue`,
SUM(svc.`estimateRebate`) withRebate,
COUNT(*) num,
GROUP_CONCAT(svc.`vehRebateSid`) vehRebateSid,
SUM(svc.`uploadMoney`) uploadMoney,
SUM(svc.`stayDetermineMoney`) stayDetermineMoney,
SUM(svc.`adjustmentMoney`) adjustmentMoney,
SUM(svc.expectTreatCost + svc.expectSuppCost) expectCost,
SUM(svc.onceTreatCost + svc.onceSuppCost + svc.secondTreatCost + svc.secondSuppCost) money
FROM scm_vehrebate_checkapplydetail svc
LEFT JOIN scm_veh_rebate svr
ON svr.`sid` = svc.`vehRebateSid`
WHERE svc.`mainSid` = #{sid}
AND svr.palceGenDate = DATE_FORMAT(CURDATE(), '%Y-%m')
GROUP BY svr.`rebateTypeKey`
GROUP BY svc.`rebateTypeKey`
</select>
<select id="fetchLastDetailsVoBySid"
resultType="com.yxt.anrui.scm.api.scmvehrebatecheckapplydetail.ScmVehrebateCheckapplydetailDetailsVo">
SELECT svr.palceGenDate,
svr.withholdingDate,
SUM(svr.`estimateRebate`) withRebate,
COUNT(*) withholdingAmount,
COUNT(*) uploadAmount,
GROUP_CONCAT(svc.`vehRebateSid`) vehRebateSid,
SUM(svr.`uploadMoney`) uploadMoney,
SUM(svr.`stayDetermineMoney`) stayDetermineMoney,
SUM(svr.`adjustmentMoney`) adjustmentMoney,
SUM(svr.`money`) money
SELECT svc.palceGenDate,
svc.withholdingDate,
SUM(svc.`estimateRebate`) withRebate,
COUNT(*) num,
GROUP_CONCAT(svc.`vehRebateSid`) vehRebateSid,
SUM(svc.`uploadMoney`) uploadMoney,
SUM(svc.`stayDetermineMoney`) stayDetermineMoney,
SUM(svc.`adjustmentMoney`) adjustmentMoney,
SUM(svc.expectTreatCost + svc.expectSuppCost) expectCost,
SUM(svc.onceTreatCost + svc.onceSuppCost + svc.secondTreatCost + svc.secondSuppCost) money
FROM scm_vehrebate_checkapplydetail svc
LEFT JOIN scm_veh_rebate svr
ON svr.`sid` = svc.`vehRebateSid`
WHERE svc.`mainSid` = #{sid}
AND svr.palceGenDate != DATE_FORMAT(CURDATE(), '%Y-%m')
GROUP BY svr.palceGenDate
GROUP BY svc.withholdingDate
</select>
</mapper>

46
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatecheckapplydetail/ScmVehrebateCheckapplydetailRest.java

@ -25,22 +25,9 @@
*********************************************************/
package com.yxt.anrui.scm.biz.scmvehrebatecheckapplydetail;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import com.yxt.anrui.scm.api.scmvehrebatecheckapplydetail.ScmVehrebateCheckapplydetail;
import com.yxt.anrui.scm.api.scmvehrebatecheckapplydetail.ScmVehrebateCheckapplydetailQuery;
import com.yxt.anrui.scm.api.scmvehrebatecheckapplydetail.ScmVehrebateCheckapplydetailVo;
import com.yxt.anrui.scm.api.scmvehrebatecheckapplydetail.ScmVehrebateCheckapplydetailDetailsVo;
import com.yxt.anrui.scm.api.scmvehrebatecheckapplydetail.ScmVehrebateCheckapplydetailDto;
import com.yxt.anrui.scm.api.scmvehrebatecheckapplydetail.ScmVehrebateCheckapplydetailFeign;
/**
* Project: anrui-scm(单车返利核对) <br/>
* File: ScmVehrebateCheckapplydetailFeignFallback.java <br/>
@ -55,37 +42,8 @@ import com.yxt.anrui.scm.api.scmvehrebatecheckapplydetail.ScmVehrebateCheckapply
* @since 1.0
*/
@Api(tags = "单车返利核对申请表_返利列表")
@RestController("com.yxt.anrui.scm.biz.scmvehrebatecheckapplydetail.ScmVehrebateCheckapplydetailRest")
@RestController
@RequestMapping("v1/scmvehrebatecheckapplydetail")
public class ScmVehrebateCheckapplydetailRest implements ScmVehrebateCheckapplydetailFeign {
@Autowired
private ScmVehrebateCheckapplydetailService scmVehrebateCheckapplydetailService;
@Override
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage")
public ResultBean<PagerVo<ScmVehrebateCheckapplydetailVo>> listPage(@RequestBody PagerQuery<ScmVehrebateCheckapplydetailQuery> pq){
ResultBean rb = ResultBean.fireFail();
PagerVo<ScmVehrebateCheckapplydetailVo> pv = scmVehrebateCheckapplydetailService.listPageVo(pq);
return rb.success().setData(pv);
}
@Override
@ApiOperation("新增或修改")
@PostMapping("/save")
public ResultBean save(@RequestBody ScmVehrebateCheckapplydetailDto dto){
ResultBean rb = ResultBean.fireFail();
scmVehrebateCheckapplydetailService.saveOrUpdateDto(dto);
return rb.success();
}
public class ScmVehrebateCheckapplydetailRest {
@Override
@ApiOperation("根据sid批量删除")
@PostMapping("/delBySids")
public ResultBean delBySids(@RequestBody String[] sids){
ResultBean rb = ResultBean.fireFail();
scmVehrebateCheckapplydetailService.delBySids(sids);
return rb.success();
}
}

39
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatecheckapplydetail/ScmVehrebateCheckapplydetailService.java

@ -28,6 +28,7 @@ package com.yxt.anrui.scm.biz.scmvehrebatecheckapplydetail;
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.scm.api.scmvehrebate.ScmVehRebate;
import org.apache.commons.lang3.StringUtils;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
@ -60,30 +61,6 @@ import java.util.List;
*/
@Service
public class ScmVehrebateCheckapplydetailService extends MybatisBaseService<ScmVehrebateCheckapplydetailMapper, ScmVehrebateCheckapplydetail> {
private QueryWrapper<ScmVehrebateCheckapplydetail> createQueryWrapper(ScmVehrebateCheckapplydetailQuery query) {
// todo: 这里根据具体业务调整查询条件
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
QueryWrapper<ScmVehrebateCheckapplydetail> qw = new QueryWrapper<>();
return qw;
}
public PagerVo<ScmVehrebateCheckapplydetailVo> listPageVo(PagerQuery<ScmVehrebateCheckapplydetailQuery> pq) {
ScmVehrebateCheckapplydetailQuery query = pq.getParams();
QueryWrapper<ScmVehrebateCheckapplydetail> qw = createQueryWrapper(query);
IPage<ScmVehrebateCheckapplydetail> page = PagerUtil.queryToPage(pq);
IPage<ScmVehrebateCheckapplydetailVo> pagging = baseMapper.selectPageVo(page, qw);
PagerVo<ScmVehrebateCheckapplydetailVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public void saveOrUpdateDto(ScmVehrebateCheckapplydetailDto dto){
String dtoSid = dto.getSid();
if (StringUtils.isBlank(dtoSid)) {
this.insertByDto(dto);
return;
}
this.updateByDto(dto);
}
public void insertByDto(ScmVehrebateCheckapplydetailDto dto){
ScmVehrebateCheckapplydetail entity = new ScmVehrebateCheckapplydetail();
@ -91,16 +68,6 @@ public class ScmVehrebateCheckapplydetailService extends MybatisBaseService<ScmV
baseMapper.insert(entity);
}
public void updateByDto(ScmVehrebateCheckapplydetailDto dto){
String dtoSid = dto.getSid();
if (StringUtils.isBlank(dtoSid)) {
return;
}
ScmVehrebateCheckapplydetail entity = fetchBySid(dtoSid);
BeanUtil.copyProperties(dto, entity, "id", "sid");
baseMapper.updateById(entity);
}
public void delByMainSid(String sid) {
baseMapper.delByMainSid(sid);
}
@ -116,4 +83,8 @@ public class ScmVehrebateCheckapplydetailService extends MybatisBaseService<ScmV
public List<ScmVehrebateCheckapplydetailVo> selByMainSid(String mainSid) {
return baseMapper.selByMainSid(mainSid);
}
public ScmVehrebateCheckapplydetailVo selByVehRebteSid(String vehRebateSid) {
return baseMapper.selByVehRebteSid(vehRebateSid);
}
}

9
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatewith/ScmVehRebateWithService.java

@ -34,7 +34,9 @@ import com.yxt.anrui.scm.api.scmvehrebate.ScmVehRebate;
import com.yxt.anrui.scm.api.scmvehrebate.ScmVehRebateDetailsVo;
import com.yxt.anrui.scm.api.scmvehrebate.ScmVehRebateDto;
import com.yxt.anrui.scm.api.scmvehrebate.ScmVehRebateVehDto;
import com.yxt.anrui.scm.api.scmvehrebatecheckapplydetail.ScmVehrebateCheckapplydetailVo;
import com.yxt.anrui.scm.biz.scmvehrebate.ScmVehRebateService;
import com.yxt.anrui.scm.biz.scmvehrebatecheckapplydetail.ScmVehrebateCheckapplydetailService;
import org.apache.commons.lang3.StringUtils;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
@ -75,6 +77,8 @@ public class ScmVehRebateWithService extends MybatisBaseService<ScmVehRebateWith
@Autowired
private ScmVehRebateService scmVehRebateService;
@Autowired
private ScmVehrebateCheckapplydetailService scmVehrebateCheckapplydetailService;
private QueryWrapper<ScmVehRebateWith> createQueryWrapper(ScmVehRebateWithQuery query) {
// todo: 这里根据具体业务调整查询条件
@ -144,9 +148,10 @@ public class ScmVehRebateWithService extends MybatisBaseService<ScmVehRebateWith
List<ScmVehRebateDetailsVo> scmVehRebateDetailsVos = new ArrayList<>();
String[] sids = sid.split(",");
for (String s : sids) {
ScmVehRebate scmVehRebate = scmVehRebateService.fetchBySid(s);
ScmVehrebateCheckapplydetailVo scmVehrebateCheckapplydetailVo = scmVehrebateCheckapplydetailService.selByVehRebteSid(s);
ScmVehRebateDetailsVo scmVehRebateDetailsVo = new ScmVehRebateDetailsVo();
BeanUtil.copyProperties(scmVehRebate,scmVehRebateDetailsVo);
BeanUtil.copyProperties(scmVehrebateCheckapplydetailVo,scmVehRebateDetailsVo);
scmVehRebateDetailsVo.setMoney(scmVehrebateCheckapplydetailVo.getOnceTreatCost().add(scmVehrebateCheckapplydetailVo.getOnceSuppCost()).add(scmVehrebateCheckapplydetailVo.getSecondTreatCost()).add(scmVehrebateCheckapplydetailVo.getSecondSuppCost()).toString());
scmVehRebateDetailsVos.add(scmVehRebateDetailsVo);
}
return rb.success().setData(scmVehRebateDetailsVos);

1
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatewithapply/ScmVehRebateWithApplyService.java

@ -191,6 +191,7 @@ public class ScmVehRebateWithApplyService extends MybatisBaseService<ScmVehRebat
ScmVehRebateWith scmVehRebateWith1 = new ScmVehRebateWith();
scmVehRebateWith1.setVehRebateSid(vehRebateSid);
scmVehRebateWith1.setMainSid(sid);
scmVehRebateWith1.setRemarks(scmVehRebateWith.getRemarks());
scmVehRebateWithService.save(scmVehRebateWith1);
}
}

85
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/busclaimcheckapply/AppBusclaimCheckApplyDetailVo.java

@ -0,0 +1,85 @@
package com.yxt.anrui.terminal.api.as.busclaimcheckapply;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2024/5/11
**/
@Data
public class AppBusclaimCheckApplyDetailVo {
@ApiModelProperty("维修工单号")
private String repairBillNo;
@ApiModelProperty("车牌号")
private String vehMark;
@ApiModelProperty("车架号")
private String vinNo;
@ApiModelProperty("差异调整工时费")
private String claimHourAmount;
@ApiModelProperty("差异调整材料费")
private String claimGoodsAmount;
@ApiModelProperty("差异调整外出费")
private String claimOutAmount;
@ApiModelProperty("差异调整厂家补助")
private String claimSubsidyAmount;
@ApiModelProperty("差异调整其他费用")
private String claimOtherAmount;
@ApiModelProperty("差异调整施救费")
private String claimRescueAmount;
@ApiModelProperty("预留")
private String reserved;
@ApiModelProperty("原因")
private String reason;
//工单:工时费
private String hourAmount1;
//工单材料费
private String goodsAmount1;
//工单外出费
private String claimOutAmount1;
//工单厂家补助
private String claimSubsidyAmount1;
//工单其他费用
private String claimOtherAmount1;
//工单施救费
private String claimRescueAmount1;
//工单合计
private String all1;
//索赔开票工时费
private String claimHourAmount2;
//索赔开票材料费
private String claimGoodsAmount2;
//索赔开票外出费
private String claimOutAmount2;
//索赔开票厂家补助
private String claimSubsidyAmount2;
//索赔开票其他金额
private String claimOtherAmount2;
//索赔开票施救费
private String claimRescueAmount2;
//合计
private String all2;
//差异合计
private String all3;
//差异调整合计
private String all4;
}

27
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/busclaimcheckapply/AppBusclaimCheckApplyDetailsVo.java

@ -0,0 +1,27 @@
package com.yxt.anrui.terminal.api.as.busclaimcheckapply;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@Data
public class AppBusclaimCheckApplyDetailsVo {
private String sid;
private String createByName;
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
private Date createTime;
@ApiModelProperty("申请部门名称")
private String createDeptName;
private List<String> fileList = new ArrayList<>();
private String remarks;
@ApiModelProperty("实例id")
private String procInsId;
@ApiModelProperty("任务iD")
private String taskId;
private List<AppBusclaimCheckApplyDetailVo> detailList = new ArrayList<>();
}

60
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/busclaimcheckapply/AppBusclaimCheckApplyFeign.java

@ -0,0 +1,60 @@
package com.yxt.anrui.terminal.api.as.busclaimcheckapply;
import com.yxt.anrui.terminal.api.as.busclaimcheckapply.flowable.AppDelegateQuery;
import com.yxt.anrui.terminal.api.as.busclaimcheckapply.flowable.AppFlowDto;
import com.yxt.anrui.terminal.api.as.busclaimcheckapply.flowable.AppFlowQuery;
import com.yxt.anrui.terminal.api.as.busclaimcheckapply.flowable.AppFlowTaskQuery;
import com.yxt.anrui.terminal.api.as.busclaiminvoicebill.AppBusclaimInvoiceBillDetailsVo;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.*;
@FeignClient(
contextId = "terminal-AppBusclaimCheckApply",
name = "anrui-terminal",
path = "v1/BusclaimCheckApply")
public interface AppBusclaimCheckApplyFeign {
@ApiOperation("详情")
@GetMapping("/details")
public ResultBean<AppBusclaimCheckApplyDetailsVo> fetchDetailsBySid(@RequestParam("sid") String sid);
/**********************************************流程********************************************/
@ApiOperation("办理")
@PutMapping("/agreeCreditInfo")
@ResponseBody
ResultBean agreeCreditInfo(@RequestBody AppFlowDto dto);
@ApiOperation("驳回")
@PutMapping("/rejectCreditInfo")
@ResponseBody
ResultBean rejectCreditInfo(@RequestBody AppFlowTaskQuery query);
@ApiOperation("撤回")
@PutMapping("/recallCreditInfo")
@ResponseBody
ResultBean recallCreditInfo(@RequestBody AppFlowTaskQuery query);
@ApiOperation("终止")
@PutMapping("/stopCreditInfo")
@ResponseBody
ResultBean stopCreditInfo(@RequestBody AppFlowTaskQuery query);
@ApiOperation("获取流程操作标题")
@GetMapping("/getFlowOperateTitle")
@ResponseBody
ResultBean<String> getFlowOperateTitle(@SpringQueryMap AppFlowQuery query);
@ApiOperation(value = "加签")
@PutMapping(value = "/delegate")
@ResponseBody
public ResultBean delegate(@RequestBody AppDelegateQuery delegateQuery);
@ApiOperation(value = "转办")
@PutMapping(value = "/assignTask")
@ResponseBody
public ResultBean assignTask(@RequestBody AppDelegateQuery delegateQuery);
}

25
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/busclaimcheckapply/flowable/AppDelegateQuery.java

@ -0,0 +1,25 @@
package com.yxt.anrui.terminal.api.as.busclaimcheckapply.flowable;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Administrator
* @description
* @date 2023/9/28 10:16
*/
@Data
public class AppDelegateQuery {
@ApiModelProperty
private String userSid;
@ApiModelProperty("流程实例id")
@JsonProperty("procInsId")
private String instanceId;
@ApiModelProperty("任务Id")
private String taskId;
@ApiModelProperty("审批人sid")
private String assignee;
@ApiModelProperty("填写意见")
private String views;
}

37
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/busclaimcheckapply/flowable/AppFlowDto.java

@ -0,0 +1,37 @@
package com.yxt.anrui.terminal.api.as.busclaimcheckapply.flowable;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @Author dimengzhe
* @Date 2022/8/9 14:09
* @Description
*/
@Data
public class AppFlowDto implements Dto {
private static final long serialVersionUID = 3626473483180150495L;
@ApiModelProperty(value = "任务id")
@NotBlank(message = "参数错误:taskId")
private String taskId;
@ApiModelProperty(value = "流程id")
@NotBlank(message = "参数错误:procInsId")
@JsonProperty("procInsId")
private String instanceId;
@ApiModelProperty(value = "意见")
private String comment;
@ApiModelProperty(value = "业务sid")
@NotBlank(message = "参数错误:businessSid")
private String businessSid;
@ApiModelProperty(value = "用户sid")
@NotBlank(message = "参数错误:userSid")
private String userSid;
@ApiModelProperty(value = "节点id")
@NotBlank(message = "参数错误:taskDefKey")
private String taskDefKey;
}

28
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/busclaimcheckapply/flowable/AppFlowQuery.java

@ -0,0 +1,28 @@
package com.yxt.anrui.terminal.api.as.busclaimcheckapply.flowable;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* @Author dimengzhe
* @Date 2022/8/9 14:15
* @Description
*/
@Data
public class AppFlowQuery implements Query {
private static final long serialVersionUID = 5514095179438249641L;
@ApiModelProperty(value = "节点key")
private String taskDefKey;
@ApiModelProperty(value = "业务sid")
private String businessSid;
@ApiModelProperty(value = "0 上一环节 1下一环节")
@NotNull(message = "参数错误:next")
private Integer next;
@ApiModelProperty("组织机构全路径")
private String orgPath;
}

47
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/busclaimcheckapply/flowable/AppFlowTaskQuery.java

@ -0,0 +1,47 @@
package com.yxt.anrui.terminal.api.as.busclaimcheckapply.flowable;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @Author dimengzhe
* @Date 2022/8/9 14:11
* @Description
*/
@Data
public class AppFlowTaskQuery implements Query {
private static final long serialVersionUID = -7082170710942810289L;
/**
* 终止驳回撤回
*/
@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")
@JsonProperty("procInsId")
private String instanceId;
}

2
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/TerminalApplication.java

@ -15,7 +15,7 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
"com.yxt.anrui.terminal",
"com.yxt.common.base.config"
},exclude = {DataSourceAutoConfiguration.class})
@EnableFeignClients(basePackages = {"com.yxt.anrui.portal", "com.yxt.anrui.crm", "com.yxt.anrui.base", "com.yxt.anrui.riskcenter","com.yxt.anrui.flowable","com.yxt.anrui.buscenter","com.yxt.anrui.scm","com.yxt.anrui.fin", "com.yxt.anrui.terminal.fegin.wmsinventorycheckbill","com.yxt.anrui.terminal.fegin.wmsinventoryprofitin","com.yxt.anrui.terminal.fegin.wmsinventoryprofitout","com.yxt.anrui.terminal.fegin.basegoodssku","com.yxt.anrui.terminal.fegin.basesupplierinfo","com.yxt.anrui.terminal.fegin.wmsInventory","com.yxt.anrui.terminal.fegin.asbusrepairbill","com.yxt.anrui.terminal.fegin.pmspurchasebill","com.yxt.anrui.terminal.fegin.pmspurchasebackbill","com.yxt.anrui.terminal.fegin.smspricestrategybill","com.yxt.anrui.terminal.fegin.astechtitleapply","com.yxt.anrui.terminal.fegin.asserviceaccommapply","com.yxt.anrui.terminal.fegin.asbusclaiminvoicebill","com.yxt.anrui.terminal.fegin.wmsinventoryallocatebill","com.yxt.anrui.terminal.fegin.asoldpartreturnapply","com.yxt.anrui.terminal.fegin.asoldparthandleapply","com.yxt.anrui.terminal.fegin.asbwdiffapply","com.yxt.anrui.terminal.fegin.asbwinvoiceapply","com.yxt.anrui.terminal.fegin.ashosesuppapply"})
@EnableFeignClients(basePackages = {"com.yxt.anrui.portal", "com.yxt.anrui.crm", "com.yxt.anrui.base", "com.yxt.anrui.riskcenter","com.yxt.anrui.flowable","com.yxt.anrui.buscenter","com.yxt.anrui.scm","com.yxt.anrui.fin", "com.yxt.anrui.terminal.fegin.wmsinventorycheckbill","com.yxt.anrui.terminal.fegin.wmsinventoryprofitin","com.yxt.anrui.terminal.fegin.wmsinventoryprofitout","com.yxt.anrui.terminal.fegin.basegoodssku","com.yxt.anrui.terminal.fegin.basesupplierinfo","com.yxt.anrui.terminal.fegin.wmsInventory","com.yxt.anrui.terminal.fegin.asbusrepairbill","com.yxt.anrui.terminal.fegin.pmspurchasebill","com.yxt.anrui.terminal.fegin.pmspurchasebackbill","com.yxt.anrui.terminal.fegin.smspricestrategybill","com.yxt.anrui.terminal.fegin.astechtitleapply","com.yxt.anrui.terminal.fegin.asserviceaccommapply","com.yxt.anrui.terminal.fegin.asbusclaiminvoicebill","com.yxt.anrui.terminal.fegin.wmsinventoryallocatebill","com.yxt.anrui.terminal.fegin.asoldpartreturnapply","com.yxt.anrui.terminal.fegin.asoldparthandleapply","com.yxt.anrui.terminal.fegin.asbwdiffapply","com.yxt.anrui.terminal.fegin.asbwinvoiceapply","com.yxt.anrui.terminal.fegin.ashosesuppapply","com.yxt.anrui.terminal.fegin.asbusclaimcheckapply"})
public class TerminalApplication {
public static void main(String[] args) {

85
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/as/busclaimcheckapply/AppBusclaimCheckApplyRest.java

@ -0,0 +1,85 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.terminal.biz.as.busclaimcheckapply;
import com.yxt.anrui.terminal.api.as.busclaimcheckapply.AppBusclaimCheckApplyDetailsVo;
import com.yxt.anrui.terminal.api.as.busclaimcheckapply.AppBusclaimCheckApplyFeign;
import com.yxt.anrui.terminal.api.as.busclaimcheckapply.flowable.AppDelegateQuery;
import com.yxt.anrui.terminal.api.as.busclaimcheckapply.flowable.AppFlowDto;
import com.yxt.anrui.terminal.api.as.busclaimcheckapply.flowable.AppFlowQuery;
import com.yxt.anrui.terminal.api.as.busclaimcheckapply.flowable.AppFlowTaskQuery;
import com.yxt.common.core.result.ResultBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("v1/BusclaimCheckApply")
public class AppBusclaimCheckApplyRest implements AppBusclaimCheckApplyFeign {
@Autowired
private AppBusclaimCheckApplyService appBusclaimCheckApplyService;
@Override
public ResultBean<AppBusclaimCheckApplyDetailsVo> fetchDetailsBySid(String sid) {
return appBusclaimCheckApplyService.fetchDetailsBySid(sid);
}
@Override
public ResultBean agreeCreditInfo(AppFlowDto dto) {
return appBusclaimCheckApplyService.agreeCreditInfo(dto);
}
@Override
public ResultBean rejectCreditInfo(AppFlowTaskQuery query) {
return appBusclaimCheckApplyService.rejectCreditInfo(query);
}
@Override
public ResultBean recallCreditInfo(AppFlowTaskQuery query) {
return appBusclaimCheckApplyService.recallCreditInfo(query);
}
@Override
public ResultBean stopCreditInfo(AppFlowTaskQuery query) {
return appBusclaimCheckApplyService.stopCreditInfo(query);
}
@Override
public ResultBean<String> getFlowOperateTitle(AppFlowQuery query) {
return appBusclaimCheckApplyService.getFlowOperateTitle(query);
}
@Override
public ResultBean delegate(AppDelegateQuery delegateQuery) {
return appBusclaimCheckApplyService.delegate(delegateQuery);
}
@Override
public ResultBean assignTask(AppDelegateQuery delegateQuery) {
return appBusclaimCheckApplyService.assignTask(delegateQuery);
}
}

191
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/as/busclaimcheckapply/AppBusclaimCheckApplyService.java

@ -0,0 +1,191 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.terminal.biz.as.busclaimcheckapply;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.terminal.api.as.busclaimcheckapply.AppBusclaimCheckApplyDetailVo;
import com.yxt.anrui.terminal.api.as.busclaimcheckapply.AppBusclaimCheckApplyDetailsVo;
import com.yxt.anrui.terminal.api.as.busclaimcheckapply.flowable.AppDelegateQuery;
import com.yxt.anrui.terminal.api.as.busclaimcheckapply.flowable.AppFlowDto;
import com.yxt.anrui.terminal.api.as.busclaimcheckapply.flowable.AppFlowQuery;
import com.yxt.anrui.terminal.api.as.busclaimcheckapply.flowable.AppFlowTaskQuery;
import com.yxt.anrui.terminal.fegin.asbusclaimcheckapply.AsBusclaimCheckApplyDetailVo;
import com.yxt.anrui.terminal.fegin.asbusclaimcheckapply.AsBusclaimCheckApplyDetailsVo;
import com.yxt.anrui.terminal.fegin.asbusclaimcheckapply.AsBusclaimCheckApplyFegin;
import com.yxt.anrui.terminal.fegin.asbusclaimcheckapply.AsBusclaimCheckApplyFile;
import com.yxt.anrui.terminal.fegin.asbusclaimcheckapply.flowable.*;
import com.yxt.anrui.terminal.fegin.asbusclaiminvoicebill.flowable.*;
import com.yxt.common.core.result.ResultBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@Service
public class AppBusclaimCheckApplyService {
@Resource
private AsBusclaimCheckApplyFegin asBusclaimCheckApplyFegin;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
@Autowired
private SysUserFeign sysUserFeign;
public ResultBean<AppBusclaimCheckApplyDetailsVo> fetchDetailsBySid(String sid) {
ResultBean rb = ResultBean.fireFail();
AsBusclaimCheckApplyDetailsVo data = asBusclaimCheckApplyFegin.details(sid).getData();
AppBusclaimCheckApplyDetailsVo appBusclaimCheckApplyDetailsVo = new AppBusclaimCheckApplyDetailsVo();
BeanUtil.copyProperties(data,appBusclaimCheckApplyDetailsVo,"fileList");
appBusclaimCheckApplyDetailsVo.setProcInsId(data.getProcInstId());
appBusclaimCheckApplyDetailsVo.setCreateDeptName(data.getDeptName());
List<AsBusclaimCheckApplyFile> fileList = data.getFileList();
ArrayList<String> files = new ArrayList<>();
for (AsBusclaimCheckApplyFile asBusclaimCheckApplyFile : fileList) {
files.add(asBusclaimCheckApplyFile.getUrl());
}
appBusclaimCheckApplyDetailsVo.setFileList(files);
List<AsBusclaimCheckApplyDetailVo> detailsList = data.getDetailsList();
List<AppBusclaimCheckApplyDetailVo> appBusclaimCheckApplyDetailVos = new ArrayList<>();
for (AsBusclaimCheckApplyDetailVo asBusclaimCheckApplyDetailVo : detailsList) {
AppBusclaimCheckApplyDetailVo appBusclaimCheckApplyDetailVo = new AppBusclaimCheckApplyDetailVo();
BeanUtil.copyProperties(asBusclaimCheckApplyDetailVo,appBusclaimCheckApplyDetailVo);
appBusclaimCheckApplyDetailVos.add(appBusclaimCheckApplyDetailVo);
}
appBusclaimCheckApplyDetailsVo.setDetailList(appBusclaimCheckApplyDetailVos);
return rb.success().setData(appBusclaimCheckApplyDetailsVo);
}
public ResultBean agreeCreditInfo(AppFlowDto dto) {
ResultBean rb = ResultBean.fireFail();
//根据用户sid获取staffSid
ResultBean<SysUserVo> userVoResultBean = sysUserFeign.fetchBySid(dto.getUserSid());
if (!userVoResultBean.getSuccess()) {
return rb.setMsg(userVoResultBean.getMsg());
}
//根据staffSid获取用户的组织全路径
ResultBean<SysStaffOrg> staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(userVoResultBean.getData().getStaffSid());
if (!staffOrgResultBean.getSuccess()) {
return rb.setMsg(staffOrgResultBean.getMsg());
}
//用户的组织全路径
String orgSidPath = staffOrgResultBean.getData().getOrgSidPath();
CompleteBusclaimCheckApplyDto completeBusclaimCheckApplyDto = new CompleteBusclaimCheckApplyDto();
BeanUtil.copyProperties(dto, completeBusclaimCheckApplyDto);
completeBusclaimCheckApplyDto.setOrgSidPath(orgSidPath);
ResultBean resultBean = asBusclaimCheckApplyFegin.complete(completeBusclaimCheckApplyDto);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean rejectCreditInfo(AppFlowTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
BusclaimCheckApplyTaskQuery busclaimCheckApplyTaskQuery = new BusclaimCheckApplyTaskQuery();
BeanUtil.copyProperties(query, busclaimCheckApplyTaskQuery);
ResultBean resultBean = asBusclaimCheckApplyFegin.taskReject(busclaimCheckApplyTaskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean recallCreditInfo(AppFlowTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
BusclaimCheckApplyTaskQuery busclaimCheckApplyTaskQuery = new BusclaimCheckApplyTaskQuery();
BeanUtil.copyProperties(query, busclaimCheckApplyTaskQuery);
ResultBean resultBean = asBusclaimCheckApplyFegin.revokeProcess(busclaimCheckApplyTaskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean stopCreditInfo(AppFlowTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
BusclaimCheckApplyTaskQuery busclaimCheckApplyTaskQuery = new BusclaimCheckApplyTaskQuery();
BeanUtil.copyProperties(query, busclaimCheckApplyTaskQuery);
ResultBean resultBean = asBusclaimCheckApplyFegin.breakProcess(busclaimCheckApplyTaskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean<String> getFlowOperateTitle(AppFlowQuery query) {
ResultBean<String> rb = ResultBean.fireFail();
//0 上一环节 1下一环节
int next = query.getNext();
BusclaimCheckApplyNodeQuery getNodeQuery = new BusclaimCheckApplyNodeQuery();
BeanUtil.copyProperties(query, getNodeQuery);
String data = "";
if (next == 0) {
ResultBean<List<BusclaimCheckApplyNodeVo>> getPreviousNodesForReject = asBusclaimCheckApplyFegin.getPreviousNodesForReject(getNodeQuery);
if (getPreviousNodesForReject.getSuccess()) {
getPreviousNodesForReject.getData().removeAll(Collections.singleton(null));
data = getPreviousNodesForReject.getData().get(0).getName();
} else {
return rb.setMsg(getPreviousNodesForReject.getMsg());
}
} else if (next == 1) {
ResultBean<List<BusclaimCheckApplyNodeVo>> getNextNodesForSubmit = asBusclaimCheckApplyFegin.getNextNodesForSubmit(getNodeQuery);
if (getNextNodesForSubmit.getSuccess()) {
getNextNodesForSubmit.getData().removeAll(Collections.singleton(null));
data = getNextNodesForSubmit.getData().get(0).getName();
} else {
return rb.setMsg(getNextNodesForSubmit.getMsg());
}
} else {
return rb.setMsg("参数错误:next");
}
return rb.success().setData(data);
}
public ResultBean delegate(AppDelegateQuery delegateQuery) {
ResultBean rb = ResultBean.fireFail();
BusclaimCheckApplyDelegateQuery delegateQuery1 = new
BusclaimCheckApplyDelegateQuery();
BeanUtil.copyProperties(delegateQuery, delegateQuery1);
asBusclaimCheckApplyFegin.delegate(delegateQuery1);
return rb.success();
}
public ResultBean assignTask(AppDelegateQuery delegateQuery) {
ResultBean rb = ResultBean.fireFail();
BusclaimCheckApplyDelegateQuery delegateQuery1 = new
BusclaimCheckApplyDelegateQuery();
BeanUtil.copyProperties(delegateQuery, delegateQuery1);
asBusclaimCheckApplyFegin.assignTask(delegateQuery1);
return rb.success();
}
}

90
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asbusclaimcheckapply/AsBusclaimCheckApplyDetailVo.java

@ -0,0 +1,90 @@
package com.yxt.anrui.terminal.fegin.asbusclaimcheckapply;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2024/5/11
**/
@Data
public class AsBusclaimCheckApplyDetailVo {
@ApiModelProperty("索赔单号")
private String claimBillNo;
@ApiModelProperty("维修工单号")
private String repairBillNo;
@ApiModelProperty("车牌号")
private String vehMark;
@ApiModelProperty("车架号")
private String vinNo;
@ApiModelProperty("开票申请sid")
private String billInvoiceSid;
@ApiModelProperty("开票明细sid")
private String billInvoiceDetailSid;
@ApiModelProperty("差异调整工时费")
private String claimHourAmount;
@ApiModelProperty("差异调整材料费")
private String claimGoodsAmount;
@ApiModelProperty("差异调整外出费")
private String claimOutAmount;
@ApiModelProperty("差异调整厂家补助")
private String claimSubsidyAmount;
@ApiModelProperty("差异调整其他费用")
private String claimOtherAmount;
@ApiModelProperty("差异调整施救费")
private String claimRescueAmount;
@ApiModelProperty("预留")
private String reserved;
@ApiModelProperty("原因")
private String reason;
//工单:工时费
private String hourAmount1;
//工单材料费
private String goodsAmount1;
//工单外出费
private String claimOutAmount1;
//工单厂家补助
private String claimSubsidyAmount1;
//工单其他费用
private String claimOtherAmount1;
//工单施救费
private String claimRescueAmount1;
//工单合计
private String all1;
//索赔开票工时费
private String claimHourAmount2;
//索赔开票材料费
private String claimGoodsAmount2;
//索赔开票外出费
private String claimOutAmount2;
//索赔开票厂家补助
private String claimSubsidyAmount2;
//索赔开票其他金额
private String claimOtherAmount2;
//索赔开票施救费
private String claimRescueAmount2;
//合计
private String all2;
//差异合计
private String all3;
//差异调整合计
private String all4;
}

50
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asbusclaimcheckapply/AsBusclaimCheckApplyDetailsVo.java

@ -0,0 +1,50 @@
package com.yxt.anrui.terminal.fegin.asbusclaimcheckapply;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@Data
public class AsBusclaimCheckApplyDetailsVo {
private String sid;
private String createBySid;
private String createByName;
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
private Date createTime;
@ApiModelProperty("申请部门sid")
private String deptSid;
@ApiModelProperty("申请部门名称")
private String deptName;
private List<AsBusclaimCheckApplyFile> fileList = new ArrayList<>();
private String remarks;
private String billNo;
@ApiModelProperty("创建组织sid")
private String createOrgSid;
@ApiModelProperty("使用组织sid")
private String useOrgSid;
@ApiModelProperty("分公司")
private String useOrgName;
@ApiModelProperty("办结日期")
private String closeDate;
@ApiModelProperty("实例id")
private String procInstId;
@ApiModelProperty("流程定义id")
private String procDefId;
@ApiModelProperty("任务iD")
private String taskId;
@ApiModelProperty("环节iD")
private String taskDefKey;
@ApiModelProperty("流程状态")
private String nodeState;
private List<AsBusclaimCheckApplyDetailVo> detailsList = new ArrayList<>();
}

59
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asbusclaimcheckapply/AsBusclaimCheckApplyFegin.java

@ -0,0 +1,59 @@
package com.yxt.anrui.terminal.fegin.asbusclaimcheckapply;
import com.yxt.anrui.terminal.fegin.asbusclaimcheckapply.flowable.*;
import com.yxt.anrui.terminal.fegin.asbusclaiminvoicebill.AsBusclaimInvoiceBillDetailsVo;
import com.yxt.anrui.terminal.fegin.asbusclaiminvoicebill.flowable.*;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.List;
@FeignClient(
contextId = "yxt-as-AsBusclaimCheckApply",
name = "yxt-as",
path = "v1/AsBusclaimCheckApply"
)
public interface AsBusclaimCheckApplyFegin {
@GetMapping("/details")
@ApiOperation("详情")
ResultBean<AsBusclaimCheckApplyDetailsVo> details(@RequestParam("sid") String sid);
@ApiOperation(value = "办理(同意)")
@PostMapping("/complete")
public ResultBean complete(@Valid @RequestBody CompleteBusclaimCheckApplyDto query);
@ApiOperation(value = "获取上一个环节")
@GetMapping(value = "/getPreviousNodesForReject")
ResultBean<List<BusclaimCheckApplyNodeVo>> getPreviousNodesForReject(@Valid @SpringQueryMap BusclaimCheckApplyNodeQuery query);
@ApiOperation(value = "获取下一个环节")
@GetMapping(value = "/getNextNodesForSubmit")
ResultBean<List<BusclaimCheckApplyNodeVo>> getNextNodesForSubmit(@Valid @SpringQueryMap BusclaimCheckApplyNodeQuery query);
@ApiOperation(value = "驳回任务")
@PostMapping(value = "/reject")
public ResultBean taskReject(@Valid @RequestBody BusclaimCheckApplyTaskQuery query);
@ApiOperation(value = "撤回流程")
@PostMapping(value = "/revokeProcess")
public ResultBean revokeProcess(@Valid @RequestBody BusclaimCheckApplyTaskQuery query);
@ApiOperation(value = "终止任务")
@PostMapping(value = "/breakProcess")
public ResultBean breakProcess(@Valid @RequestBody BusclaimCheckApplyTaskQuery query);
@ApiOperation(value = "加签")
@PostMapping(value = "/delegate")
@ResponseBody
public ResultBean delegate(@RequestBody BusclaimCheckApplyDelegateQuery query);
@ApiOperation(value = "转办")
@PutMapping(value = "/assignTask")
@ResponseBody
public ResultBean assignTask(@RequestBody BusclaimCheckApplyDelegateQuery query);
}

14
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asbusclaimcheckapply/AsBusclaimCheckApplyFile.java

@ -0,0 +1,14 @@
package com.yxt.anrui.terminal.fegin.asbusclaimcheckapply;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2024/5/11
**/
@Data
public class AsBusclaimCheckApplyFile {
private String url;
}

23
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asbusclaimcheckapply/flowable/BusclaimCheckApplyDelegateQuery.java

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

18
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asbusclaimcheckapply/flowable/BusclaimCheckApplyNodeQuery.java

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

24
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asbusclaimcheckapply/flowable/BusclaimCheckApplyNodeVo.java

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

43
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asbusclaimcheckapply/flowable/BusclaimCheckApplyTaskQuery.java

@ -0,0 +1,43 @@
package com.yxt.anrui.terminal.fegin.asbusclaimcheckapply.flowable;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @description:
* @author: dimengzhe
* @date: 2024/5/11
**/
@Data
public class BusclaimCheckApplyTaskQuery {
/**
* 终止驳回撤回
*/
@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;
}

35
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/asbusclaimcheckapply/flowable/CompleteBusclaimCheckApplyDto.java

@ -0,0 +1,35 @@
package com.yxt.anrui.terminal.fegin.asbusclaimcheckapply.flowable;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @description:
* @author: dimengzhe
* @date: 2024/5/11
**/
@Data
public class CompleteBusclaimCheckApplyDto {
@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;
}

28
yxt-as/src/main/java/com/yxt/anrui/as/api/asbusclaimcheckapplydetail/AsBusclaimCheckApplyDetail.java

@ -29,21 +29,21 @@ public class AsBusclaimCheckApplyDetail extends BaseEntity {
private String billInvoiceSid;
@ApiModelProperty("开票明细sid")
private String billInvoiceDetailSid;
@ApiModelProperty("索赔工时费")
private BigDecimal claimHourAmount;
@ApiModelProperty("索赔材料费")
private BigDecimal claimGoodsAmount;
@ApiModelProperty("外出费")
private BigDecimal claimOutAmount;
@ApiModelProperty("厂家补助费")
private BigDecimal claimSubsidyAmount;
@ApiModelProperty("其他费用")
private BigDecimal claimOtherAmount;
@ApiModelProperty("差异调整工时费")
private String claimHourAmount;
@ApiModelProperty("差异调整材料费")
private String claimGoodsAmount;
@ApiModelProperty("差异调整外出费")
private String claimOutAmount;
@ApiModelProperty("差异调整厂家补助")
private String claimSubsidyAmount;
@ApiModelProperty("差异调整其他费用")
private String claimOtherAmount;
@ApiModelProperty("差异调整施救费")
private BigDecimal claimRescueAmount;
@ApiModelProperty("预留")
private BigDecimal reserved;
@ApiModelProperty("原因key")
private String reasonKey;
@ApiModelProperty("原因value")
private String reasonValue;
@ApiModelProperty("原因")
private String reason;
}

18
yxt-as/src/main/java/com/yxt/anrui/as/api/asbusclaimcheckapplydetail/AsBusclaimCheckApplyDetailDto.java

@ -25,20 +25,20 @@ public class AsBusclaimCheckApplyDetailDto {
private String billInvoiceSid;
@ApiModelProperty("开票明细sid")
private String billInvoiceDetailSid;
@ApiModelProperty("索赔工时费")
@ApiModelProperty("差异调整工时费")
private String claimHourAmount;
@ApiModelProperty("索赔材料费")
@ApiModelProperty("差异调整材料费")
private String claimGoodsAmount;
@ApiModelProperty("外出费")
@ApiModelProperty("差异调整外出费")
private String claimOutAmount;
@ApiModelProperty("厂家补助")
@ApiModelProperty("差异调整厂家补助")
private String claimSubsidyAmount;
@ApiModelProperty("其他费用")
@ApiModelProperty("差异调整其他费用")
private String claimOtherAmount;
@ApiModelProperty("差异调整施救费")
private BigDecimal claimRescueAmount;
@ApiModelProperty("预留")
private String reserved;
@ApiModelProperty("原因key")
private String reasonKey;
@ApiModelProperty("原因value")
private String reasonValue;
@ApiModelProperty("原因")
private String reason;
}

26
yxt-as/src/main/java/com/yxt/anrui/as/api/asbusclaimcheckapplydetail/AsBusclaimCheckApplyDetailVo.java

@ -25,22 +25,22 @@ public class AsBusclaimCheckApplyDetailVo {
private String billInvoiceSid;
@ApiModelProperty("开票明细sid")
private String billInvoiceDetailSid;
@ApiModelProperty("调整工时费")
@ApiModelProperty("差异调整工时费")
private String claimHourAmount;
@ApiModelProperty("调整材料费")
@ApiModelProperty("差异调整材料费")
private String claimGoodsAmount;
@ApiModelProperty("外出费")
@ApiModelProperty("差异调整外出费")
private String claimOutAmount;
@ApiModelProperty("厂家补助")
@ApiModelProperty("差异调整厂家补助")
private String claimSubsidyAmount;
@ApiModelProperty("其他费用")
@ApiModelProperty("差异调整其他费用")
private String claimOtherAmount;
@ApiModelProperty("差异调整施救费")
private String claimRescueAmount;
@ApiModelProperty("预留")
private String reserved;
@ApiModelProperty("原因key")
private String reasonKey;
@ApiModelProperty("原因value")
private String reasonValue;
@ApiModelProperty("原因")
private String reason;
//工单:工时费
private String hourAmount1;
@ -57,6 +57,9 @@ public class AsBusclaimCheckApplyDetailVo {
//工单其他费用
private String claimOtherAmount1;
//工单施救费
private String claimRescueAmount1;
//工单合计
private String all1;
@ -75,7 +78,10 @@ public class AsBusclaimCheckApplyDetailVo {
//索赔开票其他金额
private String claimOtherAmount2;
//合计
//索赔开票施救费
private String claimRescueAmount2;
//索赔合计
private String all2;
//差异合计

2
yxt-as/src/main/java/com/yxt/anrui/as/api/asbusclaiminvoicebilldetail/AsBusclaimInvoiceBillDetail.java

@ -36,6 +36,4 @@ public class AsBusclaimInvoiceBillDetail extends BaseEntity {
private BigDecimal claimRescueAmount;
@ApiModelProperty("其他费用")
private BigDecimal claimOtherAmount;
@ApiModelProperty("费用是否一致")
private Boolean isUnanimous;
}

34
yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaimcheckapply/AsBusclaimCheckApplyService.java

@ -273,25 +273,43 @@ public class AsBusclaimCheckApplyService extends MybatisBaseService<AsBusclaimCh
for (int i = 0; i < detailList.size(); i++) {
AsBusclaimCheckApplyDetailVo asBusclaimCheckApplyDetailVo = detailList.get(i);
AsBusrepairBill asBusrepairBill = asBusrepairBillService.selectByBillNo(asBusclaimCheckApplyDetailVo.getRepairBillNo());
if (asBusrepairBill != null) {
if (asBusrepairBill == null) {
asBusclaimCheckApplyDetailVo.setHourAmount1("0");
asBusclaimCheckApplyDetailVo.setGoodsAmount1("0");
asBusclaimCheckApplyDetailVo.setClaimOutAmount1("0");
asBusclaimCheckApplyDetailVo.setClaimSubsidyAmount1("0");
asBusclaimCheckApplyDetailVo.setClaimOtherAmount1("0");
asBusclaimCheckApplyDetailVo.setClaimRescueAmount1("0");
asBusclaimCheckApplyDetailVo.setAll1("0");
}else {
asBusclaimCheckApplyDetailVo.setHourAmount1(asBusrepairBill.getHourAmount() != null ? asBusrepairBill.getHourAmount().toString() : "0");
asBusclaimCheckApplyDetailVo.setGoodsAmount1(asBusrepairBill.getGoodsAmount() != null ? asBusrepairBill.getGoodsAmount().toString() : "0");
asBusclaimCheckApplyDetailVo.setClaimOutAmount1(asBusrepairBill.getOutAmount() != null ? asBusrepairBill.getOutAmount().toString() : "0");
asBusclaimCheckApplyDetailVo.setClaimSubsidyAmount1(asBusrepairBill.getSubsidyAmount() != null ? asBusrepairBill.getSubsidyAmount().toString() : "0");
asBusclaimCheckApplyDetailVo.setClaimOtherAmount1(asBusrepairBill.getOtherAmount() != null ? asBusrepairBill.getOtherAmount().toString() : "0");
asBusclaimCheckApplyDetailVo.setClaimRescueAmount1(asBusrepairBill.getRescueAmount() != null ? asBusrepairBill.getRescueAmount().toString() : "0");
asBusclaimCheckApplyDetailVo.setAll1(new BigDecimal(asBusclaimCheckApplyDetailVo.getHourAmount1()).add(new BigDecimal(asBusclaimCheckApplyDetailVo.getGoodsAmount1())).add(new BigDecimal(asBusclaimCheckApplyDetailVo.getClaimOutAmount1())).add(new BigDecimal(asBusclaimCheckApplyDetailVo.getClaimSubsidyAmount1())).add(new BigDecimal(asBusclaimCheckApplyDetailVo.getClaimOtherAmount1())).add(new BigDecimal(asBusclaimCheckApplyDetailVo.getClaimRescueAmount1())).toString());
}
AsBusclaimInvoiceBillDetail asBusclaimInvoiceBillDetail = asBusclaimInvoiceBillDetailService.fetchBySid(asBusclaimCheckApplyDetailVo.getBillInvoiceDetailSid());
if (asBusclaimInvoiceBillDetail != null) {
asBusclaimCheckApplyDetailVo.setClaimHourAmount2(asBusclaimInvoiceBillDetail.getClaimHourAmount().toString());
asBusclaimCheckApplyDetailVo.setClaimGoodsAmount2(asBusclaimInvoiceBillDetail.getClaimGoodsAmount().toString());
asBusclaimCheckApplyDetailVo.setClaimOutAmount2(asBusclaimInvoiceBillDetail.getClaimOutAmount().toString());
asBusclaimCheckApplyDetailVo.setClaimSubsidyAmount2(asBusclaimInvoiceBillDetail.getClaimSubsidyAmount().toString());
asBusclaimCheckApplyDetailVo.setClaimOtherAmount2(asBusclaimInvoiceBillDetail.getClaimOtherAmount().toString());
asBusclaimCheckApplyDetailVo.setAll2(asBusclaimInvoiceBillDetail.getClaimHourAmount().add(asBusclaimInvoiceBillDetail.getClaimGoodsAmount()).add(asBusclaimInvoiceBillDetail.getClaimOutAmount()).add(asBusclaimInvoiceBillDetail.getClaimSubsidyAmount()).add(asBusclaimInvoiceBillDetail.getClaimOtherAmount()).toString());
asBusclaimCheckApplyDetailVo.setClaimHourAmount2(asBusclaimInvoiceBillDetail.getClaimHourAmount() != null ? asBusclaimInvoiceBillDetail.getClaimHourAmount().toString() : "0");
asBusclaimCheckApplyDetailVo.setClaimGoodsAmount2(asBusclaimInvoiceBillDetail.getClaimGoodsAmount() != null ? asBusclaimInvoiceBillDetail.getClaimGoodsAmount().toString() : "0");
asBusclaimCheckApplyDetailVo.setClaimOutAmount2(asBusclaimInvoiceBillDetail.getClaimOutAmount() != null ? asBusclaimInvoiceBillDetail.getClaimOutAmount().toString() : "0");
asBusclaimCheckApplyDetailVo.setClaimSubsidyAmount2(asBusclaimInvoiceBillDetail.getClaimSubsidyAmount() != null ? asBusclaimInvoiceBillDetail.getClaimSubsidyAmount().toString() : "0");
asBusclaimCheckApplyDetailVo.setClaimOtherAmount2(asBusclaimInvoiceBillDetail.getClaimOtherAmount() != null ? asBusclaimInvoiceBillDetail.getClaimOtherAmount().toString() : "0");
asBusclaimCheckApplyDetailVo.setClaimRescueAmount2(asBusclaimInvoiceBillDetail.getClaimRescueAmount() != null ? asBusclaimInvoiceBillDetail.getClaimRescueAmount().toString() : "0");
asBusclaimCheckApplyDetailVo.setAll2(new BigDecimal(asBusclaimCheckApplyDetailVo.getClaimHourAmount2()).add(new BigDecimal(asBusclaimCheckApplyDetailVo.getClaimGoodsAmount2())).add(new BigDecimal(asBusclaimCheckApplyDetailVo.getClaimOutAmount2())).add(new BigDecimal(asBusclaimCheckApplyDetailVo.getClaimSubsidyAmount2())).add(new BigDecimal(asBusclaimCheckApplyDetailVo.getClaimOtherAmount2())).add(new BigDecimal(asBusclaimCheckApplyDetailVo.getClaimRescueAmount2())).toString());
}else {
asBusclaimCheckApplyDetailVo.setClaimHourAmount2("0");
asBusclaimCheckApplyDetailVo.setClaimGoodsAmount2("0");
asBusclaimCheckApplyDetailVo.setClaimOutAmount2("0");
asBusclaimCheckApplyDetailVo.setClaimSubsidyAmount2("0");
asBusclaimCheckApplyDetailVo.setClaimOtherAmount2("0");
asBusclaimCheckApplyDetailVo.setClaimRescueAmount2("0");
asBusclaimCheckApplyDetailVo.setAll2("0");
}
asBusclaimCheckApplyDetailVo.setAll3(new BigDecimal(asBusclaimCheckApplyDetailVo.getAll2()).subtract(new BigDecimal(asBusclaimCheckApplyDetailVo.getAll1())).toString());
asBusclaimCheckApplyDetailVo.setAll4(new BigDecimal(asBusclaimCheckApplyDetailVo.getClaimHourAmount()).add(new BigDecimal(asBusclaimCheckApplyDetailVo.getClaimGoodsAmount()).add(new BigDecimal(asBusclaimCheckApplyDetailVo.getClaimOutAmount()).add(new BigDecimal(asBusclaimCheckApplyDetailVo.getClaimSubsidyAmount()).add(new BigDecimal(asBusclaimCheckApplyDetailVo.getClaimOtherAmount()).subtract(new BigDecimal(asBusclaimCheckApplyDetailVo.getReserved())))))).toString());
asBusclaimCheckApplyDetailVo.setAll4(new BigDecimal(asBusclaimCheckApplyDetailVo.getClaimHourAmount()).add(new BigDecimal(asBusclaimCheckApplyDetailVo.getClaimGoodsAmount())).add(new BigDecimal(asBusclaimCheckApplyDetailVo.getClaimOutAmount())).add(new BigDecimal(asBusclaimCheckApplyDetailVo.getClaimSubsidyAmount())).add(new BigDecimal(asBusclaimCheckApplyDetailVo.getClaimOtherAmount())).add(new BigDecimal(asBusclaimCheckApplyDetailVo.getClaimRescueAmount())).subtract(new BigDecimal(asBusclaimCheckApplyDetailVo.getReserved())).toString());
}
asBusclaimCheckApplyDetailsVo.setDetailsList(detailList);
}

4
yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusclaimcheckapplydetail/AsBusclaimCheckApplyDetailMapper.xml

@ -18,10 +18,10 @@
a.claimOutAmount,
a.claimSubsidyAmount,
a.claimOtherAmount,
a.claimRescueAmount,
a.repairBillNo,
a.reserved,
a.reasonKey,
a.reasonValue,
a.reason,
a.claimBillNo,
a.billInvoiceSid,
a.billInvoiceDetailSid

Loading…
Cancel
Save