Browse Source

Merge remote-tracking branch 'origin/master'

zhanglei
God 10 months ago
parent
commit
d38c6273bc
  1. 13
      yxt-as-ui/src/api/storage/maintenanceInOrOutBound.js
  2. 34
      yxt-as-ui/src/api/storage/oldPartsInAndOutStorage.js
  3. 3
      yxt-as-ui/src/api/storage/oldPartsInStorage.js
  4. 3
      yxt-as-ui/src/api/storage/oldPartsInvertory.js
  5. 10
      yxt-as-ui/src/api/warehouse/goodsShelves.js
  6. 4
      yxt-as-ui/src/views/maintenance/maintenanceOutbound/index.vue
  7. 8
      yxt-as-ui/src/views/storage/inOutStorage/index.vue
  8. 22
      yxt-as-ui/src/views/storage/inventory/inventoryRefer.vue
  9. 16
      yxt-as-ui/src/views/storage/maintenanceInOrOutBound/index.vue
  10. 24
      yxt-as-ui/src/views/storage/oldPartsInAndOutStorage/index.vue
  11. 4
      yxt-as-ui/src/views/storage/oldPartsInStorage/index.vue
  12. 210
      yxt-as-ui/src/views/storage/oldPartsInStorage/oldPartsInStorageAdd.vue
  13. 20
      yxt-as-ui/src/views/storage/oldPartsInvertory/index.vue
  14. 6
      yxt-as-ui/src/views/storage/oldPartsInvertory/oldPartsInvertoryInfo.vue
  15. 2
      yxt-as-ui/src/views/storage/oldPartsRecovery/repairbillInfo.vue
  16. 21
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBillListReturnGoodsQuery.java
  17. 35
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBillListReturnGoodsVo.java
  18. 7
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/GoodsDetailsVo.java
  19. 2
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillMapper.java
  20. 16
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillMapper.xml
  21. 8
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillRest.java
  22. 34
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillService.java
  23. 9
      yxt-sms-biz/src/main/java/com/yxt/sms/apiadmin/SmsSalesBillRest.java
  24. 8
      yxt-sms-biz/src/main/java/com/yxt/sms/apiadmin/SmsSalesReturnRest.java
  25. 3
      yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SalesGoodsVo.java
  26. 21
      yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsBillListReturnGoodsQuery.java
  27. 31
      yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsBillListReturnGoodsVo.java
  28. 2
      yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsSalesBillMapper.java
  29. 14
      yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsSalesBillMapper.xml
  30. 32
      yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsSalesBillService.java
  31. 3
      yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbilldetail/SmsSalesBillDetail.java
  32. 33
      yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SalesGoodsReturnVo.java
  33. 57
      yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsGoodsDetailsVo.java
  34. 24
      yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturn.java
  35. 63
      yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturnNewDetailsVo.java
  36. 59
      yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturnNewDto.java
  37. 112
      yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturnService.java
  38. 57
      yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSitemVo.java
  39. 8
      yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturndetail/SmsSalesReturnDetail.java
  40. 23
      yxt-sms-biz/src/main/java/com/yxt/sms/feign/as/asbusrepairbill/AitemVo.java
  41. 134
      yxt-sms-biz/src/main/java/com/yxt/sms/feign/as/asbusrepairbill/AsBusrepairBillDetailsVo.java
  42. 27
      yxt-sms-biz/src/main/java/com/yxt/sms/feign/as/asbusrepairbill/AsBusrepairBillFeign.java
  43. 56
      yxt-sms-biz/src/main/java/com/yxt/sms/feign/as/asbusrepairbill/GoodsDetailsVo.java
  44. 40
      yxt-sms-biz/src/main/java/com/yxt/sms/feign/as/asbusrepairbill/InsuranceVo.java
  45. 29
      yxt-sms-biz/src/main/java/com/yxt/sms/feign/as/asbusrepairbill/InvoiceVo.java
  46. 20
      yxt-sms-biz/src/main/java/com/yxt/sms/feign/as/asbusrepairbill/OtherVo.java
  47. 39
      yxt-sms-biz/src/main/java/com/yxt/sms/feign/as/asbusrepairbill/SettleVo.java
  48. 57
      yxt-sms-biz/src/main/java/com/yxt/sms/feign/as/asbusrepairbill/SitemVo.java

13
yxt-as-ui/src/api/storage/maintenanceInOrOutBound.js

@ -12,6 +12,17 @@ export default {
})
},
// 导出报表
exportExcel: function(data) {
return request({
url: '/as/v1/AsBusrepairInventorybill/exportExcel',
method: 'post',
responseType: 'blob', // 表明返回服务器返回的数据类型
data: data,
headers: {
'Content-Type': 'application/json'
}
});
},
}

34
yxt-as-ui/src/api/storage/oldPartsInAndOutStorage.js

