diff --git a/anrui-buscenter/anrui-buscenter-ui/src/components/publicPage/dingdanInfo.vue b/anrui-buscenter/anrui-buscenter-ui/src/components/publicPage/dingdanInfo.vue index 2d6033291a..4bb16905a0 100644 --- a/anrui-buscenter/anrui-buscenter-ui/src/components/publicPage/dingdanInfo.vue +++ b/anrui-buscenter/anrui-buscenter-ui/src/components/publicPage/dingdanInfo.vue @@ -133,57 +133,127 @@ {{ formobj.busSalesOrderPrice.quantity }} - - - - - - -
价格信息
+
价格信息(不含挂车)
- -
单台整体指导价
+ +
销售指导价(元/台)
{{ formobj.busSalesOrderPrice.singleGuildPrice }}
- -
主车单台成交价
+ +
销售合同价(元/台)
+ {{ formobj.busSalesOrderPrice.singleFinalPrice }} +
+ +
其中主车或底盘(元)
{{ formobj.busSalesOrderModel.finalPrice }}
- -
单台整体成交价
- {{ formobj.busSalesOrderPrice.singleFinalPrice }} + +
其中上装(元)
+ {{ formobj.busSalesOrderModel.topPrice }}
- -
单台折让(元)
- {{ formobj.busSalesOrderPrice.bigDecimalSing }} -
- +
台数
{{ formobj.busSalesOrderPrice.quantity }}
- -
车价合计
+ +
车价合计(元)
{{ formobj.busSalesOrderPrice.priceSum }}
-
- - +
计划提车日期
{{ formobj.busSalesOrderPrice.plannedPickUpDate }}
- -
预计提车地点
+ +
计划提车地点
{{ formobj.busSalesOrderPrice.plannedPickUpLocation }}
-
保险说明
- {{ formobj.insuranceInfo }} +
单台折让(元)
+ {{ formobj.busSalesOrderPrice.bigDecimalSing }}
+
+
挂车1(对应单台主车)
+ + +
挂车类型
+ {{ formobj.gc1.trailerTypeValue }} +
+ +
外廓尺寸-长(m)
+ {{ formobj.gc1.appearanceSizeLong }} +
+ +
销售合同价(元/台)
+ {{ formobj.gc1.singleFinalPrice }} +
+ +
数量
+ {{ formobj.gc1.trailerCount }} +
+
+ + +
合同
+ +
+
+ + +
同车型合格证
+ +
+
+ + +
备注说明
+ {{ formobj.gc1.remarks }} +
+
+
+
挂车2(对应单台主车)
+ + +
挂车类型
+ {{ formobj.gc2.trailerTypeValue }} +
+ +
外廓尺寸-长(m)
+ {{ formobj.gc2.appearanceSizeLong }} +
+ +
销售合同价(元/台)
+ {{ formobj.gc2.singleFinalPrice }} +
+ +
数量
+ {{ formobj.gc2.trailerCount }} +
+
+ + +
合同
+ +
+
+ + +
同车型合格证
+ +
+
+ + +
备注说明
+ {{ formobj.gc2.remarks }} +
+
+
+
订金信息
@@ -217,6 +287,53 @@ {{ formobj.busSalesOrderDeposit.depositRemarks }} +
中介返利
+ + +
内部引荐人
+ {{ formobj.busSalesOrderotherMessageDetailsVo.name }} +
+ +
返利备注
+ {{ formobj.busSalesOrderotherMessageDetailsVo.remarks }} +
+
+ + +
中介人1
+ {{ formobj.busSalesOrderotherMessageDetailsVo.distributorName }} +
+ +
联系电话
+ {{ formobj.busSalesOrderotherMessageDetailsVo.distributorMobile }} +
+ +
单车中介返利
+ {{ formobj.busSalesOrderotherMessageDetailsVo.distributorPrice }} +
+ +
中介返利合计
+ {{ formobj.busSalesOrderotherMessageDetailsVo.middleOneDistributorPriceTotal }} +
+
+ + +
中介人2
+ {{ formobj.busSalesOrderotherMessageDetailsVo.distributorNameTwo }} +
+ +
联系电话
+ {{ formobj.busSalesOrderotherMessageDetailsVo.distributorMobileTwo }} +
+ +
单车中介返利
+ {{ formobj.busSalesOrderotherMessageDetailsVo.distributorPriceTwo }} +
+ +
中介返利合计
+ {{ formobj.busSalesOrderotherMessageDetailsVo.middleTwoDistributorPriceTotal }} +
+
优惠套餐
@@ -263,51 +380,10 @@ -
其它信息
- - -
内部引荐人
- {{ formobj.busSalesOrderotherMessageDetailsVo.name }} -
- -
返利备注
- {{ formobj.busSalesOrderotherMessageDetailsVo.remarks }} -
-
- - -
中介人1
- {{ formobj.busSalesOrderotherMessageDetailsVo.distributorName }} -
- -
联系电话
- {{ formobj.busSalesOrderotherMessageDetailsVo.distributorMobile }} -
- -
单车中介服务费
- {{ formobj.busSalesOrderotherMessageDetailsVo.distributorPrice }} -
- -
中介服务费合计
- {{ formobj.busSalesOrderotherMessageDetailsVo.middleOneDistributorPriceTotal }} -
-
+
保险说明
- -
中介人2
- {{ formobj.busSalesOrderotherMessageDetailsVo.distributorNameTwo }} -
- -
联系电话
- {{ formobj.busSalesOrderotherMessageDetailsVo.distributorMobileTwo }} -
- -
单车中介服务费
- {{ formobj.busSalesOrderotherMessageDetailsVo.distributorPriceTwo }} -
- -
中介服务费合计
- {{ formobj.busSalesOrderotherMessageDetailsVo.middleTwoDistributorPriceTotal }} + + {{ formobj.insuranceInfo }}
@@ -344,15 +420,17 @@ export default { billingType: '', billingTypeKey: '', busDepositFictitiousList: [], - busSalesOrderDeposit: [], + busSalesOrderDeposit: {}, busSalesOrderDiscountList: [], - busSalesOrderInsurance: [], - busSalesOrderMakeup: [], - busSalesOrderModel: [], - busSalesOrderPrice: [], + busSalesOrderInsurance: {}, + busSalesOrderMakeup: {}, + busSalesOrderModel: {}, + busSalesOrderPrice: {}, busSalesOrderVehicleList: [], - busSalesOrderotherMessageDetailsVo: [], + busSalesOrderotherMessageDetailsVo: {}, busSalesVehicleOrderList: [], + gc1: {}, + gc2: {}, companyInvoicingName: '', concatNo: '', createDate: '', @@ -363,6 +441,7 @@ export default { insuranceInfoMessage: '', isInsurance: '', isTop: '', + isGc: false, licensePlateKey: '', licensePlateValue: '', mobile: '', @@ -400,6 +479,34 @@ export default { } else { this.formobj.busSalesOrderModel.vinNo = '' } + if (this.formobj.gc1.contractFile.length > 0) { + const aa = [] + this.formobj.gc1.contractFile.forEach((e) => { + aa.push(e.url) + }) + this.formobj.gc1.contractFile = aa + } + if (this.formobj.gc1.certFile.length > 0) { + const bb = [] + this.formobj.gc1.certFile.forEach((e) => { + bb.push(e.url) + }) + this.formobj.gc1.certFile = bb + } + if (this.formobj.gc2.contractFile.length > 0) { + const cc = [] + this.formobj.gc2.contractFile.forEach((e) => { + cc.push(e.url) + }) + this.formobj.gc2.contractFile = cc + } + if (this.formobj.gc2.certFile.length > 0) { + const ee = [] + this.formobj.gc2.certFile.forEach((e) => { + ee.push(e.url) + }) + this.formobj.gc2.certFile = ee + } } }) }, diff --git a/anrui-buscenter/anrui-buscenter-ui/src/views/workflow/publicPage/dingdanInfo.vue b/anrui-buscenter/anrui-buscenter-ui/src/views/workflow/publicPage/dingdanInfo.vue index 396afb824e..aafcc1937c 100644 --- a/anrui-buscenter/anrui-buscenter-ui/src/views/workflow/publicPage/dingdanInfo.vue +++ b/anrui-buscenter/anrui-buscenter-ui/src/views/workflow/publicPage/dingdanInfo.vue @@ -130,57 +130,127 @@ {{ formobj.busSalesOrderPrice.quantity }} - - - - - - -
价格信息
+
价格信息(不含挂车)
- -
单台整体指导价
+ +
销售指导价(元/台)
{{ formobj.busSalesOrderPrice.singleGuildPrice }}
- -
主车单台成交价
+ +
销售合同价(元/台)
+ {{ formobj.busSalesOrderPrice.singleFinalPrice }} +
+ +
其中主车或底盘(元)
{{ formobj.busSalesOrderModel.finalPrice }}
- -
单台整体成交价
- {{ formobj.busSalesOrderPrice.singleFinalPrice }} + +
其中上装(元)
+ {{ formobj.busSalesOrderModel.topPrice }}
- -
单台折让(元)
- {{ formobj.busSalesOrderPrice.bigDecimalSing }} -
- +
台数
{{ formobj.busSalesOrderPrice.quantity }}
- -
车价合计
+ +
车价合计(元)
{{ formobj.busSalesOrderPrice.priceSum }}
-
- - +
计划提车日期
{{ formobj.busSalesOrderPrice.plannedPickUpDate }}
- -
预计提车地点
+ +
计划提车地点
{{ formobj.busSalesOrderPrice.plannedPickUpLocation }}
-
保险说明
- {{ formobj.insuranceInfo }} +
单台折让(元)
+ {{ formobj.busSalesOrderPrice.bigDecimalSing }}
+
+
挂车1(对应单台主车)
+ + +
挂车类型
+ {{ formobj.gc1.trailerTypeValue }} +
+ +
外廓尺寸-长(m)
+ {{ formobj.gc1.appearanceSizeLong }} +
+ +
销售合同价(元/台)
+ {{ formobj.gc1.singleFinalPrice }} +
+ +
数量
+ {{ formobj.gc1.trailerCount }} +
+
+ + +
合同
+ +
+
+ + +
同车型合格证
+ +
+
+ + +
备注说明
+ {{ formobj.gc1.remarks }} +
+
+
+
挂车2(对应单台主车)
+ + +
挂车类型
+ {{ formobj.gc2.trailerTypeValue }} +
+ +
外廓尺寸-长(m)
+ {{ formobj.gc2.appearanceSizeLong }} +
+ +
销售合同价(元/台)
+ {{ formobj.gc2.singleFinalPrice }} +
+ +
数量
+ {{ formobj.gc2.trailerCount }} +
+
+ + +
合同
+ +
+
+ + +
同车型合格证
+ +
+
+ + +
备注说明
+ {{ formobj.gc2.remarks }} +
+
+
+
订金信息
@@ -214,6 +284,53 @@ {{ formobj.busSalesOrderDeposit.depositRemarks }} +
中介返利
+ + +
内部引荐人
+ {{ formobj.busSalesOrderotherMessageDetailsVo.name }} +
+ +
返利备注
+ {{ formobj.busSalesOrderotherMessageDetailsVo.remarks }} +
+
+ + +
中介人1
+ {{ formobj.busSalesOrderotherMessageDetailsVo.distributorName }} +
+ +
联系电话
+ {{ formobj.busSalesOrderotherMessageDetailsVo.distributorMobile }} +
+ +
单车中介返利
+ {{ formobj.busSalesOrderotherMessageDetailsVo.distributorPrice }} +
+ +
中介返利合计
+ {{ formobj.busSalesOrderotherMessageDetailsVo.middleOneDistributorPriceTotal }} +
+
+ + +
中介人2
+ {{ formobj.busSalesOrderotherMessageDetailsVo.distributorNameTwo }} +
+ +
联系电话
+ {{ formobj.busSalesOrderotherMessageDetailsVo.distributorMobileTwo }} +
+ +
单车中介返利
+ {{ formobj.busSalesOrderotherMessageDetailsVo.distributorPriceTwo }} +
+ +
中介返利合计
+ {{ formobj.busSalesOrderotherMessageDetailsVo.middleTwoDistributorPriceTotal }} +
+
优惠套餐
@@ -260,51 +377,10 @@ -
其它信息
- - -
内部引荐人
- {{ formobj.busSalesOrderotherMessageDetailsVo.name }} -
- -
返利备注
- {{ formobj.busSalesOrderotherMessageDetailsVo.remarks }} -
-
- - -
中介人1
- {{ formobj.busSalesOrderotherMessageDetailsVo.distributorName }} -
- -
联系电话
- {{ formobj.busSalesOrderotherMessageDetailsVo.distributorMobile }} -
- -
单车中介服务费
- {{ formobj.busSalesOrderotherMessageDetailsVo.distributorPrice }} -
- -
中介服务费合计
- {{ formobj.busSalesOrderotherMessageDetailsVo.middleOneDistributorPriceTotal }} -
-
+
保险说明
- -
中介人2
- {{ formobj.busSalesOrderotherMessageDetailsVo.distributorNameTwo }} -
- -
联系电话
- {{ formobj.busSalesOrderotherMessageDetailsVo.distributorMobileTwo }} -
- -
单车中介服务费
- {{ formobj.busSalesOrderotherMessageDetailsVo.distributorPriceTwo }} -
- -
中介服务费合计
- {{ formobj.busSalesOrderotherMessageDetailsVo.middleTwoDistributorPriceTotal }} + + {{ formobj.insuranceInfo }}
@@ -336,15 +412,17 @@ export default { billingType: '', billingTypeKey: '', busDepositFictitiousList: [], - busSalesOrderDeposit: [], + busSalesOrderDeposit: {}, busSalesOrderDiscountList: [], - busSalesOrderInsurance: [], - busSalesOrderMakeup: [], - busSalesOrderModel: [], - busSalesOrderPrice: [], + busSalesOrderInsurance: {}, + busSalesOrderMakeup: {}, + busSalesOrderModel: {}, + busSalesOrderPrice: {}, busSalesOrderVehicleList: [], - busSalesOrderotherMessageDetailsVo: [], + busSalesOrderotherMessageDetailsVo: {}, busSalesVehicleOrderList: [], + gc1: {}, + gc2: {}, companyInvoicingName: '', concatNo: '', createDate: '', @@ -355,6 +433,7 @@ export default { insuranceInfoMessage: '', isInsurance: '', isTop: '', + isGc: false, licensePlateKey: '', licensePlateValue: '', mobile: '', @@ -392,6 +471,34 @@ export default { } else { this.formobj.busSalesOrderModel.vinNo = '' } + if (this.formobj.gc1.contractFile.length > 0) { + const aa = [] + this.formobj.gc1.contractFile.forEach((e) => { + aa.push(e.url) + }) + this.formobj.gc1.contractFile = aa + } + if (this.formobj.gc1.certFile.length > 0) { + const bb = [] + this.formobj.gc1.certFile.forEach((e) => { + bb.push(e.url) + }) + this.formobj.gc1.certFile = bb + } + if (this.formobj.gc2.contractFile.length > 0) { + const cc = [] + this.formobj.gc2.contractFile.forEach((e) => { + cc.push(e.url) + }) + this.formobj.gc2.contractFile = cc + } + if (this.formobj.gc2.certFile.length > 0) { + const ee = [] + this.formobj.gc2.certFile.forEach((e) => { + ee.push(e.url) + }) + this.formobj.gc2.certFile = ee + } } }) }, @@ -450,15 +557,17 @@ export default { billingType: '', billingTypeKey: '', busDepositFictitiousList: [], - busSalesOrderDeposit: [], + busSalesOrderDeposit: {}, busSalesOrderDiscountList: [], - busSalesOrderInsurance: [], - busSalesOrderMakeup: [], - busSalesOrderModel: [], - busSalesOrderPrice: [], + busSalesOrderInsurance: {}, + busSalesOrderMakeup: {}, + busSalesOrderModel: {}, + busSalesOrderPrice: {}, busSalesOrderVehicleList: [], - busSalesOrderotherMessageDetailsVo: [], + busSalesOrderotherMessageDetailsVo: {}, busSalesVehicleOrderList: [], + gc1: {}, + gc2: {}, concatNo: '', createDate: '', customerName: '', @@ -468,6 +577,7 @@ export default { insuranceInfoMessage: '', isInsurance: '', isTop: '', + isGc: false, licensePlateKey: '', licensePlateValue: '', mobile: '', diff --git a/anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xiaoshoudingdanFlow/xiaoshoudingdan.vue b/anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xiaoshoudingdanFlow/xiaoshoudingdan.vue index dc63110b7b..e64ba48cb5 100644 --- a/anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xiaoshoudingdanFlow/xiaoshoudingdan.vue +++ b/anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xiaoshoudingdanFlow/xiaoshoudingdan.vue @@ -134,51 +134,127 @@ {{ formobj.busSalesOrderPrice.quantity }} - - - - - - -
价格信息
+
价格信息(不含挂车)
- -
单台整体指导价
+ +
销售指导价(元/台)
{{ formobj.busSalesOrderPrice.singleGuildPrice }}
- -
主车单台销售合同价
+ +
销售合同价(元/台)
+ {{ formobj.busSalesOrderPrice.singleFinalPrice }} +
+ +
其中主车或底盘(元)
{{ formobj.busSalesOrderModel.finalPrice }}
- -
单台整体销售合同价
- {{ formobj.busSalesOrderPrice.singleFinalPrice }} + +
其中上装(元)
+ {{ formobj.busSalesOrderModel.topPrice }}
- -
单台折让(元)
- {{ formobj.busSalesOrderPrice.bigDecimalSing }} -
- +
台数
{{ formobj.busSalesOrderPrice.quantity }}
- -
车价合计
+ +
车价合计(元)
{{ formobj.busSalesOrderPrice.priceSum }}
-
- - +
计划提车日期
{{ formobj.busSalesOrderPrice.plannedPickUpDate }}
- -
预计提车地点
+ +
计划提车地点
{{ formobj.busSalesOrderPrice.plannedPickUpLocation }}
+ + +
单台折让(元)
+ {{ formobj.busSalesOrderPrice.bigDecimalSing }} +
+
+
+
挂车1(对应单台主车)
+ + +
挂车类型
+ {{ formobj.gc1.trailerTypeValue }} +
+ +
外廓尺寸-长(m)
+ {{ formobj.gc1.appearanceSizeLong }} +
+ +
销售合同价(元/台)
+ {{ formobj.gc1.singleFinalPrice }} +
+ +
数量
+ {{ formobj.gc1.trailerCount }} +
+
+ + +
合同
+ +
+
+ + +
同车型合格证
+ +
+
+ + +
备注说明
+ {{ formobj.gc1.remarks }} +
+
+
+
挂车2(对应单台主车)
+ + +
挂车类型
+ {{ formobj.gc2.trailerTypeValue }} +
+ +
外廓尺寸-长(m)
+ {{ formobj.gc2.appearanceSizeLong }} +
+ +
销售合同价(元/台)
+ {{ formobj.gc2.singleFinalPrice }} +
+ +
数量
+ {{ formobj.gc2.trailerCount }} +
+
+ + +
合同
+ +
+
+ + +
同车型合格证
+ +
+
+ + +
备注说明
+ {{ formobj.gc2.remarks }} +
+
+
+
订金信息
@@ -383,15 +459,17 @@ export default { billingType: '', billingTypeKey: '', busDepositFictitiousList: [], - busSalesOrderDeposit: [], + busSalesOrderDeposit: {}, busSalesOrderDiscountList: [], - busSalesOrderInsurance: [], - busSalesOrderMakeup: [], - busSalesOrderModel: [], - busSalesOrderPrice: [], + busSalesOrderInsurance: {}, + busSalesOrderMakeup: {}, + busSalesOrderModel: {}, + busSalesOrderPrice: {}, busSalesOrderVehicleList: [], - busSalesOrderotherMessageDetailsVo: [], + busSalesOrderotherMessageDetailsVo: {}, busSalesVehicleOrderList: [], + gc1: {}, + gc2: {}, companyInvoicingName: '', concatNo: '', createDate: '', @@ -402,6 +480,7 @@ export default { insuranceInfoMessage: '', isInsurance: '', isTop: '', + isGc: false, licensePlateKey: '', licensePlateValue: '', mobile: '', @@ -502,6 +581,34 @@ export default { } else { this.formobj.busSalesOrderModel.vinNo = '' } + if (this.formobj.gc1.contractFile.length > 0) { + const aa = [] + this.formobj.gc1.contractFile.forEach((e) => { + aa.push(e.url) + }) + this.formobj.gc1.contractFile = aa + } + if (this.formobj.gc1.certFile.length > 0) { + const bb = [] + this.formobj.gc1.certFile.forEach((e) => { + bb.push(e.url) + }) + this.formobj.gc1.certFile = bb + } + if (this.formobj.gc2.contractFile.length > 0) { + const cc = [] + this.formobj.gc2.contractFile.forEach((e) => { + cc.push(e.url) + }) + this.formobj.gc2.contractFile = cc + } + if (this.formobj.gc2.certFile.length > 0) { + const ee = [] + this.formobj.gc2.certFile.forEach((e) => { + ee.push(e.url) + }) + this.formobj.gc2.certFile = ee + } } }) selectStaffListss().then((res) => { diff --git a/anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xiaoshoudingdanFlow/xiaoshoudingdanByCaiGou.vue b/anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xiaoshoudingdanFlow/xiaoshoudingdanByCaiGou.vue index 43e3d0e47f..e271226aa8 100644 --- a/anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xiaoshoudingdanFlow/xiaoshoudingdanByCaiGou.vue +++ b/anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xiaoshoudingdanFlow/xiaoshoudingdanByCaiGou.vue @@ -134,51 +134,127 @@ {{ formobj.busSalesOrderPrice.quantity }} - - - - - - -
价格信息
+
价格信息(不含挂车)
- -
单台整体指导价
+ +
销售指导价(元/台)
{{ formobj.busSalesOrderPrice.singleGuildPrice }}
- -
主车单台销售合同价
+ +
销售合同价(元/台)
+ {{ formobj.busSalesOrderPrice.singleFinalPrice }} +
+ +
其中主车或底盘(元)
{{ formobj.busSalesOrderModel.finalPrice }}
- -
单台整体销售合同价
- {{ formobj.busSalesOrderPrice.singleFinalPrice }} + +
其中上装(元)
+ {{ formobj.busSalesOrderModel.topPrice }}
- -
单台折让(元)
- {{ formobj.busSalesOrderPrice.bigDecimalSing }} -
- +
台数
{{ formobj.busSalesOrderPrice.quantity }}
- -
车价合计
+ +
车价合计(元)
{{ formobj.busSalesOrderPrice.priceSum }}
-
- - +
计划提车日期
{{ formobj.busSalesOrderPrice.plannedPickUpDate }}
- -
预计提车地点
+ +
计划提车地点
{{ formobj.busSalesOrderPrice.plannedPickUpLocation }}
+ + +
单台折让(元)
+ {{ formobj.busSalesOrderPrice.bigDecimalSing }} +
+
+
+
挂车1(对应单台主车)
+ + +
挂车类型
+ {{ formobj.gc1.trailerTypeValue }} +
+ +
外廓尺寸-长(m)
+ {{ formobj.gc1.appearanceSizeLong }} +
+ +
销售合同价(元/台)
+ {{ formobj.gc1.singleFinalPrice }} +
+ +
数量
+ {{ formobj.gc1.trailerCount }} +
+
+ + +
合同
+ +
+
+ + +
同车型合格证
+ +
+
+ + +
备注说明
+ {{ formobj.gc1.remarks }} +
+
+
+
挂车2(对应单台主车)
+ + +
挂车类型
+ {{ formobj.gc2.trailerTypeValue }} +
+ +
外廓尺寸-长(m)
+ {{ formobj.gc2.appearanceSizeLong }} +
+ +
销售合同价(元/台)
+ {{ formobj.gc2.singleFinalPrice }} +
+ +
数量
+ {{ formobj.gc2.trailerCount }} +
+
+ + +
合同
+ +
+
+ + +
同车型合格证
+ +
+
+ + +
备注说明
+ {{ formobj.gc2.remarks }} +
+
+
+
订金信息
@@ -405,15 +481,17 @@ export default { billingType: '', billingTypeKey: '', busDepositFictitiousList: [], - busSalesOrderDeposit: [], + busSalesOrderDeposit: {}, busSalesOrderDiscountList: [], - busSalesOrderInsurance: [], - busSalesOrderMakeup: [], - busSalesOrderModel: [], - busSalesOrderPrice: [], + busSalesOrderInsurance: {}, + busSalesOrderMakeup: {}, + busSalesOrderModel: {}, + busSalesOrderPrice: {}, busSalesOrderVehicleList: [], - busSalesOrderotherMessageDetailsVo: [], + busSalesOrderotherMessageDetailsVo: {}, busSalesVehicleOrderList: [], + gc1: {}, + gc2: {}, concatNo: '', createDate: '', customerName: '', @@ -423,6 +501,7 @@ export default { insuranceInfoMessage: '', isInsurance: '', isTop: '', + isGc: false, licensePlateKey: '', licensePlateValue: '', mobile: '', @@ -531,6 +610,34 @@ export default { } else { this.formobj.busSalesOrderModel.vinNo = '' } + if (this.formobj.gc1.contractFile.length > 0) { + const aa = [] + this.formobj.gc1.contractFile.forEach((e) => { + aa.push(e.url) + }) + this.formobj.gc1.contractFile = aa + } + if (this.formobj.gc1.certFile.length > 0) { + const bb = [] + this.formobj.gc1.certFile.forEach((e) => { + bb.push(e.url) + }) + this.formobj.gc1.certFile = bb + } + if (this.formobj.gc2.contractFile.length > 0) { + const cc = [] + this.formobj.gc2.contractFile.forEach((e) => { + cc.push(e.url) + }) + this.formobj.gc2.contractFile = cc + } + if (this.formobj.gc2.certFile.length > 0) { + const ee = [] + this.formobj.gc2.certFile.forEach((e) => { + ee.push(e.url) + }) + this.formobj.gc2.certFile = ee + } getInvoicingList({ orgPath: this.formobj.orgSidPath }).then((res) => { if (res.success) { this.companyInvoicing_list = res.data diff --git a/anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xiaoshoudingdanFlow/xiaoshoudingdanByJinRong.vue b/anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xiaoshoudingdanFlow/xiaoshoudingdanByJinRong.vue index 321b4f9f38..32d3b414b3 100644 --- a/anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xiaoshoudingdanFlow/xiaoshoudingdanByJinRong.vue +++ b/anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xiaoshoudingdanFlow/xiaoshoudingdanByJinRong.vue @@ -134,51 +134,127 @@ {{ formobj.busSalesOrderPrice.quantity }} - - - - - - -
价格信息
+
价格信息(不含挂车)
- -
单台整体指导价
+ +
销售指导价(元/台)
{{ formobj.busSalesOrderPrice.singleGuildPrice }}
- -
主车单台销售合同价
+ +
销售合同价(元/台)
+ {{ formobj.busSalesOrderPrice.singleFinalPrice }} +
+ +
其中主车或底盘(元)
{{ formobj.busSalesOrderModel.finalPrice }}
- -
单台整体销售合同价
- {{ formobj.busSalesOrderPrice.singleFinalPrice }} + +
其中上装(元)
+ {{ formobj.busSalesOrderModel.topPrice }}
- -
单台折让(元)
- {{ formobj.busSalesOrderPrice.bigDecimalSing }} -
- +
台数
{{ formobj.busSalesOrderPrice.quantity }}
- -
车价合计
+ +
车价合计(元)
{{ formobj.busSalesOrderPrice.priceSum }}
-
- - +
计划提车日期
{{ formobj.busSalesOrderPrice.plannedPickUpDate }}
- -
预计提车地点
+ +
计划提车地点
{{ formobj.busSalesOrderPrice.plannedPickUpLocation }}
+ + +
单台折让(元)
+ {{ formobj.busSalesOrderPrice.bigDecimalSing }} +
+
+
+
挂车1(对应单台主车)
+ + +
挂车类型
+ {{ formobj.gc1.trailerTypeValue }} +
+ +
外廓尺寸-长(m)
+ {{ formobj.gc1.appearanceSizeLong }} +
+ +
销售合同价(元/台)
+ {{ formobj.gc1.singleFinalPrice }} +
+ +
数量
+ {{ formobj.gc1.trailerCount }} +
+
+ + +
合同
+ +
+
+ + +
同车型合格证
+ +
+
+ + +
备注说明
+ {{ formobj.gc1.remarks }} +
+
+
+
挂车2(对应单台主车)
+ + +
挂车类型
+ {{ formobj.gc2.trailerTypeValue }} +
+ +
外廓尺寸-长(m)
+ {{ formobj.gc2.appearanceSizeLong }} +
+ +
销售合同价(元/台)
+ {{ formobj.gc2.singleFinalPrice }} +
+ +
数量
+ {{ formobj.gc2.trailerCount }} +
+
+ + +
合同
+ +
+
+ + +
同车型合格证
+ +
+
+ + +
备注说明
+ {{ formobj.gc2.remarks }} +
+
+
+
订金信息
@@ -405,15 +481,17 @@ export default { billingType: '', billingTypeKey: '', busDepositFictitiousList: [], - busSalesOrderDeposit: [], + busSalesOrderDeposit: {}, busSalesOrderDiscountList: [], - busSalesOrderInsurance: [], - busSalesOrderMakeup: [], - busSalesOrderModel: [], - busSalesOrderPrice: [], + busSalesOrderInsurance: {}, + busSalesOrderMakeup: {}, + busSalesOrderModel: {}, + busSalesOrderPrice: {}, busSalesOrderVehicleList: [], - busSalesOrderotherMessageDetailsVo: [], + busSalesOrderotherMessageDetailsVo: {}, busSalesVehicleOrderList: [], + gc1: {}, + gc2: {}, concatNo: '', createDate: '', customerName: '', @@ -423,6 +501,7 @@ export default { insuranceInfoMessage: '', isInsurance: '', isTop: '', + isGc: false, licensePlateKey: '', licensePlateValue: '', mobile: '', @@ -531,6 +610,34 @@ export default { } else { this.formobj.busSalesOrderModel.vinNo = '' } + if (this.formobj.gc1.contractFile.length > 0) { + const aa = [] + this.formobj.gc1.contractFile.forEach((e) => { + aa.push(e.url) + }) + this.formobj.gc1.contractFile = aa + } + if (this.formobj.gc1.certFile.length > 0) { + const bb = [] + this.formobj.gc1.certFile.forEach((e) => { + bb.push(e.url) + }) + this.formobj.gc1.certFile = bb + } + if (this.formobj.gc2.contractFile.length > 0) { + const cc = [] + this.formobj.gc2.contractFile.forEach((e) => { + cc.push(e.url) + }) + this.formobj.gc2.contractFile = cc + } + if (this.formobj.gc2.certFile.length > 0) { + const ee = [] + this.formobj.gc2.certFile.forEach((e) => { + ee.push(e.url) + }) + this.formobj.gc2.certFile = ee + } getInvoicingList({ orgPath: this.formobj.orgSidPath }).then((res) => { if (res.success) { this.companyInvoicing_list = res.data diff --git a/anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xiaoshoudingdanFlow/xiaoshoudingdanInfo.vue b/anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xiaoshoudingdanFlow/xiaoshoudingdanInfo.vue index e749f600c8..cdf69de019 100644 --- a/anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xiaoshoudingdanFlow/xiaoshoudingdanInfo.vue +++ b/anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xiaoshoudingdanFlow/xiaoshoudingdanInfo.vue @@ -130,51 +130,127 @@ {{ formobj.busSalesOrderPrice.quantity }} - - - - - - -
价格信息
+
价格信息(不含挂车)
- -
单台整体指导价
+ +
销售指导价(元/台)
{{ formobj.busSalesOrderPrice.singleGuildPrice }}
- -
主车单台销售合同价
+ +
销售合同价(元/台)
+ {{ formobj.busSalesOrderPrice.singleFinalPrice }} +
+ +
其中主车或底盘(元)
{{ formobj.busSalesOrderModel.finalPrice }}
- -
单台整体销售合同价
- {{ formobj.busSalesOrderPrice.singleFinalPrice }} + +
其中上装(元)
+ {{ formobj.busSalesOrderModel.topPrice }}
- -
单台折让(元)
- {{ formobj.busSalesOrderPrice.bigDecimalSing }} -
- +
台数
{{ formobj.busSalesOrderPrice.quantity }}
- -
车价合计
+ +
车价合计(元)
{{ formobj.busSalesOrderPrice.priceSum }}
-
- - +
计划提车日期
{{ formobj.busSalesOrderPrice.plannedPickUpDate }}
- -
预计提车地点
+ +
计划提车地点
{{ formobj.busSalesOrderPrice.plannedPickUpLocation }}
+ + +
单台折让(元)
+ {{ formobj.busSalesOrderPrice.bigDecimalSing }} +
+
+
+
挂车1(对应单台主车)
+ + +
挂车类型
+ {{ formobj.gc1.trailerTypeValue }} +
+ +
外廓尺寸-长(m)
+ {{ formobj.gc1.appearanceSizeLong }} +
+ +
销售合同价(元/台)
+ {{ formobj.gc1.singleFinalPrice }} +
+ +
数量
+ {{ formobj.gc1.trailerCount }} +
+
+ + +
合同
+ +
+
+ + +
同车型合格证
+ +
+
+ + +
备注说明
+ {{ formobj.gc1.remarks }} +
+
+
+
挂车2(对应单台主车)
+ + +
挂车类型
+ {{ formobj.gc2.trailerTypeValue }} +
+ +
外廓尺寸-长(m)
+ {{ formobj.gc2.appearanceSizeLong }} +
+ +
销售合同价(元/台)
+ {{ formobj.gc2.singleFinalPrice }} +
+ +
数量
+ {{ formobj.gc2.trailerCount }} +
+
+ + +
合同
+ +
+
+ + +
同车型合格证
+ +
+
+ + +
备注说明
+ {{ formobj.gc2.remarks }} +
+
+
+
订金信息
@@ -335,15 +411,17 @@ export default { billingType: '', billingTypeKey: '', busDepositFictitiousList: [], - busSalesOrderDeposit: [], + busSalesOrderDeposit: {}, busSalesOrderDiscountList: [], - busSalesOrderInsurance: [], - busSalesOrderMakeup: [], - busSalesOrderModel: [], - busSalesOrderPrice: [], + busSalesOrderInsurance: {}, + busSalesOrderMakeup: {}, + busSalesOrderModel: {}, + busSalesOrderPrice: {}, busSalesOrderVehicleList: [], - busSalesOrderotherMessageDetailsVo: [], + busSalesOrderotherMessageDetailsVo: {}, busSalesVehicleOrderList: [], + gc1: {}, + gc2: {}, concatNo: '', companyInvoicingName: '', createDate: '', @@ -354,6 +432,7 @@ export default { insuranceInfoMessage: '', isInsurance: '', isTop: '', + isGc: false, licensePlateKey: '', licensePlateValue: '', mobile: '', @@ -426,6 +505,34 @@ export default { } else { this.formobj.busSalesOrderModel.vinNo = '' } + if (this.formobj.gc1.contractFile.length > 0) { + const aa = [] + this.formobj.gc1.contractFile.forEach((e) => { + aa.push(e.url) + }) + this.formobj.gc1.contractFile = aa + } + if (this.formobj.gc1.certFile.length > 0) { + const bb = [] + this.formobj.gc1.certFile.forEach((e) => { + bb.push(e.url) + }) + this.formobj.gc1.certFile = bb + } + if (this.formobj.gc2.contractFile.length > 0) { + const cc = [] + this.formobj.gc2.contractFile.forEach((e) => { + cc.push(e.url) + }) + this.formobj.gc2.contractFile = cc + } + if (this.formobj.gc2.certFile.length > 0) { + const ee = [] + this.formobj.gc2.certFile.forEach((e) => { + ee.push(e.url) + }) + this.formobj.gc2.certFile = ee + } } }) }, diff --git a/anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xiaoshoudingdan/xiaoshoudingdanInfo.vue b/anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xiaoshoudingdan/xiaoshoudingdanInfo.vue index 2efbc0d166..e1145cdfdd 100644 --- a/anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xiaoshoudingdan/xiaoshoudingdanInfo.vue +++ b/anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xiaoshoudingdan/xiaoshoudingdanInfo.vue @@ -130,51 +130,127 @@ {{ formobj.busSalesOrderPrice.quantity }} - - - - - - -
价格信息
+
价格信息(不含挂车)
- -
单台整体指导价
+ +
销售指导价(元/台)
{{ formobj.busSalesOrderPrice.singleGuildPrice }}
- -
主车单台销售合同价
+ +
销售合同价(元/台)
+ {{ formobj.busSalesOrderPrice.singleFinalPrice }} +
+ +
其中主车或底盘(元)
{{ formobj.busSalesOrderModel.finalPrice }}
- -
单台整体销售合同价
- {{ formobj.busSalesOrderPrice.singleFinalPrice }} + +
其中上装(元)
+ {{ formobj.busSalesOrderModel.topPrice }}
- -
单台折让(元)
- {{ formobj.busSalesOrderPrice.bigDecimalSing }} -
- +
台数
{{ formobj.busSalesOrderPrice.quantity }}
- -
车价合计
+ +
车价合计(元)
{{ formobj.busSalesOrderPrice.priceSum }}
-
- - +
计划提车日期
{{ formobj.busSalesOrderPrice.plannedPickUpDate }}
- -
预计提车地点
+ +
计划提车地点
{{ formobj.busSalesOrderPrice.plannedPickUpLocation }}
+ + +
单台折让(元)
+ {{ formobj.busSalesOrderPrice.bigDecimalSing }} +
+
+
+
挂车1(对应单台主车)
+ + +
挂车类型
+ {{ formobj.gc1.trailerTypeValue }} +
+ +
外廓尺寸-长(m)
+ {{ formobj.gc1.appearanceSizeLong }} +
+ +
销售合同价(元/台)
+ {{ formobj.gc1.singleFinalPrice }} +
+ +
数量
+ {{ formobj.gc1.trailerCount }} +
+
+ + +
合同
+ +
+
+ + +
同车型合格证
+ +
+
+ + +
备注说明
+ {{ formobj.gc1.remarks }} +
+
+
+
挂车2(对应单台主车)
+ + +
挂车类型
+ {{ formobj.gc2.trailerTypeValue }} +
+ +
外廓尺寸-长(m)
+ {{ formobj.gc2.appearanceSizeLong }} +
+ +
销售合同价(元/台)
+ {{ formobj.gc2.singleFinalPrice }} +
+ +
数量
+ {{ formobj.gc2.trailerCount }} +
+
+ + +
合同
+ +
+
+ + +
同车型合格证
+ +
+
+ + +
备注说明
+ {{ formobj.gc2.remarks }} +
+
+
+
订金信息
@@ -336,15 +412,17 @@ export default { billingType: '', billingTypeKey: '', busDepositFictitiousList: [], - busSalesOrderDeposit: [], + busSalesOrderDeposit: {}, busSalesOrderDiscountList: [], - busSalesOrderInsurance: [], - busSalesOrderMakeup: [], - busSalesOrderModel: [], - busSalesOrderPrice: [], + busSalesOrderInsurance: {}, + busSalesOrderMakeup: {}, + busSalesOrderModel: {}, + busSalesOrderPrice: {}, busSalesOrderVehicleList: [], - busSalesOrderotherMessageDetailsVo: [], + busSalesOrderotherMessageDetailsVo: {}, busSalesVehicleOrderList: [], + gc1: {}, + gc2: {}, companyInvoicingName: '', concatNo: '', createDate: '', @@ -355,6 +433,7 @@ export default { insuranceInfoMessage: '', isInsurance: '', isTop: '', + isGc: false, licensePlateKey: '', licensePlateValue: '', mobile: '', @@ -392,6 +471,34 @@ export default { } else { this.formobj.busSalesOrderModel.vinNo = '' } + if (this.formobj.gc1.contractFile.length > 0) { + const aa = [] + this.formobj.gc1.contractFile.forEach((e) => { + aa.push(e.url) + }) + this.formobj.gc1.contractFile = aa + } + if (this.formobj.gc1.certFile.length > 0) { + const bb = [] + this.formobj.gc1.certFile.forEach((e) => { + bb.push(e.url) + }) + this.formobj.gc1.certFile = bb + } + if (this.formobj.gc2.contractFile.length > 0) { + const cc = [] + this.formobj.gc2.contractFile.forEach((e) => { + cc.push(e.url) + }) + this.formobj.gc2.contractFile = cc + } + if (this.formobj.gc2.certFile.length > 0) { + const ee = [] + this.formobj.gc2.certFile.forEach((e) => { + ee.push(e.url) + }) + this.formobj.gc2.certFile = ee + } } }) }, diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfundday/ScheduledLoanFundDayService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfundday/ScheduledLoanFundDayService.java index ff8667312b..dc3b21f55f 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfundday/ScheduledLoanFundDayService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfundday/ScheduledLoanFundDayService.java @@ -40,7 +40,7 @@ public class ScheduledLoanFundDayService { * 每天晚上12点遍历还款计划表中的公司垫款余额,按照以下规则计算: * 每笔垫款的累计资金占用费用A(金融应收未收表中): * 截止到当天垫款余额(在还款计划表中):T 当天新增的资金占用费B - * A=A+B,B =T*7/10000。 + * A=A+B,B =T*10/10000。 * 需要建立每日资金占用费记录表(还款计划明细表sid,日期、当日垫款余额,当日资金占用费) */ //查询 @@ -55,7 +55,7 @@ public class ScheduledLoanFundDayService { //截止到当天垫款余额T BigDecimal paymentMoneyAll = list.get(i).getPaymentMoney(); //当天资金占用费B - BigDecimal fundDay = paymentMoneyAll.multiply(new BigDecimal("7")).divide(new BigDecimal("10000"),2, RoundingMode.HALF_UP); + BigDecimal fundDay = paymentMoneyAll.multiply(new BigDecimal("10")).divide(new BigDecimal("10000"),2, RoundingMode.HALF_UP); LoanRepaymentPlanDetails loanRepaymentPlanDetails = list.get(i); LoanFundDay loanFundDay = new LoanFundDay(); loanFundDay.setBusSid(loanRepaymentPlanDetails.getSid()); diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanpushfundhistory/LoanPushFundHistoryService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanpushfundhistory/LoanPushFundHistoryService.java index 3f0012c3b7..1556459511 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanpushfundhistory/LoanPushFundHistoryService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanpushfundhistory/LoanPushFundHistoryService.java @@ -126,7 +126,7 @@ public class LoanPushFundHistoryService extends MybatisBaseService dataMap = new HashMap(); List> newList = new ArrayList<>(); - dataMap.put("percent", "日万七"); + dataMap.put("percent", "日万十"); String useOrgSid = ""; ResultBean orgSidByPath = sysStaffOrgFeign.getOrgSidByPath(orgPath); if (orgSidByPath.getSuccess()) { diff --git a/yxt-as-ui/src/api/Common/dictcommons.js b/yxt-as-ui/src/api/Common/dictcommons.js index 4392f2ae9b..e7c9d3ad71 100644 --- a/yxt-as-ui/src/api/Common/dictcommons.js +++ b/yxt-as-ui/src/api/Common/dictcommons.js @@ -8,6 +8,15 @@ export function typeValues(data) { }) } +// 获取数据字典(根据分组) +export function getTypeValueList(data) { + return request({ + url: '/portal/v1/dictcommons/getTypeValueList', + method: 'get', + params: data + }) +} + // 根据当前登录人orgSidPath(全路径sid)查询分公司 export function getOrgSidByPath(data) { return request({ @@ -182,3 +191,14 @@ export function getAsBusrepairBill(params) { } }) } +// 查询分页列表 --商品类别列表 +export function getGoodsCategory(params) { + return request({ + url: '/as/v1/AsBusrepairBill/listPage', + method: 'post', + data: params, + headers: { + 'Content-Type': 'application/json' + } + }) +} diff --git a/yxt-as-ui/src/api/operation/claimadjustment.js b/yxt-as-ui/src/api/operation/claimadjustment.js new file mode 100644 index 0000000000..0b57965ebc --- /dev/null +++ b/yxt-as-ui/src/api/operation/claimadjustment.js @@ -0,0 +1,107 @@ +import request from '@/utils/request' + +export default { + // 查询分页列表 + listPage: function(params) { + return request({ + url: '/as/v1/AsBusclaimCheckApply/listPage', + method: 'post', + data: params, + headers: { 'Content-Type': 'application/json' } + }) + }, + // 初始化 + fetchDetailsBySid: function(data) { + return request({ + url: '/as/v1/AsBusclaimCheckApply/details', + method: 'get', + params: data + }) + }, + saveOrUpdate: function(data) { + return request({ + url: '/as/v1/AsBusclaimCheckApply/saveOrUpdateBill', + method: 'post', + data: data, + headers: { 'Content-Type': 'application/json' } + }) + }, + deleteBySids: function(data) { + return request({ + url: '/as/v1/AsBusclaimCheckApply/delBySids', + method: 'DELETE', + data: data, + headers: { 'Content-Type': 'application/json' } + }) + }, + // 提交流程 + submit: function(params) { + return request({ + url: '/as/v1/AsBusclaimCheckApply/submitApply', + method: 'post', + data: params, + headers: { 'Content-Type': 'application/json' } + }) + }, + // 流程审批(同意) + complete: function(params) { + return request({ + url: '/as/v1/AsBusclaimCheckApply/complete', + method: 'post', + data: params, + headers: { 'Content-Type': 'application/json' } + }) + }, + // 流程审批(加签) + delegate: function(params) { + return request({ + url: '/as/v1/AsBusclaimCheckApply/delegate', + method: 'post', + data: params, + headers: { 'Content-Type': 'application/json' } + }) + }, + // 流程审批(驳回) + reject: function(params) { + return request({ + url: '/as/v1/AsBusclaimCheckApply/reject', + method: 'post', + data: params, + headers: { 'Content-Type': 'application/json' } + }) + }, + // 流程审批(终止) + breakProcess: function(params) { + return request({ + url: '/as/v1/AsBusclaimCheckApply/breakProcess', + method: 'post', + data: params, + headers: { 'Content-Type': 'application/json' } + }) + }, + // 流程审批(撤回) + revokeProcess: function(params) { + return request({ + url: '/as/v1/AsBusclaimCheckApply/revokeProcess', + method: 'post', + data: params, + headers: { 'Content-Type': 'application/json' } + }) + }, + // 审批流程(同意)获取下一环节 + getNextNodesForSubmit: function(data) { + return request({ + url: '/as/v1/AsBusclaimCheckApply/getNextNodesForSubmit', + method: 'get', + params: data + }) + }, + // 审批流程(驳回)获取上一环节 + getPreviousNodesForReject: function(data) { + return request({ + url: '/as/v1/AsBusclaimCheckApply/getPreviousNodesForReject', + method: 'get', + params: data + }) + } +} diff --git a/yxt-as-ui/src/api/operation/claimpendingverification.js b/yxt-as-ui/src/api/operation/claimpendingverification.js new file mode 100644 index 0000000000..4f161671ff --- /dev/null +++ b/yxt-as-ui/src/api/operation/claimpendingverification.js @@ -0,0 +1,13 @@ +import request from '@/utils/request' + +export default { + // 查询分页列表 + listPage: function (params) { + return request({ + url: '/as/v1/AsBusclaimCheck/listPage', + method: 'post', + data: params, + headers: {'Content-Type': 'application/json'} + }) + } +} diff --git a/yxt-as-ui/src/api/storage/adjustment.js b/yxt-as-ui/src/api/storage/adjustment.js new file mode 100644 index 0000000000..e13a9ad43d --- /dev/null +++ b/yxt-as-ui/src/api/storage/adjustment.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +export default { + +// 查询分页列表 + listPage: function(params) { + return request({ + url: '/wms/apiadmin/WmsShelfBill/listPage', + method: 'post', + data: params, + headers: { 'Content-Type': 'application/json' } + }) + }, + + // 初始化 + init: function(data) { + return request({ + url: '/wms/apiadmin/WmsShelfBill/details?sid='+data, + method: 'get' + }); + }, + + + // 新增、保存 + save: function(data) { + return request({ + url: '/wms/apiadmin/WmsShelfBill/saveOrUpdate', + method: 'post', + data: data, + headers: { 'Content-Type': 'application/json' } + }); + }, + + + deleteBySids: function(data) { + return request({ + url: '/wms/apiadmin/WmsShelfBill/delBySids', + method: 'DELETE', + data: data, + headers: { 'Content-Type': 'application/json' } + }) + }, + +} diff --git a/yxt-as-ui/src/api/storage/stocktaking.js b/yxt-as-ui/src/api/storage/stocktaking.js index ec8c65ba0a..282f49f608 100644 --- a/yxt-as-ui/src/api/storage/stocktaking.js +++ b/yxt-as-ui/src/api/storage/stocktaking.js @@ -5,7 +5,7 @@ export default { // 查询分页列表 listPage: function(params) { return request({ - url: '/wms/apiadmin/inventory/wmsinventorycheckbill/listPage', + url: '/wms/v1/wmsinventorycheckbill/listPage', method: 'post', data: params, headers: { 'Content-Type': 'application/json' } diff --git a/yxt-as-ui/src/api/warehouse/warehouseArea.js b/yxt-as-ui/src/api/warehouse/warehouseArea.js index 08e52db09c..83d6c59cb8 100644 --- a/yxt-as-ui/src/api/warehouse/warehouseArea.js +++ b/yxt-as-ui/src/api/warehouse/warehouseArea.js @@ -32,7 +32,7 @@ export default { return request({ url: '/wms/apiadmin/base/wmswarehousearea/selectAll', method: 'get', - params: data, + params: params, headers: { 'Content-Type': 'application/json' } }) }, diff --git a/yxt-as-ui/src/router/index.js b/yxt-as-ui/src/router/index.js index 9f409a4e0e..0c4e2d0088 100644 --- a/yxt-as-ui/src/router/index.js +++ b/yxt-as-ui/src/router/index.js @@ -1,603 +1,637 @@ -import Vue from 'vue' -import Router from 'vue-router' - -Vue.use(Router) - -/* Layout */ -import Layout from '@/layout' -/* 所有角色可以访问/没有权限要求的基页 */ - -export const constantRoutes = [{ - path: '/redirect', - component: Layout, - hidden: true, - children: [{ - path: '/redirect/:path(.*)', - component: () => import('@/views/redirect/index.vue') - }] - }, - { - path: '/', - redirect: 'index' - }, - { - path: '/index', - component: Layout, - redirect: '/index', - children: [{ - path: '/index', - component: () => - import('@/views/index.vue'), - name: 'index', - meta: { - title: '主页', - noCache: true, - affix: true - } - }] - }, - { - path: '/404', - component: () => - import('@/views/404'), - hidden: true - }, - { - path: '/operation', - component: Layout, - redirect: '/operation', - meta: { - title: '业务' - }, - children: [ - { - path: '/preregistration/preregistration', - component: () => import('@/views/operation/preregistration/preregistration.vue'), - name: 'Preregistration', - meta: { title: '预约单管理', noCache: true } - }, - { - path: '/repairbill/repairbill', - component: () => import('@/views/operation/repairbill/repairbill.vue'), - name: 'RepairBill', - meta: { title: '维修单管理(登记)', noCache: true } - }, - { - path: '/repairbill/repairbillBySendWork', - component: () => import('@/views/operation/repairbill/repairbillBySendWork.vue'), - name: 'RepairBillBySendWork', - meta: { title: '维修单管理(派工)', noCache: true } - }, - { - path: '/repairbill/repairbillByMaintain', - component: () => import('@/views/operation/repairbill/repairbillByMaintain.vue'), - name: 'RepairBillByMaintain', - meta: { title: '维修单管理(维修)', noCache: true } - }, - { - path: '/repairbill/repairbillByBeCompleted', - component: () => import('@/views/operation/repairbill/repairbillByBeCompleted.vue'), - name: 'RepairBillByBeCompleted', - meta: { title: '维修单管理(竣工)', noCache: true } - }, - { - path: '/repairbill/repairbillBySettleAccounts', - component: () => import('@/views/operation/repairbill/repairbillBySettleAccounts.vue'), - name: 'RepairBillBySettleAccounts', - meta: { title: '维修单管理(结算)', noCache: true } - }, - { - path: '/repairbill/repairbillBYLeaveFactory', - component: () => import('@/views/operation/repairbill/repairbillBYLeaveFactory.vue'), - name: 'RepairBillBYLeaveFactory', - meta: { title: '维修单管理(出厂)', noCache: true } - }, - { - path: '/arrearsleavefactory/arrearsleavefactory', - component: () => import('@/views/operation/arrearsleavefactory/arrearsleavefactory.vue'), - name: 'ArrearsLeaveFactory', - meta: { title: '保外欠款出厂管理', noCache: true } - }, - { - path: '/pendingclaim/pendingclaim', - component: () => import('@/views/operation/pendingclaim/pendingclaim.vue'), - name: 'PendingClaim', - meta: { title: '待索赔维修工单', noCache: true } - }, - { - path: '/claimstatement/claimstatement', - component: () => import('@/views/operation/claimstatement/claimstatement.vue'), - name: 'ClaimStatement', - meta: { title: '厂家索赔单管理', noCache: true } - }, - { - path: '/claimbilling/claimbilling', - component: () => import('@/views/operation/claimbilling/claimbilling.vue'), - name: 'ClaimBilling', - meta: { title: '索赔单开票管理', noCache: true } - }, - { - path: '/workslrsettlement/workslrsettlement', - component: () => import('@/views/operation/workslrsettlement/workslrsettlement.vue'), - name: 'WorkSLRSettlement', - meta: { title: '工单反结算管理', noCache: true } - }, - ] - }, - - { - path: '/maintenance', - component: Layout, - redirect: '/maintenance', - meta: { - title: '维修领料' - }, - children: [ - { - path: '/maintenanceOutbound/index', - component: () => import('@/views/maintenance/maintenanceOutbound/index.vue'), - name: 'MaintenanceOutbound', - meta: { title: '维修出库', noCache: true } - }, - { - path: '/maintenanceReturnBound/index', - component: () => import('@/views/maintenance/maintenanceReturnBound/index.vue'), - name: 'MaintenanceReturnBound', - meta: { title: '维修退库', noCache: true } - }, - ] - }, - - { - path: '/warehouse', - component: Layout, - redirect: '/warehouse', - meta: { - title: '仓库管理' - }, - children: [ - { - path: '/goodsShelves/index', - component: () => import('@/views/warehouse/goodsShelves/index.vue'), - name: 'GoodsShelves', - meta: { title: '库位管理', noCache: true } - }, - { - path: '/warehouseArea/index', - component: () => import('@/views/warehouse/warehouseArea/index.vue'), - name: 'WarehouseArea', - meta: { title: '库区管理', noCache: true } - }, - { - path: '/warehouseAreaType/index', - component: () => import('@/views/warehouse/warehouseAreaType/index.vue'), - name: 'WarehouseAreaType', - meta: { title: '库区类型管理', noCache: true } - }, - { - path: '/warehouse/index', - component: () => import('@/views/warehouse/warehouse/index.vue'), - name: 'Warehouse', - meta: { title: '仓库管理', noCache: true } - } - ] - }, - - { - path: '/goods', - component: Layout, - redirect: '/goods', - meta: { - title: '商品管理' - }, - children: [ - { - path: '/brands/index', - component: () => import('@/views/goods/brands/index.vue'), - name: 'Brands', - meta: { title: '品牌管理', noCache: true } - }, - { - path: '/category/index', - component: () => import('@/views/goods/category/index.vue'), - name: 'Category', - meta: { title: '商品类别', noCache: true } - }, - { - path: '/factory/index', - component: () => import('@/views/goods/factory/index.vue'), - name: 'Factory', - meta: { title: '厂家管理', noCache: true } - }, - { - path: '/goods/index', - component: () => import('@/views/goods/goods/index.vue'), - name: 'Goods', - meta: { title: '商品管理', noCache: true } - }, - { - path: '/unit/index', - component: () => import('@/views/goods/unit/index.vue'), - name: 'Unit', - meta: { title: '计量单位', noCache: true } - } - ] - }, - { - path: '/storage', - component: Layout, - redirect: '/storage', - meta: { - title: '仓储' - }, - children: [ - { - path: '/outStorage/index', - component: () => import('@/views/storage/outStorage/index'), - name: 'OutStorage', - meta: { title: '出库管理', noCache: true } - }, - { - path: '/inventory/inventory', - component: () => import('@/views/storage/inventory/inventory.vue'), - name: 'Inventory', - meta: { title: '库存查询', noCache: true } - }, - { - path: '/inventory/inventoryRefer', - component: () => import('@/views/storage/inventory/inventoryRefer.vue'), - name: 'InventoryRefer', - meta: { title: '出入库查询', noCache: true } - }, - { - path: '/maintenanceInOrOutBound/index', - component: () => import('@/views/storage/maintenanceInOrOutBound/index.vue'), - name: 'MaintenanceInOrOutBound', - meta: { title: '维修出入库查询', noCache: true } - }, - { - path: '/stocktaking/index', - component: () => import('@/views/storage/stocktaking/index'), - name: 'Stocktaking', - meta: { title: '盘点管理', noCache: true } - }, - { - path: '/allocation/index', - component: () => import('@/views/storage/allocation/index'), - name: 'Allocation', - meta: { title: '调拨管理', noCache: true } - }, - { - path: '/deliveryNotice/index', - component: () => import('@/views/storage/deliveryNotice/index'), - name: 'DeliveryNotice', - meta: { title: '到货通知单', noCache: true } - }, - { - path: '/receivingGoods/index', - component: () => import('@/views/storage/receivingGoods/index'), - name: 'ReceivingGoods', - meta: { title: '收货单管理', noCache: true } - }, - { - path: '/upShelf/index', - component: () => import('@/views/storage/upShelf/index'), - name: 'UpShelf', - meta: { title: '上架单管理', noCache: true } - }, - { - path: '/oldPartsFactory/index', - component: () => import('@/views/storage/oldPartsFactory/index'), - name: 'OldPartsFactory', - meta: { title: '旧件返厂', noCache: true } - }, - { - path: '/oldPartsCope/index', - component: () => import('@/views/storage/oldPartsCope/index'), - name: 'OldPartsCope', - meta: { title: '旧件处理', noCache: true } - }, - { - path: '/oldPartsRecovery/index', - component: () => import('@/views/storage/oldPartsRecovery/index'), - name: 'OldPartsRecovery', - meta: { title: '旧件回收', noCache: true } - }, - { - path: '/oldPartsInStorage/index', - component: () => import('@/views/storage/oldPartsInStorage/index'), - name: 'OldPartsInStorage', - meta: { title: '旧件入库', noCache: true } - }, - { - path: '/oldPartsInvertory/index', - component: () => import('@/views/storage/oldPartsInvertory/index'), - name: 'OldPartsInvertory', - meta: { title: '旧件库存', noCache: true } - }, - { - path: '/oldPartsInAndOutStorage/index', - component: () => import('@/views/storage/oldPartsInAndOutStorage/index'), - name: 'OldPartsInAndOutStorage', - meta: { title: '旧件出入库查询', noCache: true } - }, - { - path: '/storageage/storageage', - component: () => import('@/views/storage/storageage/storageage'), - name: 'StorageAge', - meta: { title: '库龄查询', noCache: true } - }, - { - path: '/carryover/carryoverstock', - component: () => import('@/views/storage/carryover/carryoverstock'), - name: 'CarryoverStock', - meta: { title: '结转库存查询', noCache: true } - }, - { - path: '/carryover/carryforwardrecord', - component: () => import('@/views/storage/carryover/carryforwardrecord'), - name: 'CarryForwardRecord', - meta: { title: '结转记录查询', noCache: true } - } - ] - }, - - { - path: '/purchase', - component: Layout, - redirect: '/purchase', - meta: { - title: '采购' - }, - children: [ - { - path: '/procurement/procurement', - component: () => import('@/views/purchase/procurement/procurement.vue'), - name: 'Procurement', - meta: { title: '采购单管理', noCache: true } - }, - { - path: '/purchasereturn/purchasereturn', - component: () => import('@/views/purchase/purchasereturn/purchasereturn.vue'), - name: 'PurchaseReturn', - meta: { title: '采购退货', noCache: true } - } - ] - }, - { - path: '/statement', - component: Layout, - redirect: '/statement', - meta: { - title: '报表' - }, - children: [ - { - path: '/salesstatement/merchandisesalesdetail', - component: () => import('@/views/statement/salesstatement/merchandisesalesdetail.vue'), - name: 'MerchandiseSalesDetail', - meta: { title: '销售明细商品', noCache: true } - }, - { - path: '/salesstatement/merchandisesalessummary', - component: () => import('@/views/statement/salesstatement/merchandisesalessummary.vue'), - name: 'MerchandiseSalesSummary', - meta: { title: '销售汇总商品', noCache: true } - }, - { - path: '/salesstatement/salestrendreport', - component: () => import('@/views/statement/salesstatement/salestrendreport.vue'), - name: 'SalesTrendReport', - meta: { title: '销售价趋势报表', noCache: true } - }, - { - path: '/warehousereport/inventorystatistics', - component: () => import('@/views/statement/warehousereport/inventorystatistics.vue'), - name: 'InventoryStatistics', - meta: { title: '库存统计', noCache: true } - }, - { - path: '/warehousereport/receiptandreceiptrecord', - component: () => import('@/views/statement/warehousereport/receiptandreceiptrecord.vue'), - name: 'ReceiptAndReceiptRecord', - meta: { title: '收发存明细报表', noCache: true } - }, - { - path: '/purchasereport/detailedpurchasereport', - component: () => import('@/views/statement/purchasereport/detailedpurchasereport.vue'), - name: 'DetailedPurchaseReport', - meta: { title: '采购明细报表', noCache: true } - }, - { - path: '/purchasereport/purchasesummaryreport', - component: () => import('@/views/statement/purchasereport/purchasesummaryreport.vue'), - name: 'PurchaseSummaryReport', - meta: { title: '采购汇总报表', noCache: true } - } - ] - }, - { - path: '/basicinformation', - component: Layout, - redirect: '/basicinformation', - meta: { - title: '基础信息' - }, - children: [ - { - path: '/maintenanceitem/maintenanceitem', - component: () => import('@/views/basicinformation/maintenanceitem/maintenanceitem.vue'), - name: 'MaintenanceItem', - meta: { title: '维修项目管理', noCache: true } - }, - { - path: '/additionitem/additionitem', - component: () => import('@/views/basicinformation/additionitem/additionitem.vue'), - name: 'AdditionItem', - meta: { title: '附加项目管理', noCache: true } - }, - { - path: '/setmeal/setmeal', - component: () => import('@/views/basicinformation/setmeal/setmeal.vue'), - name: 'Setmeal', - meta: { title: '套餐管理', noCache: true } - }, - { - path: '/profession/profession', - component: () => import('@/views/basicinformation/profession/profession.vue'), - name: 'Profession', - meta: { title: '工种管理', noCache: true } - }, - { - path: '/subjects/subjects', - component: () => import('@/views/basicinformation/subjects/subjects.vue'), - name: 'Subjects', - meta: { title: '科目管理', noCache: true } - }, - { - path: '/team/team', - component: () => import('@/views/basicinformation/team/team.vue'), - name: 'Team', - meta: { title: '班组管理', noCache: true } - }, - { - path: '/suppliertype/suppliertype', - component: () => import('@/views/basicinformation/suppliertype/suppliertype.vue'), - name: 'SupplierType', - meta: { title: '供应商类型管理', noCache: true } - }, - { - path: '/supplier/supplier', - component: () => import('@/views/basicinformation/supplier/supplier.vue'), - name: 'Supplier', - meta: { title: '供应商管理', noCache: true } - } - ] - }, - - // 采购申请管理--编辑 - { - path: '/caigouFlow/procurementEdit', - component: () => - import('@/views/workFlow/caigouFlow/procurementEdit.vue'), - name: 'ProcurementEdit' - }, - // 采购申请管理--待办 - { - path: '/caigouFlow/procurementDaiBan', - component: () => - import('@/views/workFlow/caigouFlow/procurementDaiBan.vue'), - name: 'ProcurementDaiBan' - }, - // 采购申请管理--已办 - { - path: '/caigouFlow/procurementYiBan', - component: () => - import('@/views/workFlow/caigouFlow/procurementYiBan.vue'), - name: 'ProcurementYiBan' - }, - // 采购退货单管理--编辑 - { - path: '/caigoutuihuoFlow/purchasereturnEdit', - component: () => - import('@/views/workFlow/caigoutuihuoFlow/purchasereturnEdit.vue'), - name: 'PurchaseReturnEdit' - }, - // 采购退货单管理--待办 - { - path: '/caigoutuihuoFlow/purchasereturnDaiBan', - component: () => - import('@/views/workFlow/caigoutuihuoFlow/purchasereturnDaiBan.vue'), - name: 'PurchaseReturnDaiBan' - }, - // 采购退货单管理--已办 - { - path: '/caigoutuihuoFlow/purchasereturnYiBan', - component: () => - import('@/views/workFlow/caigoutuihuoFlow/purchasereturnYiBan.vue'), - name: 'PurchaseReturnYiBan' - }, - // 工单反结算管理--编辑 - { - path: '/fanjiesuanFlow/workslrsettlementEdit', - component: () => - import('@/views/workFlow/fanjiesuanFlow/workslrsettlementEdit.vue'), - name: 'WorkSLRSettlementEdit' - }, - // 工单反结算管理--待办 - { - path: '/fanjiesuanFlow/workslrsettlementDaiBan', - component: () => - import('@/views/workFlow/fanjiesuanFlow/workslrsettlementDaiBan.vue'), - name: 'WorkSLRSettlementDaiBan' - }, - // 工单反结算管理--已办 - { - path: '/fanjiesuanFlow/workslrsettlementYiBan', - component: () => - import('@/views/workFlow/fanjiesuanFlow/workslrsettlementYiBan.vue'), - name: 'WorkSLRSettlementYiBan' - }, - // 保外欠款出厂管理--编辑 - { - path: '/qikuanchuchangFlow/arrearsleavefactoryEdit', - component: () => - import('@/views/workFlow/qikuanchuchangFlow/arrearsleavefactoryEdit.vue'), - name: 'ArrearsLeaveFactoryEdit' - }, - // 保外欠款出厂管理--待办 - { - path: '/qikuanchuchangFlow/arrearsleavefactoryDaiBan', - component: () => - import('@/views/workFlow/qikuanchuchangFlow/arrearsleavefactoryDaiBan.vue'), - name: 'ArrearsLeaveFactoryDaiBan' - }, - // 保外欠款出厂管理--已办 - { - path: '/qikuanchuchangFlow/arrearsleavefactoryYiBan', - component: () => - import('@/views/workFlow/qikuanchuchangFlow/arrearsleavefactoryYiBan.vue'), - name: 'ArrearsLeaveFactoryYiBan' - }, - // 索赔单开票管理--编辑 - { - path: '/suopeikaipiaoFlow/claimbillingEdit', - component: () => - import('@/views/workFlow/suopeikaipiaoFlow/claimbillingEdit.vue'), - name: 'ClaimBillingEdit' - }, - // 索赔单开票管理--待办 - { - path: '/suopeikaipiaoFlow/claimbillingDaiBan', - component: () => - import('@/views/workFlow/suopeikaipiaoFlow/claimbillingDaiBan.vue'), - name: 'ClaimBillingDaiBan' - }, - // 索赔单开票管理--已办 - { - path: '/suopeikaipiaoFlow/claimbillingYiBan', - component: () => - import('@/views/workFlow/suopeikaipiaoFlow/claimbillingYiBan.vue'), - name: 'ClaimBillingYiBan' - }, - // 404 page must be placed at the end !!! - // { path: '*', redirect: '/404', hidden: true } -] - -const createRouter = () => new Router({ - // mode: 'history', // require service support - scrollBehavior: () => ({ - y: 0 - }), - routes: constantRoutes -}) - -const router = createRouter() - -// Detail see: https://github.com/vuejs/vue-router/issues/1234#issuecomment-357941465 -export function resetRouter() { - const newRouter = createRouter() - router.matcher = newRouter.matcher // reset router -} - -export default router +import Vue from 'vue' +import Router from 'vue-router' + +Vue.use(Router) + +/* Layout */ +import Layout from '@/layout' +/* 所有角色可以访问/没有权限要求的基页 */ + +export const constantRoutes = [{ + path: '/redirect', + component: Layout, + hidden: true, + children: [{ + path: '/redirect/:path(.*)', + component: () => import('@/views/redirect/index.vue') + }] + }, + { + path: '/', + redirect: 'index' + }, + { + path: '/index', + component: Layout, + redirect: '/index', + children: [{ + path: '/index', + component: () => + import('@/views/index.vue'), + name: 'index', + meta: { + title: '主页', + noCache: true, + affix: true + } + }] + }, + { + path: '/404', + component: () => + import('@/views/404'), + hidden: true + }, + { + path: '/operation', + component: Layout, + redirect: '/operation', + meta: { + title: '业务' + }, + children: [ + { + path: '/preregistration/preregistration', + component: () => import('@/views/operation/preregistration/preregistration.vue'), + name: 'Preregistration', + meta: { title: '预约单管理', noCache: true } + }, + { + path: '/repairbill/repairbill', + component: () => import('@/views/operation/repairbill/repairbill.vue'), + name: 'RepairBill', + meta: { title: '维修单管理(登记)', noCache: true } + }, + { + path: '/repairbill/repairbillBySendWork', + component: () => import('@/views/operation/repairbill/repairbillBySendWork.vue'), + name: 'RepairBillBySendWork', + meta: { title: '维修单管理(派工)', noCache: true } + }, + { + path: '/repairbill/repairbillByMaintain', + component: () => import('@/views/operation/repairbill/repairbillByMaintain.vue'), + name: 'RepairBillByMaintain', + meta: { title: '维修单管理(维修)', noCache: true } + }, + { + path: '/repairbill/repairbillByBeCompleted', + component: () => import('@/views/operation/repairbill/repairbillByBeCompleted.vue'), + name: 'RepairBillByBeCompleted', + meta: { title: '维修单管理(竣工)', noCache: true } + }, + { + path: '/repairbill/repairbillBySettleAccounts', + component: () => import('@/views/operation/repairbill/repairbillBySettleAccounts.vue'), + name: 'RepairBillBySettleAccounts', + meta: { title: '维修单管理(结算)', noCache: true } + }, + { + path: '/repairbill/repairbillBYLeaveFactory', + component: () => import('@/views/operation/repairbill/repairbillBYLeaveFactory.vue'), + name: 'RepairBillBYLeaveFactory', + meta: { title: '维修单管理(出厂)', noCache: true } + }, + { + path: '/arrearsleavefactory/arrearsleavefactory', + component: () => import('@/views/operation/arrearsleavefactory/arrearsleavefactory.vue'), + name: 'ArrearsLeaveFactory', + meta: { title: '保外欠款出厂管理', noCache: true } + }, + { + path: '/pendingclaim/pendingclaim', + component: () => import('@/views/operation/pendingclaim/pendingclaim.vue'), + name: 'PendingClaim', + meta: { title: '待索赔维修工单', noCache: true } + }, + { + path: '/claimstatement/claimstatement', + component: () => import('@/views/operation/claimstatement/claimstatement.vue'), + name: 'ClaimStatement', + meta: { title: '厂家索赔单管理', noCache: true } + }, + { + path: '/claimbilling/claimbilling', + component: () => import('@/views/operation/claimbilling/claimbilling.vue'), + name: 'ClaimBilling', + meta: { title: '索赔单开票管理', noCache: true } + }, + { + path: '/claimpendingverification/claimpendingverification', + component: () => import('@/views/operation/claimpendingverification/claimpendingverification.vue'), + name: 'ClaimPendingVerification', + meta: { title: '工单索赔待核对', noCache: true } + }, + { + path: '/claimadjustment/claimadjustment', + component: () => import('@/views/operation/claimadjustment/claimadjustment.vue'), + name: 'ClaimAdjustment', + meta: { title: '工单索赔调整', noCache: true } + }, + { + path: '/workslrsettlement/workslrsettlement', + component: () => import('@/views/operation/workslrsettlement/workslrsettlement.vue'), + name: 'WorkSLRSettlement', + meta: { title: '工单反结算管理', noCache: true } + }, + ] + }, + + { + path: '/maintenance', + component: Layout, + redirect: '/maintenance', + meta: { + title: '维修领料' + }, + children: [ + { + path: '/maintenanceOutbound/index', + component: () => import('@/views/maintenance/maintenanceOutbound/index.vue'), + name: 'MaintenanceOutbound', + meta: { title: '维修出库', noCache: true } + }, + { + path: '/maintenanceReturnBound/index', + component: () => import('@/views/maintenance/maintenanceReturnBound/index.vue'), + name: 'MaintenanceReturnBound', + meta: { title: '维修退库', noCache: true } + }, + ] + }, + + { + path: '/warehouse', + component: Layout, + redirect: '/warehouse', + meta: { + title: '仓库管理' + }, + children: [ + { + path: '/goodsShelves/index', + component: () => import('@/views/warehouse/goodsShelves/index.vue'), + name: 'GoodsShelves', + meta: { title: '库位管理', noCache: true } + }, + { + path: '/warehouseArea/index', + component: () => import('@/views/warehouse/warehouseArea/index.vue'), + name: 'WarehouseArea', + meta: { title: '库区管理', noCache: true } + }, + { + path: '/warehouseAreaType/index', + component: () => import('@/views/warehouse/warehouseAreaType/index.vue'), + name: 'WarehouseAreaType', + meta: { title: '库区类型管理', noCache: true } + }, + { + path: '/warehouse/index', + component: () => import('@/views/warehouse/warehouse/index.vue'), + name: 'Warehouse', + meta: { title: '仓库管理', noCache: true } + } + ] + }, + + { + path: '/goods', + component: Layout, + redirect: '/goods', + meta: { + title: '商品管理' + }, + children: [ + { + path: '/brands/index', + component: () => import('@/views/goods/brands/index.vue'), + name: 'Brands', + meta: { title: '品牌管理', noCache: true } + }, + { + path: '/category/index', + component: () => import('@/views/goods/category/index.vue'), + name: 'Category', + meta: { title: '商品类别', noCache: true } + }, + { + path: '/factory/index', + component: () => import('@/views/goods/factory/index.vue'), + name: 'Factory', + meta: { title: '厂家管理', noCache: true } + }, + { + path: '/goods/index', + component: () => import('@/views/goods/goods/index.vue'), + name: 'Goods', + meta: { title: '商品管理', noCache: true } + }, + { + path: '/unit/index', + component: () => import('@/views/goods/unit/index.vue'), + name: 'Unit', + meta: { title: '计量单位', noCache: true } + } + ] + }, + { + path: '/storage', + component: Layout, + redirect: '/storage', + meta: { + title: '仓储' + }, + children: [ + { + path: '/outStorage/index', + component: () => import('@/views/storage/outStorage/index'), + name: 'OutStorage', + meta: { title: '出库管理', noCache: true } + }, + { + path: '/inventory/inventory', + component: () => import('@/views/storage/inventory/inventory.vue'), + name: 'Inventory', + meta: { title: '库存查询', noCache: true } + }, + { + path: '/inventory/inventoryRefer', + component: () => import('@/views/storage/inventory/inventoryRefer.vue'), + name: 'InventoryRefer', + meta: { title: '出入库查询', noCache: true } + }, + { path: '/adjustment/index', component: () => import('@/views/storage/adjustment/index.vue'), name: 'Adjustment', meta: { title: '定/调价', noCache: true } }, + { + path: '/maintenanceInOrOutBound/index', + component: () => import('@/views/storage/maintenanceInOrOutBound/index.vue'), + name: 'MaintenanceInOrOutBound', + meta: { title: '维修出入库查询', noCache: true } + }, + { + path: '/stocktaking/index', + component: () => import('@/views/storage/stocktaking/index'), + name: 'Stocktaking', + meta: { title: '盘点管理', noCache: true } + }, + { + path: '/allocation/index', + component: () => import('@/views/storage/allocation/index'), + name: 'Allocation', + meta: { title: '调拨管理', noCache: true } + }, + { + path: '/deliveryNotice/index', + component: () => import('@/views/storage/deliveryNotice/index'), + name: 'DeliveryNotice', + meta: { title: '到货通知单', noCache: true } + }, + { + path: '/receivingGoods/index', + component: () => import('@/views/storage/receivingGoods/index'), + name: 'ReceivingGoods', + meta: { title: '收货单管理', noCache: true } + }, + { + path: '/upShelf/index', + component: () => import('@/views/storage/upShelf/index'), + name: 'UpShelf', + meta: { title: '上架单管理', noCache: true } + }, + { + path: '/oldPartsFactory/index', + component: () => import('@/views/storage/oldPartsFactory/index'), + name: 'OldPartsFactory', + meta: { title: '旧件返厂', noCache: true } + }, + { + path: '/oldPartsCope/index', + component: () => import('@/views/storage/oldPartsCope/index'), + name: 'OldPartsCope', + meta: { title: '旧件处理', noCache: true } + }, + { + path: '/oldPartsRecovery/index', + component: () => import('@/views/storage/oldPartsRecovery/index'), + name: 'OldPartsRecovery', + meta: { title: '旧件回收', noCache: true } + }, + { + path: '/oldPartsInStorage/index', + component: () => import('@/views/storage/oldPartsInStorage/index'), + name: 'OldPartsInStorage', + meta: { title: '旧件入库', noCache: true } + }, + { + path: '/oldPartsInvertory/index', + component: () => import('@/views/storage/oldPartsInvertory/index'), + name: 'OldPartsInvertory', + meta: { title: '旧件库存', noCache: true } + }, + { + path: '/oldPartsInAndOutStorage/index', + component: () => import('@/views/storage/oldPartsInAndOutStorage/index'), + name: 'OldPartsInAndOutStorage', + meta: { title: '旧件出入库查询', noCache: true } + }, + { + path: '/storageage/storageage', + component: () => import('@/views/storage/storageage/storageage'), + name: 'StorageAge', + meta: { title: '库龄查询', noCache: true } + }, + { + path: '/carryover/carryoverstock', + component: () => import('@/views/storage/carryover/carryoverstock'), + name: 'CarryoverStock', + meta: { title: '结转库存查询', noCache: true } + }, + { + path: '/carryover/carryforwardrecord', + component: () => import('@/views/storage/carryover/carryforwardrecord'), + name: 'CarryForwardRecord', + meta: { title: '结转记录查询', noCache: true } + } + ] + }, + + { + path: '/purchase', + component: Layout, + redirect: '/purchase', + meta: { + title: '采购' + }, + children: [ + { + path: '/procurement/procurement', + component: () => import('@/views/purchase/procurement/procurement.vue'), + name: 'Procurement', + meta: { title: '采购单管理', noCache: true } + }, + { + path: '/purchasereturn/purchasereturn', + component: () => import('@/views/purchase/purchasereturn/purchasereturn.vue'), + name: 'PurchaseReturn', + meta: { title: '采购退货', noCache: true } + } + ] + }, + { + path: '/statement', + component: Layout, + redirect: '/statement', + meta: { + title: '报表' + }, + children: [ + { + path: '/salesstatement/merchandisesalesdetail', + component: () => import('@/views/statement/salesstatement/merchandisesalesdetail.vue'), + name: 'MerchandiseSalesDetail', + meta: { title: '销售明细商品', noCache: true } + }, + { + path: '/salesstatement/merchandisesalessummary', + component: () => import('@/views/statement/salesstatement/merchandisesalessummary.vue'), + name: 'MerchandiseSalesSummary', + meta: { title: '销售汇总商品', noCache: true } + }, + { + path: '/salesstatement/salestrendreport', + component: () => import('@/views/statement/salesstatement/salestrendreport.vue'), + name: 'SalesTrendReport', + meta: { title: '销售价趋势报表', noCache: true } + }, + { + path: '/warehousereport/inventorystatistics', + component: () => import('@/views/statement/warehousereport/inventorystatistics.vue'), + name: 'InventoryStatistics', + meta: { title: '库存统计', noCache: true } + }, + { + path: '/warehousereport/receiptandreceiptrecord', + component: () => import('@/views/statement/warehousereport/receiptandreceiptrecord.vue'), + name: 'ReceiptAndReceiptRecord', + meta: { title: '收发存明细报表', noCache: true } + }, + { + path: '/purchasereport/detailedpurchasereport', + component: () => import('@/views/statement/purchasereport/detailedpurchasereport.vue'), + name: 'DetailedPurchaseReport', + meta: { title: '采购明细报表', noCache: true } + }, + { + path: '/purchasereport/purchasesummaryreport', + component: () => import('@/views/statement/purchasereport/purchasesummaryreport.vue'), + name: 'PurchaseSummaryReport', + meta: { title: '采购汇总报表', noCache: true } + } + ] + }, + { + path: '/basicinformation', + component: Layout, + redirect: '/basicinformation', + meta: { + title: '基础信息' + }, + children: [ + { + path: '/maintenanceitem/maintenanceitem', + component: () => import('@/views/basicinformation/maintenanceitem/maintenanceitem.vue'), + name: 'MaintenanceItem', + meta: { title: '维修项目管理', noCache: true } + }, + { + path: '/additionitem/additionitem', + component: () => import('@/views/basicinformation/additionitem/additionitem.vue'), + name: 'AdditionItem', + meta: { title: '附加项目管理', noCache: true } + }, + { + path: '/setmeal/setmeal', + component: () => import('@/views/basicinformation/setmeal/setmeal.vue'), + name: 'Setmeal', + meta: { title: '套餐管理', noCache: true } + }, + { + path: '/profession/profession', + component: () => import('@/views/basicinformation/profession/profession.vue'), + name: 'Profession', + meta: { title: '工种管理', noCache: true } + }, + { + path: '/subjects/subjects', + component: () => import('@/views/basicinformation/subjects/subjects.vue'), + name: 'Subjects', + meta: { title: '科目管理', noCache: true } + }, + { + path: '/team/team', + component: () => import('@/views/basicinformation/team/team.vue'), + name: 'Team', + meta: { title: '班组管理', noCache: true } + }, + { + path: '/suppliertype/suppliertype', + component: () => import('@/views/basicinformation/suppliertype/suppliertype.vue'), + name: 'SupplierType', + meta: { title: '供应商类型管理', noCache: true } + }, + { + path: '/supplier/supplier', + component: () => import('@/views/basicinformation/supplier/supplier.vue'), + name: 'Supplier', + meta: { title: '供应商管理', noCache: true } + } + ] + }, + + // 采购申请管理--编辑 + { + path: '/caigouFlow/procurementEdit', + component: () => + import('@/views/workFlow/caigouFlow/procurementEdit.vue'), + name: 'ProcurementEdit' + }, + // 采购申请管理--待办 + { + path: '/caigouFlow/procurementDaiBan', + component: () => + import('@/views/workFlow/caigouFlow/procurementDaiBan.vue'), + name: 'ProcurementDaiBan' + }, + // 采购申请管理--已办 + { + path: '/caigouFlow/procurementYiBan', + component: () => + import('@/views/workFlow/caigouFlow/procurementYiBan.vue'), + name: 'ProcurementYiBan' + }, + // 采购退货单管理--编辑 + { + path: '/caigoutuihuoFlow/purchasereturnEdit', + component: () => + import('@/views/workFlow/caigoutuihuoFlow/purchasereturnEdit.vue'), + name: 'PurchaseReturnEdit' + }, + // 采购退货单管理--待办 + { + path: '/caigoutuihuoFlow/purchasereturnDaiBan', + component: () => + import('@/views/workFlow/caigoutuihuoFlow/purchasereturnDaiBan.vue'), + name: 'PurchaseReturnDaiBan' + }, + // 采购退货单管理--已办 + { + path: '/caigoutuihuoFlow/purchasereturnYiBan', + component: () => + import('@/views/workFlow/caigoutuihuoFlow/purchasereturnYiBan.vue'), + name: 'PurchaseReturnYiBan' + }, + // 工单反结算管理--编辑 + { + path: '/fanjiesuanFlow/workslrsettlementEdit', + component: () => + import('@/views/workFlow/fanjiesuanFlow/workslrsettlementEdit.vue'), + name: 'WorkSLRSettlementEdit' + }, + // 工单反结算管理--待办 + { + path: '/fanjiesuanFlow/workslrsettlementDaiBan', + component: () => + import('@/views/workFlow/fanjiesuanFlow/workslrsettlementDaiBan.vue'), + name: 'WorkSLRSettlementDaiBan' + }, + // 工单反结算管理--已办 + { + path: '/fanjiesuanFlow/workslrsettlementYiBan', + component: () => + import('@/views/workFlow/fanjiesuanFlow/workslrsettlementYiBan.vue'), + name: 'WorkSLRSettlementYiBan' + }, + // 保外欠款出厂管理--编辑 + { + path: '/qikuanchuchangFlow/arrearsleavefactoryEdit', + component: () => + import('@/views/workFlow/qikuanchuchangFlow/arrearsleavefactoryEdit.vue'), + name: 'ArrearsLeaveFactoryEdit' + }, + // 保外欠款出厂管理--待办 + { + path: '/qikuanchuchangFlow/arrearsleavefactoryDaiBan', + component: () => + import('@/views/workFlow/qikuanchuchangFlow/arrearsleavefactoryDaiBan.vue'), + name: 'ArrearsLeaveFactoryDaiBan' + }, + // 保外欠款出厂管理--已办 + { + path: '/qikuanchuchangFlow/arrearsleavefactoryYiBan', + component: () => + import('@/views/workFlow/qikuanchuchangFlow/arrearsleavefactoryYiBan.vue'), + name: 'ArrearsLeaveFactoryYiBan' + }, + // 索赔单开票管理--编辑 + { + path: '/suopeikaipiaoFlow/claimbillingEdit', + component: () => + import('@/views/workFlow/suopeikaipiaoFlow/claimbillingEdit.vue'), + name: 'ClaimBillingEdit' + }, + // 索赔单开票管理--待办 + { + path: '/suopeikaipiaoFlow/claimbillingDaiBan', + component: () => + import('@/views/workFlow/suopeikaipiaoFlow/claimbillingDaiBan.vue'), + name: 'ClaimBillingDaiBan' + }, + // 索赔单开票管理--已办 + { + path: '/suopeikaipiaoFlow/claimbillingYiBan', + component: () => + import('@/views/workFlow/suopeikaipiaoFlow/claimbillingYiBan.vue'), + name: 'ClaimBillingYiBan' + }, + // 工单索赔调整--编辑 + { + path: '/suopeitiaozhengFlow/claimadjustmentEdit', + component: () => + import('@/views/workFlow/suopeitiaozhengFlow/claimadjustmentEdit.vue'), + name: 'ClaimAdjustmentEdit' + }, + // 工单索赔调整--待办 + { + path: '/suopeitiaozhengFlow/claimadjustmentDaiBan', + component: () => + import('@/views/workFlow/suopeitiaozhengFlow/claimadjustmentDaiBan.vue'), + name: 'ClaimAdjustmentDaiBan' + }, + // 工单索赔调整--已办 + { + path: '/suopeitiaozhengFlow/claimadjustmentYiBan', + component: () => + import('@/views/workFlow/suopeitiaozhengFlow/claimadjustmentYiBan.vue'), + name: 'ClaimAdjustmentYiBan' + }, + // 404 page must be placed at the end !!! + // { path: '*', redirect: '/404', hidden: true } +] + +const createRouter = () => new Router({ + // mode: 'history', // require service support + scrollBehavior: () => ({ + y: 0 + }), + routes: constantRoutes +}) + +const router = createRouter() + +// Detail see: https://github.com/vuejs/vue-router/issues/1234#issuecomment-357941465 +export function resetRouter() { + const newRouter = createRouter() + router.matcher = newRouter.matcher // reset router +} + +export default router diff --git a/yxt-as-ui/src/views/maintenance/maintenanceOutbound/index.vue b/yxt-as-ui/src/views/maintenance/maintenanceOutbound/index.vue index 223960d840..72ff86c441 100644 --- a/yxt-as-ui/src/views/maintenance/maintenanceOutbound/index.vue +++ b/yxt-as-ui/src/views/maintenance/maintenanceOutbound/index.vue @@ -300,8 +300,6 @@ total: 0, params: { name: '', - inOrg: "", - outOrg: "" } }, commodityData: [], @@ -505,7 +503,7 @@ commodityInput(row) { console.log("commodityInput》》》》", row) this.commodityQuery.params.name = row.goodsSpuName - this.commodityQuery.params.busrepairBillsid = row.sitemSid + this.commodityQuery.params.busrepairBillsid = row.sourceBillSid this.commodityLoading = true req.getGoodsListPage(this.commodityQuery).then((response) => { if (response.success) { @@ -524,6 +522,7 @@ console.log("commodityCurrentChange》》》》", row) row.inventorySid = value.inventorySid + row.goodsID = value.goodsID row.goodSpuSid = value.goodSpuSid row.goodsSpuName = value.goodsSpuName row.goodsSkuSid = value.goodsSkuSid @@ -547,6 +546,8 @@ addGoods(row) { var goods = { + "sourceBillNo": this.formobj.sourceBillNo, + "sourceBillSid": this.formobj.sourceBillSid, "sitemSid": row.serviceItemSid, 'serviceItem': row.serviceItem, "inventorySid": "", diff --git a/yxt-as-ui/src/views/operation/claimadjustment/claimadjustment.vue b/yxt-as-ui/src/views/operation/claimadjustment/claimadjustment.vue new file mode 100644 index 0000000000..31ed8b9b31 --- /dev/null +++ b/yxt-as-ui/src/views/operation/claimadjustment/claimadjustment.vue @@ -0,0 +1,327 @@ + + + + diff --git a/yxt-as-ui/src/views/operation/claimadjustment/claimadjustmentAdd.vue b/yxt-as-ui/src/views/operation/claimadjustment/claimadjustmentAdd.vue new file mode 100644 index 0000000000..1d1c75d09b --- /dev/null +++ b/yxt-as-ui/src/views/operation/claimadjustment/claimadjustmentAdd.vue @@ -0,0 +1,338 @@ + + + + + diff --git a/yxt-as-ui/src/views/operation/claimadjustment/claimadjustmentInfo.vue b/yxt-as-ui/src/views/operation/claimadjustment/claimadjustmentInfo.vue new file mode 100644 index 0000000000..6e1bc68d50 --- /dev/null +++ b/yxt-as-ui/src/views/operation/claimadjustment/claimadjustmentInfo.vue @@ -0,0 +1,170 @@ + + + + + diff --git a/yxt-as-ui/src/views/operation/claimpendingverification/claimpendingverification.vue b/yxt-as-ui/src/views/operation/claimpendingverification/claimpendingverification.vue new file mode 100644 index 0000000000..34d0e989ab --- /dev/null +++ b/yxt-as-ui/src/views/operation/claimpendingverification/claimpendingverification.vue @@ -0,0 +1,242 @@ + + + + diff --git a/yxt-as-ui/src/views/storage/adjustment/adjustmentAdd.vue b/yxt-as-ui/src/views/storage/adjustment/adjustmentAdd.vue new file mode 100644 index 0000000000..3421b499bb --- /dev/null +++ b/yxt-as-ui/src/views/storage/adjustment/adjustmentAdd.vue @@ -0,0 +1,265 @@ + + + + diff --git a/yxt-as-ui/src/views/storage/adjustment/adjustmentInfo.vue b/yxt-as-ui/src/views/storage/adjustment/adjustmentInfo.vue new file mode 100644 index 0000000000..5723181132 --- /dev/null +++ b/yxt-as-ui/src/views/storage/adjustment/adjustmentInfo.vue @@ -0,0 +1,155 @@ + + + + diff --git a/yxt-as-ui/src/views/storage/adjustment/index.vue b/yxt-as-ui/src/views/storage/adjustment/index.vue new file mode 100644 index 0000000000..32668945f7 --- /dev/null +++ b/yxt-as-ui/src/views/storage/adjustment/index.vue @@ -0,0 +1,363 @@ + + + + diff --git a/yxt-as-ui/src/views/storage/adjustment/relation/choosecategory.vue b/yxt-as-ui/src/views/storage/adjustment/relation/choosecategory.vue new file mode 100644 index 0000000000..4ab047bd68 --- /dev/null +++ b/yxt-as-ui/src/views/storage/adjustment/relation/choosecategory.vue @@ -0,0 +1,181 @@ + + + + diff --git a/yxt-as-ui/src/views/storage/adjustment/relation/editPriceStrategy.vue b/yxt-as-ui/src/views/storage/adjustment/relation/editPriceStrategy.vue new file mode 100644 index 0000000000..4fb2dd5993 --- /dev/null +++ b/yxt-as-ui/src/views/storage/adjustment/relation/editPriceStrategy.vue @@ -0,0 +1,176 @@ + + + + diff --git a/yxt-as-ui/src/views/storage/maintenanceInOrOutBound/maintenanceReturnBoundInfo.vue b/yxt-as-ui/src/views/storage/maintenanceInOrOutBound/maintenanceReturnBoundInfo.vue index f2305bde53..4ea8165014 100644 --- a/yxt-as-ui/src/views/storage/maintenanceInOrOutBound/maintenanceReturnBoundInfo.vue +++ b/yxt-as-ui/src/views/storage/maintenanceInOrOutBound/maintenanceReturnBoundInfo.vue @@ -139,40 +139,38 @@
服务项目
- - - - - - - - - - - - - - - - + + + + + + + + + + + + + + +
商品列表
- - - - - - - - - - - + + + + + + + + + + - + diff --git a/yxt-as-ui/src/views/storage/receivingGoods/index.vue b/yxt-as-ui/src/views/storage/receivingGoods/index.vue index b6b9ab3e6f..d00d1218dd 100644 --- a/yxt-as-ui/src/views/storage/receivingGoods/index.vue +++ b/yxt-as-ui/src/views/storage/receivingGoods/index.vue @@ -25,7 +25,7 @@ - + @@ -110,6 +110,9 @@ import divAdd from './receivingGoodsAdd.vue' import divInfo from './receivingGoodsInfo.vue' import divAddupShelfRecord from './upShelfAddRecord.vue' + import { + getTypeValueList + } from '@/api/Common/dictcommons' export default { components: { ButtonBar, @@ -202,6 +205,13 @@ }, created() { this.loadList() + + getTypeValueList({ type: 'wms_busType', groupNum: 'wms_rk' }).then((res) => { + if (res.success) { + this.busTypeList = res.data + } + }) + }, methods: { saveExamine() { diff --git a/yxt-as-ui/src/views/storage/receivingGoods/receivingGoodsAdd.vue b/yxt-as-ui/src/views/storage/receivingGoods/receivingGoodsAdd.vue index 8ef21a7aef..6e3d7be683 100644 --- a/yxt-as-ui/src/views/storage/receivingGoods/receivingGoodsAdd.vue +++ b/yxt-as-ui/src/views/storage/receivingGoods/receivingGoodsAdd.vue @@ -50,7 +50,7 @@
* 业务类型
- +
@@ -58,7 +58,7 @@
* 供应商
- + @@ -277,7 +277,8 @@ import chooseproducts from './relation/chooseproducts' import { choiceSupplierInfo, - getOrgSidByPath + getOrgSidByPath, + getTypeValueList } from '@/api/Common/dictcommons' export default { components: { @@ -296,8 +297,10 @@ "sourceBillNo": "", "createBySid": window.sessionStorage.getItem('userSid'), "createByName": window.sessionStorage.getItem('name'), - "deptName": '', - "deptSid": '', + "deptName": window.sessionStorage.getItem('defaultOrgPathName').substring(window + .sessionStorage.getItem('defaultOrgPathName').lastIndexOf('/') + 1), + "deptSid": window.sessionStorage.getItem('defaultOrgPath').substring(window.sessionStorage + .getItem('defaultOrgPath').lastIndexOf('/') + 1), "createTime": getCurrentDate(), "busTypeKey": "", "busTypeValue": "", @@ -313,11 +316,15 @@ }, hideUploadBtn: false, busTypeList: [{ - name: "业务类型1", + name: "采购预约", + sid: "0" + }, + { + name: "调拨预约", sid: "1" }, { - name: "业务类型2", + name: "其他预约", sid: "2" } ], @@ -640,8 +647,10 @@ "sourceBillNo": "", "createBySid": window.sessionStorage.getItem('userSid'), "createByName": window.sessionStorage.getItem('name'), - "deptName": '', - "deptSid": '', + "deptName": window.sessionStorage.getItem('defaultOrgPathName').substring(window + .sessionStorage.getItem('defaultOrgPathName').lastIndexOf('/') + 1), + "deptSid": window.sessionStorage.getItem('defaultOrgPath').substring(window.sessionStorage + .getItem('defaultOrgPath').lastIndexOf('/') + 1), "createTime": getCurrentDate(), "busTypeKey": "", "busTypeValue": "", @@ -672,6 +681,12 @@ this.$refs['form_obj'].clearValidate() }) + getTypeValueList({ type: 'wms_busType', groupNum: 'wms_rk' }).then((res) => { + if (res.success) { + this.busTypeList = res.data + } + }) + }, showEdit(row) { @@ -685,6 +700,13 @@ this.$refs['form_obj'].clearValidate() }) + getTypeValueList({ type: 'wms_busType', groupNum: 'wms_rk' }).then((res) => { + if (res.success) { + this.busTypeList = res.data + } + }) + + var params = { sid: row.sid @@ -709,10 +731,10 @@ }) }, busTypeSelect(val) { - const choose = this.busTypeList.filter((item) => item.sid == val) + const choose = this.busTypeList.filter((item) => item.dictKey == val) console.log('>>>>>>>>>busTypeSelect', choose) - this.formobj.busTypeKey = choose[0].sid - this.formobj.busTypeValue = choose[0].name + this.formobj.busTypeKey = choose[0].dictKey + this.formobj.busTypeValue = choose[0].dictValue }, supplierNameSelect(val) { diff --git a/yxt-as-ui/src/views/warehouse/goodsShelves/goodsShelvesAdd.vue b/yxt-as-ui/src/views/warehouse/goodsShelves/goodsShelvesAdd.vue index 0203637432..fdb020d415 100644 --- a/yxt-as-ui/src/views/warehouse/goodsShelves/goodsShelvesAdd.vue +++ b/yxt-as-ui/src/views/warehouse/goodsShelves/goodsShelvesAdd.vue @@ -54,8 +54,8 @@
* 库位编码
- +
@@ -177,7 +177,12 @@ getWarehouseArea(sid) { this.formobj.locationSid = '' this.formobj.locationName = '' - req3.getAllWarehouseareaBysid(sid).then(resp => { + + var params = { + ckSid: sid + } + + req3.getAllWarehouseareaBysid(params).then(resp => { console.log('>>>>>>>>>getAllWarehousearea', resp) this.warehouseAreaList = resp.data }).catch(() => {}) @@ -242,6 +247,31 @@ // } + var aaa = this.formobj.rackCode.split('-') + + console.log('>>>>>>>>>saveOrUpdate', aaa) + if (aaa.length != 4) { + this.$message({ + showClose: true, + type: 'warning', + message: '库位编码格式错误' + }) + return + } + + for (var i = 0; i < aaa.length; i++) { + if (aaa[i] == '') { + this.$message({ + showClose: true, + type: 'warning', + message: '库位编码格式错误' + }) + return + } + } + + + this.$refs['form_obj'].validate((valid) => { if (valid) { req.saveGoodsShelves(this.formobj) diff --git a/yxt-as-ui/src/views/workFlow/suopeitiaozhengFlow/claimadjustmentDaiBan.vue b/yxt-as-ui/src/views/workFlow/suopeitiaozhengFlow/claimadjustmentDaiBan.vue new file mode 100644 index 0000000000..a316a88466 --- /dev/null +++ b/yxt-as-ui/src/views/workFlow/suopeitiaozhengFlow/claimadjustmentDaiBan.vue @@ -0,0 +1,431 @@ + + + + + diff --git a/yxt-as-ui/src/views/workFlow/suopeitiaozhengFlow/claimadjustmentEdit.vue b/yxt-as-ui/src/views/workFlow/suopeitiaozhengFlow/claimadjustmentEdit.vue new file mode 100644 index 0000000000..839f411d53 --- /dev/null +++ b/yxt-as-ui/src/views/workFlow/suopeitiaozhengFlow/claimadjustmentEdit.vue @@ -0,0 +1,282 @@ + + + + + diff --git a/yxt-as-ui/src/views/workFlow/suopeitiaozhengFlow/claimadjustmentYiBan.vue b/yxt-as-ui/src/views/workFlow/suopeitiaozhengFlow/claimadjustmentYiBan.vue new file mode 100644 index 0000000000..bb4909fa43 --- /dev/null +++ b/yxt-as-ui/src/views/workFlow/suopeitiaozhengFlow/claimadjustmentYiBan.vue @@ -0,0 +1,217 @@ + + + + + diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBill.java b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBill.java index d722565173..d67692cd73 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBill.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBill.java @@ -93,7 +93,15 @@ public class AsBusrepairBill extends BaseEntity { private String groupName; @ApiModelProperty("应收金额") private BigDecimal receivableAmount; - - + @ApiModelProperty("工时费") + private BigDecimal hourAmount; + @ApiModelProperty("材料费") + private BigDecimal goodsAmount; + @ApiModelProperty("外出费") + private BigDecimal outAmount; + @ApiModelProperty("厂家补助") + private BigDecimal subsidyAmount; + @ApiModelProperty("其他费用") + private BigDecimal otherAmount; } diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBillDetailsVo.java b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBillDetailsVo.java index a1afccf896..57955e67ea 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBillDetailsVo.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBillDetailsVo.java @@ -20,6 +20,16 @@ public class AsBusrepairBillDetailsVo implements Vo { private String orgPath; @ApiModelProperty("应收金额") private String receivableAmount; + @ApiModelProperty("工时费") + private String hourAmount; + @ApiModelProperty("材料费") + private String goodsAmount; + @ApiModelProperty("外出费") + private String outAmount; + @ApiModelProperty("厂家补助") + private String subsidyAmount; + @ApiModelProperty("其他费用") + private String otherAmount; @ApiModelProperty("班组sid") private String groupSid; private String createDate; diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBillDto.java b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBillDto.java index 9b410e759d..ed438b89f3 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBillDto.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBillDto.java @@ -20,6 +20,16 @@ public class AsBusrepairBillDto implements Dto { private String orgPath; @ApiModelProperty("应收金额") private String receivableAmount; + @ApiModelProperty("工时费") + private String hourAmount; + @ApiModelProperty("材料费") + private String goodsAmount; + @ApiModelProperty("外出费") + private String outAmount; + @ApiModelProperty("厂家补助") + private String subsidyAmount; + @ApiModelProperty("其他费用") + private String otherAmount; @ApiModelProperty("班组sid") private String groupSid; @ApiModelProperty("班组名称") diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairinventorybilldetail/AsBusrepairInventorybillDetailSDto.java b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairinventorybilldetail/AsBusrepairInventorybillDetailSDto.java index c233dfa825..5683b43bf5 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairinventorybilldetail/AsBusrepairInventorybillDetailSDto.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairinventorybilldetail/AsBusrepairInventorybillDetailSDto.java @@ -70,4 +70,5 @@ public class AsBusrepairInventorybillDetailSDto { private String operUserSid; @ApiModelProperty("领料人姓名") private String operName; + private String remarks; } diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairinventorybill/AsBusrepairInventorybillMapper.xml b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairinventorybill/AsBusrepairInventorybillMapper.xml index e6fd3e4853..9a582ad7a8 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairinventorybill/AsBusrepairInventorybillMapper.xml +++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairinventorybill/AsBusrepairInventorybillMapper.xml @@ -9,7 +9,8 @@ b.billNo as sourceBillNo, a.createByName, a.busTypeValue, - a.warehouseManager + a.warehouseManager, + a.remarks from as_busrepair_inventorybill as a left join as_busrepair_bill as b on a.sourceBillSid = b.sid left join anrui_portal.sys_organization as s on a.deptSid = s.sid diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairinventorybill/AsBusrepairInventorybillRest.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairinventorybill/AsBusrepairInventorybillRest.java index b3770a7fc7..dbebb801ec 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairinventorybill/AsBusrepairInventorybillRest.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairinventorybill/AsBusrepairInventorybillRest.java @@ -46,7 +46,7 @@ public class AsBusrepairInventorybillRest { return asBusrepairInventorybillService.newQuitBill(dto); } - @PostMapping("/details") + @GetMapping("/details") @ApiOperation("详情") ResultBean details(@RequestParam("sid") String sid) { return asBusrepairInventorybillService.details(sid); diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairinventorybill/AsBusrepairInventorybillService.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairinventorybill/AsBusrepairInventorybillService.java index 68f94ab33a..11479aac08 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairinventorybill/AsBusrepairInventorybillService.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairinventorybill/AsBusrepairInventorybillService.java @@ -356,6 +356,11 @@ public class AsBusrepairInventorybillService extends MybatisBaseService diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/base/WmsWarehouseRackRest.java b/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/base/WmsWarehouseRackRest.java index a7ab4fb0f4..63775c838a 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/base/WmsWarehouseRackRest.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/base/WmsWarehouseRackRest.java @@ -3,10 +3,7 @@ package com.yxt.wms.apiadmin.base; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; -import com.yxt.wms.biz.base.wmswarehouserack.WmsWarehouseRackDto; -import com.yxt.wms.biz.base.wmswarehouserack.WmsWarehouseRackQuery; -import com.yxt.wms.biz.base.wmswarehouserack.WmsWarehouseRackService; -import com.yxt.wms.biz.base.wmswarehouserack.WmsWarehouseRackVo; +import com.yxt.wms.biz.base.wmswarehouserack.*; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; @@ -65,4 +62,10 @@ public class WmsWarehouseRackRest { public ResultBean updateIsEnable(@PathVariable("sid") String sid,@PathVariable("isEnable")String isEnable) { return wmsWarehouseRackService.updateIsEnable(sid,isEnable); } + + @ApiOperation("根据库位全码查仓库库区库位信息") + @GetMapping("/selHouseInfoByFullCode") + public ResultBean selHouseInfoByFullCode(@RequestParam("rackFullCode") String rackFullCode) { + return wmsWarehouseRackService.selHouseInfoByFullCode(rackFullCode); + } } diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsGoodsTagRest.java b/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsGoodsTagRest.java new file mode 100644 index 0000000000..5e988d0ef8 --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsGoodsTagRest.java @@ -0,0 +1,27 @@ +package com.yxt.wms.apiadmin.inventroy; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.wms.biz.inventory.wmsgoodstag.WmsGoodsTagService; +import com.yxt.wms.biz.inventory.wmsoutbill.*; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/4/24 + **/ +@Api(tags = "商品标签表") +@RestController +@RequestMapping("/apiadmin/WmsGoodsTag") +public class WmsGoodsTagRest { + + @Autowired + private WmsGoodsTagService wmsWmsGoodsTagService; + + +} diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsShelfBillRest.java b/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsShelfBillRest.java index 0c4527da51..43139c1e2b 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsShelfBillRest.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsShelfBillRest.java @@ -7,8 +7,7 @@ import com.yxt.wms.biz.inventory.wmsreceiptbill.WmsReceiptBillDto2; import com.yxt.wms.biz.inventory.wmsreceiptbill.WmsReceiptBillPageVo; import com.yxt.wms.biz.inventory.wmsreceiptbill.WmsReceiptBillQuery; import com.yxt.wms.biz.inventory.wmsshelfbill.*; -import com.yxt.wms.biz.inventory.wmsshelfbill.app.AppShelfBillListQuery; -import com.yxt.wms.biz.inventory.wmsshelfbill.app.AppShelfBillListVo; +import com.yxt.wms.biz.inventory.wmsshelfbill.app.*; import io.swagger.annotations.Api; import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiOperation; @@ -75,12 +74,29 @@ public class WmsShelfBillRest { //---------------------------app--------------------------------- @ApiOperation("分页列表") - @PostMapping("/applistPage") + @PostMapping("/getShelvesList") public ResultBean> applistPage(@RequestBody PagerQuery pq) { ResultBean> rb = ResultBean.fireFail(); PagerVo pv = wmsShelfBillService.applistPage(pq); return rb.success().setData(pv); } + @ApiOperation("上架初始化") + @GetMapping("shelvesOperaInit/{sid}") + public ResultBean shelvesOperaInit(@PathVariable("sid") String sid) { + return wmsShelfBillService.shelvesOperaInit(sid); + } + + @ApiOperation("扫码") + @GetMapping("scan") + public ResultBean scan(@RequestParam(value = "shelvesId", required = false) String shelvesId,@RequestParam(value = "content") String content) { + return wmsShelfBillService.scan(shelvesId,content); + } + + @ApiOperation("上架保存") + @PostMapping("/shelvesSave") + public ResultBean shelvesSave(@RequestBody AppSaveBillRecordDto dto) { + return wmsShelfBillService.shelvesSave(dto); + } } diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/base/wmswarehouserack/WmsHouseInfoVo.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/base/wmswarehouserack/WmsHouseInfoVo.java new file mode 100644 index 0000000000..ab00dbe8f9 --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/base/wmswarehouserack/WmsHouseInfoVo.java @@ -0,0 +1,20 @@ +package com.yxt.wms.biz.base.wmswarehouserack; + +import lombok.Data; + +/** + * @author Fan + * @description + * @date 2024/5/30 11:29 + */ +@Data +public class WmsHouseInfoVo { + + private String warehouseSid;//仓库 + private String warehouseName; + private String wareAreaSid;//库区 + private String wareAreaName; + private String warehouseRackSid;//库位sid + private String warehouseRackCode; + private String warehouseRackName; +} diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/base/wmswarehouserack/WmsWarehouseRack.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/base/wmswarehouserack/WmsWarehouseRack.java index 1aca44ba12..4218d3674a 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/base/wmswarehouserack/WmsWarehouseRack.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/base/wmswarehouserack/WmsWarehouseRack.java @@ -23,4 +23,5 @@ public class WmsWarehouseRack extends BaseEntity { private String rackCode;//货架编码 private String warehouseSid;//仓库sid private String locationSid;//库位sid + private String rackFullCode;//库位全码(仓库编码-库区编码-库位编码) } diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/base/wmswarehouserack/WmsWarehouseRackMapper.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/base/wmswarehouserack/WmsWarehouseRackMapper.java index f6c8c8b200..9de677c40a 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/base/wmswarehouserack/WmsWarehouseRackMapper.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/base/wmswarehouserack/WmsWarehouseRackMapper.java @@ -23,4 +23,6 @@ public interface WmsWarehouseRackMapper extends BaseMapper { WmsWarehouseRack checkForInsert(@Param("rackCode")String rackCode, @Param("locationSid")String locationSid); WmsWarehouseRack checkForUpdate(@Param("rackCode")String rackCode,@Param("locationSid") String locationSid, @Param("sid")String sid); + + WmsWarehouseRack selHouseInfoByFullCode(@Param("rackFullCode") String rackFullCode); } diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/base/wmswarehouserack/WmsWarehouseRackMapper.xml b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/base/wmswarehouserack/WmsWarehouseRackMapper.xml index 2635242661..3acefd0267 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/base/wmswarehouserack/WmsWarehouseRackMapper.xml +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/base/wmswarehouserack/WmsWarehouseRackMapper.xml @@ -35,6 +35,9 @@ where rackCode =#{rackCode} and locationSid =#{locationSid} and isDelete=0 from wms_warehouse_rack where rackCode =#{rackCode} and locationSid =#{locationSid} and sid !=#{sid} and isDelete=0 + UPDATE wms_warehouse_rack SET isDelete=1 diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/base/wmswarehouserack/WmsWarehouseRackService.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/base/wmswarehouserack/WmsWarehouseRackService.java index fbc07a2a74..6f103fbd78 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/base/wmswarehouserack/WmsWarehouseRackService.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/base/wmswarehouserack/WmsWarehouseRackService.java @@ -11,7 +11,10 @@ import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; import com.yxt.wms.biz.base.wmswarehousearea.WmsWarehouseArea; +import com.yxt.wms.biz.base.wmswarehousearea.WmsWarehouseAreaService; import com.yxt.wms.biz.base.wmswarehousearea.WmsWarehouseAreaVo; +import com.yxt.wms.biz.base.wmswarehouseinfo.WmsWarehouseInfo; +import com.yxt.wms.biz.base.wmswarehouseinfo.WmsWarehouseInfoService; import com.yxt.wms.feign.portal.privilege.PrivilegeQuery; import com.yxt.wms.feign.portal.sysuser.SysUserFeign; import org.springframework.beans.factory.annotation.Autowired; @@ -31,6 +34,10 @@ import java.util.stream.Collectors; public class WmsWarehouseRackService extends MybatisBaseService { @Autowired private SysUserFeign sysUserFeign; + @Autowired + private WmsWarehouseInfoService wmsWarehouseInfoService; + @Autowired + private WmsWarehouseAreaService wmsWarehouseAreaService; public ResultBean> listPage(PagerQuery pq) { ResultBean rb = ResultBean.fireFail(); @@ -72,29 +79,30 @@ public class WmsWarehouseRackService extends MybatisBaseService p = new PagerVo<>(); return rb.success().setData(p); } - if(StringUtils.isNotBlank(query.getName())){ - qw.like("rackName",query.getName()); + if (StringUtils.isNotBlank(query.getName())) { + qw.like("rackName", query.getName()); } - if(StringUtils.isNotBlank(query.getCode())){ - qw.like("rackCode",query.getCode()); + if (StringUtils.isNotBlank(query.getCode())) { + qw.like("rackCode", query.getCode()); } - if(StringUtils.isNotBlank(query.getAreaTypeSid())){ - qw.eq("b.sid",query.getAreaTypeSid()); + if (StringUtils.isNotBlank(query.getAreaTypeSid())) { + qw.eq("b.sid", query.getAreaTypeSid()); } - if(StringUtils.isNotBlank(query.getWarehouseSid())){ - qw.eq("c.sid",query.getWarehouseSid()); + if (StringUtils.isNotBlank(query.getWarehouseSid())) { + qw.eq("c.sid", query.getWarehouseSid()); } - qw.ne("a.isDelete","1"); + qw.ne("a.isDelete", "1"); IPage page = PagerUtil.queryToPage(pq); IPage pagging = baseMapper.listPage(page, qw); PagerVo p = PagerUtil.pageToVo(pagging, null); List records = pagging.getRecords(); return rb.success().setData(p); } + public ResultBean getAllType() { ResultBean rb = ResultBean.fireFail(); - List pagging = baseMapper.selectList(new QueryWrapper().eq("isEnable",1) - .ne("isDelete","1")); + List pagging = baseMapper.selectList(new QueryWrapper().eq("isEnable", 1) + .ne("isDelete", "1")); return rb.success().setData(pagging); } @@ -103,16 +111,27 @@ public class WmsWarehouseRackService extends MybatisBaseService selHouseInfoByFullCode(String rackFullCode) { + ResultBean rb = ResultBean.fireFail(); + WmsHouseInfoVo info = new WmsHouseInfoVo(); + WmsWarehouseRack rack = baseMapper.selHouseInfoByFullCode(rackFullCode); + if (null != rack) { + info.setWarehouseRackSid(rack.getSid()); + info.setWarehouseRackName(rack.getRackName()); + info.setWarehouseRackCode(rack.getRackCode()); + WmsWarehouseInfo warehouseInfo = wmsWarehouseInfoService.fetchBySid(rack.getWarehouseSid()); + if (null != warehouseInfo) { + info.setWarehouseSid(warehouseInfo.getSid()); + info.setWarehouseName(warehouseInfo.getWarehouseName()); + } + WmsWarehouseArea wmsWarehouseArea = wmsWarehouseAreaService.fetchBySid(rack.getLocationSid()); + if (null != wmsWarehouseArea) { + info.setWareAreaSid(wmsWarehouseArea.getSid()); + info.setWareAreaName(wmsWarehouseArea.getAreaName()); + } + } else { + return rb; + } + return rb.success().setData(info); + } } diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsgoodstag/WmsGoodsTag.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsgoodstag/WmsGoodsTag.java new file mode 100644 index 0000000000..efe66bd715 --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsgoodstag/WmsGoodsTag.java @@ -0,0 +1,45 @@ +package com.yxt.wms.biz.inventory.wmsgoodstag; + +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @author Fan + * @description + * @date 2024/5/30 13:36 + */ +@Data +public class WmsGoodsTag extends BaseEntity { + @ApiModelProperty("单据sid(收货单sid)") + private String billSid; + @ApiModelProperty("单据明细sid") + private String billDetailSid; + @ApiModelProperty("批次号(入库日期+有效日期,如240320-241009)") + private String batchNumber; + @ApiModelProperty("商品ID") + private String goodsID; + @ApiModelProperty("商品基础信息sid") + private String goodSpuSid; + @ApiModelProperty("商品名称") + private String goodsSpuName; + @ApiModelProperty("商品Skusid") + private String goodsSkuSid; + @ApiModelProperty("商品Sku名称") + private String goodsSkuTitle; + @ApiModelProperty("商品编码(图号)") + private String goodsSkuCode; + @ApiModelProperty("规格型号") + private String goodsSkuOwnSpec; + @ApiModelProperty("计量单位") + private String unit; + @ApiModelProperty("数量") + private BigDecimal goodsCount; + @ApiModelProperty("标签图片地址") + private String tagPicUrl; + @ApiModelProperty("打印次数") + private Integer printCount; + +} diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsgoodstag/WmsGoodsTagMapper.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsgoodstag/WmsGoodsTagMapper.java new file mode 100644 index 0000000000..8d40b031d9 --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsgoodstag/WmsGoodsTagMapper.java @@ -0,0 +1,17 @@ +package com.yxt.wms.biz.inventory.wmsgoodstag; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + + +/** + * @description: + * @author: dimengzhe + * @date: 2024/4/11 + **/ +@Mapper +public interface WmsGoodsTagMapper extends BaseMapper { + + WmsGoodsTag selByBillSidAndGoodsID(@Param("billSid") String billSid, @Param("goodsID") String goodsID); +} diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsgoodstag/WmsGoodsTagMapper.xml b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsgoodstag/WmsGoodsTagMapper.xml new file mode 100644 index 0000000000..951d8d51ed --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsgoodstag/WmsGoodsTagMapper.xml @@ -0,0 +1,8 @@ + + + + + + diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsgoodstag/WmsGoodsTagService.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsgoodstag/WmsGoodsTagService.java new file mode 100644 index 0000000000..e1ce482053 --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsgoodstag/WmsGoodsTagService.java @@ -0,0 +1,19 @@ +package com.yxt.wms.biz.inventory.wmsgoodstag; + +import com.yxt.common.base.service.MybatisBaseService; + +import org.springframework.stereotype.Service; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/4/11 + **/ +@Service +public class WmsGoodsTagService extends MybatisBaseService { + + public WmsGoodsTag selByBillSidAndGoodsID(String billSid, String goodsID) { + return baseMapper.selByBillSidAndGoodsID(billSid,goodsID); + } + +} diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoutbill/WmsOutBillInventoryQuery.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoutbill/WmsOutBillInventoryQuery.java index d1a39e3daa..86dace6318 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoutbill/WmsOutBillInventoryQuery.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoutbill/WmsOutBillInventoryQuery.java @@ -30,6 +30,6 @@ public class WmsOutBillInventoryQuery implements Query { private String orgPath; - private String busrepairBillSid;//维修工单sid + private String busrepairBillsid;//维修工单sid private String name; } diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoutbill/WmsOutBillMapper.xml b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoutbill/WmsOutBillMapper.xml index 068029d163..b840e7ddd4 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoutbill/WmsOutBillMapper.xml +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoutbill/WmsOutBillMapper.xml @@ -36,6 +36,7 @@ wi.goodsSpuName, wi.goodsSkuTitle, wi.goodsSkuCode, + wi.goodsSkuSid, wi.goodsSkuOwnSpec, wi.unit, wi.warehouseSid, diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoutbill/WmsOutBillService.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoutbill/WmsOutBillService.java index a1511c900e..a9a791c680 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoutbill/WmsOutBillService.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoutbill/WmsOutBillService.java @@ -149,18 +149,18 @@ public class WmsOutBillService extends MybatisBaseService page = PagerUtil.queryToPage(pagerQuery); IPage pagging = baseMapper.getInventoryList(page, qw); - if (StringUtils.isNotBlank(query.getBusrepairBillSid())) { + if (StringUtils.isNotBlank(query.getBusrepairBillsid())) { List records = pagging.getRecords(); for (WmsOutBillInventoryVo record : records) { //维修出入库查询已出库数量 - String billSid = query.getBusrepairBillSid(); + String billSid = query.getBusrepairBillsid(); String chuKuCount = asBusrepairInventorybillFeign.selOutBoundCount(billSid, "0", record.getGoodsID()).getData(); String ruKuCount = asBusrepairInventorybillFeign.selOutBoundCount(billSid, "1", record.getGoodsID()).getData(); BigDecimal count = new BigDecimal(chuKuCount).subtract(new BigDecimal(ruKuCount)); if (null != count) { - record.setOutboundCount("0"); - } else { record.setOutboundCount(count.toString()); + } else { + record.setOutboundCount("0"); } } } diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsreceiptbill/WmsReceiptBillService.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsreceiptbill/WmsReceiptBillService.java index b247222498..3b1ea42c55 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsreceiptbill/WmsReceiptBillService.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsreceiptbill/WmsReceiptBillService.java @@ -205,33 +205,35 @@ public class WmsReceiptBillService extends MybatisBaseService vos = wmsAnsBillDetailService.selectByBillSid(dto.getSourceBillSid()); - if (!vos.isEmpty()) { - HashSet integers = new HashSet<>(); - for (WmsAnsListDetailsVo vo : vos) { - BigDecimal count = new BigDecimal("0"); - if (StringUtils.isNotBlank(vo.getWaitInCount())) { - count = new BigDecimal(vo.getWaitInCount()); + if (StringUtils.isNotBlank(dto.getSourceBillSid())) { + WmsAnsBill wmsAnsBill = wmsAnsBillService.fetchBySid(dto.getSourceBillSid()); + List vos = wmsAnsBillDetailService.selectByBillSid(dto.getSourceBillSid()); + if (!vos.isEmpty()) { + HashSet integers = new HashSet<>(); + for (WmsAnsListDetailsVo vo : vos) { + BigDecimal count = new BigDecimal("0"); + if (StringUtils.isNotBlank(vo.getWaitInCount())) { + count = new BigDecimal(vo.getWaitInCount()); + } + if (count.compareTo(BigDecimal.ZERO) <= 0) { + integers.add(2); + } else { + integers.add(1); + } } - if (count.compareTo(BigDecimal.ZERO) <= 0) { - integers.add(2); + if (integers.size() > 1) { + wmsAnsBill.setBillState(1); } else { - integers.add(1); - } - } - if (integers.size() > 1) { - wmsAnsBill.setBillState(1); - } else { - wmsAnsBill.setBillState(2); - for (Integer integer : integers) { - if (integer == 1) { - wmsAnsBill.setBillState(1); + wmsAnsBill.setBillState(2); + for (Integer integer : integers) { + if (integer == 1) { + wmsAnsBill.setBillState(1); + } } } } + wmsAnsBillService.updateById(wmsAnsBill); } - wmsAnsBillService.updateById(wmsAnsBill); } wmsReceiptBill.setBillState("0"); String applyCode = getApplyCode(dto.getCreateOrgSid()); @@ -276,33 +278,36 @@ public class WmsReceiptBillService extends MybatisBaseService vos = wmsAnsBillDetailService.selectByBillSid(dto.getSourceBillSid()); - if (!vos.isEmpty()) { - HashSet integers = new HashSet<>(); - for (WmsAnsListDetailsVo vo : vos) { - BigDecimal count = new BigDecimal("0"); - if (StringUtils.isNotBlank(vo.getWaitInCount())) { - count = new BigDecimal(vo.getWaitInCount()); + if (StringUtils.isNotBlank(dto.getSourceBillSid())) { + WmsAnsBill wmsAnsBill = wmsAnsBillService.fetchBySid(dto.getSourceBillSid()); + List vos = wmsAnsBillDetailService.selectByBillSid(dto.getSourceBillSid()); + if (!vos.isEmpty()) { + HashSet integers = new HashSet<>(); + for (WmsAnsListDetailsVo vo : vos) { + BigDecimal count = new BigDecimal("0"); + if (StringUtils.isNotBlank(vo.getWaitInCount())) { + count = new BigDecimal(vo.getWaitInCount()); + } + if (count.compareTo(BigDecimal.ZERO) <= 0) { + integers.add(2); + } else { + integers.add(1); + } } - if (count.compareTo(BigDecimal.ZERO) <= 0) { - integers.add(2); + if (integers.size() > 1) { + wmsAnsBill.setBillState(1); } else { - integers.add(1); - } - } - if (integers.size() > 1) { - wmsAnsBill.setBillState(1); - } else { - wmsAnsBill.setBillState(2); - for (Integer integer : integers) { - if (integer == 1) { - wmsAnsBill.setBillState(1); + wmsAnsBill.setBillState(2); + for (Integer integer : integers) { + if (integer == 1) { + wmsAnsBill.setBillState(1); + } } } } + wmsAnsBillService.updateById(wmsAnsBill); } - wmsAnsBillService.updateById(wmsAnsBill); + } baseMapper.updateById(wmsReceiptBill); } diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/WmsShelfBill.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/WmsShelfBill.java index 25915b95fe..7eee7d728b 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/WmsShelfBill.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/WmsShelfBill.java @@ -21,7 +21,8 @@ public class WmsShelfBill extends BaseEntity { private String createByName; @ApiModelProperty("0新建,1已完成") private Integer billState; - + @ApiModelProperty("0新建,1已完成") + private String billStateValue; private String createOrgSid; private String useOrgSid; private String deptSid; diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/WmsShelfBillMapper.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/WmsShelfBillMapper.java index 60a7d5dc61..abea45be14 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/WmsShelfBillMapper.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/WmsShelfBillMapper.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.wms.biz.inventory.wmsshelfbill.app.AppShelfBillListVo; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -21,4 +22,6 @@ public interface WmsShelfBillMapper extends BaseMapper { String selectNum(String goodsId); String selectCodeNum(String bill); + + IPage applistPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); } diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/WmsShelfBillMapper.xml b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/WmsShelfBillMapper.xml index f30e64fd6a..f0be9249bc 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/WmsShelfBillMapper.xml +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/WmsShelfBillMapper.xml @@ -54,4 +54,19 @@ order by id desc limit 1 + diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/WmsShelfBillService.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/WmsShelfBillService.java index bedb857548..ea9df62351 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/WmsShelfBillService.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/WmsShelfBillService.java @@ -10,7 +10,12 @@ import com.yxt.common.base.utils.StringUtils; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; +import com.yxt.wms.biz.base.wmswarehouserack.WmsHouseInfoVo; +import com.yxt.wms.biz.base.wmswarehouserack.WmsWarehouseRackService; import com.yxt.wms.biz.inventory.wmsansbill.WmsAnsBillVo; +import com.yxt.wms.biz.inventory.wmsansbilldetail.WmsAnsListDetailsVo; +import com.yxt.wms.biz.inventory.wmsgoodstag.WmsGoodsTag; +import com.yxt.wms.biz.inventory.wmsgoodstag.WmsGoodsTagService; import com.yxt.wms.biz.inventory.wmsinventory.WmsInventorySaveDto; import com.yxt.wms.biz.inventory.wmsinventory.WmsInventoryService; import com.yxt.wms.biz.inventory.wmsinventoryrecord.WmsInventoryRecordDto; @@ -22,8 +27,7 @@ import com.yxt.wms.biz.inventory.wmsreceiptbilldetail.WmsReceiptBillDetailDto2; import com.yxt.wms.biz.inventory.wmsreceiptbilldetail.WmsReceiptBillDetailService; import com.yxt.wms.biz.inventory.wmsreceiptbilldetailbatch.WmsReceiptBillDetailBatch; import com.yxt.wms.biz.inventory.wmsreceiptbilldetailbatch.WmsReceiptBillDetailBatchService; -import com.yxt.wms.biz.inventory.wmsshelfbill.app.AppShelfBillListQuery; -import com.yxt.wms.biz.inventory.wmsshelfbill.app.AppShelfBillListVo; +import com.yxt.wms.biz.inventory.wmsshelfbill.app.*; import com.yxt.wms.biz.inventory.wmsshelfbilldetail.*; import com.yxt.wms.feign.base.basegoodssku.BaseGoodsSkuDetailsVo; import com.yxt.wms.feign.base.basegoodssku.BaseGoodsSkuFeign; @@ -38,13 +42,11 @@ import com.yxt.wms.utils.Rule; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.List; +import java.util.*; /** * @description: @@ -77,6 +79,11 @@ public class WmsShelfBillService extends MybatisBaseService listPage(PagerQuery pq) { WmsShelfBillQuery query = pq.getParams(); QueryWrapper qw = new QueryWrapper<>(); @@ -143,7 +150,7 @@ public class WmsShelfBillService extends MybatisBaseService applistPage(PagerQuery pq) { - PagerVo p = new PagerVo<>(); - List list = new ArrayList<>(); - AppShelfBillListVo v = new AppShelfBillListVo(); - v.setSid("222"); - list.add(v); - p.setRecords(list); + AppShelfBillListQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + if (StringUtils.isNotBlank(query.getUserSid())) { + qw.eq("wsb.upShelfSid", query.getUserSid()); + } + //ToDo:添加查询条件 + if (StringUtils.isNotBlank(query.getName())) { + qw.and(wrapper -> wrapper.like("wsb.billNo", query.getName()) + .or().like("wsb.sourceBillNo", query.getName()) + .or().like("wsb.billStateValue", query.getName()) + ); + } + qw.ne("wsb.billStateValue", "已完成"); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.applistPage(page, qw); + List records = pagging.getRecords(); + if (!records.isEmpty()) { + for (AppShelfBillListVo record : records) { + if (!record.getShelvesState().equals("完成")) { + record.setShelvesBtn(true); + } + if (!record.getShelvesState().equals("新建")) { + record.setRecordBtn(true); + } + } + } + PagerVo p = PagerUtil.pageToVo(pagging, null); return p; } + + public ResultBean shelvesOperaInit(String sid) { + ResultBean rb = ResultBean.fireFail(); + AppShelInitVo vo = new AppShelInitVo(); + WmsShelfBill wmsShelfBill = fetchBySid(sid); + if (null != wmsShelfBill) { + vo.setShelvesId(wmsShelfBill.getBillNo()); + List details = wmsShelfBillDetailService.selectByMainSid(sid); + if (!details.isEmpty()) { + List goods = new ArrayList<>(); + for (WmsShelfBillDetail detail : details) { + AppShelInitVo.AppShelInitVoDetails voDetails = new AppShelInitVo.AppShelInitVoDetails(); + if (StringUtils.isNotBlank(detail.getGoodsSpuName())) { + voDetails.setName(detail.getGoodsSpuName()); + } + BigDecimal count = new BigDecimal("0"); + BigDecimal acCount = new BigDecimal("0"); + if (null != detail.getCount()) { + count = detail.getCount(); + } + if (null != detail.getActualCount()) { + acCount = detail.getActualCount(); + } + String c = String.valueOf(count.subtract(acCount).intValue()); + voDetails.setNumber(c); + if (!c.equals("0")) { + goods.add(voDetails); + } + } + vo.setGoods(goods); + } + } + return rb.success().setData(vo); + } + + public ResultBean scan(String shelvesId, String content) { + ResultBean rb = ResultBean.fireFail(); + AppScanVo vo = new AppScanVo(); + if (StringUtils.isNotBlank(shelvesId)) { + if (content.contains("#")) { + String[] split = content.split("#"); + String houseCode = split[0]; + ResultBean wmsHouseInfoVoResultBean = wmsWarehouseRackService.selHouseInfoByFullCode(houseCode); + if (wmsHouseInfoVoResultBean.getSuccess()) { + WmsHouseInfoVo houseInfoVo = wmsHouseInfoVoResultBean.getData(); + if (null != houseInfoVo) { + vo.setHouseCode(houseCode); + vo.setHouseName(houseInfoVo.getWareAreaName() + "-" + houseInfoVo.getWarehouseRackName()); + vo.setHouseAddress(houseInfoVo.getWarehouseRackCode()); + vo.setType(1); + } + } else { + return rb.setMsg("扫描库位码为空"); + } + } else { + vo.setType(0); + WmsShelfBill wmsShelfBill = fetchBySid(shelvesId); + String sourceBillSid = wmsShelfBill.getSourceBillSid(); + //判断该商品ID是否属于该上架单对应的收货单 + WmsGoodsTag wmsGoodsTag = wmsGoodsTagService.selByBillSidAndGoodsID(sourceBillSid, content); + if (null != wmsGoodsTag) { + vo.setGoodsID(wmsGoodsTag.getGoodsID()); + vo.setGoodsName(wmsGoodsTag.getGoodsSpuName()); + if (wmsGoodsTag.getState() == 1) { + return rb.setMsg("该商品已上架完成"); + } + //获取该商品编码,判断此上架单是否有对应的商品编码 + String goodsSkuCode = wmsGoodsTag.getGoodsSkuCode(); + WmsShelfBillDetail shelfBillGoods = wmsShelfBillDetailService.selByBillSidAndSkuCode(shelvesId, goodsSkuCode); + if (null == shelfBillGoods) { + return rb.setMsg("该商品不属于您的上架单"); + } + BigDecimal count = new BigDecimal("0"); + BigDecimal acCount = new BigDecimal("0"); + if (null != shelfBillGoods.getCount()) { + count = shelfBillGoods.getCount(); + } + if (null != shelfBillGoods.getActualCount()) { + acCount = shelfBillGoods.getActualCount(); + } + BigDecimal subtractCount = count.subtract(acCount); + if (subtractCount.compareTo(BigDecimal.ZERO) > 0) { + if (wmsGoodsTag.getGoodsCount().compareTo(new BigDecimal("1")) == 0) { + vo.setGoodsMax("1"); + } else { + vo.setGoodsMax(String.valueOf(subtractCount.intValue())); + } + } else { + return rb.setMsg("您的上架单中的该商品已经上架完成"); + } + } else { + return rb.setMsg("该商品不属于您的收货单"); + } + } + } else { + vo.setUrl(""); + } + return rb.success().setData(vo); + } + + @Transactional(rollbackFor = Exception.class) + public ResultBean shelvesSave(AppSaveBillRecordDto dto) { + ResultBean rb = ResultBean.fireFail(); + String shelvesId = dto.getShelvesSid(); + WmsShelfBill wmsShelfBill = fetchBySid(shelvesId); + String sourceBillSid = wmsShelfBill.getSourceBillSid(); + List goodsList = dto.getGoodsList(); + if (!goodsList.isEmpty()) { + Map map = new HashMap<>(); + for (AppSaveBillRecordDto.AppSaveBillRecordDetailsDto detailsDto : goodsList) { + BigDecimal decimal = map.get(detailsDto.getGoodsID()); + if (null != decimal) { + map.put(detailsDto.getGoodsID(), decimal.add(new BigDecimal(detailsDto.getCount()))); + } else { + map.put(detailsDto.getGoodsID(), new BigDecimal(detailsDto.getCount())); + } + } + for (AppSaveBillRecordDto.AppSaveBillRecordDetailsDto r : goodsList) { + String goodsID = r.getGoodsID(); + String houseCode = r.getHouseCode(); + if (StringUtils.isBlank(goodsID)) { + return rb.setMsg("请扫描商品码"); + } + if (StringUtils.isBlank(houseCode)) { + return rb.setMsg("请扫描库位码"); + } + WmsGoodsTag wmsGoodsTag = wmsGoodsTagService.selByBillSidAndGoodsID(sourceBillSid, goodsID); + String goodsSkuCode = wmsGoodsTag.getGoodsSkuCode(); + WmsShelfBillDetail shelfBillGoods = wmsShelfBillDetailService.selByBillSidAndSkuCode(shelvesId, goodsSkuCode); + BigDecimal actualCount = shelfBillGoods.getActualCount(); + BigDecimal subtract = shelfBillGoods.getCount().subtract(actualCount); + if (subtract.compareTo(map.get(goodsID)) < 0) { + return rb.setMsg("请勿超过商品上架最大数量"); + } + } + for (AppSaveBillRecordDto.AppSaveBillRecordDetailsDto r : goodsList) { + String count = r.getCount(); + String goodsID = r.getGoodsID(); + String houseCode = r.getHouseCode(); + WmsGoodsTag wmsGoodsTag = wmsGoodsTagService.selByBillSidAndGoodsID(sourceBillSid, goodsID); + String goodsSkuCode = wmsGoodsTag.getGoodsSkuCode(); + WmsShelfBillDetail shelfBillGoods = wmsShelfBillDetailService.selByBillSidAndSkuCode(shelvesId, goodsSkuCode); + BigDecimal actualCount = shelfBillGoods.getActualCount(); + BigDecimal add = actualCount.add(new BigDecimal(count)); + shelfBillGoods.setActualCount(add); + wmsShelfBillDetailService.updateById(shelfBillGoods); + if (wmsGoodsTag.getGoodsCount().compareTo(new BigDecimal("1")) == 0) { + wmsGoodsTag.setState(1); + wmsGoodsTagService.updateById(wmsGoodsTag); + } + } + List vos = wmsShelfBillDetailService.selectByMainSid(dto.getShelvesSid()); + if (!vos.isEmpty()) { + HashSet integers = new HashSet<>(); + for (WmsShelfBillDetail vo : vos) { + if (vo.getActualCount().compareTo(vo.getCount()) >= 0) { + integers.add(2); + } else { + integers.add(1); + } + } + if (integers.size() > 1) { + wmsShelfBill.setBillState(2); + wmsShelfBill.setBillStateValue("部分上架"); + } else { + wmsShelfBill.setBillState(1); + wmsShelfBill.setBillStateValue("已完成"); + for (Integer integer : integers) { + if (integer == 1) { + wmsShelfBill.setBillState(2); + wmsShelfBill.setBillStateValue("部分上架"); + } + } + } + } + baseMapper.updateById(wmsShelfBill); + for (AppSaveBillRecordDto.AppSaveBillRecordDetailsDto r : goodsList) { + String goodsID = r.getGoodsID(); + WmsGoodsTag wmsGoodsTag = wmsGoodsTagService.selByBillSidAndGoodsID(sourceBillSid, goodsID); + String goodsSkuCode = wmsGoodsTag.getGoodsSkuCode(); + if (wmsGoodsTag.getGoodsCount().compareTo(new BigDecimal("1")) > 0) { + String count = wmsShelfBillDetailService.selAcCountBySourceBillSidAndSkuCode(sourceBillSid, goodsSkuCode); + if (new BigDecimal(count).compareTo(wmsGoodsTag.getGoodsCount()) >= 0) { + wmsGoodsTag.setState(1); + wmsGoodsTagService.updateById(wmsGoodsTag); + } + } + } + } + return rb.success(); + } } diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/app/AppSaveBillRecordDto.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/app/AppSaveBillRecordDto.java new file mode 100644 index 0000000000..9ea57129ce --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/app/AppSaveBillRecordDto.java @@ -0,0 +1,43 @@ +package com.yxt.wms.biz.inventory.wmsshelfbill.app; + +import com.yxt.common.core.dto.Dto; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author Fan + * @description + * @date 2024/5/30 14:21 + */ +@Data +public class AppSaveBillRecordDto implements Dto { + /** + * 商品列表 + */ + private List goodsList = new ArrayList<>(); + private String orgPath; + /** + * 上架单sid + */ + private String shelvesSid; + private String userSid; + + @Data + public static class AppSaveBillRecordDetailsDto { + /** + * 数量 + */ + private String count; + /** + * 商品ID + */ + private String goodsID; + /** + * 库位码 + */ + private String houseCode; + } + +} diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/app/AppScanVo.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/app/AppScanVo.java new file mode 100644 index 0000000000..672bae32b2 --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/app/AppScanVo.java @@ -0,0 +1,44 @@ +package com.yxt.wms.biz.inventory.wmsshelfbill.app; + +import lombok.Data; + +/** + * @author Fan + * @description + * @date 2024/5/30 11:12 + */ +@Data +public class AppScanVo { + /** + * 商品id + */ + private String goodsID; + /** + * 商品最大可上架数量,通过shelvesId去查询出来的(当前上架单无需上架此商品 false) + */ + private String goodsMax; + /** + * 商品名称 + */ + private String goodsName; + /** + * 1-2-50 + */ + private String houseAddress; + /** + * 库位码 + */ + private String houseCode; + /** + * 库区名+库位名 + */ + private String houseName; + /** + * 0 商品码 1库位码 + */ + private Integer type; + /** + * 网址 + */ + private String url; +} diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/app/AppShelInitVo.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/app/AppShelInitVo.java new file mode 100644 index 0000000000..3ff7b6698d --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/app/AppShelInitVo.java @@ -0,0 +1,29 @@ +package com.yxt.wms.biz.inventory.wmsshelfbill.app; + +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/5/30 10:41 + */ +@Data +public class AppShelInitVo { + private String shelvesId; + + private List goods = new ArrayList<>(); + + @Data + public static class AppShelInitVoDetails { + private String name; + private String number; + } +} + + + diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/app/AppShelfBillListVo.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/app/AppShelfBillListVo.java index e706228438..c6e4375169 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/app/AppShelfBillListVo.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/app/AppShelfBillListVo.java @@ -10,11 +10,40 @@ import lombok.Data; */ @Data public class AppShelfBillListVo implements Vo { - private String billNo; //单据编号 - private String billState;//单据状态 - private String receiptBillNo;//收货单号 - private String receiptName;//收货人 - private String shelName;//上架人 - private String time;//日期 - private String sid; + /** + * 收货单号 + */ + private String receivingId; + /** + * 收货人 + */ + private String receivingUser; + /** + * 记录按钮,有记录true + */ + private boolean recordBtn; + /** + * 上架按钮,上架还有剩余true + */ + private boolean shelvesBtn; + /** + * 上架单创建时间 + */ + private String shelvesCreateTime; + /** + * 上架单编号 + */ + private String shelvesId; + /** + * 上架单sid + */ + private String shelvesSid; + /** + * 单据状态 + */ + private String shelvesState; + /** + * 上架人 + */ + private String shelvesUsers; } diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbilldetail/WmsShelfBillDetailMapper.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbilldetail/WmsShelfBillDetailMapper.java index fb42dbf0c4..a66165b044 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbilldetail/WmsShelfBillDetailMapper.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbilldetail/WmsShelfBillDetailMapper.java @@ -2,6 +2,7 @@ package com.yxt.wms.biz.inventory.wmsshelfbilldetail; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -21,4 +22,10 @@ public interface WmsShelfBillDetailMapper extends BaseMapper List selectReceiptSidList(); List selDetailsByMainSid(String sid); + + List selectByMainSid(String sid); + + WmsShelfBillDetail selByBillSidAndSkuCode(@Param("shelvesId") String shelvesId,@Param("goodsSkuCode") String goodsSkuCode); + + String selAcCountBySourceBillSidAndSkuCode(@Param("sourceBillSid")String sourceBillSid, @Param("goodsSkuCode")String goodsSkuCode); } diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbilldetail/WmsShelfBillDetailMapper.xml b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbilldetail/WmsShelfBillDetailMapper.xml index 4e88aeef86..8778bffb98 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbilldetail/WmsShelfBillDetailMapper.xml +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbilldetail/WmsShelfBillDetailMapper.xml @@ -48,4 +48,24 @@ from wms_shelf_bill_detail wsd where billSid = #{sid} + + + diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbilldetail/WmsShelfBillDetailService.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbilldetail/WmsShelfBillDetailService.java index e54aa3674f..d29832be1f 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbilldetail/WmsShelfBillDetailService.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbilldetail/WmsShelfBillDetailService.java @@ -2,6 +2,7 @@ package com.yxt.wms.biz.inventory.wmsshelfbilldetail; import cn.hutool.core.bean.BeanUtil; import com.yxt.common.base.service.MybatisBaseService; +import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Service; import java.util.List; @@ -38,4 +39,16 @@ public class WmsShelfBillDetailService extends MybatisBaseService selDetailsByMainSid(String sid) { return baseMapper.selDetailsByMainSid(sid); } + + public List selectByMainSid(String sid) { + return baseMapper.selectByMainSid(sid); + } + + public WmsShelfBillDetail selByBillSidAndSkuCode(String shelvesId,String goodsSkuCode) { + return baseMapper.selByBillSidAndSkuCode(shelvesId,goodsSkuCode); + } + + public String selAcCountBySourceBillSidAndSkuCode(String sourceBillSid, String goodsSkuCode) { + return baseMapper.selAcCountBySourceBillSidAndSkuCode(sourceBillSid,goodsSkuCode); + } }