Browse Source

Merge remote-tracking branch 'origin/master'

master
ligaode 5 months ago
parent
commit
c79bce8f71
  1. 71
      yxt-as-ui/src/views/operation/settleAccounts/settleAccountsAdd.vue
  2. 55
      yxt-as-ui/src/views/operation/settleAccounts/settleAccountsInfo.vue
  3. 51
      yxt-as-ui/src/views/workFlow/jiesuanFlow/settleAccountsDaiBan.vue
  4. 92
      yxt-as-ui/src/views/workFlow/jiesuanFlow/settleAccountsEdit.vue
  5. 51
      yxt-as-ui/src/views/workFlow/jiesuanFlow/settleAccountsYiBan.vue
  6. 7
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbillsettelapply/AsBillSettelApplyDetailsVo.java
  7. 10
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbillsettelapply/SettleGoodsDetailsVo.java
  8. 9
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbillsettelapply/SettleSitemVo.java
  9. 3
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbillsettelapply/flow/SubmitSettleDto.java
  10. 38
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbillsettelapplyaitem/AsBillSettelApplyAitem.java
  11. 33
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbillsettelapplyaitemspec/AsBillSettelApplyAitemspec.java
  12. 66
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbillsettelapplydetail/AsBillSettelApplyDetail.java
  13. 70
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbillsettelapplysitem/AsBillSettelApplySitem.java
  14. 2
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AitemVo.java
  15. 4
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBillDto.java
  16. 2
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/GoodsDetailsVo.java
  17. 2
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/InvoiceVo.java
  18. 5
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/SitemVo.java
  19. 9
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbillreversesettle/AsBusrepairBillReverseSettleDetailsVo.java
  20. 12
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asbillsettelapply/AsBillSettelApplyRest.java
  21. 423
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asbillsettelapply/AsBillSettelApplyService.java
  22. 51
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asbillsettelapplyaitem/AsBillSettelApplyAitemMapper.java
  23. 6
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asbillsettelapplyaitem/AsBillSettelApplyAitemMapper.xml
  24. 45
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asbillsettelapplyaitem/AsBillSettelApplyAitemRest.java
  25. 51
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asbillsettelapplyaitem/AsBillSettelApplyAitemService.java
  26. 51
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asbillsettelapplyaitemspec/AsBillSettelApplyAitemSpecMapper.java
  27. 6
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asbillsettelapplyaitemspec/AsBillSettelApplyAitemSpecMapper.xml
  28. 45
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asbillsettelapplyaitemspec/AsBillSettelApplyAitemSpecRest.java
  29. 51
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asbillsettelapplyaitemspec/AsBillSettelApplyAitemSpecService.java
  30. 51
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asbillsettelapplydetail/AsBillSettelApplyDetailMapper.java
  31. 6
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asbillsettelapplydetail/AsBillSettelApplyDetailMapper.xml
  32. 45
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asbillsettelapplydetail/AsBillSettelApplyDetailRest.java
  33. 51
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asbillsettelapplydetail/AsBillSettelApplyDetailService.java
  34. 51
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asbillsettelapplysitem/AsBillSettelApplySitemMapper.java
  35. 6
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asbillsettelapplysitem/AsBillSettelApplySitemMapper.xml
  36. 45
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asbillsettelapplysitem/AsBillSettelApplySitemRest.java
  37. 51
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asbillsettelapplysitem/AsBillSettelApplySitemService.java
  38. 461
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillService.java

71
yxt-as-ui/src/views/operation/settleAccounts/settleAccountsAdd.vue