@ -29,13 +29,13 @@ export default {
// 选择厂家
choiceManufacturer: function(params) {
return request({
return request({
url: '/yxtbase/apiadmin/base/basemanufacturer/listAll',
method: 'post',
data: params,
headers: {
'Content-Type': 'application/json'
}
method: 'post',
data: params,
headers: {
'Content-Type': 'application/json'
}
})
},
@ -43,21 +43,23 @@ export default {
getWarehouses: function(params) {
return request({
url: '/wms/apiadmin/base/wmswarehouseinfo/listAll',
method: 'post',
data: params,
headers: {
'Content-Type': 'application/json'
}
})
method: 'post',
data: params,
headers: {
'Content-Type': 'application/json'
}
})
},
// 根据仓库查询库位
getWarehouseareas: function(data) {
return request({
url: '/wms/apiadmin/base/wmswarehousearea/selectAll',
method: 'get',
params: data,
headers: { 'Content-Type': 'application/json' }
url: '/wms/apiadmin/base/wmswarehousearea/selectAll',
method: 'get',
params: data,
headers: {
'Content-Type': 'application/json'
}
});
},

3
yxt-as-ui/src/api/storage/oldPartsInStorage.js

@ -17,9 +17,8 @@ export default {
// 获取旧件入库详情
init: function(data) {
return request({
url: '/wms/apiadmin/WmsOldInventory/getInit',
url: '/wms/apiadmin/WmsOldInventory/getInit?sid='+data,
method: 'get',
data: data,
});
},

3
yxt-as-ui/src/api/storage/oldPartsInvertory.js

@ -17,9 +17,8 @@ export default {
// 获取旧件出入库记录详情
init: function(data) {
return request({
url: '/wms/apiadmin/WmsOldInventory/getDetailsList',
url: '/wms/apiadmin/WmsOldInventory/getDetailsList?sid='+data,
method: 'get',
data: data,
});
},

10
yxt-as-ui/src/api/warehouse/goodsShelves.js

@ -14,6 +14,16 @@ export default {
})
},
// 根据仓库查询库位
getWarehouseareas: function(data) {
return request({
url: '/wms/apiadmin/base/wmswarehousearea/selectAll',
method: 'get',
params: data,
headers: { 'Content-Type': 'application/json' }
});
},
// 修改是否可用状态
updateIsEnable: function(sid,isEnable) {

4
yxt-as-ui/src/views/maintenance/maintenanceOutbound/index.vue

@ -180,7 +180,7 @@
<el-button type="primary" size="mini" @click="deleteGoods(scope.row)">删除</el-button>
</template>
</el-table-column>
<el-table-column label="项目名称" prop="serviceItem" align="center" />
<el-table-column label="项目名称" prop="serviceItem"width="120" align="center" />
<!-- <el-table-column label="商品名称" prop="goodsSpuName" align="center" /> -->
<el-table-column label="商品名称" align="center" min-width="120">
@ -218,7 +218,7 @@
<el-table-column label="商品编码" prop="goodsSkuCode" align="center" />
<el-table-column label="规格" prop="goodsSkuOwnSpec" align="center" />
<el-table-column label="单位" prop="unit" align="center" />
<el-table-column label="仓库" prop="warehouseName" align="center" />
<el-table-column label="仓库" prop="warehouseName"width="150" align="center" />
<el-table-column label="库位" prop="warehouseRackCode" align="center" />
<el-table-column label="销售单价" prop="price" align="center" />
<el-table-column label="已出数量" prop="outboundCount" align="center" />

8
yxt-as-ui/src/views/storage/inOutStorage/index.vue

@ -37,9 +37,9 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item label="批次号">
<!-- <el-form-item label="批次号">
<el-input v-model="queryParams.params.batchNumber" placeholder="" clearable />
</el-form-item>
</el-form-item> -->
<el-form-item label="来源单号">
<el-input v-model="queryParams.params.billNo" placeholder="" clearable />
</el-form-item>
@ -87,15 +87,17 @@
<el-table-column prop="goodsSkuOwnSpec" label="规格" align="center" width="120" />
<el-table-column prop="unit" label="单位" align="center" width="80" />
<el-table-column prop="warehouseName" label="仓库" align="center" width="100" />
<el-table-column prop="warehouseName" label="库区" align="center" width="100" />
<el-table-column prop="warehouseRackCode" label="库位" align="center" width="100" />
<el-table-column prop="billNo" label="来源单号" align="center" width="120" />
<el-table-column prop="billType" label="单据类型" align="center" width="120" />
<el-table-column prop="createTime" label="发生时间" align="center" width="120" />
<el-table-column prop="busTypeValue" label="业务类型" align="center" width="120" />
<el-table-column prop="billObjName" label="客户/供应商" align="center" width="150" />
<el-table-column prop="batchNumber" label="批次号" align="center" width="100" />
<el-table-column prop="count" label="数量" align="center" width="80" />
<el-table-column prop="currentCount" label="出入库后的库存" align="center" width="150" />
<el-table-column prop="currentCount" label="操作人" align="center" width="150" />
<el-table-column prop="currentCount" label="经办人" align="center" width="150" />
</el-table>
</div>
<!-- End 项目列表 -->

22
yxt-as-ui/src/views/storage/inventory/inventoryRefer.vue

@ -60,24 +60,24 @@
<div class="">
<el-table :key="tableKey" v-loading="listLoading" :data="list" :border="true" style="width: 100%;">
<el-table-column label="序号" type="index" width="80" :index="indexMethod" align="center"/>
<el-table-column prop="goodsID" label="商品ID" align="center" width="100" />
<el-table-column prop="goodsSpuName" label="商品名称" align="center" width="100" />
<el-table-column prop="goodsSkuCode" label="商品编码" align="center" width="100" />
<el-table-column prop="goodsID" label="商品ID" align="center" width="150" />
<el-table-column prop="goodsSpuName" label="商品名称" align="center" width="180" />
<el-table-column prop="goodsSkuCode" label="商品编码" align="center" width="120" />
<el-table-column prop="goodsSkuOwnSpec" label="规格" align="center" width="100" />
<el-table-column prop="unit" label="单位" align="center" width="80" />
<el-table-column prop="warehouseName" label="仓库" min-width="100" />
<el-table-column prop="warehouseRackCode" label="库区" width="100" />
<el-table-column prop="warehouseRackCode" label="库位" width="100" />
<el-table-column prop="billNo" label="来源单号" align="center" width="100" />
<el-table-column prop="warehouseName" label="仓库" align="center"width="150" />
<el-table-column prop="warehouseAreaName" label="库区"align="center" width="100" />
<el-table-column prop="warehouseRackCode" label="库位" align="center"width="100" />
<el-table-column prop="billNo" label="来源单号" align="center" width="150" />
<el-table-column prop="createTime" label="发生时间" align="center" width="120" />
<el-table-column prop="billType" label="单据类型" align="center" width="100" />
<el-table-column prop="busTypeValue" label="业务类型" align="center" width="100" />
<el-table-column prop="billObjName" label="客户/供应商" align="center" width="150" />
<el-table-column prop="batchNumber" label="批次号" align="center" width="100" />
<!-- <el-table-column prop="batchNumber" label="批次号" align="center" width="100" /> -->
<el-table-column prop="count" label="数量" align="center" width="100" />
<el-table-column prop="currentCount" label="出入库后的库存" width="140" />
<el-table-column prop="currentCount" label="操作人" width="100" />
<el-table-column prop="currentCount" label="经办人" width="100" />
<el-table-column prop="currentCount" label="出入库后的库存" align="center"width="140" />
<el-table-column prop="createByName" label="操作人" align="center"width="100" />
<el-table-column prop="handlerName" label="经办人"align="center" width="100" />
</el-table>
</div>
<!--End 主页面主要部分-->

16
yxt-as-ui/src/views/storage/maintenanceInOrOutBound/index.vue

@ -233,7 +233,7 @@
},
toBuild() {
if (this.sids.length > 0) {
// if (this.sids.length > 0) {
const loading = this.$loading({
lock: true,
text: 'Loading',
@ -259,13 +259,13 @@
}).catch(() => {
loading.close()
})
} else {
this.$message({
type: "warning",
showClose: true,
message: '请至少选择一条记录进行操作'
})
}
// } else {
// this.$message({
// type: "warning",
// showClose: true,
// message: ''
// })
// }
},
showResult(row) {

24
yxt-as-ui/src/views/storage/oldPartsInAndOutStorage/index.vue

@ -323,7 +323,7 @@
},
toBuild() {
if (this.sids.length > 0) {
// if (this.sids.length > 0) {
const loading = this.$loading({
lock: true,
text: 'Loading',
@ -349,13 +349,13 @@
}).catch(() => {
loading.close()
})
} else {
this.$message({
type: "warning",
showClose: true,
message: '请至少选择一条记录进行操作'
})
}
// } else {
// this.$message({
// type: "warning",
// showClose: true,
// message: ''
// })
// }
},
toRelevancy() {
@ -380,9 +380,11 @@
},
getManufacturerList() {
var params = {
createOrgSid: ""
}
var params = {
userSid : window.sessionStorage.getItem('userSid'),
orgPath :window.sessionStorage.getItem('defaultOrgPath'),
menuUrl : this.$route.path
}
req.choiceManufacturer(params).then((res) => {
if (res.success) {
this.manufacturerList = res.data

4
yxt-as-ui/src/views/storage/oldPartsInStorage/index.vue

@ -46,8 +46,8 @@
<el-button type="primary" size="mini" @click="toRelevancy(scope.row)">查看</el-button>
</template>
</el-table-column> -->
<el-table-column prop="goodsID" label="商品ID" width="120" align="center" />
<el-table-column prop="goodsSkuTitle" label="商品名称"width="120" align="center" />
<el-table-column prop="goodsID" label="商品ID" width="150" align="center" />
<el-table-column prop="goodsSkuTitle" label="商品名称"width="150" align="center" />
<el-table-column prop="goodsSkuCode" label="商品编码" width="120"align="center" />
<el-table-column prop="manufacturerName" label="厂家" width="120"align="center" />
<el-table-column prop="goodsSkuOwnSpec" label="规格" width="120"align="center" />

210
yxt-as-ui/src/views/storage/oldPartsInStorage/oldPartsInStorageAdd.vue

@ -15,7 +15,7 @@
<div class="listconadd">
<el-form ref="form_obj" :model="formobj" class="formaddcopy02">
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02">
<el-row class="first_row">
@ -24,69 +24,94 @@
<el-form-item><span class="addinputInfo">{{ formobj.sourceBillNo }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty">商品名称</div>
<el-form-item><span class="addinputInfo">{{ formobj.goodsSpuName }}</span></el-form-item>
<div class="span-sty">车架号/车牌号</div>
<el-form-item><span class="addinputInfo">{{ formobj.vinNo }}/{{ formobj.vehMark }}</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.goodsSkuCode }}</span></el-form-item>
<div class="span-sty">商品名称</div>
<el-form-item><span class="addinputInfo">{{ formobj.goodsSkuTitle }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty">车架号</div>
<el-form-item><span class="addinputInfo">{{ formobj.vinNo }}</span></el-form-item>
<div class="span-sty"><span class="must">*</span> 商品编码</div>
<el-form-item prop="goodsSkuCode"> <el-input class="addinputw addinputInfo" v-model="formobj.goodsSkuCode"
clearable placeholder="" /></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-col :span="24">
<div class="span-sty">厂家</div>
<el-form-item><span class="addinputInfo">{{ formobj.manufacturerName }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty">规格</div>
<el-form-item><span class="addinputInfo">{{ formobj.goodsSkuOwnSpec }}</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.warehouseName }}</span></el-form-item>
<div class="span-sty">规格</div>
<el-form-item><span class="addinputInfo">{{ formobj.goodsSkuOwnSpec }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty"></div>
<el-form-item><span class="addinputInfo">{{ formobj.warehouseRackCode }}</span></el-form-item>
<div class="span-sty"></div>
<el-form-item><span class="addinputInfo">{{ formobj.unit }}</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.unit }}</span></el-form-item>
<div class="span-sty"><span class="must">*</span> 仓库</div>
<!-- <el-form-item><span class="addinputInfo">{{ formobj.warehouseName }}</span></el-form-item> -->
<el-form-item prop="warehouseName">
<el-select v-model="formobj.warehouseName" placeholder="请选择仓库" class="addinputw addinputInfo"
@change="selectWarehouseName">
<el-option v-for="item in warehouseList" :key="item.sid" :label="item.warehouseName"
:value="item.sid" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty">未入库数量</div>
<el-form-item><span class="addinputInfo">{{ formobj.notInCount }}</span></el-form-item>
<div class="span-sty"><span class="must">*</span> 库位</div>
<!-- <el-form-item><span class="addinputInfo">{{ formobj.warehouseRackCode }}</span></el-form-item> -->
<el-form-item prop="warehouseRackCode">
<el-select v-model="formobj.warehouseRackCode" clearable placeholder="请选择库位" class="addinputw addinputInfo"
@change="selectWarehouseAreaCode">
<el-option v-for="(item,i) in warehouseRackList" :key="i" :label="item.areaCode" :value="item.sid">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">入库数量</div>
<el-form-item> <el-input class="addinputw addinputInfo" @input="commodityComputeYHAndXSJE(formobj,$event)"
v-model="formobj.count" clearable placeholder=""
<el-col :span="12">
<div class="span-sty"><span class="must">*</span> 入库数量</div>
<el-form-item prop="count"> <el-input class="addinputw addinputInfo"
@input="commodityComputeYHAndXSJE(formobj,$event)" v-model="formobj.count" clearable placeholder=""
oninput="value=value.replace(/^(0+)|[^\d]+/g,'')" /></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty">未入库数量</div>
<el-form-item><span class="addinputInfo">{{ formobj.notInCount }}</span></el-form-item>
</el-col>
</el-row>
@ -101,6 +126,8 @@
<script>
import req from '@/api/storage/oldPartsInStorage.js'
import req2 from '@/api/warehouse/warehouse.js'
import req3 from '@/api/warehouse/goodsShelves.js'
import {
getOrgSidByPath
} from '@/api/Common/dictcommons'
@ -110,7 +137,35 @@
return {
listLoading: false,
submitdisabled: false,
formobj: {},
formobj: {
warehouseName:"",
warehouseRackCode:""
},
warehouseList: [],
warehouseRackList: [],
rules: {
goodsSkuCode: [{
required: true,
message: '商品编码不能为空',
trigger: 'blur'
}],
warehouseName: [{
required: true,
message: '请选择仓库',
trigger: 'change'
}],
warehouseRackCode: [{
required: true,
message: '请选择库位',
trigger: 'change'
}],
count: [{
required: true,
message: '入库数量不能为空',
trigger: 'blur'
}],
}
}
},
created() {
@ -131,21 +186,32 @@
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
this.formobj = {
warehouseName:"",
warehouseRackCode:""
}
this.submitdisabled = false
this.$emit('doback')
},
showAdd() {
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
this.getWarehouseList()
},
showEdit(row) {
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
this.getWarehouseList()
var params = {
sid: row.sid
}
req.init(params)
req.init(row.sid)
.then(resp => {
if (resp.success) {
this.formobj = resp.data
@ -162,30 +228,22 @@
console.log("aaaaaaaaa", val);
if (Number(val) > Number(row.notInCount)) {
row.count = row.notInCount
row.inCount = row.notInCount
}
},
saveOrUpdate() {
if (Number(this.formobj.count) == 0) {
this.$message({
showClose: true,
type: 'warning',
message: '请输入入库数量'
})
return
}
if (Number(this.formobj.count) > Number(this.formobj.notInCount)) {
this.$message({
showClose: true,
type: 'warning',
message: '入库数量不能大于待入库数量'
})
return
}
console.log("aaaaaaaaa", this.formobj);
if (Number(this.formobj.count) == 0) {
this.$message({
showClose: true,
type: 'warning',
message: '入库数量不能为0'
})
return
}
this.$refs['form_obj'].validate((valid) => {
if (valid) {
@ -207,11 +265,71 @@
}
})
}
},
getWarehouseList() {
var parpams = {
orgPath: window.sessionStorage.getItem('defaultOrgPath'),
}
req2.getAllWarehouse(parpams).then((res) => {
if (res.success) {
this.warehouseList = res.data
console.log("aaaaaa", this.warehouseList);
}
})
},
getWarehouseAreaList(sid) {
this.warehouseRackList=[]
var query = {
ckSid: sid
}
req3.getWarehouseareas(query).then((res) => {
if (res.success) {
this.warehouseRackList = res.data
console.log("aaaaaa", this.warehouseRackList);
}
})
},
selectWarehouseName(val) {
console.log("selectWarehouseName", val);
const choose = this.warehouseList.filter((item) => item.sid == val)
console.log('>>>>>>>>>selectWarehouseName', choose)
this.formobj.warehouseName = choose[0].warehouseName
this.formobj.warehouseSid = choose[0].sid
this.formobj.warehouseRackCode = ''
this.formobj.warehouseRackSid =''
this.getWarehouseAreaList(choose[0].sid)
},
selectWarehouseAreaCode(val) {
console.log("selectWarehouseAreaCode", val);
const choose = this.warehouseRackList.filter((item) => item.sid == val)
console.log('>>>>>>>>>selectWarehouseAreaCode', choose)
this.formobj.warehouseRackCode = choose[0].areaCode
this.formobj.warehouseRackSid = choose[0].sid
},
}
}
</script>
<style scoped>
/deep/ .el-form-item__error {
margin-left: 120px !important;
}
.must {
color: #f00;
}
.span-sty {
width: 130px !important;
}

20
yxt-as-ui/src/views/storage/oldPartsInvertory/index.vue

@ -316,7 +316,7 @@
toBuild() {
if (this.sids.length > 0) {
// if (this.sids.length > 0) {
const loading = this.$loading({
lock: true,
text: 'Loading',
@ -342,13 +342,13 @@
}).catch(() => {
loading.close()
})
} else {
this.$message({
type:"warning",
showClose: true,
message: '请至少选择一条记录进行操作'
})
}
// } else {
// this.$message({
// type:"warning",
// showClose: true,
// message: ''
// })
// }
},
toRelevancy(row) {
@ -374,7 +374,9 @@
},
getManufacturerList() {
var params = {
createOrgSid: ""
userSid : window.sessionStorage.getItem('userSid'),
orgPath :window.sessionStorage.getItem('defaultOrgPath'),
menuUrl : this.$route.path
}
req.choiceManufacturer(params).then((res) => {
if (res.success) {

6
yxt-as-ui/src/views/storage/oldPartsInvertory/oldPartsInvertoryInfo.vue

@ -15,9 +15,9 @@
<div class="listconadd">
<el-form ref="form_obj" :model="formobj" class="formaddcopy02">
<div class="title">
<!-- <div class="title">
<div>基础信息</div>
</div>
</div> -->
<el-row class="first_row">
<el-col :span="8">
@ -104,7 +104,7 @@
var params = {
sid: row.sid
}
req.init(params)
req.init(row.sid)
.then(resp => {
if (resp.success) {
this.formobj = resp.data

2
yxt-as-ui/src/views/storage/oldPartsRecovery/repairbillInfo.vue

@ -452,7 +452,7 @@ export default {
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
req.fetchBySid(row.sid).then((res) => {
req.fetchBySid(row.billSid).then((res) => {
if (res.success) {
this.formobj = res.data
if (this.formobj.sitemVos.length > 0) {

21
yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBillListReturnGoodsQuery.java

@ -0,0 +1,21 @@
package com.yxt.anrui.as.api.asbusrepairbill;
import com.yxt.common.core.query.Query;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/6/21 14:02
*/
@Data
public class AsBillListReturnGoodsQuery implements Query {
private String deptSid; //部门sid
private String billNo;//工单编号
private String customerName;//客户
private String vehMark;//车牌号
private String startDate; //进厂开始日期
private String endDate; //进厂结束日期
}

35
yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBillListReturnGoodsVo.java

@ -0,0 +1,35 @@
package com.yxt.anrui.as.api.asbusrepairbill;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* @author Fan
* @description
* @date 2024/6/21 14:01
*/
@Data
public class AsBillListReturnGoodsVo implements Vo {
private String sid;
private String billNo;//工单编号
@ApiModelProperty("单据类型0正常工单、1保险理赔、2协议单位")
private String billType;
@ApiModelProperty("是否外出")
private String isGoOut;
@ApiModelProperty("客户名称")
private String customerName;
@ApiModelProperty("联系电话")
private String mobile;
@ApiModelProperty("车牌号")
private String vehMark;
@ApiModelProperty("车架号")
private String vinNo;
@ApiModelProperty("进厂时间")
private String entryTime;
}

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

@ -14,10 +14,11 @@ import java.math.BigDecimal;
@Data
public class GoodsDetailsVo implements Vo {
private String sid;
private String goodsID;
//商品名称
private String goodsSpuName;
// //商品Sku名称
// private String goodsSkuTitle;
//商品Sku名称
private String goodsSkuTitle;
//商品编码(图号)
private String goodsSkuCode;
//规格型号
@ -51,5 +52,7 @@ public class GoodsDetailsVo implements Vo {
// private String operName;
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("厂家")
private String manufacturerName;
}

2
yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillMapper.java

@ -45,4 +45,6 @@ public interface AsBusrepairBillMapper extends BaseMapper<AsBusrepairBill> {
AsBusrepairBill selectOneByBillNo(String billNo);
IPage<AsBusrepairBwBillPageListVo> bwBillPageList(IPage<AsBusrepairBill> page, @Param(Constants.WRAPPER) QueryWrapper<AsBusrepairBill> qw);
IPage<AsBillListReturnGoodsVo> listReturnGoods(IPage<AsBusrepairBill> page, @Param(Constants.WRAPPER)QueryWrapper<AsBusrepairBill> qw);
}

16
yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillMapper.xml

@ -165,4 +165,20 @@
${ew.sqlSegment}
</where>
</select>
<select id="listReturnGoods" resultType="com.yxt.anrui.as.api.asbusrepairbill.AsBillListReturnGoodsVo">
select a.sid,
a.billNo,
a.billType,
IF(a.isGoOut = 1, '是', '否') as isGoOut,
a.customerName,
a.mobile,
b.vinNo,
b.vehMark,
a.entryTime
from as_busrepair_bill a
LEFT JOIN as_busrepair_bill_vech AS b on a.sid = b.billSid
<where>
${ew.sqlSegment}
</where>
</select>
</mapper>

8
yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillRest.java

@ -28,6 +28,14 @@ public class AsBusrepairBillRest {
return rb.success().setData(pv);
}
@PostMapping("/listReturnGoods")
@ApiOperation("工单查询列表")
ResultBean<PagerVo<AsBillListReturnGoodsVo>> listReturnGoods(@RequestBody PagerQuery<AsBillListReturnGoodsQuery> pagerQuery) {
ResultBean<PagerVo<AsBillListReturnGoodsVo>> rb = ResultBean.fireFail();
PagerVo<AsBillListReturnGoodsVo> pv = asBusrepairBillService.listReturnGoods(pagerQuery);
return rb.success().setData(pv);
}
@PostMapping("/saveBill")
@ApiOperation("保存修改")
ResultBean<String> saveBill(@RequestBody AsBusrepairBillDto dto) {

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

@ -485,6 +485,12 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa
for (AsBusrepairInventorybillDetail goodsDetail : goodsDetails) {
GoodsDetailsVo goodsDetailsVo = new GoodsDetailsVo();
BeanUtil.copyProperties(goodsDetail, goodsDetailsVo);
SmsGoods smsGoods = smsGoodsFeign.fetchEntityByGoodsID(goodsDetail.getGoodsID()).getData();
if (null != smsGoods) {
if (StringUtils.isNotBlank(smsGoods.getSupplierName())) {
goodsDetailsVo.setManufacturerName(smsGoods.getSupplierName());
}
}
goodsDetailsVos.add(goodsDetailsVo);
}
vo.setGoodsDetailsVos(goodsDetailsVos);
@ -993,4 +999,32 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa
AsBusrepairBill asBusrepairBill = baseMapper.selectOneByBillNo(billNo);
return rb.success().setData(asBusrepairBill);
}
public PagerVo<AsBillListReturnGoodsVo> listReturnGoods(PagerQuery<AsBillListReturnGoodsQuery> pagerQuery) {
AsBillListReturnGoodsQuery query = pagerQuery.getParams();
QueryWrapper<AsBusrepairBill> qw = new QueryWrapper<>();
String deptSid = query.getDeptSid();
//维修工单编号
if (StringUtils.isNotBlank(query.getBillNo())) {
qw.like("a.billNo", query.getBillNo());
}
//客户名称
if (StringUtils.isNotBlank(query.getCustomerName())) {
qw.like("a.customerName", query.getCustomerName());
}
//车牌号
if (StringUtils.isNotBlank(query.getVehMark())) {
qw.like("b.vehMark", query.getVehMark());
}
//进厂时间开始时间-进厂时间结束时间
qw.apply(StringUtils.isNotBlank(query.getStartDate()), "date_format (a.entryTime,'%Y-%m-%d') >= date_format('" + query.getStartDate() + "','%Y-%m-%d')").
apply(StringUtils.isNotBlank(query.getEndDate()), "date_format (a.entryTime,'%Y-%m-%d') <= date_format('" + query.getEndDate() + "','%Y-%m-%d')"
);
qw.eq("a.deptSid", deptSid);
qw.gt("a.nodeCode", 5);
IPage<AsBusrepairBill> page = PagerUtil.queryToPage(pagerQuery);
IPage<AsBillListReturnGoodsVo> pagging = baseMapper.listReturnGoods(page, qw);
PagerVo<AsBillListReturnGoodsVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
}

9
yxt-sms-biz/src/main/java/com/yxt/sms/apiadmin/SmsSalesBillRest.java

@ -74,6 +74,15 @@ public class SmsSalesBillRest {
@Autowired
HttpServletResponse response;
@ApiOperation("商品退货选择销售单")
@PostMapping("/listReturnGoods")
public ResultBean<PagerVo<SmsBillListReturnGoodsVo>> listReturnGoods(@RequestBody PagerQuery<SmsBillListReturnGoodsQuery> pq) {
ResultBean rb = ResultBean.fireFail();
PagerVo<SmsBillListReturnGoodsVo> pv = smsSalesBillService.listReturnGoods(pq);
return rb.success().setData(pv);
}
@ApiOperation("销售价趋势报表")
@PostMapping("/goodsTrendReport")
public ResultBean<PagerVo<SmsSalesTrendVo>> goodsTrendReport(@RequestBody PagerQuery<SmsSalesTrendQuery> pq) {

8
yxt-sms-biz/src/main/java/com/yxt/sms/apiadmin/SmsSalesReturnRest.java

@ -144,5 +144,11 @@ public class SmsSalesReturnRest {
return rb.success().setData(vo);
}
@ApiOperation("商品退货初始化")
@GetMapping("/returnGoodsBillInit")
public ResultBean<SmsSalesReturnNewDetailsVo> returnGoodsBillInit(@RequestParam("sid") String sid,@RequestParam("type") String type){
ResultBean rb = ResultBean.fireFail();
SmsSalesReturnNewDetailsVo vo = smsSalesReturnService.returnGoodsBillInit(sid,type);
return rb.success().setData(vo);
}
}

3
yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SalesGoodsVo.java

@ -12,7 +12,8 @@ import java.math.BigDecimal;
*/
@Data
public class SalesGoodsVo {
@ApiModelProperty("商品Sku名称")
private String goodsSkuTitle; // 商品Sku名称
private String sid;
//商品sid
private String goodSpuSid;

21
yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsBillListReturnGoodsQuery.java

@ -0,0 +1,21 @@
package com.yxt.sms.biz.smssalesbill;
import com.yxt.common.core.query.Query;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/6/21 14:02
*/
@Data
public class SmsBillListReturnGoodsQuery implements Query {
private String deptSid; //部门sid
private String billNo;//工单编号
private String customerName;//客户
private String vehMark;//车牌号
private String startDate; //进厂开始日期
private String endDate; //进厂结束日期
private String salesName; // 服务顾问
}

31
yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsBillListReturnGoodsVo.java

@ -0,0 +1,31 @@
package com.yxt.sms.biz.smssalesbill;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/6/21 14:01
*/
@Data
public class SmsBillListReturnGoodsVo implements Vo {
private String sid;
private String billNo;//工单编号
@ApiModelProperty("制单人姓名")
private String createByName; // 制单人姓名
@ApiModelProperty("制单日期")
private String createTime;
@ApiModelProperty("销售姓名")
private String salesName; // 销售姓名
@ApiModelProperty("客户名称")
private String customerName;
@ApiModelProperty("车牌号")
private String vehMark;
@ApiModelProperty("车架号")
private String vinNo;
}

2
yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsSalesBillMapper.java

@ -80,4 +80,6 @@ public interface SmsSalesBillMapper extends BaseMapper<SmsSalesBill> {
IPage<SmsWmsInventorySalesVo> listPageSalesGoods(IPage<SmsSalesBill> page, @Param(Constants.WRAPPER)QueryWrapper<SmsGoods> qw);
int selectBySid(String join);
IPage<SmsBillListReturnGoodsVo> listReturnGoods(IPage<SmsSalesBill> page, @Param(Constants.WRAPPER)QueryWrapper<SmsSalesBill> qw);
}

14
yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsSalesBillMapper.xml

@ -131,4 +131,18 @@
WHERE `state` != '1'
and find_in_set(sid, #{list})
</select>
<select id="listReturnGoods" resultType="com.yxt.sms.biz.smssalesbill.SmsBillListReturnGoodsVo">
SELECT
s.sid,
date_format(s.createTime, '%Y-%m-%d') as createTime,
s.createByName,
s.billNo,
s.salesName,
s.customerName,
s.vinNo,
s.vehMark
from
sms_sales_bill AS s
<where>${ew.sqlSegment}</where>
</select>
</mapper>

32
yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsSalesBillService.java

@ -361,6 +361,7 @@ public class SmsSalesBillService extends MybatisBaseService<SmsSalesBillMapper,
FmsReceivesettle receivesettle = fmsReceivesettleFeign.fetchBySourceSid(sid).getData();
if (null != receivesettle) {
BeanUtil.copyProperties(receivesettle, settlementVo);
settlementVo.setSettleTime(DateUtil.formatDate(receivesettle.getSettleTime()));
vo.setSettlementVo(settlementVo);
}
}
@ -594,4 +595,35 @@ public class SmsSalesBillService extends MybatisBaseService<SmsSalesBillMapper,
}
return rb.success();
}
public PagerVo<SmsBillListReturnGoodsVo> listReturnGoods(PagerQuery<SmsBillListReturnGoodsQuery> pq) {
SmsBillListReturnGoodsQuery query = pq.getParams();
QueryWrapper<SmsSalesBill> qw = new QueryWrapper<>();
if (StringUtils.isNotBlank(query.getDeptSid())) {
qw.eq("s.deptSid", query.getDeptSid());
}
if (StringUtils.isNotBlank(query.getSalesName())) {
qw.like("s.salesName", query.getSalesName());
}
if (StringUtils.isNotBlank(query.getBillNo())) {
qw.like("s.billNo", query.getBillNo());
}
if (StringUtils.isNotBlank(query.getCustomerName())) {
qw.like("s.customerName", query.getCustomerName());
}
if (StringUtils.isNotBlank(query.getVehMark())) {
qw.like("s.vehMark", query.getVehMark());
}
String startDate = query.getStartDate();
String endDate = query.getEndDate();
qw.apply(StringUtils.isNotEmpty(startDate), "date_format (s.createTime,'%Y-%m-%d') >= date_format('" + startDate + "','%Y-%m-%d')").
apply(StringUtils.isNotEmpty(endDate), "date_format (s.createTime,'%Y-%m-%d') <= date_format('" + endDate + "','%Y-%m-%d')"
);
qw.eq("s.state", "0");
qw.orderByDesc("s.id");
IPage<SmsSalesBill> page = PagerUtil.queryToPage(pq);
IPage<SmsBillListReturnGoodsVo> pagging = baseMapper.listReturnGoods(page, qw);
PagerVo<SmsBillListReturnGoodsVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
}

3
yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbilldetail/SmsSalesBillDetail.java

@ -82,5 +82,6 @@ public class SmsSalesBillDetail extends BaseEntity {
private BigDecimal amount; // 金额(销售价-优惠金额)
@ApiModelProperty("已出库数量(仓储中具体出库数量)")
private BigDecimal outboundCount; // 已出库数量(仓储中具体出库数量)
//规格型号
private String goodsSkuOwnSpec;
}

33
yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SalesGoodsReturnVo.java

@ -13,8 +13,6 @@ import java.math.BigDecimal;
@Data
public class SalesGoodsReturnVo {
@ApiModelProperty("商品库存sid")
private String inventorySid; // 商品库存sid
@ApiModelProperty("商品ID")
private String goodsID; // 商品ID
@ApiModelProperty("商品基础信息Sid")
@ -29,37 +27,16 @@ public class SalesGoodsReturnVo {
private String goodsSkuCode; // 商品编码(图号)
@ApiModelProperty("计量单位")
private String unit; // 计量单位
@ApiModelProperty("仓库sid")
private String warehouseSid; // 仓库sid
@ApiModelProperty("仓库名称")
private String warehouse; // 仓库名称
@ApiModelProperty("科目sid")
private String subjectSid; // 科目sid
@ApiModelProperty("科目(自费、保内等)")
private String subject; // 科目(自费、保内等)
@ApiModelProperty("销售前库存数量")
@ApiModelProperty("规格")
private String goodsSkuOwnSpec; // 规格
@ApiModelProperty("总数量")
private String currentCount; // 销售前库存数量
@ApiModelProperty("销售价")
private String price; // 销售价
@ApiModelProperty("数量")
private String count; // 数量
@ApiModelProperty("折扣(0-10,0免费,10不打折)")
private String discount; // 折扣(0-10,0免费,10不打折)
@ApiModelProperty("优惠金额(=销售价*(折扣*0.1))")
private String discountAmount; // 优惠金额(=销售价*(折扣*0.1))
@ApiModelProperty("金额(销售价-优惠金额)")
private String amount; // 金额(销售价-优惠金额)
@ApiModelProperty("已出库数量(仓储中具体出库数量)")
private String outboundCount; // 已出库数量(仓储中具体出库数量)
//----------退货信息-----------
@ApiModelProperty("已退数量")
private String returnedCount; // 已出库数量(仓储中具体出库数量)
@ApiModelProperty("退货数量")
private String backCount; // 退货数量
@ApiModelProperty("税额")
private String maxAmount; // 税额
@ApiModelProperty("含税价")
private String maxPrice; // 含税价
@ApiModelProperty("退货价")
private String backPrice; // 退货价
@ApiModelProperty("退货金额")
private String backAmount; // 退货金额

57
yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsGoodsDetailsVo.java

@ -0,0 +1,57 @@
package com.yxt.sms.biz.smssalesreturn;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/4/18 9:12
*/
@Data
public class SmsGoodsDetailsVo implements Vo {
private String sid;
private String goodsID;
//商品名称
private String goodsSpuName;
//商品Sku名称
private String goodsSkuTitle;
//商品编码(图号)
private String goodsSkuCode;
//规格型号
private String goodsSkuOwnSpec;
// @ApiModelProperty("出库前的库存量")
// private String currentCount;
@ApiModelProperty("计量单位")
private String unit;
// @ApiModelProperty("仓库sid")
// private String warehouseSid;
@ApiModelProperty("仓库名称")
private String warehouseName;
//库位编号
private String warehouseRackCode;
//
// @ApiModelProperty("需求数量(维修工单中)")
// private String needCount;
@ApiModelProperty("出/退库数量")
private String count;
@ApiModelProperty("销售价(元)")
private String price;
//折扣(0-10,0免费,10不打折)
private String discount;
//优惠金额(=销售价*(1-折扣*0.1))
private String discountAmount;
//金额(销售价-优惠金额)
private String amount;
// @ApiModelProperty("科目")
// private String subject;
// @ApiModelProperty("领料人姓名")
// private String operName;
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("厂家")
private String manufacturerName;
@ApiModelProperty("已退数量")
private String returnedCount;
}

24
yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturn.java

@ -26,12 +26,14 @@
package com.yxt.sms.biz.smssalesreturn;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
* Project: sms(sms) <br/>
@ -74,5 +76,27 @@ public class SmsSalesReturn extends BaseEntity {
private String useOrgSid; // 使用组织sid
@ApiModelProperty("创建组织sid")
private String createOrgSid; // 创建组织sid
@ApiModelProperty("申请部门sid")
private String deptSid; // 申请部门sid
@ApiModelProperty("申请部门")
private String dept; // 申请部门
@ApiModelProperty("taskId")
private String taskId; // taskId
@ApiModelProperty("环节定义的sid")
private String nodeSid; // 环节定义的sid
@ApiModelProperty("流程状态")
private String nodeState; // 流程状态
@ApiModelProperty("流程实例的sid")
private String procInstId; // 流程实例的sid
@ApiModelProperty("流程定义的id")
private String procDefId; // 流程定义的id
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@ApiModelProperty("办结时间")
private Date closeDate; // 办结时间
@ApiModelProperty("应付金额")
private BigDecimal payableAmount; // 应付金额
@ApiModelProperty("合计金额")
private BigDecimal totalAmount; // 合计金额
}

63
yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturnNewDetailsVo.java

@ -0,0 +1,63 @@
package com.yxt.sms.biz.smssalesreturn;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @author Fan
* @description
* @date 2024/6/21 16:03
*/
@Data
public class SmsSalesReturnNewDetailsVo implements Vo {
private String type; //0维修工单 1销售单
private String sid;
private String createTime;
private String deptSid;
private String deptName;
@ApiModelProperty("使用组织sid")
private String useOrgSid; // 使用组织sid
@ApiModelProperty("创建组织sid")
private String createOrgSid; // 创建组织sid
private String remarks;
@ApiModelProperty("来源单编号")
private String sourceBillSid; // 来源单编号
@ApiModelProperty("来源单编号")
private String sourceBillNo; // 来源单编号
@ApiModelProperty("单据类型0正常工单、1保险理赔、2协议单位")
private String billType;
@ApiModelProperty("科目")
private String subject;
@ApiModelProperty("服务顾问姓名")
private String waitorName;
@ApiModelProperty("单据日期")
private String billDate;
@ApiModelProperty("结算日期")
private String settleDate;
@ApiModelProperty("客户名称")
private String customerName;
@ApiModelProperty("联系电话")
private String mobile;
@ApiModelProperty("客户单位")
private String customerOrg;
//-----车辆信息------
@ApiModelProperty("车牌号")
private String vehMark;
@ApiModelProperty("车架号")
private String vinNo;
@ApiModelProperty("应付金额")
private String payableAmount; // 应付金额
@ApiModelProperty("合计金额")
private String totalAmount; // 合计金额
private List<SmsSitemVo> sitemVos = new ArrayList<>();// 服务项目
private List<SmsGoodsDetailsVo> goodsDetailsVos = new ArrayList<>(); //商品信息
private List<SalesGoodsReturnVo> returnGoods = new ArrayList<>(); //退货商品列表
}

59
yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturnNewDto.java

@ -0,0 +1,59 @@
package com.yxt.sms.biz.smssalesreturn;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @author Fan
* @description
* @date 2024/6/21 16:03
*/
@Data
public class SmsSalesReturnNewDto implements Dto {
private String type; //0维修工单 1销售单
private String sid;
private String createTime;
private String deptSid;
private String deptName;
@ApiModelProperty("使用组织sid")
private String useOrgSid; // 使用组织sid
@ApiModelProperty("创建组织sid")
private String createOrgSid; // 创建组织sid
private String remarks;
@ApiModelProperty("来源单编号")
private String sourceBillSid; // 来源单编号
@ApiModelProperty("来源单编号")
private String sourceBillNo; // 来源单编号
@ApiModelProperty("单据类型0正常工单、1保险理赔、2协议单位")
private String billType;
@ApiModelProperty("科目")
private String subject;
@ApiModelProperty("服务顾问姓名")
private String waitorName;
@ApiModelProperty("客户名称")
private String customerName;
@ApiModelProperty("联系电话")
private String mobile;
@ApiModelProperty("客户单位")
private String customerOrg;
//-----车辆信息------
@ApiModelProperty("车牌号")
private String vehMark;
@ApiModelProperty("车架号")
private String vinNo;
@ApiModelProperty("应付金额")
private String payableAmount; // 应付金额
@ApiModelProperty("合计金额")
private String totalAmount; // 合计金额
private List<SmsSitemVo> sitemVos = new ArrayList<>();// 服务项目
private List<SmsGoodsDetailsVo> goodsDetailsVos = new ArrayList<>(); //商品信息
private List<SalesGoodsReturnVo> returnGoods = new ArrayList<>(); //退货商品列表
}

112
yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturnService.java

@ -40,6 +40,7 @@ import com.yxt.sms.biz.smssalesreturndetail.SmsSalesReturnDetail;
import com.yxt.sms.biz.smssalesreturndetail.SmsSalesReturnDetailService;
import com.yxt.sms.biz.smssalesreturnsettle.SmsSalesReturnSettle;
import com.yxt.sms.biz.smssalesreturnsettle.SmsSalesReturnSettleService;
import com.yxt.sms.feign.as.asbusrepairbill.*;
import com.yxt.sms.feign.fms.fmspaysettle.FmsPaysettleDto;
import com.yxt.sms.feign.fms.fmspaysettle.FmsPaysettleFeign;
import com.yxt.sms.feign.wms.wmsinventory.WmsInventoryFeign;
@ -93,6 +94,8 @@ public class SmsSalesReturnService extends MybatisBaseService<SmsSalesReturnMapp
private SmsSalesReturnSettleService smsSalesReturnSettleService;
@Resource
private FmsPaysettleFeign fmsPaysettleFeign;
@Autowired
private AsBusrepairBillFeign asBusrepairBillFeign;
private QueryWrapper<SmsSalesReturn> createQueryWrapper(SmsSalesReturnQuery query) {
// todo: 这里根据具体业务调整查询条件
@ -145,7 +148,7 @@ public class SmsSalesReturnService extends MybatisBaseService<SmsSalesReturnMapp
detail.setBillSid(entity.getSid());
smsSalesReturnDetailService.insert(detail);
WmsUpdateCountQuery countQuery = new WmsUpdateCountQuery();
countQuery.setSid(returnGood.getInventorySid());
// countQuery.setSid(returnGood.getInventorySid());
countQuery.setCount(new BigDecimal(returnGood.getBackCount()));
countQuery.setAddOrReduce(0);
wmsInventoryFeign.updateInventoryCount(countQuery);
@ -348,7 +351,7 @@ public class SmsSalesReturnService extends MybatisBaseService<SmsSalesReturnMapp
if (!smsSalesReturnDetails.isEmpty()) {
for (SmsSalesReturnDetail smsSalesReturnDetail : smsSalesReturnDetails) {
WmsUpdateCountQuery countQuery = new WmsUpdateCountQuery();
countQuery.setSid(smsSalesReturnDetail.getInventorySid());
// countQuery.setSid(smsSalesReturnDetail.getInventorySid());
countQuery.setCount(smsSalesReturnDetail.getBackCount());
countQuery.setAddOrReduce(1);
wmsInventoryFeign.updateInventoryCount(countQuery);
@ -362,4 +365,109 @@ public class SmsSalesReturnService extends MybatisBaseService<SmsSalesReturnMapp
List<SmsSalesBillReturnExportVo> list = baseMapper.listExcel(qw);
return list;
}
public SmsSalesReturnNewDetailsVo returnGoodsBillInit(String sid, String type) {
SmsSalesReturnNewDetailsVo vo = new SmsSalesReturnNewDetailsVo();
vo.setType(type);
vo.setSourceBillSid(sid);
if (type.equals("0")) {
//维修工单
AsBusrepairBillDetailsVo data = asBusrepairBillFeign.fetchDetailsBySid(sid).getData();
if (null != data) {
vo.setSourceBillNo(data.getBillNo());
vo.setBillType(data.getBillType());
vo.setBillDate(data.getCreateDate());
if (StringUtils.isNotBlank(data.getSubject())) {
vo.setSubject(data.getSubject());
}
if (StringUtils.isNotBlank(data.getWaitorName())) {
vo.setWaitorName(data.getWaitorName());
}
if (StringUtils.isNotBlank(data.getCustomerName())) {
vo.setCustomerName(data.getCustomerName());
}
if (StringUtils.isNotBlank(data.getMobile())) {
vo.setMobile(data.getMobile());
}
if (StringUtils.isNotBlank(data.getCustomerOrg())) {
vo.setCustomerOrg(data.getCustomerOrg());
}
if (StringUtils.isNotBlank(data.getVehMark())) {
vo.setVehMark(data.getVehMark());
}
if (StringUtils.isNotBlank(data.getVinNo())) {
vo.setVinNo(data.getVinNo());
}
SettleVo settleVo = data.getSettleVo();
if (null != settleVo) {
vo.setSettleDate(settleVo.getSettleTime());
}
List<SitemVo> sitemVos = data.getSitemVos();
List<SmsSitemVo> smsSitemVos = new ArrayList<>();
if (!sitemVos.isEmpty()) {
for (SitemVo smsSitemVo : sitemVos) {
SmsSitemVo sitemVo = new SmsSitemVo();
BeanUtil.copyProperties(smsSitemVo,sitemVo);
smsSitemVos.add(sitemVo);
}
vo.setSitemVos(smsSitemVos);
}
List<GoodsDetailsVo> goodsDetailsVos = data.getGoodsDetailsVos();
List<SmsGoodsDetailsVo> smsGoodsDetailsVos = new ArrayList<>();
if (!goodsDetailsVos.isEmpty()) {
for (GoodsDetailsVo goodsDetailsVo : goodsDetailsVos) {
SmsGoodsDetailsVo smsGoodsDetailsVo = new SmsGoodsDetailsVo();
BeanUtil.copyProperties(goodsDetailsVo,smsGoodsDetailsVo);
smsGoodsDetailsVos.add(smsGoodsDetailsVo);
}
vo.setGoodsDetailsVos(smsGoodsDetailsVos);
}
}
} else if (type.equals("1")) {
//销售单
SmsSalesBillDetailsVo data = smsSalesBillService.fetchDetailsVoBySid(sid);
if (null != data) {
vo.setSourceBillNo(data.getBillNo());
vo.setBillType("销售单");
vo.setBillDate(data.getCreateTime());
if (StringUtils.isNotBlank(data.getSubject())) {
vo.setSubject(data.getSubject());
}
if (StringUtils.isNotBlank(data.getSalesName())) {
vo.setWaitorName(data.getSalesName());
}
if (StringUtils.isNotBlank(data.getCustomerName())) {
vo.setCustomerName(data.getCustomerName());
}
if (StringUtils.isNotBlank(data.getMobile())) {
vo.setMobile(data.getMobile());
}
if (StringUtils.isNotBlank(data.getCustomerOrg())) {
vo.setCustomerOrg(data.getCustomerOrg());
}
if (StringUtils.isNotBlank(data.getVehMark())) {
vo.setVehMark(data.getVehMark());
}
if (StringUtils.isNotBlank(data.getVinNo())) {
vo.setVinNo(data.getVinNo());
}
SettlementVo settleVo = data.getSettlementVo();
if (null != settleVo) {
vo.setSettleDate(settleVo.getSettleTime());
}
List<SalesGoodsVo> goodsDetailsVos = data.getGoodsVos();
List<SmsGoodsDetailsVo> smsGoodsDetailsVos = new ArrayList<>();
if (!goodsDetailsVos.isEmpty()) {
for (SalesGoodsVo goodsDetailsVo : goodsDetailsVos) {
SmsGoodsDetailsVo smsGoodsDetailsVo = new SmsGoodsDetailsVo();
BeanUtil.copyProperties(goodsDetailsVo,smsGoodsDetailsVo);
smsGoodsDetailsVos.add(smsGoodsDetailsVo);
}
vo.setGoodsDetailsVos(smsGoodsDetailsVos);
}
}
}
return vo;
}
}

57
yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSitemVo.java

@ -0,0 +1,57 @@
package com.yxt.sms.biz.smssalesreturn;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @author Fan
* @description
* @date 2024/4/18 9:02
*/
@Data
public class SmsSitemVo {
@ApiModelProperty("项目sid")
private String serviceItemSid;
@ApiModelProperty("项目名称")
private String serviceItem;
@ApiModelProperty("工种sid(分类)")
private String serviceTypeSid;
@ApiModelProperty("工种(分类)")
private String serviceType;
@ApiModelProperty("科目sid")
private String subjectSid;
@ApiModelProperty("科目(自费、保内等)")
private String subject;
@ApiModelProperty("考核工时(考核价)")
private String examineHourPrice;
@ApiModelProperty("工时单价")
private String hourPrice;
@ApiModelProperty("工时数")
private String hours;
@ApiModelProperty("销售价(工时费)=工时单价*工时数")
private String price;
@ApiModelProperty("折扣(0-10,0免费,10不打折)")
private String discount;
@ApiModelProperty("优惠金额(=销售价*(折扣*0.1))")
private String discountAmount;
@ApiModelProperty("金额(销售价-优惠金额)")
private String amount;
@ApiModelProperty("备注")
private String remarks;
private String repairerName;
//-------------维修人员---------------
// @ApiModelProperty("维修人员sid")
// private String repairerSid;
// @ApiModelProperty("维修人员姓名")
// private String repairerName;
// @ApiModelProperty("所在组sid")
// private String groupSid;
// @ApiModelProperty("所在班组名称")
// private String groupName;
private List<String> staffList = new ArrayList<>(); //维修人员Sid
private List<String> staffNameList = new ArrayList<>(); //维修人员姓名信息
}

8
yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturndetail/SmsSalesReturnDetail.java

@ -54,8 +54,8 @@ public class SmsSalesReturnDetail extends BaseEntity {
@ApiModelProperty("单据sid")
private String billSid; // 单据sid
@ApiModelProperty("商品库存sid")
private String inventorySid; // 商品库存sid
@ApiModelProperty("商品ID")
private String goodsID; // 商品ID
@ApiModelProperty("商品基础信息Sid")
private String goodSpuSid; // 商品基础信息Sid
@ApiModelProperty("商品名称")
@ -67,7 +67,7 @@ public class SmsSalesReturnDetail extends BaseEntity {
@ApiModelProperty("商品编码(图号)")
private String goodsSkuCode; // 商品编码(图号)
@ApiModelProperty("规格")
private String specification; // 规格
private String goodsSkuOwnSpec; // 规格
@ApiModelProperty("退货前的库存数量")
private BigDecimal currentCount; // 退货前的库存数量
@ApiModelProperty("计量单位")
@ -82,5 +82,7 @@ public class SmsSalesReturnDetail extends BaseEntity {
private BigDecimal maxPrice; // 含税价
@ApiModelProperty("退货金额")
private BigDecimal backAmount; // 退货金额
@ApiModelProperty("退货价")
private BigDecimal backPrice; // 退货价
}

23
yxt-sms-biz/src/main/java/com/yxt/sms/feign/as/asbusrepairbill/AitemVo.java

@ -0,0 +1,23 @@
package com.yxt.sms.feign.as.asbusrepairbill;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/4/18 9:07
*/
@Data
public class AitemVo {
@ApiModelProperty("附加项目sid")
private String aitemsid;
@ApiModelProperty("附加项目名称")
private String aitemName;
@ApiModelProperty("销售价")
private String price;
@ApiModelProperty("备注")
private String remarks;
}

134
yxt-sms-biz/src/main/java/com/yxt/sms/feign/as/asbusrepairbill/AsBusrepairBillDetailsVo.java

@ -0,0 +1,134 @@
package com.yxt.sms.feign.as.asbusrepairbill;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @author Fan
* @description
* @date 2024/4/18 9:09
*/
@Data
public class AsBusrepairBillDetailsVo implements Vo {
private String sid;
private String orgPath;
@ApiModelProperty("应收金额")
private String receivableAmount;
@ApiModelProperty("工时费")
private String hourAmount;
@ApiModelProperty("材料费")
private String goodsAmount;
@ApiModelProperty("外出费")
private String outAmount;
@ApiModelProperty("附加费")
private String addAmount;
@ApiModelProperty("税额")
private String taxAmount;
@ApiModelProperty("是否外出(1是,2否)")
private String isGoOut;
@ApiModelProperty("厂家补助")
private String subsidyAmount;
@ApiModelProperty("其他费用")
private String otherAmount;
@ApiModelProperty("班组sid")
private String groupSid;
private String createDate;
@ApiModelProperty("班组名称")
private String groupName;
@ApiModelProperty("制单人sid")
private String createBySid;
@ApiModelProperty("制单部门sid")
private String deptSid; // 制单部门sid
@ApiModelProperty("制单部门")
private String deptName; // 制单部门
@ApiModelProperty("制单人姓名")
private String createByName;
@ApiModelProperty("操作人Sid")
private String operatorSid;
@ApiModelProperty("操作人")
private String operator;
@ApiModelProperty("单据编号")
private String billNo;
@ApiModelProperty("单据类型0正常工单、1保险理赔、2协议单位")
private String billTypeKey;
@ApiModelProperty("单据类型0正常工单、1保险理赔、2协议单位")
private String billType;
@ApiModelProperty("进厂时间")
private String entryTime;
@ApiModelProperty("预计完工时间-工单")
private String estimatedFinishTime;
@ApiModelProperty("科目sid")
private String subjectSid;
@ApiModelProperty("科目")
private String subject;
@ApiModelProperty("服务顾问sid")
private String waitorSid;
@ApiModelProperty("服务顾问姓名")
private String waitorName;
@ApiModelProperty("主修人(可多选)销售单")
private String mainRepairers;
@ApiModelProperty("条形码-销售单")
private String barCode;
@ApiModelProperty("快捷备注-销售单")
private String shotRemarks;
@ApiModelProperty("备注")
private String printRemarks;
private String remarks; //备注
@ApiModelProperty("整体优惠金额")
private String discountAmount;
@ApiModelProperty("整体优惠券")
private String coupon;
@ApiModelProperty("积分抵扣")
private String scoreDeduct;
@ApiModelProperty("当前环节编码(登记1、派工2、竣工3、结算4)")
private String nodeCode;
@ApiModelProperty("当前环节")
private String nodeName;
@ApiModelProperty("进入当前环节时间")
private String nodeTime;
@ApiModelProperty("出厂状态 (0未出厂,1已出厂)")
private String outDoorState;
@ApiModelProperty("出厂时间")
private String outDoorTime;
@ApiModelProperty("使用组织sid")
private String useOrgSid;
@ApiModelProperty("创建组织sid")
private String createOrgSid;
@ApiModelProperty("客户sid")
private String customerSid;
@ApiModelProperty("客户名称")
private String customerName;
@ApiModelProperty("联系电话")
private String mobile;
@ApiModelProperty("客户单位")
private String customerOrg;
@ApiModelProperty("会员卡sid")
private String memberCardSid;
@ApiModelProperty("会员卡号")
private String memberCarNumber;
//-----车辆信息------
@ApiModelProperty("车牌号")
private String vehMark;
@ApiModelProperty("车架号")
private String vinNo;
@ApiModelProperty("车型")
private String vehModel;
@ApiModelProperty("行驶里程")
private String mileage;
@ApiModelProperty("油量(空、小于1/4、1/4、1/2、3/4、满)")
private String oil;
@ApiModelProperty("当前里程(本次里程)")
private String currentMileage;
private InvoiceVo invoiceVo = new InvoiceVo(); //发票信息
private InsuranceVo insuranceVo = new InsuranceVo();//保险信息
private OtherVo otherVo = new OtherVo();//送修人信息
private List<SitemVo> sitemVos = new ArrayList<>();// 服务项目
private List<AitemVo> aitemVos = new ArrayList<>();// 附加项目
private List<GoodsDetailsVo> goodsDetailsVos = new ArrayList<>(); //商品信息
private SettleVo settleVo = new SettleVo(); //结算信息
private boolean showReSettleBtn; //是否显示反结算按钮,ture显示,false不显示
}

27
yxt-sms-biz/src/main/java/com/yxt/sms/feign/as/asbusrepairbill/AsBusrepairBillFeign.java

@ -0,0 +1,27 @@
package com.yxt.sms.feign.as.asbusrepairbill;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.sms.feign.wms.wmsinventory.*;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* @description: 维修单
* @author: fzz
* @date: 2024/3/7
**/
@FeignClient(
contextId = "yxt-as-AsBusrepairBill",
name = "yxt-as",
path = "v1/AsBusrepairBill"
)
public interface AsBusrepairBillFeign {
@ApiOperation("详情回显")
@GetMapping("/fetchDetailsBySid/{sid}")
public ResultBean<AsBusrepairBillDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid);
}

56
yxt-sms-biz/src/main/java/com/yxt/sms/feign/as/asbusrepairbill/GoodsDetailsVo.java

@ -0,0 +1,56 @@
package com.yxt.sms.feign.as.asbusrepairbill;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/4/18 9:12
*/
@Data
public class GoodsDetailsVo implements Vo {
private String sid;
private String goodsID;
//商品名称
private String goodsSpuName;
// //商品Sku名称
// private String goodsSkuTitle;
//商品编码(图号)
private String goodsSkuCode;
//规格型号
private String goodsSkuOwnSpec;
// @ApiModelProperty("出库前的库存量")
// private String currentCount;
@ApiModelProperty("计量单位")
private String unit;
// @ApiModelProperty("仓库sid")
// private String warehouseSid;
@ApiModelProperty("仓库名称")
private String warehouseName;
//库位编号
private String warehouseRackCode;
//
// @ApiModelProperty("需求数量(维修工单中)")
// private String needCount;
@ApiModelProperty("出/退库数量")
private String count;
@ApiModelProperty("销售价(元)")
private String price;
//折扣(0-10,0免费,10不打折)
private String discount;
//优惠金额(=销售价*(1-折扣*0.1))
private String discountAmount;
//金额(销售价-优惠金额)
private String amount;
// @ApiModelProperty("科目")
// private String subject;
// @ApiModelProperty("领料人姓名")
// private String operName;
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("厂家")
private String manufacturerName;
}

40
yxt-sms-biz/src/main/java/com/yxt/sms/feign/as/asbusrepairbill/InsuranceVo.java

@ -0,0 +1,40 @@
package com.yxt.sms.feign.as.asbusrepairbill;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/4/18 8:59
*/
@Data
public class InsuranceVo {
@ApiModelProperty("责任划分")
private String responsibility;
@ApiModelProperty("对方险种")
private String otherInsuranceType;
@ApiModelProperty("责任划分")
private String responsibilityKey;
@ApiModelProperty("对方险种")
private String otherInsuranceTypeKey;
@ApiModelProperty("保险公司1")
private String insuranceCompany1;
@ApiModelProperty("保险公司2")
private String insuranceCompany2;
@ApiModelProperty("保险人员")
private String insurer;
@ApiModelProperty("保险索赔单号")
private String claimBillNo;
@ApiModelProperty("勘察员")
private String investigator;
@ApiModelProperty("定损员")
private String lossAdjuster;
@ApiModelProperty("特殊标志(1有,0无)")
private String isSpecialSign;
@ApiModelProperty("出险类型")
private String accidentType;
@ApiModelProperty("出险类型")
private String accidentTypeKey;
}

29
yxt-sms-biz/src/main/java/com/yxt/sms/feign/as/asbusrepairbill/InvoiceVo.java

@ -0,0 +1,29 @@
package com.yxt.sms.feign.as.asbusrepairbill;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/4/18 8:57
*/
@Data
public class InvoiceVo {
@ApiModelProperty("是否需要开发票(是1,否0)")
private String isInvoicing;
@ApiModelProperty("发票类型")
private String invoiceType;
@ApiModelProperty("发票类型")
private String invoiceTypeKey;
@ApiModelProperty("开票名称")
private String invoiceTitle;
@ApiModelProperty("税号")
private String taxpayerNo;
@ApiModelProperty("发票号码")
private String invoiceCode;
@ApiModelProperty("税率")
private String taxRate;
}

20
yxt-sms-biz/src/main/java/com/yxt/sms/feign/as/asbusrepairbill/OtherVo.java

@ -0,0 +1,20 @@
package com.yxt.sms.feign.as.asbusrepairbill;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/4/18 9:01
*/
@Data
public class OtherVo {
@ApiModelProperty("厂家")
private String manufacturer;
@ApiModelProperty("送修人姓名")
private String senderName;
@ApiModelProperty("送修人电话")
private String senderMobile;
}

39
yxt-sms-biz/src/main/java/com/yxt/sms/feign/as/asbusrepairbill/SettleVo.java

@ -0,0 +1,39 @@
package com.yxt.sms.feign.as.asbusrepairbill;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/4/28 13:43
*/
@Data
public class SettleVo {
@ApiModelProperty("付款人编号")
private String payerNo; // 付款人编号
@ApiModelProperty("付款人名称")
private String payerName; // 付款人名称
@ApiModelProperty("应收金额")
private String receivableAmount; // 应收金额
@ApiModelProperty("订金抵扣")
private String depositdeductAmount; // 订金抵扣
@ApiModelProperty("结算方式key")
private String settleKey; // 结算方式key
@ApiModelProperty("结算方式value")
private String settleValue; // 结算方式value
@ApiModelProperty("结算金额")
private String settleAmount; // 结算金额
@ApiModelProperty("其他结算方式")
private String otherSettleKey; // 其他结算方式
@ApiModelProperty("其他结算方式")
private String otherSettleValue; // 其他结算方式
@ApiModelProperty("其他结算金额")
private String otherSettleAmount; // 其他结算金额
@ApiModelProperty("欠款金额")
private String debts; // 欠款金额
@ApiModelProperty("结算时间")
private String settleTime; // 结算时间
}

57
yxt-sms-biz/src/main/java/com/yxt/sms/feign/as/asbusrepairbill/SitemVo.java

@ -0,0 +1,57 @@
package com.yxt.sms.feign.as.asbusrepairbill;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @author Fan
* @description
* @date 2024/4/18 9:02
*/
@Data
public class SitemVo {
@ApiModelProperty("项目sid")
private String serviceItemSid;
@ApiModelProperty("项目名称")
private String serviceItem;
@ApiModelProperty("工种sid(分类)")
private String serviceTypeSid;
@ApiModelProperty("工种(分类)")
private String serviceType;
@ApiModelProperty("科目sid")
private String subjectSid;
@ApiModelProperty("科目(自费、保内等)")
private String subject;
@ApiModelProperty("考核工时(考核价)")
private String examineHourPrice;
@ApiModelProperty("工时单价")
private String hourPrice;
@ApiModelProperty("工时数")
private String hours;
@ApiModelProperty("销售价(工时费)=工时单价*工时数")
private String price;
@ApiModelProperty("折扣(0-10,0免费,10不打折)")
private String discount;
@ApiModelProperty("优惠金额(=销售价*(折扣*0.1))")
private String discountAmount;
@ApiModelProperty("金额(销售价-优惠金额)")
private String amount;
@ApiModelProperty("备注")
private String remarks;
private String repairerName;
//-------------维修人员---------------
// @ApiModelProperty("维修人员sid")
// private String repairerSid;
// @ApiModelProperty("维修人员姓名")
// private String repairerName;
// @ApiModelProperty("所在组sid")
// private String groupSid;
// @ApiModelProperty("所在班组名称")
// private String groupName;
private List<String> staffList = new ArrayList<>(); //维修人员Sid
private List<String> staffNameList = new ArrayList<>(); //维修人员姓名信息
}
Loading…
Cancel
Save