diff --git a/yxt-as-ui/src/views/statement/business/businessDetail.vue b/yxt-as-ui/src/views/statement/business/businessDetail.vue index 07fa971617..1ef0dcc852 100644 --- a/yxt-as-ui/src/views/statement/business/businessDetail.vue +++ b/yxt-as-ui/src/views/statement/business/businessDetail.vue @@ -93,12 +93,12 @@ - + - + diff --git a/yxt-as-ui/src/views/statement/business/serviceSummary.vue b/yxt-as-ui/src/views/statement/business/serviceSummary.vue index 7d7ba31c55..c644db24ba 100644 --- a/yxt-as-ui/src/views/statement/business/serviceSummary.vue +++ b/yxt-as-ui/src/views/statement/business/serviceSummary.vue @@ -45,13 +45,13 @@ - + - + diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/report/BusDetailsQuery.java b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/report/BusDetailsQuery.java new file mode 100644 index 0000000000..35c06c9ce9 --- /dev/null +++ b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/report/BusDetailsQuery.java @@ -0,0 +1,112 @@ +package com.yxt.anrui.as.api.asbusrepairbill.report; + +import com.yxt.common.core.query.Query; +import lombok.Data; + +/** + * @author Fan + * @description + * @date 2024/11/7 15:32 + */ +@Data +public class BusDetailsQuery implements Query { + private String orgPath; + private String userSid; + private String menuUrl; + + /** + * 维修单号/销售单号 + */ + private String billNo; + /** + * 单据状态 + */ + private String billState; + /** + * 维修单类型 + */ + private String billType; + /** + * 业务类型 + */ + private String busType; + /** + * 开单时间结束 + */ + private String createEndTime; + /** + * 开单时间开始 + */ + private String createStartTime; + /** + * 客户 + */ + private String customerName; + /** + * 门店 + */ + private String deptName; + /** + * 图号 + */ + private String goodsSkuCode; + /** + * 厂家 + */ + private String manufacturerName; + + /** + * 名称 + */ + private String name; + + /** + * 销售价/工时单价 + */ + private String price; + /** + * 维修技师 + */ + private String repairerName; + /** + * 工种 + */ + private String serviceType; + /** + * 结算时间结束 + */ + private String settleEndTime; + /** + * 结算时间开始 + */ + private String settleStartTime; + /** + * 科目 + */ + private String subject; + /** + * 供应商 + */ + private String supplierName; + /** + * 分公司 + */ + private String useOrgName; + /** + * 车牌号 + */ + private String vehMark; + /** + * 车型 + */ + private String vehModel; + /** + * 车架号 + */ + private String vinNo; + /** + * 服务顾问 + */ + private String waitorName; + +} diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/report/BusDetailsVo.java b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/report/BusDetailsVo.java new file mode 100644 index 0000000000..896f1cd37e --- /dev/null +++ b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/report/BusDetailsVo.java @@ -0,0 +1,131 @@ +package com.yxt.anrui.as.api.asbusrepairbill.report; + +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +/** + * @author Fan + * @description + * @date 2024/11/7 15:32 + */ +@Data +public class BusDetailsVo implements Vo { + + /** + * 维修单号/销售单号 + */ + private String billNo; + /** + * 单据状态 + */ + private String billState; + /** + * 维修单类型 + */ + private String billType; + /** + * 业务类型 + */ + private String busType; + /** + * 成本价 + */ + private String cost; + /** + * 合计成本 + */ + private String costTotal; + /** + * 开单时间 + */ + private String createTime; + /** + * 客户 + */ + private String customerName; + /** + * 门店 + */ + private String deptName; + /** + * 折扣 + */ + private String discount; + /** + * 折后金额 + */ + private String discountAmount; + /** + * 派工时间 + */ + private String dispatchTime; + /** + * 竣工时间 + */ + private String finishTime; + /** + * 图号 + */ + private String goodsSkuTitle; + /** + * 厂家 + */ + private String manufacturerName; + /** + * 名称 + */ + private String name; + /** + * 数量 + */ + private String num; + /** + * 销售价/工时单价 + */ + private String price; + /** + * 利润 + */ + private String profit; + /** + * 维修技师 + */ + private String repairerName; + /** + * 工种 + */ + private String serviceType; + /** + * 结算时间 + */ + private String settleTime; + /** + * 维修科目 + */ + private String subject; + /** + * 供应商 + */ + private String supplierName; + /** + * 分公司 + */ + private String useOrgName; + /** + * 车牌号 + */ + private String vehMark; + /** + * 车型 + */ + private String vehModel; + /** + * 车架号 + */ + private String vinNo; + /** + * 服务顾问 + */ + private String waitorName; + +} diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/report/SummaryVo.java b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/report/SummaryVo.java index 758440fc23..5e820077e5 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/report/SummaryVo.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/report/SummaryVo.java @@ -23,6 +23,10 @@ public class SummaryVo implements Vo { * 业务类型 */ private String busType; + /** + * 科目 + */ + private String subject; /** * 成本合计 */ diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillMapper.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillMapper.java index b24b57c1a2..3e244aafb6 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillMapper.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillMapper.java @@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Constants; import com.yxt.anrui.as.api.asbusrepairbill.*; import com.yxt.anrui.as.api.asbusrepairbill.app.*; +import com.yxt.anrui.as.api.asbusrepairbill.report.BusDetailsVo; +import com.yxt.anrui.as.api.asbusrepairbill.report.SummaryVo; import com.yxt.anrui.as.api.asbusrepairinventorybilldetail.SitemsVo; import com.yxt.common.core.result.ResultBean; import org.apache.ibatis.annotations.Mapper; @@ -65,4 +67,8 @@ public interface AsBusrepairBillMapper extends BaseMapper { ResultBean updateOldIsReclaim(String billNo); String selLastTaxRateByUseOrgSid(@Param("createOrgSid") String createOrgSid); + + IPage Summary(IPage page,@Param(Constants.WRAPPER) QueryWrapper qw); + + IPage busDetailsList(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); } diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillMapper.xml b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillMapper.xml index 92fc1e55d8..0f56fd04fa 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillMapper.xml +++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillMapper.xml @@ -340,4 +340,315 @@ WHERE s.useOrgSid LIKE concat('%', #{createOrgSid}, '%') AND S.parameterNo = 'SHXSZDSL' + + diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillRest.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillRest.java index 929a12d3f9..fc967f16be 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillRest.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillRest.java @@ -2,6 +2,8 @@ package com.yxt.anrui.as.biz.asbusrepairbill; import com.yxt.anrui.as.api.asbusrepairbill.*; import com.yxt.anrui.as.api.asbusrepairbill.app.*; +import com.yxt.anrui.as.api.asbusrepairbill.report.BusDetailsQuery; +import com.yxt.anrui.as.api.asbusrepairbill.report.BusDetailsVo; import com.yxt.anrui.as.api.asbusrepairbill.report.SummaryQuery; import com.yxt.anrui.as.api.asbusrepairbill.report.SummaryVo; import com.yxt.anrui.as.api.asbusrepairbillinvoice.AsBusrepairBillInvoice; @@ -308,5 +310,13 @@ public class AsBusrepairBillRest { return rb.success().setData(pv); } + @PostMapping("/busDetailsList") + @ApiOperation("业务汇总") + ResultBean> busDetailsList(@RequestBody PagerQuery pagerQuery) { + ResultBean> rb = ResultBean.fireFail(); + PagerVo pv = asBusrepairBillService.busDetailsList(pagerQuery); + return rb.success().setData(pv); + } + } diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillService.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillService.java index 5d402df5dc..376ae93a94 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillService.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillService.java @@ -9,6 +9,8 @@ import com.yxt.anrui.as.api.asappendix.AsAppendix; import com.yxt.anrui.as.api.asbillsettelapply.AsBillSettelApplyDto; import com.yxt.anrui.as.api.asbusrepairbill.*; import com.yxt.anrui.as.api.asbusrepairbill.app.*; +import com.yxt.anrui.as.api.asbusrepairbill.report.BusDetailsQuery; +import com.yxt.anrui.as.api.asbusrepairbill.report.BusDetailsVo; import com.yxt.anrui.as.api.asbusrepairbill.report.SummaryQuery; import com.yxt.anrui.as.api.asbusrepairbill.report.SummaryVo; import com.yxt.anrui.as.api.asbusrepairbillaitem.AsBusrepairBillAitem; @@ -1494,7 +1496,7 @@ public class AsBusrepairBillService extends MybatisBaseService 0) { if (map.size() > 0) { @@ -2557,6 +2559,7 @@ public class AsBusrepairBillService extends MybatisBaseService defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery); if (StringUtils.isNotBlank(defaultIdReltBean.getData())) { //数据权限ID(1集团、2事业部、3分公司、4部门、5个人) @@ -2569,18 +2572,18 @@ public class AsBusrepairBillService extends MybatisBaseService p = new PagerVo<>(); return p; @@ -2589,10 +2592,134 @@ public class AsBusrepairBillService extends MybatisBaseService p = new PagerVo<>(); return p; } -// IPage page = PagerUtil.queryToPage(pq); -// IPage pagging = baseMapper.Summary(page, qw); -// PagerVo p = PagerUtil.pageToVo(pagging, null); -// return p; - return null; + if (StringUtils.isNotBlank(query.getDateType())) { + String dateType = query.getDateType(); + if (dateType.equals("1")) { + //本日 + qw.apply("m.settleTime = CURDATE()"); + } else if (dateType.equals("2")) { + //本月 + qw.apply("m.settleTime >= date_add(curdate(), interval - day(curdate()) + 1 day) AND m.settleTime <= last_day(curdate())"); + } else if (dateType.equals("3")) { + //本年 + qw.apply("m.settleTime >= date_sub(curdate(), interval dayofyear(curdate())-1 day) AND m.settleTime <= concat(year(curdate()),'-12-31')"); + } + } + //开单开始时间 + qw.apply(StringUtils.isNotBlank(query.getCreateStartTime()), "date_format (m.createTime,'%Y-%m-%d') >= date_format('" + query.getCreateStartTime() + "','%Y-%m-%d')"). + apply(StringUtils.isNotBlank(query.getCreateEndTime()), "date_format (m.createTime,'%Y-%m-%d') <= date_format('" + query.getCreateEndTime() + "','%Y-%m-%d')" + ); + //结算时间 + qw.apply(StringUtils.isNotBlank(query.getSettleStartTime()), "date_format (m.settleTime,'%Y-%m-%d') >= date_format('" + query.getSettleStartTime() + "','%Y-%m-%d')"). + apply(StringUtils.isNotBlank(query.getSettleEndTime()), "date_format (m.settleTime,'%Y-%m-%d') <= date_format('" + query.getSettleEndTime() + "','%Y-%m-%d')" + ); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.Summary(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + public PagerVo busDetailsList(PagerQuery pq) { + BusDetailsQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + PrivilegeQuery privilegeQuery = new PrivilegeQuery(); + privilegeQuery.setOrgPath(query.getOrgPath()); + privilegeQuery.setUserSid(query.getUserSid()); + privilegeQuery.setMenuUrl(query.getMenuUrl()); + ResultBean defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery); + if (StringUtils.isNotBlank(defaultIdReltBean.getData())) { + //数据权限ID(1集团、2事业部、3分公司、4部门、5个人) + String orgSidPath = query.getOrgPath(); + orgSidPath = orgSidPath + "/"; + int i1 = orgSidPath.indexOf("/"); + int i2 = orgSidPath.indexOf("/", i1 + 1); + int i3 = orgSidPath.indexOf("/", i2 + 1); + int i4 = orgSidPath.indexOf("/", i3 + 1); + String orgLevelKey = defaultIdReltBean.getData(); + if ("1".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i1); + qw.like("m.orgSidPath", orgSidPath); + } else if ("2".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i2); + qw.like("m.orgSidPath", orgSidPath); + } else if ("3".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i3); + qw.like("m.orgSidPath", orgSidPath); + } else if ("4".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i4); + qw.like("m.orgSidPath", orgSidPath); + } else if ("5".equals(orgLevelKey)) { +// qw.eq("a.createBySid", query.getUserSid()); + } else { + PagerVo p = new PagerVo<>(); + return p; + } + } else { + PagerVo p = new PagerVo<>(); + return p; + } + if (StringUtils.isNotBlank(query.getBillNo())) { + qw.like("m.billNo",query.getBillNo()); + } + if (StringUtils.isNotBlank(query.getBillState())) { + qw.eq("m.billState",query.getBillState()); + } + if (StringUtils.isNotBlank(query.getBillType())) { + qw.eq("m.billType",query.getBillType()); + } + //开单开始时间 + qw.apply(StringUtils.isNotBlank(query.getCreateStartTime()), "date_format (m.createTime,'%Y-%m-%d') >= date_format('" + query.getCreateStartTime() + "','%Y-%m-%d')"). + apply(StringUtils.isNotBlank(query.getCreateEndTime()), "date_format (m.createTime,'%Y-%m-%d') <= date_format('" + query.getCreateEndTime() + "','%Y-%m-%d')" + ); + if (StringUtils.isNotBlank(query.getCustomerName())) { + qw.like("m.customerName",query.getCustomerName()); + } + if (StringUtils.isNotBlank(query.getDeptName())) { + qw.like("m.deptName",query.getDeptName()); + } + if (StringUtils.isNotBlank(query.getGoodsSkuCode())) { + qw.like("m.goodsSkuCode",query.getGoodsSkuCode()); + } + if (StringUtils.isNotBlank(query.getManufacturerName())) { + qw.like("m.manufacturerName",query.getManufacturerName()); + } + if (StringUtils.isNotBlank(query.getName())) { + qw.like("m.name",query.getName()); + } + if (StringUtils.isNotBlank(query.getPrice())) { + qw.like("m.price",query.getPrice()); + } + if (StringUtils.isNotBlank(query.getRepairerName())) { + qw.like("m.repairerName",query.getRepairerName()); + } + if (StringUtils.isNotBlank(query.getServiceType())) { + qw.like("m.serviceType",query.getServiceType()); + } + //结算时间 + qw.apply(StringUtils.isNotBlank(query.getSettleStartTime()), "date_format (m.settleTime,'%Y-%m-%d') >= date_format('" + query.getSettleStartTime() + "','%Y-%m-%d')"). + apply(StringUtils.isNotBlank(query.getSettleEndTime()), "date_format (m.settleTime,'%Y-%m-%d') <= date_format('" + query.getSettleEndTime() + "','%Y-%m-%d')" + ); + if (StringUtils.isNotBlank(query.getSubject())) { + qw.like("m.subject",query.getSubject()); + } + if (StringUtils.isNotBlank(query.getSupplierName())) { + qw.like("m.supplierName",query.getSupplierName()); + } + if (StringUtils.isNotBlank(query.getUseOrgName())) { + qw.like("m.useOrgName",query.getUseOrgName()); + } + if (StringUtils.isNotBlank(query.getVehMark())) { + qw.like("m.vehMark",query.getVehMark()); + } + if (StringUtils.isNotBlank(query.getVinNo())) { + qw.like("m.vinNo",query.getVinNo()); + } + if (StringUtils.isNotBlank(query.getWaitorName())) { + qw.like("m.waitorName",query.getWaitorName()); + } + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.busDetailsList(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; } } 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 48a85ca503..ae03902e0f 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 @@ -354,8 +354,8 @@ public class AsBusrepairInventorybillService extends MybatisBaseService SELECT i.sid inventorySid, - s.price, + e.salesPrice price, i.goodsSpuSid, i.goodsSkuSid, i.goodsSpuName, @@ -111,8 +111,8 @@ i.unit, i.count as currentCount, i.goodsID, - s.supplierName as billObjName, - s.supplierSid as billObjSid, + i.supplierName as billObjName, + i.supplierSid as billObjSid, i.warehouseSid, i.warehouseName, wa.sid as areaSid, @@ -124,8 +124,8 @@ i.manufacturerName FROM yxt_wms.wms_inventory as i - LEFT JOIN sms_goods AS s ON s.goodsID = i.goodsID LEFT JOIN yxt_wms.wms_warehouse_area as wa ON wa.warehouseSid = i.warehouseSid + LEFT JOIN yxt_base.base_goods_sku_extend as e ON e.goodsSkuSid = i.goodsSkuSid ${ew.sqlSegment} + diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryService.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryService.java index 7cd0c69fee..287c2f60db 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryService.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryService.java @@ -17,6 +17,8 @@ import com.yxt.wms.biz.inventory.wmsinventory.appH5.GoodsTagH5Vo; import com.yxt.wms.biz.inventory.wmsinventory.appH5.HouseRackH5Vo; import com.yxt.wms.biz.inventory.wmsinventory.appH5.HouseRackListVo; import com.yxt.wms.biz.inventory.wmsinventory.appInventory.*; +import com.yxt.wms.biz.inventory.wmsinventory.report.DeadStockQuery; +import com.yxt.wms.biz.inventory.wmsinventory.report.DeadStockVo; import com.yxt.wms.biz.inventory.wmsinventorybill.WmsInventoryBill; import com.yxt.wms.biz.inventory.wmsinventorybill.WmsInventoryBillService; import com.yxt.wms.biz.inventory.wmsshelfbill.WmsShelfBill; @@ -1000,4 +1002,71 @@ public class WmsInventoryService extends MybatisBaseService deadStockList(PagerQuery pq) { + DeadStockQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + PrivilegeQuery privilegeQuery = new PrivilegeQuery(); + privilegeQuery.setOrgPath(query.getOrgPath()); + privilegeQuery.setMenuUrl(query.getMenuUrl()); + privilegeQuery.setUserSid(query.getUserSid()); + ResultBean defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery); + if (StringUtils.isNotBlank(query.getMenuUrl())) { + if (StringUtils.isNotBlank(defaultIdReltBean.getData())) { + //数据权限ID(1集团、2事业部、3分公司、4部门、5个人) + String orgSidPath = query.getOrgPath(); + orgSidPath = orgSidPath + "/"; + int i1 = orgSidPath.indexOf("/"); + int i2 = orgSidPath.indexOf("/", i1 + 1); + int i3 = orgSidPath.indexOf("/", i2 + 1); + int i4 = orgSidPath.indexOf("/", i3 + 1); + String orgLevelKey = defaultIdReltBean.getData(); + if ("1".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i1); + qw.like("m.orgSidPath", orgSidPath); + } else if ("2".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i2); + qw.like("m.orgSidPath", orgSidPath); + } else if ("3".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i3); + qw.like("m.orgSidPath", orgSidPath); + } else if ("4".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i4); + qw.like("m.orgSidPath", orgSidPath); + } else if ("5".equals(orgLevelKey)) { +// qw.eq("wsb.createBySid", query.getUserSid()); + } else { + PagerVo p = new PagerVo<>(); + return p; + } + } else { + PagerVo p = new PagerVo<>(); + return p; + } + } + //ToDo:添加查询条件 + if (StringUtils.isNotBlank(query.getDeptName())) { + qw.like("m.deptName", query.getDeptName()); + } + if (StringUtils.isNotBlank(query.getGoodsSkuCode())) { + qw.like("m.goodsSkuCode", query.getGoodsSkuCode()); + } + if (StringUtils.isNotBlank(query.getGoodsSpuName())) { + qw.like("m.goodsSpuName", query.getGoodsSpuName()); + } + if (StringUtils.isNotBlank(query.getManufacturerName())) { + qw.like("m.manufacturerName", query.getManufacturerName()); + } + if (StringUtils.isNotBlank(query.getUseOrgName())) { + qw.like("m.useOrgName", query.getUseOrgName()); + } + if (StringUtils.isNotBlank(query.getSupplierName())) { + qw.like("m.supplierName", query.getSupplierName()); + } + + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.deadStockList(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } } diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/report/DeadStockQuery.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/report/DeadStockQuery.java new file mode 100644 index 0000000000..87ffafe8b3 --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/report/DeadStockQuery.java @@ -0,0 +1,40 @@ +package com.yxt.wms.biz.inventory.wmsinventory.report; + +import com.yxt.common.core.query.Query; +import lombok.Data; + +/** + * @author Fan + * @description + * @date 2024/11/7 16:45 + */ +@Data +public class DeadStockQuery implements Query { + /** + * 部门 + */ + private String deptName; + /** + * 图号 + */ + private String goodsSkuCode; + /** + * 商品名称 + */ + private String goodsSpuName; + /** + * 厂家 + */ + private String manufacturerName; + private String menuUrl; + private String orgPath; + /** + * 供应商 + */ + private String supplierName; + /** + * 分公司 + */ + private String useOrgName; + private String userSid; +} diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/report/DeadStockVo.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/report/DeadStockVo.java new file mode 100644 index 0000000000..372032b9c7 --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/report/DeadStockVo.java @@ -0,0 +1,67 @@ +package com.yxt.wms.biz.inventory.wmsinventory.report; + +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +/** + * @author Fan + * @description + * @date 2024/11/7 16:45 + */ +@Data +public class DeadStockVo implements Vo { + + /** + * 平均成本单价 + */ + private String avgPrice; + /** + * 库存数量 + */ + private String count; + /** + * 门店 + */ + private String deptName; + /** + * 图号 + */ + private String goodsSkuCode; + /** + * 商品名称 + */ + private String goodsSpuName; + /** + * 最长库龄 + */ + private String inventoryAge; + /** + * 厂家 + */ + private String manufacturerName; + /** + * 未销售天数 + */ + private String noSalesDays; + /** + * 最近一次销售时间 + */ + private String salesTime; + /** + * 最近一次入库时间 + */ + private String storageTime; + /** + * 供应商 + */ + private String supplierName; + /** + * 成本合计 + */ + private String totalCost; + /** + * 分公司 + */ + private String useOrgName; + +}