@ -99,16 +99,6 @@
<el-form-item><span class="addinputInfo">{{ formobj.settleAmount }} = 合计金额{{ formobj.receivableAmount }} - 优惠<span>{{ formobj.discountAmount }}</span></span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty">成本合计</div>
<el-form-item><span class="addinputInfo">{{ formobj.costAmount }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty">利润额</div>
<el-form-item><span class="addinputInfo">{{ formobj.profit }}</span></el-form-item>
</el-col>
</el-row>
<div class="title">维修项目</div>
<el-table :key="serviceKey" :data="formobj.sitemVos" :index="index" border style="width: 100%">
<el-table-column fixed width="60" label="序号" type="index" :index="index + 1" align="center"/>
@ -121,8 +111,6 @@
<el-table-column prop="discount" label="折扣" align="center" width="100" />
<el-table-column prop="discountAmount" label="优惠" align="center" width="150" />
<el-table-column prop="sitemSettleAmount" label="结算金额" align="center" width="150" />
<el-table-column prop="sitemCost" label="成本小计" align="center" width="150" />
<el-table-column prop="sitemPrint" label="利润额" align="center" width="150" />
<el-table-column prop="repairerName" label="维修技师" align="center" width="200" />
<el-table-column prop="remarks" label="备注" align="center" min-width="300" />
</el-table>
@ -138,14 +126,12 @@
<el-table-column prop="discount" label="折扣" align="center" width="100" />
<el-table-column prop="discountAmount" label="优惠" align="center" width="150" />
<el-table-column prop="goodsSettleAmount" label="结算金额" align="center" width="150" />
<el-table-column prop="goodsCost" label="成本小计" align="center" width="150" />
<el-table-column prop="goodsPrint" label="利润额" align="center" width="150" />
<el-table-column prop="partsSellers" label="配件销售人" align="center" min-width="150" />
<el-table-column prop="remarks" label="备注" align="center" min-width="300" />
</el-table>
<div class="title">附加项目</div>
<el-row>
<el-col :span="8">
<el-col :span="6">
<div class="span-sty">外出费()</div>
<el-form-item>
<div style="display: flex;flex-direction: row;justify-content: space-between;align-items: center">
@ -154,22 +140,22 @@
</div>
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="6">
<div class="span-sty">成本</div>
<el-form-item>
<div style="display: flex;flex-direction: row;justify-content: space-between;align-items: center">
<el-input class="addinputInfo" style="width: 20%" @keyup.native="formobj.outCost = getNumber(formobj.outCost, 2)" v-model="formobj.outCost" clearable placeholder="" />
<el-input class="addinputInfo" style="width: 30%" @input="outPrintInput" @keyup.native="formobj.outCost = getNumber(formobj.outCost, 2)" v-model="formobj.outCost" clearable placeholder="" />
<span>利润额{{ formobj.outPrint }}</span>
</div>
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="12">
<div class="span-sty">备注</div>
<el-form-item><span class="addinputInfo">{{ formobj.outRemarks }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-col :span="6">
<div class="span-sty">厂家补助()</div>
<el-form-item>
<div style="display: flex;flex-direction: row;justify-content: space-between;align-items: center">
@ -178,22 +164,22 @@
</div>
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="6">
<div class="span-sty">成本</div>
<el-form-item>
<div style="display: flex;flex-direction: row;justify-content: space-between;align-items: center">
<el-input class="addinputInfo" style="width: 20%" @keyup.native="formobj.subsidyCost = getNumber(formobj.subsidyCost, 2)" v-model="formobj.subsidyCost" clearable placeholder="" />
<el-input class="addinputInfo" style="width: 30%" @input="subsidyPrintInput" @keyup.native="formobj.subsidyCost = getNumber(formobj.subsidyCost, 2)" v-model="formobj.subsidyCost" clearable placeholder="" />
<span>利润额{{ formobj.subsidyPrint }}</span>
</div>
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="12">
<div class="span-sty">备注</div>
<el-form-item><span class="addinputInfo">{{ formobj.subsidyRemarks }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-col :span="6">
<div class="span-sty">施救费()</div>
<el-form-item>
<div style="display: flex;flex-direction: row;justify-content: space-between;align-items: center">
@ -202,20 +188,20 @@
</div>
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="6">
<div class="span-sty">成本</div>
<el-form-item>
<div style="display: flex;flex-direction: row;justify-content: space-between;align-items: center">
<el-input class="addinputInfo" style="width: 20%" @keyup.native="formobj.rescueCost = getNumber(formobj.rescueCost, 2)" v-model="formobj.rescueCost" clearable placeholder="" />
<el-input class="addinputInfo" style="width: 30%" @input="rescuePrintInput" @keyup.native="formobj.rescueCost = getNumber(formobj.rescueCost, 2)" v-model="formobj.rescueCost" clearable placeholder="" />
<span>利润额{{ formobj.rescuePrint }}</span>
</div>
</el-form-item>
</el-col>
<el-col :span="4">
<el-col :span="6">
<div class="span-sty">备注</div>
<el-form-item><span class="addinputInfo">{{ formobj.rescueRemarks }}</span></el-form-item>
</el-col>
<el-col :span="4">
<el-col :span="6" class="tlineheightb">
<el-form-item>
<div style="display: flex;flex-direction: column;justify-content:flex-start;align-items: flex-start;">
<el-button type="text" v-for="(item, index) in formobj.fileName" :key="index" @click="handleOpen(item.url)">{{ item.name }}</el-button>
@ -227,8 +213,6 @@
<el-table-column fixed width="60" label="序号" type="index" :index="index + 1" align="center"/>
<el-table-column prop="aitemName" label="其它附加项目" align="center" width="200" />
<el-table-column prop="aitemReceivableAmount" label="应收金额" align="center" width="150" />
<el-table-column prop="aitemCost" label="成本" align="center" width="150" />
<el-table-column prop="aitemPrint" label="利润额" align="center" width="150" />
<el-table-column prop="remarks" label="备注" align="center" min-width="200" />
</el-table>
</el-form>
@ -353,6 +337,18 @@ export default {
}
})
},
// -- -- = -
outPrintInput() {
this.formobj.outPrint = Math.round((parseFloat(this.formobj.outAmount !== '' ? this.formobj.outAmount : 0) - parseFloat(this.formobj.outCost !== '' ? this.formobj.outCost : 0)) * 100) / 100
},
// -- -- = -
subsidyPrintInput() {
this.formobj.subsidyPrint = Math.round((parseFloat(this.formobj.subsidyAmount !== '' ? this.formobj.subsidyAmount : 0) - parseFloat(this.formobj.subsidyCost !== '' ? this.formobj.subsidyCost : 0)) * 100) / 100
},
// -- -- = -
rescuePrintInput() {
this.formobj.rescuePrint = Math.round((parseFloat(this.formobj.rescueAmount !== '' ? this.formobj.rescueAmount : 0) - parseFloat(this.formobj.rescueCost !== '' ? this.formobj.rescueCost : 0)) * 100) / 100
},
handleOpen(value) {
window.open(value, '_blank')
},
@ -441,9 +437,22 @@ export default {
<style scoped>
.span-sty {
width: 130px !important;
width: 110px !important;
}
.addinputInfo {
margin-left: 120px !important;
margin-left: 100px !important;
}
.tlineheightb {
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
}
/deep/ .tlineheightb .el-form-item .el-form-item__content .addinputInfo {
line-height: 15px !important;
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
}
</style>

55
yxt-as-ui/src/views/operation/settleAccounts/settleAccountsInfo.vue

@ -98,7 +98,7 @@
<el-form-item><span class="addinputInfo">{{ formobj.settleAmount }} = 合计金额{{ formobj.receivableAmount }} - 优惠<span>{{ formobj.discountAmount }}</span></span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-row v-if="conceal">
<el-col :span="12">
<div class="span-sty">成本合计</div>
<el-form-item><span class="addinputInfo">{{ formobj.costAmount }}</span></el-form-item>
@ -120,8 +120,8 @@
<el-table-column prop="discount" label="折扣" align="center" width="100" />
<el-table-column prop="discountAmount" label="优惠" align="center" width="150" />
<el-table-column prop="sitemSettleAmount" label="结算金额" align="center" width="150" />
<el-table-column prop="sitemCost" label="成本小计" align="center" width="150" />
<el-table-column prop="sitemPrint" label="利润额" align="center" width="150" />
<el-table-column v-if="conceal" prop="sitemCost" label="成本小计" align="center" width="150" />
<el-table-column v-if="conceal" prop="sitemPrint" label="利润额" align="center" width="150" />
<el-table-column prop="repairerName" label="维修技师" align="center" width="200" />
<el-table-column prop="remarks" label="备注" align="center" min-width="300" />
</el-table>
@ -137,14 +137,14 @@
<el-table-column prop="discount" label="折扣" align="center" width="100" />
<el-table-column prop="discountAmount" label="优惠" align="center" width="150" />
<el-table-column prop="goodsSettleAmount" label="结算金额" align="center" width="150" />
<el-table-column prop="goodsCost" label="成本小计" align="center" width="150" />
<el-table-column prop="goodsPrint" label="利润额" align="center" width="150" />
<el-table-column v-if="conceal" prop="goodsCost" label="成本小计" align="center" width="150" />
<el-table-column v-if="conceal" prop="goodsPrint" label="利润额" align="center" width="150" />
<el-table-column prop="partsSellers" label="配件销售人" align="center" min-width="150" />
<el-table-column prop="remarks" label="备注" align="center" min-width="300" />
</el-table>
<div class="title">附加项目</div>
<el-row>
<el-col :span="8">
<el-col :span="6">
<div class="span-sty">外出费()</div>
<el-form-item>
<div style="display: flex;flex-direction: row;justify-content: space-between;align-items: center">
@ -153,7 +153,7 @@
</div>
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="6">
<div class="span-sty">成本</div>
<el-form-item>
<div style="display: flex;flex-direction: row;justify-content: space-between;align-items: center">
@ -162,13 +162,13 @@
</div>
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="12">
<div class="span-sty">备注</div>
<el-form-item><span class="addinputInfo">{{ formobj.outRemarks }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-col :span="6">
<div class="span-sty">厂家补助()</div>
<el-form-item>
<div style="display: flex;flex-direction: row;justify-content: space-between;align-items: center">
@ -177,7 +177,7 @@
</div>
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="6">
<div class="span-sty">成本</div>
<el-form-item>
<div style="display: flex;flex-direction: row;justify-content: space-between;align-items: center">
@ -186,13 +186,13 @@
</div>
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="12">
<div class="span-sty">备注</div>
<el-form-item><span class="addinputInfo">{{ formobj.subsidyRemarks }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-col :span="6">
<div class="span-sty">施救费()</div>
<el-form-item>
<div style="display: flex;flex-direction: row;justify-content: space-between;align-items: center">
@ -201,7 +201,7 @@
</div>
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="6">
<div class="span-sty">成本</div>
<el-form-item>
<div style="display: flex;flex-direction: row;justify-content: space-between;align-items: center">
@ -210,11 +210,11 @@
</div>
</el-form-item>
</el-col>
<el-col :span="4">
<el-col :span="6">
<div class="span-sty">备注</div>
<el-form-item><span class="addinputInfo">{{ formobj.rescueRemarks }}</span></el-form-item>
</el-col>
<el-col :span="4">
<el-col :span="6" class="tlineheightb">
<el-form-item>
<div style="display: flex;flex-direction: column;justify-content:flex-start;align-items: flex-start;">
<el-button type="text" v-for="(item, index) in formobj.fileName" :key="index" @click="handleOpen(item.url)">{{ item.name }}</el-button>
@ -226,8 +226,8 @@
<el-table-column fixed width="60" label="序号" type="index" :index="index + 1" align="center"/>
<el-table-column prop="aitemName" label="其它附加项目" align="center" width="200" />
<el-table-column prop="aitemReceivableAmount" label="应收金额" align="center" width="150" />
<el-table-column prop="aitemCost" label="成本" align="center" width="150" />
<el-table-column prop="aitemPrint" label="利润额" align="center" width="150" />
<el-table-column v-if="conceal" prop="aitemCost" label="成本" align="center" width="150" />
<el-table-column v-if="conceal" prop="aitemPrint" label="利润额" align="center" width="150" />
<el-table-column prop="remarks" label="备注" align="center" min-width="200" />
</el-table>
</el-form>
@ -246,6 +246,7 @@ export default {
viewTitle: '',
viewState: 1,
submitdisabled: false,
conceal: false, // =
tableKey: 0,
index: 0,
// service
@ -320,6 +321,9 @@ export default {
req.fetchBySid(row.sid).then((res) => {
if (res.success) {
this.formobj = res.data
if (this.formobj.createBySid !== window.sessionStorage.getItem('userSid')) {
this.conceal = true
}
}
})
},
@ -391,9 +395,22 @@ export default {
<style scoped>
.span-sty {
width: 130px !important;
width: 110px !important;
}
.addinputInfo {
margin-left: 120px !important;
margin-left: 100px !important;
}
.tlineheightb {
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
}
/deep/ .tlineheightb .el-form-item .el-form-item__content .addinputInfo {
line-height: 15px !important;
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
}
</style>

51
yxt-as-ui/src/views/workFlow/jiesuanFlow/settleAccountsDaiBan.vue

@ -101,7 +101,7 @@
<el-form-item><span class="addinputInfo">{{ formobj.settleAmount }} = 合计金额{{ formobj.receivableAmount }} - 优惠<span>{{ formobj.discountAmount }}</span></span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-row v-if="conceal">
<el-col :span="12">
<div class="span-sty">成本合计</div>
<el-form-item><span class="addinputInfo">{{ formobj.costAmount }}</span></el-form-item>
@ -123,8 +123,8 @@
<el-table-column prop="discount" label="折扣" align="center" width="100" />
<el-table-column prop="discountAmount" label="优惠" align="center" width="150" />
<el-table-column prop="sitemSettleAmount" label="结算金额" align="center" width="150" />
<el-table-column prop="sitemCost" label="成本小计" align="center" width="150" />
<el-table-column prop="sitemPrint" label="利润额" align="center" width="150" />
<el-table-column v-if="conceal" prop="sitemCost" label="成本小计" align="center" width="150" />
<el-table-column v-if="conceal" prop="sitemPrint" label="利润额" align="center" width="150" />
<el-table-column prop="repairerName" label="维修技师" align="center" width="200" />
<el-table-column prop="remarks" label="备注" align="center" min-width="300" />
</el-table>
@ -140,14 +140,14 @@
<el-table-column prop="discount" label="折扣" align="center" width="100" />
<el-table-column prop="discountAmount" label="优惠" align="center" width="150" />
<el-table-column prop="goodsSettleAmount" label="结算金额" align="center" width="150" />
<el-table-column prop="goodsCost" label="成本小计" align="center" width="150" />
<el-table-column prop="goodsPrint" label="利润额" align="center" width="150" />
<el-table-column v-if="conceal" prop="goodsCost" label="成本小计" align="center" width="150" />
<el-table-column v-if="conceal" prop="goodsPrint" label="利润额" align="center" width="150" />
<el-table-column prop="partsSellers" label="配件销售人" align="center" min-width="150" />
<el-table-column prop="remarks" label="备注" align="center" min-width="300" />
</el-table>
<div class="title">附加项目</div>
<el-row>
<el-col :span="8">
<el-col :span="6">
<div class="span-sty">外出费()</div>
<el-form-item>
<div style="display: flex;flex-direction: row;justify-content: space-between;align-items: center">
@ -156,7 +156,7 @@
</div>
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="6">
<div class="span-sty">成本</div>
<el-form-item>
<div style="display: flex;flex-direction: row;justify-content: space-between;align-items: center">
@ -165,13 +165,13 @@
</div>
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="12">
<div class="span-sty">备注</div>
<el-form-item><span class="addinputInfo">{{ formobj.outRemarks }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-col :span="6">
<div class="span-sty">厂家补助()</div>
<el-form-item>
<div style="display: flex;flex-direction: row;justify-content: space-between;align-items: center">
@ -180,7 +180,7 @@
</div>
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="6">
<div class="span-sty">成本</div>
<el-form-item>
<div style="display: flex;flex-direction: row;justify-content: space-between;align-items: center">
@ -189,13 +189,13 @@
</div>
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="12">
<div class="span-sty">备注</div>
<el-form-item><span class="addinputInfo">{{ formobj.subsidyRemarks }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-col :span="6">
<div class="span-sty">施救费()</div>
<el-form-item>
<div style="display: flex;flex-direction: row;justify-content: space-between;align-items: center">
@ -204,7 +204,7 @@
</div>
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="6">
<div class="span-sty">成本</div>
<el-form-item>
<div style="display: flex;flex-direction: row;justify-content: space-between;align-items: center">
@ -213,11 +213,11 @@
</div>
</el-form-item>
</el-col>
<el-col :span="4">
<el-col :span="6">
<div class="span-sty">备注</div>
<el-form-item><span class="addinputInfo">{{ formobj.rescueRemarks }}</span></el-form-item>
</el-col>
<el-col :span="4">
<el-col :span="6" class="tlineheightb">
<el-form-item>
<div style="display: flex;flex-direction: column;justify-content:flex-start;align-items: flex-start;">
<el-button type="text" v-for="(item, index) in formobj.fileName" :key="index" @click="handleOpen(item.url)">{{ item.name }}</el-button>
@ -229,8 +229,8 @@
<el-table-column fixed width="60" label="序号" type="index" :index="index + 1" align="center"/>
<el-table-column prop="aitemName" label="其它附加项目" align="center" width="200" />
<el-table-column prop="aitemReceivableAmount" label="应收金额" align="center" width="150" />
<el-table-column prop="aitemCost" label="成本" align="center" width="150" />
<el-table-column prop="aitemPrint" label="利润额" align="center" width="150" />
<el-table-column v-if="conceal" prop="aitemCost" label="成本" align="center" width="150" />
<el-table-column v-if="conceal" prop="aitemPrint" label="利润额" align="center" width="150" />
<el-table-column prop="remarks" label="备注" align="center" min-width="200" />
</el-table>
</el-form>
@ -288,6 +288,7 @@ export default {
viewTitle: '',
viewState: 1,
submitdisabled: false,
conceal: false,
tableKey: 0,
index: 0,
// service
@ -426,6 +427,9 @@ export default {
req.fetchBySid(sid).then((res) => {
if (res.success) {
this.formobj = res.data
if (this.formobj.createBySid !== window.sessionStorage.getItem('userSid')) {
this.conceal = true
}
}
})
selectStaffListss().then((res) => {
@ -623,4 +627,17 @@ export default {
.rowClass{
border-top: 1px solid #E0E3EB;
}
.tlineheightb {
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
}
/deep/ .tlineheightb .el-form-item .el-form-item__content .addinputInfo {
line-height: 15px !important;
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
}
</style>

92
yxt-as-ui/src/views/workFlow/jiesuanFlow/settleAccountsEdit.vue

@ -4,7 +4,6 @@
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="saveOrUpdate()">保存</el-button>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="submit()">提交</el-button>
</div>
</div>
@ -99,16 +98,6 @@
<el-form-item><span class="addinputInfo">{{ formobj.settleAmount }} = 合计金额{{ formobj.receivableAmount }} - 优惠<span>{{ formobj.discountAmount }}</span></span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty">成本合计</div>
<el-form-item><span class="addinputInfo">{{ formobj.costAmount }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty">利润额</div>
<el-form-item><span class="addinputInfo">{{ formobj.profit }}</span></el-form-item>
</el-col>
</el-row>
<div class="title">维修项目</div>
<el-table :key="serviceKey" :data="formobj.sitemVos" :index="index" border style="width: 100%">
<el-table-column fixed width="60" label="序号" type="index" :index="index + 1" align="center"/>
@ -121,8 +110,6 @@
<el-table-column prop="discount" label="折扣" align="center" width="100" />
<el-table-column prop="discountAmount" label="优惠" align="center" width="150" />
<el-table-column prop="sitemSettleAmount" label="结算金额" align="center" width="150" />
<el-table-column prop="sitemCost" label="成本小计" align="center" width="150" />
<el-table-column prop="sitemPrint" label="利润额" align="center" width="150" />
<el-table-column prop="repairerName" label="维修技师" align="center" width="200" />
<el-table-column prop="remarks" label="备注" align="center" min-width="300" />
</el-table>
@ -138,14 +125,12 @@
<el-table-column prop="discount" label="折扣" align="center" width="100" />
<el-table-column prop="discountAmount" label="优惠" align="center" width="150" />
<el-table-column prop="goodsSettleAmount" label="结算金额" align="center" width="150" />
<el-table-column prop="goodsCost" label="成本小计" align="center" width="150" />
<el-table-column prop="goodsPrint" label="利润额" align="center" width="150" />
<el-table-column prop="partsSellers" label="配件销售人" align="center" min-width="150" />
<el-table-column prop="remarks" label="备注" align="center" min-width="300" />
</el-table>
<div class="title">附加项目</div>
<el-row>
<el-col :span="8">
<el-col :span="6">
<div class="span-sty">外出费()</div>
<el-form-item>
<div style="display: flex;flex-direction: row;justify-content: space-between;align-items: center">
@ -154,22 +139,22 @@
</div>
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="6">
<div class="span-sty">成本</div>
<el-form-item>
<div style="display: flex;flex-direction: row;justify-content: space-between;align-items: center">
<el-input class="addinputInfo" style="width: 20%" @keyup.native="formobj.outCost = getNumber(formobj.outCost, 2)" v-model="formobj.outCost" clearable placeholder="" />
<el-input class="addinputInfo" style="width: 30%" @input="outPrintInput" @keyup.native="formobj.outCost = getNumber(formobj.outCost, 2)" v-model="formobj.outCost" clearable placeholder="" />
<span>利润额{{ formobj.outPrint }}</span>
</div>
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="12">
<div class="span-sty">备注</div>
<el-form-item><span class="addinputInfo">{{ formobj.outRemarks }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-col :span="6">
<div class="span-sty">厂家补助()</div>
<el-form-item>
<div style="display: flex;flex-direction: row;justify-content: space-between;align-items: center">
@ -178,22 +163,22 @@
</div>
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="6">
<div class="span-sty">成本</div>
<el-form-item>
<div style="display: flex;flex-direction: row;justify-content: space-between;align-items: center">
<el-input class="addinputInfo" style="width: 20%" @keyup.native="formobj.subsidyCost = getNumber(formobj.subsidyCost, 2)" v-model="formobj.subsidyCost" clearable placeholder="" />
<el-input class="addinputInfo" style="width: 30%" @input="subsidyPrintInput" @keyup.native="formobj.subsidyCost = getNumber(formobj.subsidyCost, 2)" v-model="formobj.subsidyCost" clearable placeholder="" />
<span>利润额{{ formobj.subsidyPrint }}</span>
</div>
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="12">
<div class="span-sty">备注</div>
<el-form-item><span class="addinputInfo">{{ formobj.subsidyRemarks }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-col :span="6">
<div class="span-sty">施救费()</div>
<el-form-item>
<div style="display: flex;flex-direction: row;justify-content: space-between;align-items: center">
@ -202,20 +187,20 @@
</div>
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="6">
<div class="span-sty">成本</div>
<el-form-item>
<div style="display: flex;flex-direction: row;justify-content: space-between;align-items: center">
<el-input class="addinputInfo" style="width: 20%" @keyup.native="formobj.rescueCost = getNumber(formobj.rescueCost, 2)" v-model="formobj.rescueCost" clearable placeholder="" />
<el-input class="addinputInfo" style="width: 30%" @input="rescuePrintInput" @keyup.native="formobj.rescueCost = getNumber(formobj.rescueCost, 2)" v-model="formobj.rescueCost" clearable placeholder="" />
<span>利润额{{ formobj.rescuePrint }}</span>
</div>
</el-form-item>
</el-col>
<el-col :span="4">
<el-col :span="6">
<div class="span-sty">备注</div>
<el-form-item><span class="addinputInfo">{{ formobj.rescueRemarks }}</span></el-form-item>
</el-col>
<el-col :span="4">
<el-col :span="6" class="tlineheightb">
<el-form-item>
<div style="display: flex;flex-direction: column;justify-content:flex-start;align-items: flex-start;">
<el-button type="text" v-for="(item, index) in formobj.fileName" :key="index" @click="handleOpen(item.url)">{{ item.name }}</el-button>
@ -227,8 +212,6 @@
<el-table-column fixed width="60" label="序号" type="index" :index="index + 1" align="center"/>
<el-table-column prop="aitemName" label="其它附加项目" align="center" width="200" />
<el-table-column prop="aitemReceivableAmount" label="应收金额" align="center" width="150" />
<el-table-column prop="aitemCost" label="成本" align="center" width="150" />
<el-table-column prop="aitemPrint" label="利润额" align="center" width="150" />
<el-table-column prop="remarks" label="备注" align="center" min-width="200" />
</el-table>
</el-form>
@ -359,33 +342,21 @@ export default {
}
})
},
// -- -- = -
outPrintInput() {
this.formobj.outPrint = Math.round((parseFloat(this.formobj.outAmount !== '' ? this.formobj.outAmount : 0) - parseFloat(this.formobj.outCost !== '' ? this.formobj.outCost : 0)) * 100) / 100
},
// -- -- = -
subsidyPrintInput() {
this.formobj.subsidyPrint = Math.round((parseFloat(this.formobj.subsidyAmount !== '' ? this.formobj.subsidyAmount : 0) - parseFloat(this.formobj.subsidyCost !== '' ? this.formobj.subsidyCost : 0)) * 100) / 100
},
// -- -- = -
rescuePrintInput() {
this.formobj.rescuePrint = Math.round((parseFloat(this.formobj.rescueAmount !== '' ? this.formobj.rescueAmount : 0) - parseFloat(this.formobj.rescueCost !== '' ? this.formobj.rescueCost : 0)) * 100) / 100
},
handleOpen(value) {
window.open(value, '_blank')
},
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: '保存成功' })
// ()
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
} else {
this.submitdisabled = false
}
}).catch(() => {
this.submitdisabled = false
})
}
})
},
submit() {
this.$refs['form_obj'].validate((valid) => {
if (valid) {
@ -421,4 +392,17 @@ export default {
.addinputInfo {
margin-left: 120px !important;
}
.tlineheightb {
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
}
/deep/ .tlineheightb .el-form-item .el-form-item__content .addinputInfo {
line-height: 15px !important;
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
}
</style>

51
yxt-as-ui/src/views/workFlow/jiesuanFlow/settleAccountsYiBan.vue

@ -98,7 +98,7 @@
<el-form-item><span class="addinputInfo">{{ formobj.settleAmount }} = 合计金额{{ formobj.receivableAmount }} - 优惠<span>{{ formobj.discountAmount }}</span></span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-row v-if="conceal">
<el-col :span="12">
<div class="span-sty">成本合计</div>
<el-form-item><span class="addinputInfo">{{ formobj.costAmount }}</span></el-form-item>
@ -120,8 +120,8 @@
<el-table-column prop="discount" label="折扣" align="center" width="100" />
<el-table-column prop="discountAmount" label="优惠" align="center" width="150" />
<el-table-column prop="sitemSettleAmount" label="结算金额" align="center" width="150" />
<el-table-column prop="sitemCost" label="成本小计" align="center" width="150" />
<el-table-column prop="sitemPrint" label="利润额" align="center" width="150" />
<el-table-column v-if="conceal" prop="sitemCost" label="成本小计" align="center" width="150" />
<el-table-column v-if="conceal" prop="sitemPrint" label="利润额" align="center" width="150" />
<el-table-column prop="repairerName" label="维修技师" align="center" width="200" />
<el-table-column prop="remarks" label="备注" align="center" min-width="300" />
</el-table>
@ -137,14 +137,14 @@
<el-table-column prop="discount" label="折扣" align="center" width="100" />
<el-table-column prop="discountAmount" label="优惠" align="center" width="150" />
<el-table-column prop="goodsSettleAmount" label="结算金额" align="center" width="150" />
<el-table-column prop="goodsCost" label="成本小计" align="center" width="150" />
<el-table-column prop="goodsPrint" label="利润额" align="center" width="150" />
<el-table-column v-if="conceal" prop="goodsCost" label="成本小计" align="center" width="150" />
<el-table-column v-if="conceal" prop="goodsPrint" label="利润额" align="center" width="150" />
<el-table-column prop="partsSellers" label="配件销售人" align="center" min-width="150" />
<el-table-column prop="remarks" label="备注" align="center" min-width="300" />
</el-table>
<div class="title">附加项目</div>
<el-row>
<el-col :span="8">
<el-col :span="6">
<div class="span-sty">外出费()</div>
<el-form-item>
<div style="display: flex;flex-direction: row;justify-content: space-between;align-items: center">
@ -153,7 +153,7 @@
</div>
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="6">
<div class="span-sty">成本</div>
<el-form-item>
<div style="display: flex;flex-direction: row;justify-content: space-between;align-items: center">
@ -162,13 +162,13 @@
</div>
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="12">
<div class="span-sty">备注</div>
<el-form-item><span class="addinputInfo">{{ formobj.outRemarks }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-col :span="6">
<div class="span-sty">厂家补助()</div>
<el-form-item>
<div style="display: flex;flex-direction: row;justify-content: space-between;align-items: center">
@ -177,7 +177,7 @@
</div>
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="6">
<div class="span-sty">成本</div>
<el-form-item>
<div style="display: flex;flex-direction: row;justify-content: space-between;align-items: center">
@ -186,13 +186,13 @@
</div>
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="12">
<div class="span-sty">备注</div>
<el-form-item><span class="addinputInfo">{{ formobj.subsidyRemarks }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-col :span="6">
<div class="span-sty">施救费()</div>
<el-form-item>
<div style="display: flex;flex-direction: row;justify-content: space-between;align-items: center">
@ -201,7 +201,7 @@
</div>
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="6">
<div class="span-sty">成本</div>
<el-form-item>
<div style="display: flex;flex-direction: row;justify-content: space-between;align-items: center">
@ -210,11 +210,11 @@
</div>
</el-form-item>
</el-col>
<el-col :span="4">
<el-col :span="6">
<div class="span-sty">备注</div>
<el-form-item><span class="addinputInfo">{{ formobj.rescueRemarks }}</span></el-form-item>
</el-col>
<el-col :span="4">
<el-col :span="6" class="tlineheightb">
<el-form-item>
<div style="display: flex;flex-direction: column;justify-content:flex-start;align-items: flex-start;">
<el-button type="text" v-for="(item, index) in formobj.fileName" :key="index" @click="handleOpen(item.url)">{{ item.name }}</el-button>
@ -226,8 +226,8 @@
<el-table-column fixed width="60" label="序号" type="index" :index="index + 1" align="center"/>
<el-table-column prop="aitemName" label="其它附加项目" align="center" width="200" />
<el-table-column prop="aitemReceivableAmount" label="应收金额" align="center" width="150" />
<el-table-column prop="aitemCost" label="成本" align="center" width="150" />
<el-table-column prop="aitemPrint" label="利润额" align="center" width="150" />
<el-table-column v-if="conceal" prop="aitemCost" label="成本" align="center" width="150" />
<el-table-column v-if="conceal" prop="aitemPrint" label="利润额" align="center" width="150" />
<el-table-column prop="remarks" label="备注" align="center" min-width="200" />
</el-table>
</el-form>
@ -246,6 +246,7 @@ export default {
viewTitle: '',
viewState: 1,
submitdisabled: false,
conceal: false,
tableKey: 0,
index: 0,
// service
@ -355,6 +356,9 @@ export default {
req.fetchBySid(sid).then((res) => {
if (res.success) {
this.formobj = res.data
if (this.formobj.createBySid !== window.sessionStorage.getItem('userSid')) {
this.conceal = true
}
}
})
},
@ -409,4 +413,17 @@ export default {
.addinputInfo {
margin-left: 120px !important;
}
.tlineheightb {
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
}
/deep/ .tlineheightb .el-form-item .el-form-item__content .addinputInfo {
line-height: 15px !important;
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
}
</style>

7
yxt-as/src/main/java/com/yxt/anrui/as/api/asbillsettelapply/AsBillSettelApplyDetailsVo.java

@ -59,6 +59,7 @@ public class AsBillSettelApplyDetailsVo implements Vo {
* 附加费
*/
private String addAmount;
private String sid;
/**
* 附加项目
*/
@ -176,7 +177,7 @@ public class AsBillSettelApplyDetailsVo implements Vo {
* 结算金额
*/
private String settleAmount;
private String sid;
/**
* 维修项目
*/
@ -238,6 +239,7 @@ public class AsBillSettelApplyDetailsVo implements Vo {
* 服务顾问
*/
private String waitorName;
private String sourceBillType;
private String procInsId;
private String outCost; //外出成本
@ -246,4 +248,7 @@ public class AsBillSettelApplyDetailsVo implements Vo {
private String subsidyPrint; //厂家补助利润额
private String rescueCost; //施救费成本
private String rescuePrint; //施救费利润额
private String outSid; //外出费sid
private String subsidySid; //厂家补助SID
private String rescueSid; //施救费sid
}

10
yxt-as/src/main/java/com/yxt/anrui/as/api/asbillsettelapply/SettleGoodsDetailsVo.java

@ -1,5 +1,6 @@
package com.yxt.anrui.as.api.asbillsettelapply;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
@ -9,6 +10,12 @@ import lombok.Data;
*/
@Data
public class SettleGoodsDetailsVo {
@ApiModelProperty("出/退库数量")
private String count;
@ApiModelProperty("销售价(元)")
private String price;
//折扣(0-10,0免费,10不打折)
private String discount;
/**
* 优惠金额
*/
@ -44,4 +51,7 @@ public class SettleGoodsDetailsVo {
private String sid;
private String inventorySid;
private String goodsID;
private String goodsDetailsSid;
@ApiModelProperty("配件销售人")
private String partsSellers;
}

9
yxt-as/src/main/java/com/yxt/anrui/as/api/asbillsettelapply/SettleSitemVo.java

@ -1,7 +1,11 @@
package com.yxt.anrui.as.api.asbillsettelapply;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @author Fan
* @description
@ -51,4 +55,9 @@ public class SettleSitemVo {
* 结算金额应收金额 - 优惠金额
*/
private String sitemSettleAmount;
private String price;
@ApiModelProperty("折扣(0-10,0免费,10不打折)")
private String discount;
private String repairerName;
}

3
yxt-as/src/main/java/com/yxt/anrui/as/api/asbillsettelapply/flow/SubmitSettleDto.java

@ -1,5 +1,6 @@
package com.yxt.anrui.as.api.asbillsettelapply.flow;
import com.yxt.anrui.as.api.asbillsettelapply.AsBillSettelApplyDetailsVo;
import com.yxt.anrui.as.api.asbillsettelapply.AsBillSettelApplyDto;
import com.yxt.anrui.as.api.asbusrepairbillreversesettle.AsBusrepairBillReverseSettleDto;
import io.swagger.annotations.ApiModel;
@ -14,7 +15,7 @@ import lombok.Data;
*/
@ApiModel("提交")
@Data
public class SubmitSettleDto extends AsBillSettelApplyDto {
public class SubmitSettleDto extends AsBillSettelApplyDetailsVo {
@ApiModelProperty("意见")
private String comment;

38
yxt-as/src/main/java/com/yxt/anrui/as/api/asbillsettelapplyaitem/AsBillSettelApplyAitem.java

@ -0,0 +1,38 @@
package com.yxt.anrui.as.api.asbillsettelapplyaitem;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* @author Fan
* @description
* @date 2024/4/17 14:56
*/
@Data
@ApiModel(value = "维修工单-附加项目", description = "维修工单-附加项目")
@TableName("as_bill_settel_apply_aitem")
public class AsBillSettelApplyAitem extends BaseEntity {
@ApiModelProperty("结算单sid")
private String mainSid;
@ApiModelProperty("附加项目sid")
private String attachItemSid;
@ApiModelProperty("附加项目名称")
private String attachItem;
@ApiModelProperty("销售价")
private BigDecimal price;
@ApiModelProperty("销售价常量")
private BigDecimal aitemPrice;
@ApiModelProperty("业务类型Key")
private String billBusTypeKey;
@ApiModelProperty("业务类型Value")
private String billBusTypeValue;
@ApiModelProperty("成本价")
private BigDecimal cost;
@ApiModelProperty("成本合计(成本价*数量)")
private BigDecimal costTotal;
}

33
yxt-as/src/main/java/com/yxt/anrui/as/api/asbillsettelapplyaitemspec/AsBillSettelApplyAitemspec.java

@ -0,0 +1,33 @@
package com.yxt.anrui.as.api.asbillsettelapplyaitemspec;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* @author Fan
* @description
* @date 2024/4/17 14:56
*/
@Data
@ApiModel(value = "维修工单-固定附加项目", description = "维修工单-固定附加项目")
@TableName("as_bill_settel_apply_aitemspec")
public class AsBillSettelApplyAitemspec extends BaseEntity {
@ApiModelProperty("工单sid")
private String mainSid;
@ApiModelProperty("附加项目sid")
private String attachItemSid;
@ApiModelProperty("项目名称")
private String attachItem;
@ApiModelProperty("项目费用")
private BigDecimal price;
@ApiModelProperty("开票价")
private BigDecimal taxPrice;
@ApiModelProperty("成本合计(成本价*数量)")
private BigDecimal costTotal;
}

66
yxt-as/src/main/java/com/yxt/anrui/as/api/asbillsettelapplydetail/AsBillSettelApplyDetail.java

@ -0,0 +1,66 @@
package com.yxt.anrui.as.api.asbillsettelapplydetail;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
* @description:
* @author: dimengzhe
* @date: 2024/3/7
**/
@Data
@TableName("as_bill_settel_apply_detail")
public class AsBillSettelApplyDetail extends BaseEntity {
private static final long serialVersionUID = 7134535185685249599L;
@ApiModelProperty("单据sid")
private String mainSid;
private String sid;
@ApiModelProperty("出/退库数量")
private String count;
@ApiModelProperty("销售价(元)")
private String price;
//折扣(0-10,0免费,10不打折)
private String discount;
/**
* 优惠金额
*/
private String discountAmount;
/**
* 成本
*/
private String goodsCost;
/**
* 利润额结算金额 - 成本
*/
private String goodsPrint;
/**
* 应收金额销售价 * 数量
*/
private String goodsReceivableAmount;
/**
* 结算金额应收金额 - 优惠金额
*/
private String goodsSettleAmount;
/**
* 图号
*/
private String goodsSkuCode;
/**
* 商品名称
*/
private String goodsSpuName;
/**
* 备注
*/
private String remarks;
private String inventorySid;
private String goodsID;
@ApiModelProperty("配件销售人")
private String partsSellers;
}

70
yxt-as/src/main/java/com/yxt/anrui/as/api/asbillsettelapplysitem/AsBillSettelApplySitem.java

@ -0,0 +1,70 @@
package com.yxt.anrui.as.api.asbillsettelapplysitem;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* @author Fan
* @description
* @date 2024/4/17 15:08
*/
@Data
@ApiModel(value = "维修工单-服务项目", description = "维修工单-服务项目")
@TableName("as_bill_settel_apply_sitem")
public class AsBillSettelApplySitem extends BaseEntity {
@ApiModelProperty("工单sid")
private String mainSid;
private String serviceItemSid;
/**
* 优惠金额
*/
private String discountAmount;
/**
* 工时单价
*/
private String hourPrice;
/**
* 工时数
*/
private String hours;
/**
* 备注
*/
private String remarks;
/**
* 维修项目名称
*/
private String serviceItem;
/**
* 工种
*/
private String serviceType;
private String serviceTypeSid;
/**
* 成本
*/
private String sitemCost;
/**
* 利润额结算金额 - 成本
*/
private String sitemPrint;
/**
* 应收合计销售价
*/
private String sitemReceivableAmount;
/**
* 结算金额应收金额 - 优惠金额
*/
private String sitemSettleAmount;
private String price;
@ApiModelProperty("折扣(0-10,0免费,10不打折)")
private String discount;
private String repairerName;
}

2
yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AitemVo.java

@ -12,7 +12,7 @@ import java.math.BigDecimal;
*/
@Data
public class AitemVo {
private String sid;
@ApiModelProperty("附加项目sid")
private String aitemSid;
@ApiModelProperty("附加项目名称")

4
yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBillDto.java

@ -181,4 +181,8 @@ public class AsBusrepairBillDto implements Dto {
private String shClaimTypeKey;
@ApiModelProperty("索赔类型value")
private String shClaimTypeValue;
private String outSid; //外出费sid
private String subsidySid; //厂家补助SID
private String rescueSid; //施救费sid
}

2
yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/GoodsDetailsVo.java

@ -73,5 +73,5 @@ public class GoodsDetailsVo implements Vo {
private String serviceItem;
@ApiModelProperty("配件销售人")
private String partsSellers2;
private String goodsDetailsSid;
}

2
yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/InvoiceVo.java

@ -36,7 +36,7 @@ public class InvoiceVo {
@ApiModelProperty("开票单位")
private String invoiceCompany;
@ApiModelProperty("加税点项目“,”英文逗号拼接")
private List<String> taxItems = new ArrayList<>();
private List<String> taxItems;
@ApiModelProperty("加税点项目")
private String taxItems2;
}

5
yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/SitemVo.java

@ -14,6 +14,7 @@ import java.util.List;
*/
@Data
public class SitemVo {
private String sid;
@ApiModelProperty("项目sid")
private String serviceItemSid;
@ApiModelProperty("项目名称")
@ -49,6 +50,10 @@ public class SitemVo {
private String staffNames;
@ApiModelProperty("单价-100,工时数-5小时,提成-100")
private String manHourInfo;
@ApiModelProperty("成本价")
private String cost;
@ApiModelProperty("成本合计(成本价*数量)")
private String costTotal;
//-------------维修人员---------------
// @ApiModelProperty("维修人员sid")
// private String repairerSid;

9
yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbillreversesettle/AsBusrepairBillReverseSettleDetailsVo.java

@ -151,4 +151,13 @@ public class AsBusrepairBillReverseSettleDetailsVo implements Vo {
@ApiModelProperty("施救费开票金额")
private String rescueKPAmount;
private List<String> files = new ArrayList<>(); //文件名称
private String outPrint; //外出利润额
private String subsidyCost; //厂家补助成本
private String subsidyPrint; //厂家补助利润额
private String rescueCost; //施救费成本
private String rescuePrint; //施救费利润额
private String outSid; //外出费sid
private String subsidySid; //厂家补助SID
private String rescueSid; //施救费sid
}

12
yxt-as/src/main/java/com/yxt/anrui/as/biz/asbillsettelapply/AsBillSettelApplyRest.java

@ -84,7 +84,7 @@ public class AsBillSettelApplyRest {
@ApiOperation("新增或修改")
@PostMapping("/save")
public ResultBean save(@RequestBody AsBillSettelApplyDto dto){
public ResultBean save(@RequestBody AsBillSettelApplyDetailsVo dto){
ResultBean rb = ResultBean.fireFail();
asBillSettelApplyService.saveOrUpdateDto(dto);
return rb.success();
@ -99,6 +99,16 @@ public class AsBillSettelApplyRest {
return rb.success();
}
@ApiOperation("维修单初始化")
@GetMapping("/busrepairbillInit")
public ResultBean<AsBillSettelApplyDetailsVo> busrepairbillInit(@RequestParam("sid") String sid,
@RequestParam("userSid") String userSid,
@RequestParam("orgPath") String orgPath
){
ResultBean rb = ResultBean.fireFail();
AsBillSettelApplyDetailsVo vo = asBillSettelApplyService.busrepairbillInit(sid,userSid,orgPath);
return rb.success().setData(vo);
}
@ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchDetailsBySid/{sid}")

423
yxt-as/src/main/java/com/yxt/anrui/as/biz/asbillsettelapply/AsBillSettelApplyService.java

@ -37,6 +37,10 @@ import com.yxt.anrui.as.api.asbillsettelapply.flow.app.AppSettleDelegateQuery;
import com.yxt.anrui.as.api.asbillsettelapply.flow.app.AppSettleTaskQuery;
import com.yxt.anrui.as.api.asbillsettelapply.flow.app.CompleteSettleDto;
import com.yxt.anrui.as.api.asbillsettelapply.flow.app.SettleFlowableQuery;
import com.yxt.anrui.as.api.asbillsettelapplyaitem.AsBillSettelApplyAitem;
import com.yxt.anrui.as.api.asbillsettelapplyaitemspec.AsBillSettelApplyAitemspec;
import com.yxt.anrui.as.api.asbillsettelapplydetail.AsBillSettelApplyDetail;
import com.yxt.anrui.as.api.asbillsettelapplysitem.AsBillSettelApplySitem;
import com.yxt.anrui.as.api.asbusrepairbill.*;
import com.yxt.anrui.as.api.asbusrepairbillnode.AsBusrepairBillNode;
import com.yxt.anrui.as.api.asbusrepairbillreversesettle.AsBusrepairBillReverseSettle;
@ -47,6 +51,10 @@ import com.yxt.anrui.as.api.enums.AsBillTypeEnum;
import com.yxt.anrui.as.api.utils.AsRule;
import com.yxt.anrui.as.api.utils.FileUrlQuery;
import com.yxt.anrui.as.api.utils.domain.AsBillNo;
import com.yxt.anrui.as.biz.asbillsettelapplyaitem.AsBillSettelApplyAitemService;
import com.yxt.anrui.as.biz.asbillsettelapplyaitemspec.AsBillSettelApplyAitemSpecService;
import com.yxt.anrui.as.biz.asbillsettelapplydetail.AsBillSettelApplyDetailService;
import com.yxt.anrui.as.biz.asbillsettelapplysitem.AsBillSettelApplySitemService;
import com.yxt.anrui.as.biz.asbusrepairbill.AsBusrepairBillService;
import com.yxt.anrui.as.biz.asserviceattachitem.AsServiceAttachItemService;
import com.yxt.anrui.as.biz.asserviceitem.AsServiceItemService;
@ -126,6 +134,15 @@ public class AsBillSettelApplyService extends MybatisBaseService<AsBillSettelApp
private SysStaffOrgFeign sysStaffOrgFeign;
@Autowired
private SysUserRoleFeign sysUserRoleFeign;
@Autowired
private AsBillSettelApplyAitemService asBillSettelApplyAitemService;
@Autowired
private AsBillSettelApplyAitemSpecService asBillSettelApplyAitemSpecService;
@Autowired
private AsBillSettelApplySitemService asBillSettelApplySitemService;
@Autowired
private AsBillSettelApplyDetailService asBillSettelApplyDetailService;
private QueryWrapper<AsBillSettelApply> createQueryWrapper(AsBillSettelApplyQuery query) {
// todo: 这里根据具体业务调整查询条件
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
@ -209,14 +226,115 @@ public class AsBillSettelApplyService extends MybatisBaseService<AsBillSettelApp
return p;
}
public String saveOrUpdateDto(AsBillSettelApplyDto dto) {
String dtoSid = dto.getSid();
if (StringUtils.isBlank(dtoSid)) {
String s = this.insertByDto(dto);
return s;
public String saveOrUpdateDto(AsBillSettelApplyDetailsVo dto) {
String sid = "";
if (StringUtils.isBlank(dto.getSid())) {
AsBillSettelApply entity = new AsBillSettelApply();
BeanUtil.copyProperties(dto, entity, "id", "sid");
String applyCode = getApplyCode(dto.getUseOrgSid());
entity.setBillNo(applyCode);
baseMapper.insert(entity);
sid = entity.getSid();
} else {
sid = dto.getSid();
AsBillSettelApply entity = fetchBySid(sid);
if (StringUtils.isNotBlank(dto.getRemarks())) {
entity.setRemarks(dto.getRemarks());
}
baseMapper.updateById(entity);
}
asBillSettelApplyAitemService.delByBillSid(sid);
asBillSettelApplyAitemSpecService.delByBillSid(sid);
asBillSettelApplySitemService.delByBillSid(sid);
asBillSettelApplyDetailService.delByBillSid(sid);
if (!dto.getAitemVos().isEmpty() && dto.getAitemVos().size() > 0) {
List<SettleAitemVo> aitemVos = dto.getAitemVos();
for (SettleAitemVo aitemVo : aitemVos) {
AsBillSettelApplyAitem a = new AsBillSettelApplyAitem();
BeanUtil.copyProperties(aitemVo,a,"sid");
a.setMainSid(sid);
asBillSettelApplyAitemService.insert(a);
}
}
if (!dto.getSitemVos().isEmpty() && dto.getSitemVos().size() > 0) {
List<SettleSitemVo> sitemVos = dto.getSitemVos();
for (SettleSitemVo sitemVo : sitemVos) {
AsBillSettelApplySitem a = new AsBillSettelApplySitem();
BeanUtil.copyProperties(sitemVo,a,"sid");
a.setMainSid(sid);
asBillSettelApplySitemService.insert(a);
}
}
if (!dto.getGoodsDetailsVos().isEmpty() && dto.getGoodsDetailsVos().size() > 0) {
List<SettleGoodsDetailsVo> goodsDetailsVos = dto.getGoodsDetailsVos();
for (SettleGoodsDetailsVo g : goodsDetailsVos) {
AsBillSettelApplyDetail d = new AsBillSettelApplyDetail();
BeanUtil.copyProperties(g,d,"sid");
d.setMainSid(sid);
asBillSettelApplyDetailService.insert(d);
}
}
if (StringUtils.isNotBlank(dto.getOutAmount())) {
BigDecimal outAmount = new BigDecimal(dto.getOutAmount());
if (outAmount.compareTo(BigDecimal.ZERO) > 0) {
AsBillSettelApplyAitemspec s = new AsBillSettelApplyAitemspec();
s.setMainSid(sid);
s.setAttachItem("外出费");
s.setPrice(outAmount);
if (StringUtils.isNotBlank(dto.getOutKPAmount())) {
s.setTaxPrice(new BigDecimal(dto.getOutKPAmount()));
}
if (StringUtils.isNotBlank(dto.getOutCost())) {
s.setCostTotal(new BigDecimal(dto.getOutCost()));
}
if (StringUtils.isNotBlank(dto.getOutRemarks())) {
s.setRemarks(dto.getOutRemarks());
}
asBillSettelApplyAitemSpecService.insert(s);
}
}
if (StringUtils.isNotBlank(dto.getSubsidyAmount())) {
BigDecimal amount = new BigDecimal(dto.getSubsidyAmount());
if (amount.compareTo(BigDecimal.ZERO) > 0) {
AsBillSettelApplyAitemspec s = new AsBillSettelApplyAitemspec();
s.setMainSid(sid);
s.setAttachItem("厂家补助");
s.setPrice(amount);
if (StringUtils.isNotBlank(dto.getSubsidyKPAmount())) {
s.setTaxPrice(new BigDecimal(dto.getSubsidyKPAmount()));
}
if (StringUtils.isNotBlank(dto.getSubsidyCost())) {
s.setCostTotal(new BigDecimal(dto.getSubsidyCost()));
}
if (StringUtils.isNotBlank(dto.getSubsidyRemarks())) {
s.setRemarks(dto.getSubsidyRemarks());
}
this.updateByDto(dto);
return dtoSid;
asBillSettelApplyAitemSpecService.insert(s);
}
}
if (StringUtils.isNotBlank(dto.getRescueAmount())) {
BigDecimal amount = new BigDecimal(dto.getRescueAmount());
if (amount.compareTo(BigDecimal.ZERO) > 0) {
AsBillSettelApplyAitemspec s = new AsBillSettelApplyAitemspec();
s.setMainSid(sid);
s.setAttachItem("施救费");
s.setPrice(amount);
if (StringUtils.isNotBlank(dto.getRescueKPAmount())) {
s.setTaxPrice(new BigDecimal(dto.getRescueKPAmount()));
}
if (StringUtils.isNotBlank(dto.getRescueCost())) {
s.setCostTotal(new BigDecimal(dto.getRescueCost()));
}
if (StringUtils.isNotBlank(dto.getRescueRemarks())) {
s.setRemarks(dto.getRescueRemarks());
}
asBillSettelApplyAitemSpecService.insert(s);
}
}
return sid;
}
/**
@ -238,7 +356,7 @@ public class AsBillSettelApplyService extends MybatisBaseService<AsBillSettelApp
return billNo;
}
public String insertByDto(AsBillSettelApplyDto dto) {
public String insertByDto(AsBillSettelApplyDetailsVo dto) {
AsBillSettelApply entity = new AsBillSettelApply();
BeanUtil.copyProperties(dto, entity, "id", "sid");
String applyCode = getApplyCode(dto.getUseOrgSid());
@ -247,7 +365,7 @@ public class AsBillSettelApplyService extends MybatisBaseService<AsBillSettelApp
return entity.getSid();
}
public void updateByDto(AsBillSettelApplyDto dto) {
public void updateByDto(AsBillSettelApplyDetailsVo dto) {
String dtoSid = dto.getSid();
if (StringUtils.isBlank(dtoSid)) {
return;
@ -1114,4 +1232,291 @@ public class AsBillSettelApplyService extends MybatisBaseService<AsBillSettelApp
return rb.success();
}
public AsBillSettelApplyDetailsVo busrepairbillInit(String sid, String userSid, String orgPath) {
AsBillSettelApplyDetailsVo vo = new AsBillSettelApplyDetailsVo();
//新增初始化
//维修工单
AsBusrepairBillDetailsVo data = asBusrepairBillService.fetchDetailsBySid(sid).getData();
if (null != data) {
vo.setCustomerName(data.getCustomerName());
vo.setSourceBillNo(data.getBillNo());
vo.setSourceBillDate(data.getCreateDate());
if (StringUtils.isNotBlank(data.getWaitorName())) {
vo.setWaitorName(data.getWaitorName());
}
vo.setBillType(data.getBillType());
vo.setSubject(data.getSubject());
vo.setIsGoOut(data.getIsGoOut());
vo.setIsGoOut2(data.getIsGoOut2());
BigDecimal yingshouZ = BigDecimal.ZERO;
BigDecimal youhuiZ = BigDecimal.ZERO;
if (StringUtils.isNotBlank(data.getDiscountAmount())) {
vo.setDiscountAmount(data.getDiscountAmount());
youhuiZ = new BigDecimal(data.getDiscountAmount());
}
if (StringUtils.isNotBlank(data.getReceivableAmount())) {
vo.setReceivableAmount(data.getReceivableAmount());
yingshouZ = new BigDecimal(data.getReceivableAmount());
}
vo.setSettleAmount(yingshouZ.subtract(youhuiZ).toString());
if (StringUtils.isNotBlank(data.getMobile())) {
vo.setMobile(data.getMobile());
}
if (StringUtils.isNotBlank(data.getVinNo())) {
vo.setVinNo(data.getVinNo());
}
if (StringUtils.isNotBlank(data.getVehMark())) {
vo.setVehMark(data.getVehMark());
}
InvoiceVo invoiceVo = data.getInvoiceVo();
if (null != invoiceVo) {
if (StringUtils.isNotBlank(invoiceVo.getIsInvoicing())) {
vo.setIsInvoicing(invoiceVo.getIsInvoicing());
}
if (StringUtils.isNotBlank(invoiceVo.getIsInvoicing2())) {
vo.setIsInvoicing2(invoiceVo.getIsInvoicing2());
}
if (StringUtils.isNotBlank(invoiceVo.getTaxRate())) {
vo.setTaxRate(invoiceVo.getTaxRate());
}
if (StringUtils.isNotBlank(invoiceVo.getTaxItems2())) {
vo.setTaxItems(invoiceVo.getTaxItems2());
}
}
if (StringUtils.isNotBlank(data.getOutRemarks())) {
vo.setOutRemarks(data.getOutRemarks());
}
if (StringUtils.isNotBlank(data.getSubsidyRemarks())) {
vo.setSubsidyRemarks(data.getSubsidyRemarks());
}
if (StringUtils.isNotBlank(data.getRescueRemarks())) {
vo.setRescueRemarks(data.getRescueRemarks());
}
BigDecimal costAmount = BigDecimal.ZERO;//成本合计
BigDecimal profit = BigDecimal.ZERO;//总利润额
BigDecimal outAmount = BigDecimal.ZERO;//外出费
BigDecimal subsidyAmount = BigDecimal.ZERO;//厂家补助
BigDecimal rescueAmount = BigDecimal.ZERO;//施救费
BigDecimal outKPAmount = BigDecimal.ZERO;//外出费KP
BigDecimal subsidyKPAmount = BigDecimal.ZERO;//厂家补助KP
BigDecimal rescueKPAmount = BigDecimal.ZERO;//施救费KP
// BigDecimal sitemProfit = BigDecimal.ZERO;//维修项目利润
// BigDecimal goodsProfit = BigDecimal.ZERO;//维修用料利润
// BigDecimal otherProfit = BigDecimal.ZERO;//附件项目利润
// BigDecimal addProfit = BigDecimal.ZERO;//其他附加项目利润
if (StringUtils.isNotBlank(data.getHourAmount())) {
vo.setHourAmount(data.getHourAmount());
}
if (StringUtils.isNotBlank(data.getGoodsAmount())) {
vo.setGoodsAmount(data.getGoodsAmount());
}
if (StringUtils.isNotBlank(data.getAddAmount())) {
vo.setAddAmount(data.getAddAmount());
}
if (StringUtils.isNotBlank(data.getDiscountAmount())) {
vo.setDiscountAmount(data.getDiscountAmount());
}
if (StringUtils.isNotBlank(data.getOutAmount())) {
vo.setOutAmount(data.getOutAmount());
outAmount = new BigDecimal(data.getOutAmount());
}
if (StringUtils.isNotBlank(data.getOutKPAmount())) {
vo.setOutKPAmount(data.getOutKPAmount());
outKPAmount = new BigDecimal(data.getOutKPAmount());
}
if (StringUtils.isNotBlank(data.getSubsidyAmount())) {
vo.setSubsidyAmount(data.getSubsidyAmount());
subsidyAmount = new BigDecimal(data.getSubsidyAmount());
}
if (StringUtils.isNotBlank(data.getSubsidyKPAmount())) {
vo.setSubsidyKPAmount(data.getSubsidyKPAmount());
subsidyKPAmount = new BigDecimal(data.getSubsidyKPAmount());
}
if (StringUtils.isNotBlank(data.getRescueAmount())) {
vo.setRescueAmount(data.getRescueAmount());
rescueAmount = new BigDecimal(data.getRescueAmount());
}
if (StringUtils.isNotBlank(data.getRescueKPAmount())) {
vo.setRescueKPAmount(data.getRescueKPAmount());
rescueKPAmount = new BigDecimal(data.getRescueKPAmount());
}
List<SitemVo> sitemVos = data.getSitemVos();
if (!sitemVos.isEmpty()) {
List<SettleSitemVo> settleSitemVos = new ArrayList<>();
for (SitemVo s : sitemVos) {
SettleSitemVo v = new SettleSitemVo();
BeanUtil.copyProperties(s,v);
BigDecimal yingshou = BigDecimal.ZERO; //应收
BigDecimal youhui = BigDecimal.ZERO; //优惠
BigDecimal jiesuan = BigDecimal.ZERO; //结算
BigDecimal chengben = BigDecimal.ZERO; //成本
BigDecimal lirun = BigDecimal.ZERO; //利润
if (StringUtils.isNotBlank(s.getAmount())) {
yingshou = new BigDecimal(s.getAmount());
v.setSitemReceivableAmount(yingshou.toString());
}
if (StringUtils.isNotBlank(s.getDiscountAmount())) {
youhui = new BigDecimal(s.getDiscountAmount());
}
jiesuan = yingshou.subtract(youhui);
v.setSitemSettleAmount(jiesuan.toString());
if (StringUtils.isNotBlank(s.getCostTotal())) {
chengben = new BigDecimal(s.getCostTotal());
}
v.setSitemCost(chengben.toString());
lirun = jiesuan.subtract(chengben);
v.setSitemPrint(lirun.toString());
costAmount = costAmount.add(chengben);
profit = profit.add(lirun);
settleSitemVos.add(v);
}
vo.setSitemVos(settleSitemVos);
}
List<GoodsDetailsVo> goodsDetailsVos = data.getGoodsDetailsVos();
if (!goodsDetailsVos.isEmpty()) {
List<SettleGoodsDetailsVo> goodsList = new ArrayList<>();
for (GoodsDetailsVo g : goodsDetailsVos) {
SettleGoodsDetailsVo v = new SettleGoodsDetailsVo();
BeanUtil.copyProperties(g,v);
if (StringUtils.isNotBlank(g.getPartsSellers2())) {
v.setPartsSellers(g.getPartsSellers2());
}
BigDecimal yingshou = BigDecimal.ZERO; //应收
BigDecimal youhui = BigDecimal.ZERO; //优惠
BigDecimal jiesuan = BigDecimal.ZERO; //结算
BigDecimal chengben = BigDecimal.ZERO; //成本
BigDecimal chengbenPrice = BigDecimal.ZERO; //成本单价
BigDecimal lirun = BigDecimal.ZERO; //利润
BigDecimal count = BigDecimal.ZERO; //数量
if (StringUtils.isNotBlank(g.getCount())) {
count = new BigDecimal(g.getCount());
}
if (StringUtils.isNotBlank(g.getPrice())) {
BigDecimal price = new BigDecimal(g.getPrice());
yingshou = price.multiply(count);
v.setGoodsReceivableAmount(yingshou.toString());
}
if (StringUtils.isNotBlank(g.getDiscountAmount())) {
youhui = new BigDecimal(g.getDiscountAmount());
}
jiesuan = yingshou.subtract(youhui);
v.setGoodsSettleAmount(jiesuan.toString());
//求成本
if (StringUtils.isNotBlank(g.getInventorySid())) {
String inventorySid = g.getInventorySid();
WmsInventory inventory = wmsInventoryFeign.fetchEntityBySid(inventorySid).getData();
if (null != inventory) {
if (null != inventory.getCost()) {
chengbenPrice = inventory.getCost();
chengben = chengbenPrice.multiply(count);
}
}
}
v.setGoodsCost(chengben.toString());
lirun = jiesuan.subtract(chengben);
v.setGoodsPrint(lirun.toString());
costAmount = costAmount.add(chengben);
profit = profit.add(lirun);
goodsList.add(v);
}
vo.setGoodsDetailsVos(goodsList);
}
List<AitemVo> aitemVos = data.getAitemVos();
if (!aitemVos.isEmpty()) {
List<SettleAitemVo> aitemVoList = new ArrayList<>();
for (AitemVo a : aitemVos) {
SettleAitemVo v = new SettleAitemVo();
BeanUtil.copyProperties(a,v);
BigDecimal yingshou = BigDecimal.ZERO; //应收
BigDecimal chengben = BigDecimal.ZERO; //成本
BigDecimal lirun = BigDecimal.ZERO; //利润
if (StringUtils.isNotBlank(a.getPrice())) {
yingshou = new BigDecimal(a.getPrice());
v.setAitemReceivableAmount(yingshou.toString());
}
//求成本
if (StringUtils.isNotBlank(a.getAitemSid())) {
String aitemsid = a.getAitemSid();
AsServiceAttachItem attachItem = asServiceAttachItemService.fetchBySid(aitemsid);
if (null != attachItem) {
if (null != attachItem.getCost()) {
chengben = attachItem.getCost();
}
}
}
v.setAitemCost(chengben.toString());
lirun = yingshou.subtract(chengben);
v.setAitemPrint(lirun.toString());
costAmount = costAmount.add(chengben);
profit = profit.add(lirun);
aitemVoList.add(v);
}
vo.setAitemVos(aitemVoList);
}
// if (outKPAmount.compareTo(BigDecimal.ZERO) > 0) {
// profit = profit.add(outKPAmount);
// } else {
// profit = profit.add(outAmount);
// }
// if (subsidyKPAmount.compareTo(BigDecimal.ZERO) > 0) {
// profit = profit.add(subsidyKPAmount);
// } else {
// profit = profit.add(subsidyAmount);
// }
// if (rescueKPAmount.compareTo(BigDecimal.ZERO) > 0) {
// profit = profit.add(rescueKPAmount);
// } else {
// profit = profit.add(rescueAmount);
// }
vo.setProfit(profit.toString());
vo.setCostAmount(costAmount.toString());
List<FileUrlQuery> fileName = data.getFileName();
if (!fileName.isEmpty()) {
vo.setFileName(fileName);
List<String> files = new ArrayList<>();
for (FileUrlQuery fileUrlQuery : fileName) {
files.add(fileUrlQuery.getUrl());
}
vo.setFileName2(files);
}
}
//根据用户查询发起人、发起部门、发起日期为当前日期
String deptName = "";
String deptSid = "";
String useOrgSid = "";
if (StringUtils.isNotBlank(orgPath)) {
List<String> split = Arrays.asList(orgPath.split("/"));
if (split.size() > 1) {
//获取本级sid获取本级部门信息
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(split.size() - 2)).getData();
SysOrganizationVo sysOrganization1 = sysOrganizationFeign.fetchBySid(split.get(split.size() - 1)).getData();
deptName = sysOrganization.getName() + "/" + sysOrganization1.getName();
deptName = sysOrganization1.getName();
deptSid = sysOrganization1.getSid();
} else {
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(0)).getData();
deptName = sysOrganization.getName();
deptName = sysOrganization.getName();
deptSid = sysOrganization.getSid();
}
useOrgSid = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData();
}
//创建组织使用组织
ResultBean<SysOrganizationVo> organizationResultBean = sysOrganizationFeign.fetchBySid(useOrgSid);
if (organizationResultBean.getData() != null) {
vo.setUseOrgName(organizationResultBean.getData().getName());
}
//根据用户sid查询人员姓名
ResultBean<SysUserVo> userVoResultBean = sysUserFeign.fetchBySid(userSid);
vo.setDept(deptName);
vo.setDeptSid(deptSid);
vo.setCreateByName(userVoResultBean.getData().getName());
vo.setApplyDate(DateUtil.today());
vo.setOrgPath(orgPath);
vo.setCreateBySid(userSid);
vo.setUseOrgSid(useOrgSid);
vo.setSourceBillType("1");
return vo;
}
}

51
yxt-as/src/main/java/com/yxt/anrui/as/biz/asbillsettelapplyaitem/AsBillSettelApplyAitemMapper.java

@ -0,0 +1,51 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.as.biz.asbillsettelapplyaitem;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yxt.anrui.as.api.asbillsettelapplyaitem.AsBillSettelApplyAitem;
import com.yxt.anrui.as.api.asbusrepairbillaitem.AsBusrepairBillAitem;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
/**
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Mapper
public interface AsBillSettelApplyAitemMapper extends BaseMapper<AsBillSettelApplyAitem> {
@Select("select * from as_bill_settel_apply_aitem where mainSid = #{billSid}")
List<AsBillSettelApplyAitem> fetchByBillSid(@Param("billSid") String billSid);
@Delete("delete from as_bill_settel_apply_aitem where mainSid = #{billSid}")
void delByBillSid(String billSid);
}

6
yxt-as/src/main/java/com/yxt/anrui/as/biz/asbillsettelapplyaitem/AsBillSettelApplyAitemMapper.xml

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.anrui.as.biz.asbillsettelapplyaitem.AsBillSettelApplyAitemMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
</mapper>

45
yxt-as/src/main/java/com/yxt/anrui/as/biz/asbillsettelapplyaitem/AsBillSettelApplyAitemRest.java

@ -0,0 +1,45 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.as.biz.asbillsettelapplyaitem;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "维修工单-保险信息")
@RestController
@RequestMapping("v1/AsBillSettelApplyAitem")
public class AsBillSettelApplyAitemRest {
}

51
yxt-as/src/main/java/com/yxt/anrui/as/biz/asbillsettelapplyaitem/AsBillSettelApplyAitemService.java

@ -0,0 +1,51 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.as.biz.asbillsettelapplyaitem;
import com.yxt.anrui.as.api.asbillsettelapplyaitem.AsBillSettelApplyAitem;
import com.yxt.anrui.as.api.asbusrepairbillaitem.AsBusrepairBillAitem;
import com.yxt.common.base.service.MybatisBaseService;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Service
public class AsBillSettelApplyAitemService extends MybatisBaseService<AsBillSettelApplyAitemMapper, AsBillSettelApplyAitem> {
public List<AsBillSettelApplyAitem> fetchByBillSid(String billSid) {
return baseMapper.fetchByBillSid(billSid);
}
public void delByBillSid(String billSid) {
baseMapper.delByBillSid(billSid);
}
}

51
yxt-as/src/main/java/com/yxt/anrui/as/biz/asbillsettelapplyaitemspec/AsBillSettelApplyAitemSpecMapper.java

@ -0,0 +1,51 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.as.biz.asbillsettelapplyaitemspec;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yxt.anrui.as.api.asbillsettelapplyaitemspec.AsBillSettelApplyAitemspec;
import com.yxt.anrui.as.api.asbusrepairbillaitem.AsBusrepairBillAitem;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
/**
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Mapper
public interface AsBillSettelApplyAitemSpecMapper extends BaseMapper<AsBillSettelApplyAitemspec> {
@Select("select * from as_bill_settel_apply_aitemspec where mainSid = #{billSid}")
List<AsBillSettelApplyAitemspec> fetchByBillSid(@Param("billSid") String billSid);
@Delete("delete from as_bill_settel_apply_aitemspec where mainSid = #{billSid}")
void delByBillSid(String billSid);
}

6
yxt-as/src/main/java/com/yxt/anrui/as/biz/asbillsettelapplyaitemspec/AsBillSettelApplyAitemSpecMapper.xml

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.anrui.as.biz.asbillsettelapplyaitemspec.AsBillSettelApplyAitemSpecMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
</mapper>

45
yxt-as/src/main/java/com/yxt/anrui/as/biz/asbillsettelapplyaitemspec/AsBillSettelApplyAitemSpecRest.java

@ -0,0 +1,45 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.as.biz.asbillsettelapplyaitemspec;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "维修工单-保险信息")
@RestController
@RequestMapping("v1/AsBillSettelApplyAitemspec")
public class AsBillSettelApplyAitemSpecRest {
}

51
yxt-as/src/main/java/com/yxt/anrui/as/biz/asbillsettelapplyaitemspec/AsBillSettelApplyAitemSpecService.java

@ -0,0 +1,51 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.as.biz.asbillsettelapplyaitemspec;
import com.yxt.anrui.as.api.asbillsettelapplyaitemspec.AsBillSettelApplyAitemspec;
import com.yxt.anrui.as.api.asbusrepairbillaitem.AsBusrepairBillAitem;
import com.yxt.common.base.service.MybatisBaseService;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Service
public class AsBillSettelApplyAitemSpecService extends MybatisBaseService<AsBillSettelApplyAitemSpecMapper, AsBillSettelApplyAitemspec> {
public List<AsBillSettelApplyAitemspec> fetchByBillSid(String billSid) {
return baseMapper.fetchByBillSid(billSid);
}
public void delByBillSid(String billSid) {
baseMapper.delByBillSid(billSid);
}
}

51
yxt-as/src/main/java/com/yxt/anrui/as/biz/asbillsettelapplydetail/AsBillSettelApplyDetailMapper.java

@ -0,0 +1,51 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.as.biz.asbillsettelapplydetail;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yxt.anrui.as.api.asbillsettelapplydetail.AsBillSettelApplyDetail;
import com.yxt.anrui.as.api.asbusrepairbillaitem.AsBusrepairBillAitem;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
/**
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Mapper
public interface AsBillSettelApplyDetailMapper extends BaseMapper<AsBillSettelApplyDetail> {
@Select("select * from as_bill_settel_apply_detail where mainSid = #{billSid}")
List<AsBillSettelApplyDetail> fetchByBillSid(@Param("billSid") String billSid);
@Delete("delete from as_bill_settel_apply_detail where mainSid = #{billSid}")
void delByBillSid(String billSid);
}

6
yxt-as/src/main/java/com/yxt/anrui/as/biz/asbillsettelapplydetail/AsBillSettelApplyDetailMapper.xml

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.anrui.as.biz.asbillsettelapplydetail.AsBillSettelApplyDetailMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
</mapper>

45
yxt-as/src/main/java/com/yxt/anrui/as/biz/asbillsettelapplydetail/AsBillSettelApplyDetailRest.java

@ -0,0 +1,45 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.as.biz.asbillsettelapplydetail;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "维修工单-保险信息")
@RestController
@RequestMapping("v1/AsBillSettelApplyDetail")
public class AsBillSettelApplyDetailRest {
}

51
yxt-as/src/main/java/com/yxt/anrui/as/biz/asbillsettelapplydetail/AsBillSettelApplyDetailService.java

@ -0,0 +1,51 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.as.biz.asbillsettelapplydetail;
import com.yxt.anrui.as.api.asbillsettelapplydetail.AsBillSettelApplyDetail;
import com.yxt.anrui.as.api.asbusrepairbillaitem.AsBusrepairBillAitem;
import com.yxt.common.base.service.MybatisBaseService;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Service
public class AsBillSettelApplyDetailService extends MybatisBaseService<AsBillSettelApplyDetailMapper, AsBillSettelApplyDetail> {
public List<AsBillSettelApplyDetail> fetchByBillSid(String billSid) {
return baseMapper.fetchByBillSid(billSid);
}
public void delByBillSid(String billSid) {
baseMapper.delByBillSid(billSid);
}
}

51
yxt-as/src/main/java/com/yxt/anrui/as/biz/asbillsettelapplysitem/AsBillSettelApplySitemMapper.java

@ -0,0 +1,51 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.as.biz.asbillsettelapplysitem;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yxt.anrui.as.api.asbillsettelapplysitem.AsBillSettelApplySitem;
import com.yxt.anrui.as.api.asbusrepairbillaitem.AsBusrepairBillAitem;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
/**
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Mapper
public interface AsBillSettelApplySitemMapper extends BaseMapper<AsBillSettelApplySitem> {
@Select("select * from as_bill_settel_apply_sitem where mainSid = #{billSid}")
List<AsBillSettelApplySitem> fetchByBillSid(@Param("billSid") String billSid);
@Delete("delete from as_bill_settel_apply_sitem where mainSid = #{billSid}")
void delByBillSid(String billSid);
}

6
yxt-as/src/main/java/com/yxt/anrui/as/biz/asbillsettelapplysitem/AsBillSettelApplySitemMapper.xml

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.anrui.as.biz.asbillsettelapplysitem.AsBillSettelApplySitemMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
</mapper>

45
yxt-as/src/main/java/com/yxt/anrui/as/biz/asbillsettelapplysitem/AsBillSettelApplySitemRest.java

@ -0,0 +1,45 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.as.biz.asbillsettelapplysitem;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "维修工单-保险信息")
@RestController
@RequestMapping("v1/AsBillSettelApplySitem")
public class AsBillSettelApplySitemRest {
}

51
yxt-as/src/main/java/com/yxt/anrui/as/biz/asbillsettelapplysitem/AsBillSettelApplySitemService.java

@ -0,0 +1,51 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.as.biz.asbillsettelapplysitem;
import com.yxt.anrui.as.api.asbillsettelapplysitem.AsBillSettelApplySitem;
import com.yxt.anrui.as.api.asbusrepairbillaitem.AsBusrepairBillAitem;
import com.yxt.common.base.service.MybatisBaseService;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Service
public class AsBillSettelApplySitemService extends MybatisBaseService<AsBillSettelApplySitemMapper, AsBillSettelApplySitem> {
public List<AsBillSettelApplySitem> fetchByBillSid(String billSid) {
return baseMapper.fetchByBillSid(billSid);
}
public void delByBillSid(String billSid) {
baseMapper.delByBillSid(billSid);
}
}

461
yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillService.java

@ -727,6 +727,7 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa
sitemVo.setStaffList(staffList);
sitemVo.setStaffNameList(staffNameList);
sitemVo.setStaffNames(String.join("、", staffNameList));
sitemVo.setRepairerName(String.join("、", staffNameList));
}
sitemVos.add(sitemVo);
}
@ -823,16 +824,16 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa
}
vo.setGoodsDetailsVos(goodsDetailsVos);
}
FmsReceivesettle receivesettle = fmsReceivesettleFeign.fetchBySourceSid(sid).getData();
if (null != receivesettle) {
vo.setShowReSettleBtn(true);
SettleVo settleVo = new SettleVo(); //结算信息
BeanUtil.copyProperties(receivesettle, settleVo);
if (null != receivesettle.getSettleTime()) {
settleVo.setSettleTime(sdf.format(receivesettle.getSettleTime()));
}
vo.setSettleVo(settleVo);
}
// FmsReceivesettle receivesettle = fmsReceivesettleFeign.fetchBySourceSid(sid).getData();
// if (null != receivesettle) {
// vo.setShowReSettleBtn(true);
// SettleVo settleVo = new SettleVo(); //结算信息
// BeanUtil.copyProperties(receivesettle, settleVo);
// if (null != receivesettle.getSettleTime()) {
// settleVo.setSettleTime(sdf.format(receivesettle.getSettleTime()));
// }
// vo.setSettleVo(settleVo);
// }
List<FileUrlQuery> file = new ArrayList<>();
List<String> file2 = new ArrayList<>();
List<AsAppendix> asAppendices = asAppendixService.fetchByLinkSid(sid);
@ -1470,231 +1471,231 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa
String sid = dto.getSid();
AsBusrepairBill asBusrepairBill = fetchBySid(sid);
if (asBusrepairBill.getNodeCode() == 5) {
//计算工时提成分配维修人员
List<AsBusrepairBillSitem> sitems = asBusrepairBillSitemService.fetchByBillSid(sid);
if (sitems != null) {
if (!sitems.isEmpty()) {
for (AsBusrepairBillSitem sitem : sitems) {
BigDecimal examineHourPrice = BigDecimal.ZERO;
if (null != sitem.getExamineHourPrice()) {
examineHourPrice = sitem.getExamineHourPrice();
}
if (examineHourPrice.compareTo(BigDecimal.ZERO) > 0) {
String billSid = sitem.getBillSid();
String serviceItemSid = sitem.getServiceItemSid();
List<AsBusrepairBillSitemRepairer> repairers = asBusrepairBillSitemRepairerService.fetchByBillSid(billSid, serviceItemSid);
if (null != repairers) {
if (!repairers.isEmpty()) {
//查询权重之和
BigDecimal sum = BigDecimal.ZERO;
Map<String, BigDecimal> map = new HashMap<>();
for (AsBusrepairBillSitemRepairer repairer : repairers) {
String rSid = repairer.getSid();
String pSid = repairer.getRepairerSid();
BigDecimal weight = BigDecimal.ZERO;
String w = asTechTitleDetailService.selWeightByUserSid(pSid);
if (StringUtils.isNotBlank(w)) {
weight = new BigDecimal(w);
}
sum = sum.add(weight);
map.put(rSid, weight);
}
if (sum.compareTo(BigDecimal.ZERO) > 0) {
if (map.size() > 0) {
for (Map.Entry<String, BigDecimal> entry : map.entrySet()) {
String mSid = entry.getKey();
BigDecimal mWeight = entry.getValue();
AsBusrepairBillSitemRepairer repairer = asBusrepairBillSitemRepairerService.fetchBySid(mSid);
BigDecimal finalWeight = mWeight.divide(sum, 2, BigDecimal.ROUND_HALF_UP).multiply(examineHourPrice);
repairer.setCommission(finalWeight);
asBusrepairBillSitemRepairerService.updateById(repairer);
}
}
}
}
}
}
}
}
}
// //计算工时提成分配维修人员
// List<AsBusrepairBillSitem> sitems = asBusrepairBillSitemService.fetchByBillSid(sid);
// if (sitems != null) {
// if (!sitems.isEmpty()) {
// for (AsBusrepairBillSitem sitem : sitems) {
// BigDecimal examineHourPrice = BigDecimal.ZERO;
// if (null != sitem.getExamineHourPrice()) {
// examineHourPrice = sitem.getExamineHourPrice();
// }
// if (examineHourPrice.compareTo(BigDecimal.ZERO) > 0) {
// String billSid = sitem.getBillSid();
// String serviceItemSid = sitem.getServiceItemSid();
// List<AsBusrepairBillSitemRepairer> repairers = asBusrepairBillSitemRepairerService.fetchByBillSid(billSid, serviceItemSid);
// if (null != repairers) {
// if (!repairers.isEmpty()) {
// //查询权重之和
// BigDecimal sum = BigDecimal.ZERO;
// Map<String, BigDecimal> map = new HashMap<>();
// for (AsBusrepairBillSitemRepairer repairer : repairers) {
// String rSid = repairer.getSid();
// String pSid = repairer.getRepairerSid();
// BigDecimal weight = BigDecimal.ZERO;
// String w = asTechTitleDetailService.selWeightByUserSid(pSid);
// if (StringUtils.isNotBlank(w)) {
// weight = new BigDecimal(w);
// }
// sum = sum.add(weight);
// map.put(rSid, weight);
// }
// if (sum.compareTo(BigDecimal.ZERO) > 0) {
// if (map.size() > 0) {
// for (Map.Entry<String, BigDecimal> entry : map.entrySet()) {
// String mSid = entry.getKey();
// BigDecimal mWeight = entry.getValue();
// AsBusrepairBillSitemRepairer repairer = asBusrepairBillSitemRepairerService.fetchBySid(mSid);
// BigDecimal finalWeight = mWeight.divide(sum, 2, BigDecimal.ROUND_HALF_UP).multiply(examineHourPrice);
// repairer.setCommission(finalWeight);
// asBusrepairBillSitemRepairerService.updateById(repairer);
// }
// }
// }
// }
// }
// }
// }
// }
// }
if (asBusrepairBill.getSubject().equals("保内")) {
if (asBusrepairBill.getOldIsReclaim() != 1) {
return rb.setMsg("请先完成旧件入库,再进行操作!");
}
asBusrepairBill.setNodeCode(6);
asBusrepairBill.setNodeName("已结算");
asBusrepairBill.setNodeTime(new DateTime());
asBusrepairBill.setSettleTime(DateUtil.formatDate(new Date()));
if (asBusrepairBill.getMaterialConfirm().intValue() == 0) {
asBusrepairBill.setMaterialConfirm(1);
asBusrepairBill.setOutDoorState("2");
}
baseMapper.updateById(asBusrepairBill);
//新增工单环节信息
AsBusrepairBillNode billNode = new AsBusrepairBillNode();
billNode.setBillSid(sid);
billNode.setCreateByName(dto.getOperator());
billNode.setNodeName("已结算");
billNode.setCreateBySid(dto.getOperatorSid());
billNode.setNodeCode("6");
asBusrepairBillNodeService.insert(billNode);
}
if (asBusrepairBill.getSubject().equals("保外")) {
SettleVo settleVo = dto.getSettleVo();
if (null != settleVo) {
FmsReceivesettleDto settleDto = new FmsReceivesettleDto();
BeanUtil.copyProperties(settleVo, settleDto, "id", "sid");
settleDto.setCreateBySid(dto.getOperatorSid());
settleDto.setCreateByName(dto.getOperator());
settleDto.setSourceBillSid(dto.getSid());
settleDto.setSourceBillNo(asBusrepairBill.getBillNo());
fmsReceivesettleFeign.save(settleDto);
if (null != asBusrepairBill.getHourAmount()) {
if (asBusrepairBill.getHourAmount().compareTo(BigDecimal.ZERO) > 0) {
FinUncollectedReceivablesDetailedDto finUncollectedReceivablesDetailedDto = new FinUncollectedReceivablesDetailedDto();
finUncollectedReceivablesDetailedDto.setCreateByName(asBusrepairBill.getCreateByName());
finUncollectedReceivablesDetailedDto.setCreateBySid(asBusrepairBill.getCreateBySid());
finUncollectedReceivablesDetailedDto.setCustomerSid(asBusrepairBill.getCustomerSid());
finUncollectedReceivablesDetailedDto.setCustomerName(asBusrepairBill.getCustomerName());
finUncollectedReceivablesDetailedDto.setContractSid(asBusrepairBill.getSid());
finUncollectedReceivablesDetailedDto.setContractNo(asBusrepairBill.getBillNo());
AsBusrepairBillVech billVech = asBusrepairBillVechService.fetchByBillSid(asBusrepairBill.getSid());
if (null != billVech) {
if (StringUtils.isNotBlank(billVech.getVinNo())) {
finUncollectedReceivablesDetailedDto.setVIN(billVech.getVinNo());
finUncollectedReceivablesDetailedDto.setBusVinSid(billVech.getSid());
}
}
finUncollectedReceivablesDetailedDto.setStaffDeptSid(asBusrepairBill.getDeptSid());
finUncollectedReceivablesDetailedDto.setStaffDeptName(asBusrepairBill.getDeptName());
finUncollectedReceivablesDetailedDto.setCustomerPhone(asBusrepairBill.getMobile());
finUncollectedReceivablesDetailedDto.setUseOrgSid(asBusrepairBill.getUseOrgSid());
finUncollectedReceivablesDetailedDto.setOrgSidPath(asBusrepairBill.getOrgSidPath());
finUncollectedReceivablesDetailedDto.setReceivablesName("工时费");
finUncollectedReceivablesDetailedDto.setCurrentReceivableMoney((asBusrepairBill.getHourAmount()).toString());
finUncollectedReceivablesDetailedDto.setReveivableMoney((asBusrepairBill.getHourAmount()).toString());
finUncollectedReceivablesDetailedDto.setUseOrgName(asBusrepairBill.getUseOrgName());
finUncollectedReceivablesDetailedDto.setKxState("01");
finUncollectedReceivablesDetailedFeign.saveOrUpdate(finUncollectedReceivablesDetailedDto);
}
}
if (null != asBusrepairBill.getGoodsAmount()) {
if (asBusrepairBill.getGoodsAmount().compareTo(BigDecimal.ZERO) > 0) {
FinUncollectedReceivablesDetailedDto finUncollectedReceivablesDetailedDto = new FinUncollectedReceivablesDetailedDto();
finUncollectedReceivablesDetailedDto.setCreateByName(asBusrepairBill.getCreateByName());
finUncollectedReceivablesDetailedDto.setCreateBySid(asBusrepairBill.getCreateBySid());
finUncollectedReceivablesDetailedDto.setCustomerSid(asBusrepairBill.getCustomerSid());
finUncollectedReceivablesDetailedDto.setCustomerName(asBusrepairBill.getCustomerName());
finUncollectedReceivablesDetailedDto.setContractSid(asBusrepairBill.getSid());
finUncollectedReceivablesDetailedDto.setContractNo(asBusrepairBill.getBillNo());
AsBusrepairBillVech billVech = asBusrepairBillVechService.fetchByBillSid(asBusrepairBill.getSid());
if (null != billVech) {
if (StringUtils.isNotBlank(billVech.getVinNo())) {
finUncollectedReceivablesDetailedDto.setVIN(billVech.getVinNo());
finUncollectedReceivablesDetailedDto.setBusVinSid(billVech.getSid());
}
}
finUncollectedReceivablesDetailedDto.setStaffDeptSid(asBusrepairBill.getDeptSid());
finUncollectedReceivablesDetailedDto.setStaffDeptName(asBusrepairBill.getDeptName());
finUncollectedReceivablesDetailedDto.setCustomerPhone(asBusrepairBill.getMobile());
finUncollectedReceivablesDetailedDto.setUseOrgSid(asBusrepairBill.getUseOrgSid());
finUncollectedReceivablesDetailedDto.setOrgSidPath(asBusrepairBill.getOrgSidPath());
finUncollectedReceivablesDetailedDto.setReceivablesName("材料费");
finUncollectedReceivablesDetailedDto.setCurrentReceivableMoney((asBusrepairBill.getGoodsAmount()).toString());
finUncollectedReceivablesDetailedDto.setReveivableMoney((asBusrepairBill.getGoodsAmount()).toString());
finUncollectedReceivablesDetailedDto.setUseOrgName(asBusrepairBill.getUseOrgName());
finUncollectedReceivablesDetailedDto.setKxState("01");
finUncollectedReceivablesDetailedFeign.saveOrUpdate(finUncollectedReceivablesDetailedDto);
}
}
BigDecimal addAmount = BigDecimal.ZERO;
BigDecimal outAmount = BigDecimal.ZERO;
BigDecimal subsidyAmount = BigDecimal.ZERO;
BigDecimal rescueAmount = BigDecimal.ZERO;
if (null != asBusrepairBill.getAddAmount()) {
addAmount = asBusrepairBill.getAddAmount();
}
if (null != asBusrepairBill.getOutAmount()) {
outAmount = asBusrepairBill.getOutAmount();
}
if (null != asBusrepairBill.getSubsidyAmount()) {
subsidyAmount = asBusrepairBill.getSubsidyAmount();
}
if (null != asBusrepairBill.getRescueAmount()) {
rescueAmount = asBusrepairBill.getRescueAmount();
}
BigDecimal otherAmountAll = addAmount.add(outAmount).add(subsidyAmount).add(rescueAmount);
if (otherAmountAll.compareTo(BigDecimal.ZERO) > 0) {
FinUncollectedReceivablesDetailedDto finUncollectedReceivablesDetailedDto = new FinUncollectedReceivablesDetailedDto();
finUncollectedReceivablesDetailedDto.setCreateByName(asBusrepairBill.getCreateByName());
finUncollectedReceivablesDetailedDto.setCreateBySid(asBusrepairBill.getCreateBySid());
finUncollectedReceivablesDetailedDto.setCustomerSid(asBusrepairBill.getCustomerSid());
finUncollectedReceivablesDetailedDto.setCustomerName(asBusrepairBill.getCustomerName());
finUncollectedReceivablesDetailedDto.setContractSid(asBusrepairBill.getSid());
finUncollectedReceivablesDetailedDto.setContractNo(asBusrepairBill.getBillNo());
AsBusrepairBillVech billVech = asBusrepairBillVechService.fetchByBillSid(asBusrepairBill.getSid());
if (null != billVech) {
if (StringUtils.isNotBlank(billVech.getVinNo())) {
finUncollectedReceivablesDetailedDto.setVIN(billVech.getVinNo());
finUncollectedReceivablesDetailedDto.setBusVinSid(billVech.getSid());
}
}
finUncollectedReceivablesDetailedDto.setStaffDeptSid(asBusrepairBill.getDeptSid());
finUncollectedReceivablesDetailedDto.setStaffDeptName(asBusrepairBill.getDeptName());
finUncollectedReceivablesDetailedDto.setCustomerPhone(asBusrepairBill.getMobile());
finUncollectedReceivablesDetailedDto.setUseOrgSid(asBusrepairBill.getUseOrgSid());
finUncollectedReceivablesDetailedDto.setOrgSidPath(asBusrepairBill.getOrgSidPath());
finUncollectedReceivablesDetailedDto.setReceivablesName("其他费用");
finUncollectedReceivablesDetailedDto.setCurrentReceivableMoney(otherAmountAll.toString());
finUncollectedReceivablesDetailedDto.setReveivableMoney(otherAmountAll.toString());
finUncollectedReceivablesDetailedDto.setUseOrgName(asBusrepairBill.getUseOrgName());
finUncollectedReceivablesDetailedDto.setKxState("01");
finUncollectedReceivablesDetailedFeign.saveOrUpdate(finUncollectedReceivablesDetailedDto);
}
}
asBusrepairBill.setSettleTime(DateUtil.formatDate(new Date()));
asBusrepairBill.setNodeCode(6);
asBusrepairBill.setNodeName("已结算");
asBusrepairBill.setNodeTime(new DateTime());
asBusrepairBill.setOutDoorState("2");
baseMapper.updateById(asBusrepairBill);
//保外推送结算申请
AsBillSettelApplyDto settelApplyDto = new AsBillSettelApplyDto();
settelApplyDto.setNodeState("待提交");
settelApplyDto.setSourceBillType(0);
settelApplyDto.setCreateByName(dto.getCreateByName());
settelApplyDto.setCreateTime(new Date());
settelApplyDto.setCreateBySid(dto.getCreateBySid());
settelApplyDto.setUseOrgSid(dto.getUseOrgSid());
settelApplyDto.setDept(dto.getDeptName());
settelApplyDto.setDeptSid(dto.getDeptSid());
settelApplyDto.setSourceSid(dto.getSid());
settelApplyDto.setSourceBillNo(dto.getBillNo());
settelApplyDto.setCustomerSid(dto.getCustomerSid());
settelApplyDto.setCustomerName(dto.getCustomerName());
BigDecimal receivableAmount = BigDecimal.ZERO; // 应收金额
BigDecimal discountAmount = BigDecimal.ZERO; // 优惠金额
BigDecimal settleAmount = BigDecimal.ZERO; // 结算金额
if (StringUtils.isNotBlank(dto.getReceivableAmount())) {
receivableAmount = new BigDecimal(dto.getReceivableAmount());
}
if (StringUtils.isNotBlank(dto.getDiscountAmount())) {
discountAmount = new BigDecimal(dto.getDiscountAmount());
}
settleAmount = receivableAmount.subtract(discountAmount);
settelApplyDto.setReceivableAmount(receivableAmount.toString());
settelApplyDto.setSettleAmount(settleAmount.toString());
asBillSettelApplyService.saveOrUpdateDto(settelApplyDto);
//新增工单环节信息
AsBusrepairBillNode billNode = new AsBusrepairBillNode();
billNode.setBillSid(sid);
billNode.setCreateByName(dto.getOperator());
billNode.setNodeName("已结算");
billNode.setCreateBySid(dto.getOperatorSid());
billNode.setNodeCode("6");
asBusrepairBillNodeService.insert(billNode);
}
// asBusrepairBill.setNodeCode(6);
// asBusrepairBill.setNodeName("已结算");
// asBusrepairBill.setNodeTime(new DateTime());
// asBusrepairBill.setSettleTime(DateUtil.formatDate(new Date()));
// if (asBusrepairBill.getMaterialConfirm().intValue() == 0) {
// asBusrepairBill.setMaterialConfirm(1);
// asBusrepairBill.setOutDoorState("2");
// }
// baseMapper.updateById(asBusrepairBill);
// //新增工单环节信息
// AsBusrepairBillNode billNode = new AsBusrepairBillNode();
// billNode.setBillSid(sid);
// billNode.setCreateByName(dto.getOperator());
// billNode.setNodeName("已结算");
// billNode.setCreateBySid(dto.getOperatorSid());
// billNode.setNodeCode("6");
// asBusrepairBillNodeService.insert(billNode);
}
// if (asBusrepairBill.getSubject().equals("保外")) {
// SettleVo settleVo = dto.getSettleVo();
// if (null != settleVo) {
// FmsReceivesettleDto settleDto = new FmsReceivesettleDto();
// BeanUtil.copyProperties(settleVo, settleDto, "id", "sid");
// settleDto.setCreateBySid(dto.getOperatorSid());
// settleDto.setCreateByName(dto.getOperator());
// settleDto.setSourceBillSid(dto.getSid());
// settleDto.setSourceBillNo(asBusrepairBill.getBillNo());
// fmsReceivesettleFeign.save(settleDto);
// if (null != asBusrepairBill.getHourAmount()) {
// if (asBusrepairBill.getHourAmount().compareTo(BigDecimal.ZERO) > 0) {
// FinUncollectedReceivablesDetailedDto finUncollectedReceivablesDetailedDto = new FinUncollectedReceivablesDetailedDto();
// finUncollectedReceivablesDetailedDto.setCreateByName(asBusrepairBill.getCreateByName());
// finUncollectedReceivablesDetailedDto.setCreateBySid(asBusrepairBill.getCreateBySid());
// finUncollectedReceivablesDetailedDto.setCustomerSid(asBusrepairBill.getCustomerSid());
// finUncollectedReceivablesDetailedDto.setCustomerName(asBusrepairBill.getCustomerName());
// finUncollectedReceivablesDetailedDto.setContractSid(asBusrepairBill.getSid());
// finUncollectedReceivablesDetailedDto.setContractNo(asBusrepairBill.getBillNo());
// AsBusrepairBillVech billVech = asBusrepairBillVechService.fetchByBillSid(asBusrepairBill.getSid());
// if (null != billVech) {
// if (StringUtils.isNotBlank(billVech.getVinNo())) {
// finUncollectedReceivablesDetailedDto.setVIN(billVech.getVinNo());
// finUncollectedReceivablesDetailedDto.setBusVinSid(billVech.getSid());
// }
// }
// finUncollectedReceivablesDetailedDto.setStaffDeptSid(asBusrepairBill.getDeptSid());
// finUncollectedReceivablesDetailedDto.setStaffDeptName(asBusrepairBill.getDeptName());
// finUncollectedReceivablesDetailedDto.setCustomerPhone(asBusrepairBill.getMobile());
// finUncollectedReceivablesDetailedDto.setUseOrgSid(asBusrepairBill.getUseOrgSid());
// finUncollectedReceivablesDetailedDto.setOrgSidPath(asBusrepairBill.getOrgSidPath());
// finUncollectedReceivablesDetailedDto.setReceivablesName("工时费");
// finUncollectedReceivablesDetailedDto.setCurrentReceivableMoney((asBusrepairBill.getHourAmount()).toString());
// finUncollectedReceivablesDetailedDto.setReveivableMoney((asBusrepairBill.getHourAmount()).toString());
// finUncollectedReceivablesDetailedDto.setUseOrgName(asBusrepairBill.getUseOrgName());
// finUncollectedReceivablesDetailedDto.setKxState("01");
// finUncollectedReceivablesDetailedFeign.saveOrUpdate(finUncollectedReceivablesDetailedDto);
// }
// }
// if (null != asBusrepairBill.getGoodsAmount()) {
// if (asBusrepairBill.getGoodsAmount().compareTo(BigDecimal.ZERO) > 0) {
// FinUncollectedReceivablesDetailedDto finUncollectedReceivablesDetailedDto = new FinUncollectedReceivablesDetailedDto();
// finUncollectedReceivablesDetailedDto.setCreateByName(asBusrepairBill.getCreateByName());
// finUncollectedReceivablesDetailedDto.setCreateBySid(asBusrepairBill.getCreateBySid());
// finUncollectedReceivablesDetailedDto.setCustomerSid(asBusrepairBill.getCustomerSid());
// finUncollectedReceivablesDetailedDto.setCustomerName(asBusrepairBill.getCustomerName());
// finUncollectedReceivablesDetailedDto.setContractSid(asBusrepairBill.getSid());
// finUncollectedReceivablesDetailedDto.setContractNo(asBusrepairBill.getBillNo());
// AsBusrepairBillVech billVech = asBusrepairBillVechService.fetchByBillSid(asBusrepairBill.getSid());
// if (null != billVech) {
// if (StringUtils.isNotBlank(billVech.getVinNo())) {
// finUncollectedReceivablesDetailedDto.setVIN(billVech.getVinNo());
// finUncollectedReceivablesDetailedDto.setBusVinSid(billVech.getSid());
// }
// }
// finUncollectedReceivablesDetailedDto.setStaffDeptSid(asBusrepairBill.getDeptSid());
// finUncollectedReceivablesDetailedDto.setStaffDeptName(asBusrepairBill.getDeptName());
// finUncollectedReceivablesDetailedDto.setCustomerPhone(asBusrepairBill.getMobile());
// finUncollectedReceivablesDetailedDto.setUseOrgSid(asBusrepairBill.getUseOrgSid());
// finUncollectedReceivablesDetailedDto.setOrgSidPath(asBusrepairBill.getOrgSidPath());
// finUncollectedReceivablesDetailedDto.setReceivablesName("材料费");
// finUncollectedReceivablesDetailedDto.setCurrentReceivableMoney((asBusrepairBill.getGoodsAmount()).toString());
// finUncollectedReceivablesDetailedDto.setReveivableMoney((asBusrepairBill.getGoodsAmount()).toString());
// finUncollectedReceivablesDetailedDto.setUseOrgName(asBusrepairBill.getUseOrgName());
// finUncollectedReceivablesDetailedDto.setKxState("01");
// finUncollectedReceivablesDetailedFeign.saveOrUpdate(finUncollectedReceivablesDetailedDto);
// }
// }
// BigDecimal addAmount = BigDecimal.ZERO;
// BigDecimal outAmount = BigDecimal.ZERO;
// BigDecimal subsidyAmount = BigDecimal.ZERO;
// BigDecimal rescueAmount = BigDecimal.ZERO;
// if (null != asBusrepairBill.getAddAmount()) {
// addAmount = asBusrepairBill.getAddAmount();
// }
// if (null != asBusrepairBill.getOutAmount()) {
// outAmount = asBusrepairBill.getOutAmount();
// }
// if (null != asBusrepairBill.getSubsidyAmount()) {
// subsidyAmount = asBusrepairBill.getSubsidyAmount();
// }
// if (null != asBusrepairBill.getRescueAmount()) {
// rescueAmount = asBusrepairBill.getRescueAmount();
// }
// BigDecimal otherAmountAll = addAmount.add(outAmount).add(subsidyAmount).add(rescueAmount);
// if (otherAmountAll.compareTo(BigDecimal.ZERO) > 0) {
// FinUncollectedReceivablesDetailedDto finUncollectedReceivablesDetailedDto = new FinUncollectedReceivablesDetailedDto();
// finUncollectedReceivablesDetailedDto.setCreateByName(asBusrepairBill.getCreateByName());
// finUncollectedReceivablesDetailedDto.setCreateBySid(asBusrepairBill.getCreateBySid());
// finUncollectedReceivablesDetailedDto.setCustomerSid(asBusrepairBill.getCustomerSid());
// finUncollectedReceivablesDetailedDto.setCustomerName(asBusrepairBill.getCustomerName());
// finUncollectedReceivablesDetailedDto.setContractSid(asBusrepairBill.getSid());
// finUncollectedReceivablesDetailedDto.setContractNo(asBusrepairBill.getBillNo());
// AsBusrepairBillVech billVech = asBusrepairBillVechService.fetchByBillSid(asBusrepairBill.getSid());
// if (null != billVech) {
// if (StringUtils.isNotBlank(billVech.getVinNo())) {
// finUncollectedReceivablesDetailedDto.setVIN(billVech.getVinNo());
// finUncollectedReceivablesDetailedDto.setBusVinSid(billVech.getSid());
// }
// }
// finUncollectedReceivablesDetailedDto.setStaffDeptSid(asBusrepairBill.getDeptSid());
// finUncollectedReceivablesDetailedDto.setStaffDeptName(asBusrepairBill.getDeptName());
// finUncollectedReceivablesDetailedDto.setCustomerPhone(asBusrepairBill.getMobile());
// finUncollectedReceivablesDetailedDto.setUseOrgSid(asBusrepairBill.getUseOrgSid());
// finUncollectedReceivablesDetailedDto.setOrgSidPath(asBusrepairBill.getOrgSidPath());
// finUncollectedReceivablesDetailedDto.setReceivablesName("其他费用");
// finUncollectedReceivablesDetailedDto.setCurrentReceivableMoney(otherAmountAll.toString());
// finUncollectedReceivablesDetailedDto.setReveivableMoney(otherAmountAll.toString());
// finUncollectedReceivablesDetailedDto.setUseOrgName(asBusrepairBill.getUseOrgName());
// finUncollectedReceivablesDetailedDto.setKxState("01");
// finUncollectedReceivablesDetailedFeign.saveOrUpdate(finUncollectedReceivablesDetailedDto);
// }
// }
// asBusrepairBill.setSettleTime(DateUtil.formatDate(new Date()));
// asBusrepairBill.setNodeCode(6);
// asBusrepairBill.setNodeName("已结算");
// asBusrepairBill.setNodeTime(new DateTime());
// asBusrepairBill.setOutDoorState("2");
// baseMapper.updateById(asBusrepairBill);
// //保外推送结算申请
// AsBillSettelApplyDto settelApplyDto = new AsBillSettelApplyDto();
// settelApplyDto.setNodeState("待提交");
// settelApplyDto.setSourceBillType(0);
// settelApplyDto.setCreateByName(dto.getCreateByName());
// settelApplyDto.setCreateTime(new Date());
// settelApplyDto.setCreateBySid(dto.getCreateBySid());
// settelApplyDto.setUseOrgSid(dto.getUseOrgSid());
// settelApplyDto.setDept(dto.getDeptName());
// settelApplyDto.setDeptSid(dto.getDeptSid());
// settelApplyDto.setSourceSid(dto.getSid());
// settelApplyDto.setSourceBillNo(dto.getBillNo());
// settelApplyDto.setCustomerSid(dto.getCustomerSid());
// settelApplyDto.setCustomerName(dto.getCustomerName());
// BigDecimal receivableAmount = BigDecimal.ZERO; // 应收金额
// BigDecimal discountAmount = BigDecimal.ZERO; // 优惠金额
// BigDecimal settleAmount = BigDecimal.ZERO; // 结算金额
// if (StringUtils.isNotBlank(dto.getReceivableAmount())) {
// receivableAmount = new BigDecimal(dto.getReceivableAmount());
// }
// if (StringUtils.isNotBlank(dto.getDiscountAmount())) {
// discountAmount = new BigDecimal(dto.getDiscountAmount());
// }
// settleAmount = receivableAmount.subtract(discountAmount);
// settelApplyDto.setReceivableAmount(receivableAmount.toString());
// settelApplyDto.setSettleAmount(settleAmount.toString());
// asBillSettelApplyService.saveOrUpdateDto(settelApplyDto);
// //新增工单环节信息
// AsBusrepairBillNode billNode = new AsBusrepairBillNode();
// billNode.setBillSid(sid);
// billNode.setCreateByName(dto.getOperator());
// billNode.setNodeName("已结算");
// billNode.setCreateBySid(dto.getOperatorSid());
// billNode.setNodeCode("6");
// asBusrepairBillNodeService.insert(billNode);
// }
}
return rb.success();
}

Loading…
Cancel
Save