diff --git a/klp-ui/src/views/wms/cost/stockpile/index.vue b/klp-ui/src/views/wms/cost/stockpile/index.vue index ac0e9ef5..3bae30cd 100644 --- a/klp-ui/src/views/wms/cost/stockpile/index.vue +++ b/klp-ui/src/views/wms/cost/stockpile/index.vue @@ -88,14 +88,7 @@ {{ formatWeight(scope.row.totalNetWeight) }} - - - - {{ scope.row.avgStorageDays || '-' }} - - - - + {{ scope.row.maxStorageDays || '-' }} @@ -104,7 +97,12 @@ - {{ formatMoney(scope.row.totalCost) }} + + {{ formatMoney(scope.row.totalCost) }} + + + + @@ -292,7 +290,7 @@ export default { formatWeight(value) { if (!value) return '0.000' // 如果值大于1000,可能是kg单位,需要转换 - const weight = Number(value) > 1000 ? Number(value) / 1000 : Number(value) + const weight = Number(value) return weight.toFixed(3) }, formatDateTime(value) { diff --git a/klp-wms/src/main/java/com/klp/controller/CostCoilDailyController.java b/klp-wms/src/main/java/com/klp/controller/WmsCostCoilDailyController.java similarity index 79% rename from klp-wms/src/main/java/com/klp/controller/CostCoilDailyController.java rename to klp-wms/src/main/java/com/klp/controller/WmsCostCoilDailyController.java index f18524ce..2e204307 100644 --- a/klp-wms/src/main/java/com/klp/controller/CostCoilDailyController.java +++ b/klp-wms/src/main/java/com/klp/controller/WmsCostCoilDailyController.java @@ -4,6 +4,7 @@ import java.util.List; import java.util.Map; import java.util.Arrays; +import com.klp.service.IWmsCostCoilDailyService; import lombok.RequiredArgsConstructor; import javax.servlet.http.HttpServletResponse; import javax.validation.constraints.*; @@ -18,9 +19,8 @@ import com.klp.common.core.validate.AddGroup; import com.klp.common.core.validate.EditGroup; import com.klp.common.enums.BusinessType; import com.klp.common.utils.poi.ExcelUtil; -import com.klp.domain.vo.CostCoilDailyVo; -import com.klp.domain.bo.CostCoilDailyBo; -import com.klp.service.ICostCoilDailyService; +import com.klp.domain.vo.WmsCostCoilDailyVo; +import com.klp.domain.bo.WmsCostCoilDailyBo; import com.klp.common.core.page.TableDataInfo; import java.time.LocalDate; @@ -37,16 +37,16 @@ import org.springframework.format.annotation.DateTimeFormat; @RequiredArgsConstructor @RestController @RequestMapping("/wms/cost/coil") -public class CostCoilDailyController extends BaseController { +public class WmsCostCoilDailyController extends BaseController { - private final ICostCoilDailyService iCostCoilDailyService; + private final IWmsCostCoilDailyService iWmsCostCoilDailyService; /** * 查询钢卷日成本记录表列表 */ @GetMapping("/list") - public TableDataInfo list(CostCoilDailyBo bo, PageQuery pageQuery) { - return iCostCoilDailyService.queryPageList(bo, pageQuery); + public TableDataInfo list(WmsCostCoilDailyBo bo, PageQuery pageQuery) { + return iWmsCostCoilDailyService.queryPageList(bo, pageQuery); } /** @@ -54,9 +54,9 @@ public class CostCoilDailyController extends BaseController { */ @Log(title = "钢卷日成本记录表", businessType = BusinessType.EXPORT) @PostMapping("/export") - public void export(CostCoilDailyBo bo, HttpServletResponse response) { - List list = iCostCoilDailyService.queryList(bo); - ExcelUtil.exportExcel(list, "钢卷日成本记录表", CostCoilDailyVo.class, response); + public void export(WmsCostCoilDailyBo bo, HttpServletResponse response) { + List list = iWmsCostCoilDailyService.queryList(bo); + ExcelUtil.exportExcel(list, "钢卷日成本记录表", WmsCostCoilDailyVo.class, response); } /** @@ -65,9 +65,9 @@ public class CostCoilDailyController extends BaseController { * @param costId 主键 */ @GetMapping("/{costId}") - public R getInfo(@NotNull(message = "主键不能为空") + public R getInfo(@NotNull(message = "主键不能为空") @PathVariable Long costId) { - return R.ok(iCostCoilDailyService.queryById(costId)); + return R.ok(iWmsCostCoilDailyService.queryById(costId)); } /** @@ -76,8 +76,8 @@ public class CostCoilDailyController extends BaseController { @Log(title = "钢卷日成本记录表", businessType = BusinessType.INSERT) @RepeatSubmit() @PostMapping() - public R add(@Validated(AddGroup.class) @RequestBody CostCoilDailyBo bo) { - return toAjax(iCostCoilDailyService.insertByBo(bo)); + public R add(@Validated(AddGroup.class) @RequestBody WmsCostCoilDailyBo bo) { + return toAjax(iWmsCostCoilDailyService.insertByBo(bo)); } /** @@ -86,8 +86,8 @@ public class CostCoilDailyController extends BaseController { @Log(title = "钢卷日成本记录表", businessType = BusinessType.UPDATE) @RepeatSubmit() @PutMapping() - public R edit(@Validated(EditGroup.class) @RequestBody CostCoilDailyBo bo) { - return toAjax(iCostCoilDailyService.updateByBo(bo)); + public R edit(@Validated(EditGroup.class) @RequestBody WmsCostCoilDailyBo bo) { + return toAjax(iWmsCostCoilDailyService.updateByBo(bo)); } /** @@ -99,7 +99,7 @@ public class CostCoilDailyController extends BaseController { @DeleteMapping("/{costIds}") public R remove(@NotEmpty(message = "主键不能为空") @PathVariable Long[] costIds) { - return toAjax(iCostCoilDailyService.deleteWithValidByIds(Arrays.asList(costIds), true)); + return toAjax(iWmsCostCoilDailyService.deleteWithValidByIds(Arrays.asList(costIds), true)); } /** @@ -111,7 +111,7 @@ public class CostCoilDailyController extends BaseController { @PostMapping("/calculate") public R> calculateCost(@RequestParam(required = false) Long coilId, @RequestParam(required = false) LocalDateTime calcTime) { - Map result = iCostCoilDailyService.calculateCost(coilId, calcTime); + Map result = iWmsCostCoilDailyService.calculateCost(coilId, calcTime); if (result.containsKey("error")) { return R.fail(result.get("error").toString()); } @@ -127,7 +127,6 @@ public class CostCoilDailyController extends BaseController { @PostMapping("/batchCalculateCost") public R>> batchCalculateCost(@RequestParam String coilIds, @RequestParam(required = false) LocalDateTime calcTime) { - // 解析coilIds字符串为Long列表 List coilIdList = new java.util.ArrayList<>(); if (coilIds != null && !coilIds.trim().isEmpty()) { String[] ids = coilIds.split(","); @@ -136,12 +135,11 @@ public class CostCoilDailyController extends BaseController { Long coilId = Long.parseLong(id.trim()); coilIdList.add(coilId); } catch (NumberFormatException e) { - // 忽略无效的ID } } } - - List> results = iCostCoilDailyService.batchCalculateCost(coilIdList, calcTime); + + List> results = iWmsCostCoilDailyService.batchCalculateCost(coilIdList, calcTime); return R.ok(results); } @@ -156,7 +154,7 @@ public class CostCoilDailyController extends BaseController { if (calcDate == null) { calcDate = LocalDate.now().minusDays(1); } - int count = iCostCoilDailyService.calculateDailyCost(calcDate); + int count = iWmsCostCoilDailyService.calculateDailyCost(calcDate); return R.ok(count); } @@ -173,7 +171,7 @@ public class CostCoilDailyController extends BaseController { @RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate endDate, @RequestParam(required = false) String groupBy, @RequestParam(required = false) Long warehouseId) { - Map result = iCostCoilDailyService.queryCostSummary(startDate, endDate, groupBy, warehouseId); + Map result = iWmsCostCoilDailyService.queryCostSummary(startDate, endDate, groupBy, warehouseId); return R.ok(result); } @@ -186,7 +184,7 @@ public class CostCoilDailyController extends BaseController { @GetMapping("/report/trend") public R>> queryCostTrend(@RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate startDate, @RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate endDate) { - List> result = iCostCoilDailyService.queryCostTrend(startDate, endDate); + List> result = iWmsCostCoilDailyService.queryCostTrend(startDate, endDate); return R.ok(result); } @@ -199,7 +197,7 @@ public class CostCoilDailyController extends BaseController { @PostMapping("/calculateByEnterCoilNo") public R> calculateCostByEnterCoilNo(@RequestParam String enterCoilNo, @RequestParam(required = false) @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate calcDate) { - Map result = iCostCoilDailyService.calculateCostByEnterCoilNo(enterCoilNo, calcDate); + Map result = iWmsCostCoilDailyService.calculateCostByEnterCoilNo(enterCoilNo, calcDate); if (result.containsKey("error")) { return R.fail(result.get("error").toString()); } @@ -214,7 +212,7 @@ public class CostCoilDailyController extends BaseController { @RequestParam(required = false) @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate calcDate, @RequestParam(required = false, defaultValue = "1") Integer pageNum, @RequestParam(required = false, defaultValue = "20") Integer pageSize) { - Map result = iCostCoilDailyService.searchMaterialCost(enterCoilNo, calcDate, pageNum, pageSize); + Map result = iWmsCostCoilDailyService.searchMaterialCost(enterCoilNo, calcDate, pageNum, pageSize); return R.ok(result); } @@ -229,7 +227,7 @@ public class CostCoilDailyController extends BaseController { if (calcDate == null) { calcDate = LocalDate.now().minusDays(1); } - int count = iCostCoilDailyService.calculateDailyCostByEnterCoilNo(calcDate); + int count = iWmsCostCoilDailyService.calculateDailyCostByEnterCoilNo(calcDate); return R.ok(count); } @@ -244,7 +242,7 @@ public class CostCoilDailyController extends BaseController { public R>> queryCostByEnterCoilNo(@RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate startDate, @RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate endDate, @RequestParam(required = false) String enterCoilNo) { - List> result = iCostCoilDailyService.queryCostByEnterCoilNo(startDate, endDate, enterCoilNo); + List> result = iWmsCostCoilDailyService.queryCostByEnterCoilNo(startDate, endDate, enterCoilNo); return R.ok(result); } @@ -255,7 +253,7 @@ public class CostCoilDailyController extends BaseController { public R> queryStockpile(@RequestParam(required = false) String enterCoilNo, @RequestParam(required = false) String currentCoilNo, PageQuery pageQuery) { - Map result = iCostCoilDailyService.queryStockpileCostList(enterCoilNo, currentCoilNo, pageQuery); + Map result = iWmsCostCoilDailyService.queryStockpileCostList(enterCoilNo, currentCoilNo, pageQuery); return R.ok(result); } @@ -265,7 +263,7 @@ public class CostCoilDailyController extends BaseController { */ @GetMapping("/overview") public R> overview() { - Map result = iCostCoilDailyService.queryOverview(); + Map result = iWmsCostCoilDailyService.queryOverview(); return R.ok(result); } } diff --git a/klp-wms/src/main/java/com/klp/controller/CostStandardConfigController.java b/klp-wms/src/main/java/com/klp/controller/WmsCostStandardConfigController.java similarity index 61% rename from klp-wms/src/main/java/com/klp/controller/CostStandardConfigController.java rename to klp-wms/src/main/java/com/klp/controller/WmsCostStandardConfigController.java index 005f5748..bbaeef57 100644 --- a/klp-wms/src/main/java/com/klp/controller/CostStandardConfigController.java +++ b/klp-wms/src/main/java/com/klp/controller/WmsCostStandardConfigController.java @@ -3,6 +3,7 @@ package com.klp.controller; import java.util.List; import java.util.Arrays; +import com.klp.service.IWmsCostStandardConfigService; import lombok.RequiredArgsConstructor; import javax.servlet.http.HttpServletResponse; import javax.validation.constraints.*; @@ -17,9 +18,8 @@ import com.klp.common.core.validate.AddGroup; import com.klp.common.core.validate.EditGroup; import com.klp.common.enums.BusinessType; import com.klp.common.utils.poi.ExcelUtil; -import com.klp.domain.vo.CostStandardConfigVo; -import com.klp.domain.bo.CostStandardConfigBo; -import com.klp.service.ICostStandardConfigService; +import com.klp.domain.vo.WmsCostStandardConfigVo; +import com.klp.domain.bo.WmsCostStandardConfigBo; import com.klp.common.core.page.TableDataInfo; /** @@ -32,16 +32,16 @@ import com.klp.common.core.page.TableDataInfo; @RequiredArgsConstructor @RestController @RequestMapping("/wms/cost/standard") -public class CostStandardConfigController extends BaseController { +public class WmsCostStandardConfigController extends BaseController { - private final ICostStandardConfigService iCostStandardConfigService; + private final IWmsCostStandardConfigService iWmsCostStandardConfigService; /** * 查询成本标准配置表列表 */ @GetMapping("/list") - public TableDataInfo list(CostStandardConfigBo bo, PageQuery pageQuery) { - return iCostStandardConfigService.queryPageList(bo, pageQuery); + public TableDataInfo list(WmsCostStandardConfigBo bo, PageQuery pageQuery) { + return iWmsCostStandardConfigService.queryPageList(bo, pageQuery); } /** @@ -49,9 +49,9 @@ public class CostStandardConfigController extends BaseController { */ @Log(title = "成本标准配置表", businessType = BusinessType.EXPORT) @PostMapping("/export") - public void export(CostStandardConfigBo bo, HttpServletResponse response) { - List list = iCostStandardConfigService.queryList(bo); - ExcelUtil.exportExcel(list, "成本标准配置表", CostStandardConfigVo.class, response); + public void export(WmsCostStandardConfigBo bo, HttpServletResponse response) { + List list = iWmsCostStandardConfigService.queryList(bo); + ExcelUtil.exportExcel(list, "成本标准配置表", WmsCostStandardConfigVo.class, response); } /** @@ -60,17 +60,17 @@ public class CostStandardConfigController extends BaseController { * @param configId 主键 */ @GetMapping("/{configId}") - public R getInfo(@NotNull(message = "主键不能为空") + public R getInfo(@NotNull(message = "主键不能为空") @PathVariable Long configId) { - return R.ok(iCostStandardConfigService.queryById(configId)); + return R.ok(iWmsCostStandardConfigService.queryById(configId)); } /** * 查询当前有效的成本标准 */ @GetMapping("/current") - public R getCurrent() { - return R.ok(iCostStandardConfigService.queryCurrentEffective()); + public R getCurrent() { + return R.ok(iWmsCostStandardConfigService.queryCurrentEffective()); } /** @@ -79,8 +79,8 @@ public class CostStandardConfigController extends BaseController { @Log(title = "成本标准配置表", businessType = BusinessType.INSERT) @RepeatSubmit() @PostMapping() - public R add(@Validated(AddGroup.class) @RequestBody CostStandardConfigBo bo) { - return toAjax(iCostStandardConfigService.insertByBo(bo)); + public R add(@Validated(AddGroup.class) @RequestBody WmsCostStandardConfigBo bo) { + return toAjax(iWmsCostStandardConfigService.insertByBo(bo)); } /** @@ -89,8 +89,8 @@ public class CostStandardConfigController extends BaseController { @Log(title = "成本标准配置表", businessType = BusinessType.UPDATE) @RepeatSubmit() @PutMapping() - public R edit(@Validated(EditGroup.class) @RequestBody CostStandardConfigBo bo) { - return toAjax(iCostStandardConfigService.updateByBo(bo)); + public R edit(@Validated(EditGroup.class) @RequestBody WmsCostStandardConfigBo bo) { + return toAjax(iWmsCostStandardConfigService.updateByBo(bo)); } /** @@ -102,7 +102,7 @@ public class CostStandardConfigController extends BaseController { @DeleteMapping("/{configIds}") public R remove(@NotEmpty(message = "主键不能为空") @PathVariable Long[] configIds) { - return toAjax(iCostStandardConfigService.deleteWithValidByIds(Arrays.asList(configIds), true)); + return toAjax(iWmsCostStandardConfigService.deleteWithValidByIds(Arrays.asList(configIds), true)); } } diff --git a/klp-wms/src/main/java/com/klp/domain/CostCoilDaily.java b/klp-wms/src/main/java/com/klp/domain/WmsCostCoilDaily.java similarity index 90% rename from klp-wms/src/main/java/com/klp/domain/CostCoilDaily.java rename to klp-wms/src/main/java/com/klp/domain/WmsCostCoilDaily.java index bd3a02fc..6d6bccc2 100644 --- a/klp-wms/src/main/java/com/klp/domain/CostCoilDaily.java +++ b/klp-wms/src/main/java/com/klp/domain/WmsCostCoilDaily.java @@ -9,15 +9,15 @@ import java.math.BigDecimal; import java.time.LocalDate; /** - * 钢卷日成本记录表对象 cost_coil_daily + * 钢卷日成本记录表对象 wms_cost_coil_daily * * @author klp * @date 2025-11-25 */ @Data @EqualsAndHashCode(callSuper = true) -@TableName("cost_coil_daily") -public class CostCoilDaily extends BaseEntity { +@TableName("wms_cost_coil_daily") +public class WmsCostCoilDaily extends BaseEntity { private static final long serialVersionUID = 1L; diff --git a/klp-wms/src/main/java/com/klp/domain/CostStandardConfig.java b/klp-wms/src/main/java/com/klp/domain/WmsCostStandardConfig.java similarity index 86% rename from klp-wms/src/main/java/com/klp/domain/CostStandardConfig.java rename to klp-wms/src/main/java/com/klp/domain/WmsCostStandardConfig.java index 32c2a721..ba2e58ce 100644 --- a/klp-wms/src/main/java/com/klp/domain/CostStandardConfig.java +++ b/klp-wms/src/main/java/com/klp/domain/WmsCostStandardConfig.java @@ -9,15 +9,15 @@ import java.math.BigDecimal; import java.time.LocalDate; /** - * 成本标准配置表对象 cost_standard_config + * 成本标准配置表对象 wms_cost_standard_config * * @author klp * @date 2025-11-25 */ @Data @EqualsAndHashCode(callSuper = true) -@TableName("cost_standard_config") -public class CostStandardConfig extends BaseEntity { +@TableName("wms_cost_standard_config") +public class WmsCostStandardConfig extends BaseEntity { private static final long serialVersionUID = 1L; diff --git a/klp-wms/src/main/java/com/klp/domain/bo/CostCoilDailyBo.java b/klp-wms/src/main/java/com/klp/domain/bo/WmsCostCoilDailyBo.java similarity index 92% rename from klp-wms/src/main/java/com/klp/domain/bo/CostCoilDailyBo.java rename to klp-wms/src/main/java/com/klp/domain/bo/WmsCostCoilDailyBo.java index 6310946c..bde79d19 100644 --- a/klp-wms/src/main/java/com/klp/domain/bo/CostCoilDailyBo.java +++ b/klp-wms/src/main/java/com/klp/domain/bo/WmsCostCoilDailyBo.java @@ -8,14 +8,14 @@ import java.math.BigDecimal; import java.time.LocalDate; /** - * 钢卷日成本记录表业务对象 cost_coil_daily + * 钢卷日成本记录表业务对象 wms_cost_coil_daily * * @author klp * @date 2025-11-25 */ @Data @EqualsAndHashCode(callSuper = true) -public class CostCoilDailyBo extends BaseEntity { +public class WmsCostCoilDailyBo extends BaseEntity { /** * 主键ID diff --git a/klp-wms/src/main/java/com/klp/domain/bo/CostStandardConfigBo.java b/klp-wms/src/main/java/com/klp/domain/bo/WmsCostStandardConfigBo.java similarity index 86% rename from klp-wms/src/main/java/com/klp/domain/bo/CostStandardConfigBo.java rename to klp-wms/src/main/java/com/klp/domain/bo/WmsCostStandardConfigBo.java index 041cbff5..f241fd5f 100644 --- a/klp-wms/src/main/java/com/klp/domain/bo/CostStandardConfigBo.java +++ b/klp-wms/src/main/java/com/klp/domain/bo/WmsCostStandardConfigBo.java @@ -8,14 +8,14 @@ import java.math.BigDecimal; import java.time.LocalDate; /** - * 成本标准配置表业务对象 cost_standard_config + * 成本标准配置表业务对象 wms_cost_standard_config * * @author klp * @date 2025-11-25 */ @Data @EqualsAndHashCode(callSuper = true) -public class CostStandardConfigBo extends BaseEntity { +public class WmsCostStandardConfigBo extends BaseEntity { /** * 主键ID diff --git a/klp-wms/src/main/java/com/klp/domain/vo/CostCoilDailyVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsCostCoilDailyVo.java similarity index 95% rename from klp-wms/src/main/java/com/klp/domain/vo/CostCoilDailyVo.java rename to klp-wms/src/main/java/com/klp/domain/vo/WmsCostCoilDailyVo.java index b96fde77..a135d4fd 100644 --- a/klp-wms/src/main/java/com/klp/domain/vo/CostCoilDailyVo.java +++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsCostCoilDailyVo.java @@ -8,14 +8,14 @@ import java.math.BigDecimal; import java.time.LocalDate; /** - * 钢卷日成本记录表视图对象 cost_coil_daily + * 钢卷日成本记录表视图对象 wms_cost_coil_daily * * @author klp * @date 2025-11-25 */ @Data @ExcelIgnoreUnannotated -public class CostCoilDailyVo { +public class WmsCostCoilDailyVo { /** * 主键ID diff --git a/klp-wms/src/main/java/com/klp/domain/vo/CostStandardConfigVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsCostStandardConfigVo.java similarity index 93% rename from klp-wms/src/main/java/com/klp/domain/vo/CostStandardConfigVo.java rename to klp-wms/src/main/java/com/klp/domain/vo/WmsCostStandardConfigVo.java index e1058442..e4dd9832 100644 --- a/klp-wms/src/main/java/com/klp/domain/vo/CostStandardConfigVo.java +++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsCostStandardConfigVo.java @@ -8,14 +8,14 @@ import java.math.BigDecimal; import java.time.LocalDate; /** - * 成本标准配置表视图对象 cost_standard_config + * 成本标准配置表视图对象 wms_cost_standard_config * * @author klp * @date 2025-11-25 */ @Data @ExcelIgnoreUnannotated -public class CostStandardConfigVo { +public class WmsCostStandardConfigVo { /** * 主键ID diff --git a/klp-wms/src/main/java/com/klp/mapper/CostCoilDailyMapper.java b/klp-wms/src/main/java/com/klp/mapper/WmsCostCoilDailyMapper.java similarity index 96% rename from klp-wms/src/main/java/com/klp/mapper/CostCoilDailyMapper.java rename to klp-wms/src/main/java/com/klp/mapper/WmsCostCoilDailyMapper.java index 660bef12..025633c0 100644 --- a/klp-wms/src/main/java/com/klp/mapper/CostCoilDailyMapper.java +++ b/klp-wms/src/main/java/com/klp/mapper/WmsCostCoilDailyMapper.java @@ -1,8 +1,8 @@ package com.klp.mapper; import com.klp.common.core.mapper.BaseMapperPlus; -import com.klp.domain.CostCoilDaily; -import com.klp.domain.vo.CostCoilDailyVo; +import com.klp.domain.WmsCostCoilDaily; +import com.klp.domain.vo.WmsCostCoilDailyVo; import org.apache.ibatis.annotations.Param; import java.time.LocalDate; @@ -15,7 +15,7 @@ import java.util.Map; * @author klp * @date 2025-11-25 */ -public interface CostCoilDailyMapper extends BaseMapperPlus { +public interface WmsCostCoilDailyMapper extends BaseMapperPlus { /** * 查询成本统计汇总 diff --git a/klp-wms/src/main/java/com/klp/mapper/CostStandardConfigMapper.java b/klp-wms/src/main/java/com/klp/mapper/WmsCostStandardConfigMapper.java similarity index 55% rename from klp-wms/src/main/java/com/klp/mapper/CostStandardConfigMapper.java rename to klp-wms/src/main/java/com/klp/mapper/WmsCostStandardConfigMapper.java index 7dc73770..3f90753c 100644 --- a/klp-wms/src/main/java/com/klp/mapper/CostStandardConfigMapper.java +++ b/klp-wms/src/main/java/com/klp/mapper/WmsCostStandardConfigMapper.java @@ -1,7 +1,7 @@ package com.klp.mapper; -import com.klp.domain.CostStandardConfig; -import com.klp.domain.vo.CostStandardConfigVo; +import com.klp.domain.WmsCostStandardConfig; +import com.klp.domain.vo.WmsCostStandardConfigVo; import com.klp.common.core.mapper.BaseMapperPlus; import org.apache.ibatis.annotations.Param; @@ -13,7 +13,7 @@ import java.time.LocalDate; * @author klp * @date 2025-11-25 */ -public interface CostStandardConfigMapper extends BaseMapperPlus { +public interface WmsCostStandardConfigMapper extends BaseMapperPlus { /** * 查询指定日期的有效成本标准 @@ -21,13 +21,13 @@ public interface CostStandardConfigMapper extends BaseMapperPlus queryPageList(CostCoilDailyBo bo, PageQuery pageQuery); + TableDataInfo queryPageList(WmsCostCoilDailyBo bo, PageQuery pageQuery); /** * 查询钢卷日成本记录表列表 */ - List queryList(CostCoilDailyBo bo); + List queryList(WmsCostCoilDailyBo bo); /** * 新增钢卷日成本记录表 */ - Boolean insertByBo(CostCoilDailyBo bo); + Boolean insertByBo(WmsCostCoilDailyBo bo); /** * 修改钢卷日成本记录表 */ - Boolean updateByBo(CostCoilDailyBo bo); + Boolean updateByBo(WmsCostCoilDailyBo bo); /** * 校验并批量删除钢卷日成本记录表信息 diff --git a/klp-wms/src/main/java/com/klp/service/ICostStandardConfigService.java b/klp-wms/src/main/java/com/klp/service/IWmsCostStandardConfigService.java similarity index 60% rename from klp-wms/src/main/java/com/klp/service/ICostStandardConfigService.java rename to klp-wms/src/main/java/com/klp/service/IWmsCostStandardConfigService.java index e11bad90..43edc8f5 100644 --- a/klp-wms/src/main/java/com/klp/service/ICostStandardConfigService.java +++ b/klp-wms/src/main/java/com/klp/service/IWmsCostStandardConfigService.java @@ -1,7 +1,7 @@ package com.klp.service; -import com.klp.domain.vo.CostStandardConfigVo; -import com.klp.domain.bo.CostStandardConfigBo; +import com.klp.domain.vo.WmsCostStandardConfigVo; +import com.klp.domain.bo.WmsCostStandardConfigBo; import com.klp.common.core.page.TableDataInfo; import com.klp.common.core.domain.PageQuery; @@ -15,32 +15,32 @@ import java.util.List; * @author klp * @date 2025-11-25 */ -public interface ICostStandardConfigService { +public interface IWmsCostStandardConfigService { /** * 查询成本标准配置表 */ - CostStandardConfigVo queryById(Long configId); + WmsCostStandardConfigVo queryById(Long configId); /** * 查询成本标准配置表列表 */ - TableDataInfo queryPageList(CostStandardConfigBo bo, PageQuery pageQuery); + TableDataInfo queryPageList(WmsCostStandardConfigBo bo, PageQuery pageQuery); /** * 查询成本标准配置表列表 */ - List queryList(CostStandardConfigBo bo); + List queryList(WmsCostStandardConfigBo bo); /** * 新增成本标准配置表 */ - Boolean insertByBo(CostStandardConfigBo bo); + Boolean insertByBo(WmsCostStandardConfigBo bo); /** * 修改成本标准配置表 */ - Boolean updateByBo(CostStandardConfigBo bo); + Boolean updateByBo(WmsCostStandardConfigBo bo); /** * 校验并批量删除成本标准配置表信息 @@ -52,7 +52,7 @@ public interface ICostStandardConfigService { * * @return 成本标准配置 */ - CostStandardConfigVo queryCurrentEffective(); + WmsCostStandardConfigVo queryCurrentEffective(); /** * 查询指定日期的有效成本标准 @@ -60,6 +60,6 @@ public interface ICostStandardConfigService { * @param date 日期 * @return 成本标准配置 */ - CostStandardConfigVo queryEffectiveByDate(LocalDate date); + WmsCostStandardConfigVo queryEffectiveByDate(LocalDate date); } diff --git a/klp-wms/src/main/java/com/klp/service/impl/CostCoilDailyServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsCostCoilDailyServiceImpl.java similarity index 91% rename from klp-wms/src/main/java/com/klp/service/impl/CostCoilDailyServiceImpl.java rename to klp-wms/src/main/java/com/klp/service/impl/WmsCostCoilDailyServiceImpl.java index 2e5968d9..2403de65 100644 --- a/klp-wms/src/main/java/com/klp/service/impl/CostCoilDailyServiceImpl.java +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsCostCoilDailyServiceImpl.java @@ -7,19 +7,19 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.klp.common.core.page.TableDataInfo; import com.klp.common.core.domain.PageQuery; +import com.klp.domain.WmsCostCoilDaily; +import com.klp.domain.bo.WmsCostCoilDailyBo; +import com.klp.domain.vo.WmsCostCoilDailyVo; +import com.klp.domain.vo.WmsCostStandardConfigVo; +import com.klp.mapper.WmsCostCoilDailyMapper; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import com.klp.domain.bo.CostCoilDailyBo; -import com.klp.domain.vo.CostCoilDailyVo; -import com.klp.domain.CostCoilDaily; import com.klp.domain.WmsMaterialCoil; -import com.klp.domain.vo.CostStandardConfigVo; -import com.klp.mapper.CostCoilDailyMapper; import com.klp.mapper.WmsMaterialCoilMapper; -import com.klp.service.ICostCoilDailyService; -import com.klp.service.ICostStandardConfigService; +import com.klp.service.IWmsCostCoilDailyService; +import com.klp.service.IWmsCostStandardConfigService; import java.math.BigDecimal; import java.math.RoundingMode; @@ -38,17 +38,17 @@ import org.apache.commons.lang3.StringUtils; @Slf4j @RequiredArgsConstructor @Service -public class CostCoilDailyServiceImpl implements ICostCoilDailyService { +public class WmsCostCoilDailyServiceImpl implements IWmsCostCoilDailyService { - private final CostCoilDailyMapper baseMapper; + private final WmsCostCoilDailyMapper baseMapper; private final WmsMaterialCoilMapper coilMapper; - private final ICostStandardConfigService costStandardConfigService; + private final IWmsCostStandardConfigService costStandardConfigService; /** * 查询钢卷日成本记录表 */ @Override - public CostCoilDailyVo queryById(Long costId) { + public WmsCostCoilDailyVo queryById(Long costId) { return baseMapper.selectVoById(costId); } @@ -56,9 +56,9 @@ public class CostCoilDailyServiceImpl implements ICostCoilDailyService { * 查询钢卷日成本记录表列表 */ @Override - public TableDataInfo queryPageList(CostCoilDailyBo bo, PageQuery pageQuery) { - LambdaQueryWrapper lqw = buildQueryWrapper(bo); - Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + public TableDataInfo queryPageList(WmsCostCoilDailyBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); return TableDataInfo.build(result); } @@ -66,28 +66,28 @@ public class CostCoilDailyServiceImpl implements ICostCoilDailyService { * 查询钢卷日成本记录表列表 */ @Override - public List queryList(CostCoilDailyBo bo) { - LambdaQueryWrapper lqw = buildQueryWrapper(bo); + public List queryList(WmsCostCoilDailyBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); return baseMapper.selectVoList(lqw); } - private LambdaQueryWrapper buildQueryWrapper(CostCoilDailyBo bo) { - LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); - lqw.eq(bo.getCostId() != null, CostCoilDaily::getCostId, bo.getCostId()); - lqw.eq(bo.getCoilId() != null, CostCoilDaily::getCoilId, bo.getCoilId()); - lqw.like(bo.getCurrentCoilNo() != null, CostCoilDaily::getCurrentCoilNo, bo.getCurrentCoilNo()); - lqw.eq(bo.getCalcDate() != null, CostCoilDaily::getCalcDate, bo.getCalcDate()); - lqw.eq(bo.getWarehouseId() != null, CostCoilDaily::getWarehouseId, bo.getWarehouseId()); - lqw.eq(bo.getItemType() != null, CostCoilDaily::getItemType, bo.getItemType()); - lqw.eq(bo.getMaterialType() != null, CostCoilDaily::getMaterialType, bo.getMaterialType()); + private LambdaQueryWrapper buildQueryWrapper(WmsCostCoilDailyBo bo) { + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getCostId() != null, WmsCostCoilDaily::getCostId, bo.getCostId()); + lqw.eq(bo.getCoilId() != null, WmsCostCoilDaily::getCoilId, bo.getCoilId()); + lqw.like(bo.getCurrentCoilNo() != null, WmsCostCoilDaily::getCurrentCoilNo, bo.getCurrentCoilNo()); + lqw.eq(bo.getCalcDate() != null, WmsCostCoilDaily::getCalcDate, bo.getCalcDate()); + lqw.eq(bo.getWarehouseId() != null, WmsCostCoilDaily::getWarehouseId, bo.getWarehouseId()); + lqw.eq(bo.getItemType() != null, WmsCostCoilDaily::getItemType, bo.getItemType()); + lqw.eq(bo.getMaterialType() != null, WmsCostCoilDaily::getMaterialType, bo.getMaterialType()); if (bo.getStartDate() != null) { - lqw.ge(CostCoilDaily::getCalcDate, bo.getStartDate()); + lqw.ge(WmsCostCoilDaily::getCalcDate, bo.getStartDate()); } if (bo.getEndDate() != null) { - lqw.le(CostCoilDaily::getCalcDate, bo.getEndDate()); + lqw.le(WmsCostCoilDaily::getCalcDate, bo.getEndDate()); } - lqw.orderByDesc(CostCoilDaily::getCalcDate); - lqw.orderByDesc(CostCoilDaily::getCostId); + lqw.orderByDesc(WmsCostCoilDaily::getCalcDate); + lqw.orderByDesc(WmsCostCoilDaily::getCostId); return lqw; } @@ -95,8 +95,8 @@ public class CostCoilDailyServiceImpl implements ICostCoilDailyService { * 新增钢卷日成本记录表 */ @Override - public Boolean insertByBo(CostCoilDailyBo bo) { - CostCoilDaily add = BeanUtil.toBean(bo, CostCoilDaily.class); + public Boolean insertByBo(WmsCostCoilDailyBo bo) { + WmsCostCoilDaily add = BeanUtil.toBean(bo, WmsCostCoilDaily.class); validEntityBeforeSave(add); return baseMapper.insert(add) > 0; } @@ -105,8 +105,8 @@ public class CostCoilDailyServiceImpl implements ICostCoilDailyService { * 修改钢卷日成本记录表 */ @Override - public Boolean updateByBo(CostCoilDailyBo bo) { - CostCoilDaily update = BeanUtil.toBean(bo, CostCoilDaily.class); + public Boolean updateByBo(WmsCostCoilDailyBo bo) { + WmsCostCoilDaily update = BeanUtil.toBean(bo, WmsCostCoilDaily.class); validEntityBeforeSave(update); return baseMapper.updateById(update) > 0; } @@ -114,7 +114,7 @@ public class CostCoilDailyServiceImpl implements ICostCoilDailyService { /** * 保存前的数据校验 */ - private void validEntityBeforeSave(CostCoilDaily entity) { + private void validEntityBeforeSave(WmsCostCoilDaily entity) { // TODO 做一些数据校验,如唯一约束 } @@ -161,30 +161,30 @@ public class CostCoilDailyServiceImpl implements ICostCoilDailyService { } // 3. 计算在库天数 - LocalDate startDate = coil.getCreateTime() != null + LocalDate startDate = coil.getCreateTime() != null ? coil.getCreateTime().toInstant().atZone(java.time.ZoneId.systemDefault()).toLocalDate() : LocalDate.now(); LocalDate endDate = calcTime != null ? calcTime.toLocalDate() : LocalDate.now(); - + long days = ChronoUnit.DAYS.between(startDate, endDate) + 1; if (days < 1) { days = 1; // 不足一天按一天计算 } // 4. 获取成本标准(使用入库日期的成本标准) - CostStandardConfigVo costStandard = costStandardConfigService.queryEffectiveByDate(startDate); + WmsCostStandardConfigVo costStandard = costStandardConfigService.queryEffectiveByDate(startDate); if (costStandard == null) { // 如果没有找到对应日期的标准,使用当前有效的标准 costStandard = costStandardConfigService.queryCurrentEffective(); } - + if (costStandard == null || costStandard.getUnitCost() == null) { result.put("error", "未找到有效的成本标准配置"); return result; } BigDecimal unitCost = costStandard.getUnitCost(); - + // 5. 计算成本(按毛重优先) BigDecimal dailyCost = weightContext.getCostTon().multiply(unitCost).setScale(2, RoundingMode.HALF_UP); BigDecimal totalCost = dailyCost.multiply(BigDecimal.valueOf(days)).setScale(2, RoundingMode.HALF_UP); @@ -216,36 +216,36 @@ public class CostCoilDailyServiceImpl implements ICostCoilDailyService { @Override public List> batchCalculateCost(List coilIds, LocalDateTime calcTime) { List> results = new ArrayList<>(); - + if (coilIds == null || coilIds.isEmpty()) { return results; } - + // 批量查询钢卷信息 QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.in("coil_id", coilIds); List coils = coilMapper.selectList(queryWrapper); - + if (coils == null || coils.isEmpty()) { return results; } - + // 获取成本标准(统一使用当前有效的标准,因为批量计算时可能跨多个日期) LocalDate calcDate = calcTime != null ? calcTime.toLocalDate() : LocalDate.now(); - CostStandardConfigVo costStandard = costStandardConfigService.queryEffectiveByDate(calcDate); + WmsCostStandardConfigVo costStandard = costStandardConfigService.queryEffectiveByDate(calcDate); if (costStandard == null) { costStandard = costStandardConfigService.queryCurrentEffective(); } - + BigDecimal unitCost = null; if (costStandard != null && costStandard.getUnitCost() != null) { unitCost = costStandard.getUnitCost(); } - + // 遍历计算每个钢卷的成本 for (WmsMaterialCoil coil : coils) { Map result = new HashMap<>(); - + // 验证是否为计算对象(data_type=1, export_time IS NULL) if (coil.getDataType() == null || coil.getDataType() != 1) { result.put("coilId", coil.getCoilId()); @@ -254,7 +254,7 @@ public class CostCoilDailyServiceImpl implements ICostCoilDailyService { results.add(result); continue; } - + if (coil.getExportTime() != null) { result.put("coilId", coil.getCoilId()); result.put("coilNo", coil.getCurrentCoilNo()); @@ -262,7 +262,7 @@ public class CostCoilDailyServiceImpl implements ICostCoilDailyService { results.add(result); continue; } - + WeightContext weightContext = resolveWeightContext(coil); if (!weightContext.isValid()) { result.put("coilId", coil.getCoilId()); @@ -271,32 +271,32 @@ public class CostCoilDailyServiceImpl implements ICostCoilDailyService { results.add(result); continue; } - + // 计算在库天数 - LocalDate startDate = coil.getCreateTime() != null + LocalDate startDate = coil.getCreateTime() != null ? coil.getCreateTime().toInstant().atZone(java.time.ZoneId.systemDefault()).toLocalDate() : LocalDate.now(); LocalDate endDate = calcTime != null ? calcTime.toLocalDate() : LocalDate.now(); - + long days = ChronoUnit.DAYS.between(startDate, endDate) + 1; if (days < 1) { days = 1; // 不足一天按一天计算 } - + // 如果统一标准为空,尝试使用入库日期的标准 BigDecimal finalUnitCost = unitCost; if (finalUnitCost == null) { - CostStandardConfigVo startDateStandard = costStandardConfigService.queryEffectiveByDate(startDate); + WmsCostStandardConfigVo startDateStandard = costStandardConfigService.queryEffectiveByDate(startDate); if (startDateStandard != null && startDateStandard.getUnitCost() != null) { finalUnitCost = startDateStandard.getUnitCost(); } else { - CostStandardConfigVo currentStandard = costStandardConfigService.queryCurrentEffective(); + WmsCostStandardConfigVo currentStandard = costStandardConfigService.queryCurrentEffective(); if (currentStandard != null && currentStandard.getUnitCost() != null) { finalUnitCost = currentStandard.getUnitCost(); } } } - + if (finalUnitCost == null) { result.put("coilId", coil.getCoilId()); result.put("coilNo", coil.getCurrentCoilNo()); @@ -304,11 +304,11 @@ public class CostCoilDailyServiceImpl implements ICostCoilDailyService { results.add(result); continue; } - + // 计算成本(毛重优先) BigDecimal dailyCost = weightContext.getCostTon().multiply(finalUnitCost).setScale(2, RoundingMode.HALF_UP); BigDecimal totalCost = dailyCost.multiply(BigDecimal.valueOf(days)).setScale(2, RoundingMode.HALF_UP); - + // 返回结果 result.put("coilId", coil.getCoilId()); result.put("coilNo", coil.getCurrentCoilNo()); @@ -326,10 +326,10 @@ public class CostCoilDailyServiceImpl implements ICostCoilDailyService { result.put("itemType", coil.getItemType()); result.put("materialType", coil.getMaterialType()); result.put("createTime", coil.getCreateTime()); - + results.add(result); } - + return results; } @@ -355,7 +355,7 @@ public class CostCoilDailyServiceImpl implements ICostCoilDailyService { log.info("找到 {} 个需要计算成本的钢卷", coils.size()); // 2. 获取成本标准 - CostStandardConfigVo costStandard = costStandardConfigService.queryEffectiveByDate(calcDate); + WmsCostStandardConfigVo costStandard = costStandardConfigService.queryEffectiveByDate(calcDate); if (costStandard == null) { costStandard = costStandardConfigService.queryCurrentEffective(); } @@ -390,7 +390,7 @@ public class CostCoilDailyServiceImpl implements ICostCoilDailyService { BigDecimal totalCost = dailyCost.multiply(BigDecimal.valueOf(days)).setScale(2, RoundingMode.HALF_UP); // 4. 保存成本记录 - CostCoilDaily costRecord = new CostCoilDaily(); + WmsCostCoilDaily costRecord = new WmsCostCoilDaily(); costRecord.setCoilId(coil.getCoilId()); costRecord.setCurrentCoilNo(coil.getCurrentCoilNo()); costRecord.setCalcDate(calcDate); @@ -517,7 +517,7 @@ public class CostCoilDailyServiceImpl implements ICostCoilDailyService { } // 获取成本标准 - CostStandardConfigVo costStandard = costStandardConfigService.queryEffectiveByDate(startDate); + WmsCostStandardConfigVo costStandard = costStandardConfigService.queryEffectiveByDate(startDate); if (costStandard == null) { costStandard = costStandardConfigService.queryCurrentEffective(); } @@ -611,7 +611,7 @@ public class CostCoilDailyServiceImpl implements ICostCoilDailyService { // 计算该入场钢卷号的成本 Map costResult = calculateCostByEnterCoilNo(enterCoilNo, calcDate); - + if (costResult.containsKey("error")) { log.warn("计算入场钢卷号 {} 的成本时发生错误: {}", enterCoilNo, costResult.get("error")); continue; @@ -671,7 +671,7 @@ public class CostCoilDailyServiceImpl implements ICostCoilDailyService { } // 获取成本标准 - CostStandardConfigVo costStandard = costStandardConfigService.queryEffectiveByDate(startDate); + WmsCostStandardConfigVo costStandard = costStandardConfigService.queryEffectiveByDate(startDate); if (costStandard == null) { costStandard = costStandardConfigService.queryCurrentEffective(); } @@ -693,7 +693,7 @@ public class CostCoilDailyServiceImpl implements ICostCoilDailyService { BigDecimal totalCost = dailyCost.multiply(BigDecimal.valueOf(days)).setScale(2, RoundingMode.HALF_UP); // 保存成本记录 - CostCoilDaily costRecord = new CostCoilDaily(); + WmsCostCoilDaily costRecord = new WmsCostCoilDaily(); costRecord.setCoilId(coil.getCoilId()); costRecord.setCurrentCoilNo(coil.getCurrentCoilNo()); costRecord.setCalcDate(calcDate); diff --git a/klp-wms/src/main/java/com/klp/service/impl/CostStandardConfigServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsCostStandardConfigServiceImpl.java similarity index 55% rename from klp-wms/src/main/java/com/klp/service/impl/CostStandardConfigServiceImpl.java rename to klp-wms/src/main/java/com/klp/service/impl/WmsCostStandardConfigServiceImpl.java index 26ee1bc6..e13e3b63 100644 --- a/klp-wms/src/main/java/com/klp/service/impl/CostStandardConfigServiceImpl.java +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsCostStandardConfigServiceImpl.java @@ -6,14 +6,15 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.klp.common.core.page.TableDataInfo; import com.klp.common.core.domain.PageQuery; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.klp.domain.WmsCostStandardConfig; +import com.klp.domain.vo.WmsCostStandardConfigVo; +import com.klp.mapper.WmsCostStandardConfigMapper; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import com.klp.domain.bo.CostStandardConfigBo; -import com.klp.domain.vo.CostStandardConfigVo; -import com.klp.domain.CostStandardConfig; -import com.klp.mapper.CostStandardConfigMapper; -import com.klp.service.ICostStandardConfigService; +import com.klp.domain.bo.WmsCostStandardConfigBo; + +import com.klp.service.IWmsCostStandardConfigService; import java.time.LocalDate; import java.util.Collection; @@ -27,15 +28,15 @@ import java.util.List; */ @RequiredArgsConstructor @Service -public class CostStandardConfigServiceImpl implements ICostStandardConfigService { +public class WmsCostStandardConfigServiceImpl implements IWmsCostStandardConfigService { - private final CostStandardConfigMapper baseMapper; + private final WmsCostStandardConfigMapper baseMapper; /** * 查询成本标准配置表 */ @Override - public CostStandardConfigVo queryById(Long configId) { + public WmsCostStandardConfigVo queryById(Long configId) { return baseMapper.selectVoById(configId); } @@ -43,9 +44,9 @@ public class CostStandardConfigServiceImpl implements ICostStandardConfigService * 查询成本标准配置表列表 */ @Override - public TableDataInfo queryPageList(CostStandardConfigBo bo, PageQuery pageQuery) { - LambdaQueryWrapper lqw = buildQueryWrapper(bo); - Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + public TableDataInfo queryPageList(WmsCostStandardConfigBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); return TableDataInfo.build(result); } @@ -53,18 +54,18 @@ public class CostStandardConfigServiceImpl implements ICostStandardConfigService * 查询成本标准配置表列表 */ @Override - public List queryList(CostStandardConfigBo bo) { - LambdaQueryWrapper lqw = buildQueryWrapper(bo); + public List queryList(WmsCostStandardConfigBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); return baseMapper.selectVoList(lqw); } - private LambdaQueryWrapper buildQueryWrapper(CostStandardConfigBo bo) { - LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); - lqw.eq(bo.getConfigId() != null, CostStandardConfig::getConfigId, bo.getConfigId()); - lqw.eq(bo.getUnitCost() != null, CostStandardConfig::getUnitCost, bo.getUnitCost()); - lqw.eq(bo.getEffectiveDate() != null, CostStandardConfig::getEffectiveDate, bo.getEffectiveDate()); - lqw.eq(bo.getStatus() != null, CostStandardConfig::getStatus, bo.getStatus()); - lqw.orderByDesc(CostStandardConfig::getEffectiveDate); + private LambdaQueryWrapper buildQueryWrapper(WmsCostStandardConfigBo bo) { + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getConfigId() != null, WmsCostStandardConfig::getConfigId, bo.getConfigId()); + lqw.eq(bo.getUnitCost() != null, WmsCostStandardConfig::getUnitCost, bo.getUnitCost()); + lqw.eq(bo.getEffectiveDate() != null, WmsCostStandardConfig::getEffectiveDate, bo.getEffectiveDate()); + lqw.eq(bo.getStatus() != null, WmsCostStandardConfig::getStatus, bo.getStatus()); + lqw.orderByDesc(WmsCostStandardConfig::getEffectiveDate); return lqw; } @@ -73,13 +74,13 @@ public class CostStandardConfigServiceImpl implements ICostStandardConfigService */ @Override @Transactional(rollbackFor = Exception.class) - public Boolean insertByBo(CostStandardConfigBo bo) { + public Boolean insertByBo(WmsCostStandardConfigBo bo) { // 如果新标准立即生效,需要将当前有效的标准标记为失效 if (bo.getEffectiveDate() != null && !bo.getEffectiveDate().isAfter(LocalDate.now())) { // 将当前有效的标准标记为失效 - CostStandardConfigVo current = queryCurrentEffective(); + WmsCostStandardConfigVo current = queryCurrentEffective(); if (current != null) { - CostStandardConfig update = new CostStandardConfig(); + WmsCostStandardConfig update = new WmsCostStandardConfig(); update.setConfigId(current.getConfigId()); update.setExpireDate(LocalDate.now().minusDays(1)); update.setStatus(0); @@ -87,7 +88,7 @@ public class CostStandardConfigServiceImpl implements ICostStandardConfigService } } - CostStandardConfig add = BeanUtil.toBean(bo, CostStandardConfig.class); + WmsCostStandardConfig add = BeanUtil.toBean(bo, WmsCostStandardConfig.class); if (add.getStatus() == null) { add.setStatus(1); // 默认有效 } @@ -99,8 +100,8 @@ public class CostStandardConfigServiceImpl implements ICostStandardConfigService * 修改成本标准配置表 */ @Override - public Boolean updateByBo(CostStandardConfigBo bo) { - CostStandardConfig update = BeanUtil.toBean(bo, CostStandardConfig.class); + public Boolean updateByBo(WmsCostStandardConfigBo bo) { + WmsCostStandardConfig update = BeanUtil.toBean(bo, WmsCostStandardConfig.class); validEntityBeforeSave(update); return baseMapper.updateById(update) > 0; } @@ -108,7 +109,7 @@ public class CostStandardConfigServiceImpl implements ICostStandardConfigService /** * 保存前的数据校验 */ - private void validEntityBeforeSave(CostStandardConfig entity) { + private void validEntityBeforeSave(WmsCostStandardConfig entity) { // TODO 做一些数据校验,如唯一约束 } @@ -127,7 +128,7 @@ public class CostStandardConfigServiceImpl implements ICostStandardConfigService * 查询当前有效的成本标准 */ @Override - public CostStandardConfigVo queryCurrentEffective() { + public WmsCostStandardConfigVo queryCurrentEffective() { return baseMapper.selectCurrentEffective(); } @@ -135,7 +136,7 @@ public class CostStandardConfigServiceImpl implements ICostStandardConfigService * 查询指定日期的有效成本标准 */ @Override - public CostStandardConfigVo queryEffectiveByDate(LocalDate date) { + public WmsCostStandardConfigVo queryEffectiveByDate(LocalDate date) { return baseMapper.selectEffectiveByDate(date); } } diff --git a/klp-wms/src/main/java/com/klp/task/CostCoilDailyTask.java b/klp-wms/src/main/java/com/klp/task/CostCoilDailyTask.java index f228ac87..58a0b86f 100644 --- a/klp-wms/src/main/java/com/klp/task/CostCoilDailyTask.java +++ b/klp-wms/src/main/java/com/klp/task/CostCoilDailyTask.java @@ -1,6 +1,6 @@ package com.klp.task; -import com.klp.service.ICostCoilDailyService; +import com.klp.service.IWmsCostCoilDailyService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.scheduling.annotation.Scheduled; @@ -16,8 +16,8 @@ import java.time.LocalDate; * 2. 按入场钢卷号维度生成前一日的日成本记录。 * * 说明: - * - 具体的计算逻辑在 {@link ICostCoilDailyService#calculateDailyCost(LocalDate)} 和 - * {@link ICostCoilDailyService#calculateDailyCostByEnterCoilNo(LocalDate)} 中实现。 + * - 具体的计算逻辑在 {@link IWmsCostCoilDailyService#calculateDailyCost(LocalDate)} 和 + * {@link IWmsCostCoilDailyService#calculateDailyCostByEnterCoilNo(LocalDate)} 中实现。 * - 当前任务只负责在固定时间触发这两个方法。 */ @Slf4j @@ -25,7 +25,7 @@ import java.time.LocalDate; @Component public class CostCoilDailyTask { - private final ICostCoilDailyService costCoilDailyService; + private final IWmsCostCoilDailyService costCoilDailyService; /** * 每天凌晨 2:00 计算前一日钢卷日成本(按钢卷维度) diff --git a/klp-wms/src/main/resources/mapper/klp/CostCoilDailyMapper.xml b/klp-wms/src/main/resources/mapper/klp/WmsCostCoilDailyMapper.xml similarity index 86% rename from klp-wms/src/main/resources/mapper/klp/CostCoilDailyMapper.xml rename to klp-wms/src/main/resources/mapper/klp/WmsCostCoilDailyMapper.xml index 53325526..9782b1d2 100644 --- a/klp-wms/src/main/resources/mapper/klp/CostCoilDailyMapper.xml +++ b/klp-wms/src/main/resources/mapper/klp/WmsCostCoilDailyMapper.xml @@ -2,9 +2,9 @@ - + - + @@ -20,7 +20,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + @@ -37,7 +37,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + SELECT ccd.cost_id, ccd.coil_id, @@ -52,7 +52,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" w.warehouse_name, ccd.item_type, ccd.material_type - FROM cost_coil_daily ccd + FROM wms_cost_coil_daily ccd LEFT JOIN wms_warehouse w ON ccd.warehouse_id = w.warehouse_id AND w.del_flag = 0 ${ew.customSqlSegment} @@ -72,7 +72,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" w.warehouse_name, ccd.item_type, ccd.material_type - FROM cost_coil_daily ccd + FROM wms_cost_coil_daily ccd LEFT JOIN wms_warehouse w ON ccd.warehouse_id = w.warehouse_id AND w.del_flag = 0 ${ew.customSqlSegment} @@ -92,7 +92,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" w.warehouse_name, ccd.item_type, ccd.material_type - FROM cost_coil_daily ccd + FROM wms_cost_coil_daily ccd LEFT JOIN wms_warehouse w ON ccd.warehouse_id = w.warehouse_id AND w.del_flag = 0 WHERE ccd.cost_id = #{costId} @@ -102,13 +102,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" SELECT COUNT(*) AS totalCoils, SUM(t.net_weight_ton) AS totalNetWeight, + SUM(t.gross_weight_ton) AS totalGrossWeight, SUM(t.total_cost_amount) AS totalCost, AVG(t.storage_days) AS avgStorageDays, SUM(t.daily_cost_amount) AS totalDailyCost FROM ( SELECT m.coil_id, - IFNULL(m.net_weight, 0) / 1000 AS net_weight_ton, + IFNULL(m.net_weight, 0) AS net_weight_ton, + IFNULL(m.gross_weight, 0) AS gross_weight_ton, (DATEDIFF(CURDATE(), IFNULL(m.create_time, CURDATE())) + 1) AS storage_days, CASE WHEN cs.unit_cost IS NULL THEN 0 @@ -117,7 +119,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" WHEN IFNULL(m.gross_weight, 0) > 0 THEN m.gross_weight ELSE IFNULL(m.net_weight, 0) END - ) / 1000 * cs.unit_cost + ) * cs.unit_cost END AS daily_cost_amount, CASE WHEN cs.unit_cost IS NULL THEN 0 @@ -126,10 +128,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" WHEN IFNULL(m.gross_weight, 0) > 0 THEN m.gross_weight ELSE IFNULL(m.net_weight, 0) END - ) / 1000 * cs.unit_cost * (DATEDIFF(CURDATE(), IFNULL(m.create_time, CURDATE())) + 1) + ) * cs.unit_cost * (DATEDIFF(CURDATE(), IFNULL(m.create_time, CURDATE())) + 1) END AS total_cost_amount FROM wms_material_coil m - LEFT JOIN cost_standard_config cs + LEFT JOIN wms_cost_standard_config cs ON cs.status = 1 AND DATE(m.create_time) >= cs.effective_date AND (cs.expire_date IS NULL OR DATE(m.create_time) <= cs.expire_date) @@ -156,12 +158,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" COUNT(*) AS coilCount, SUM(t.total_cost_amount) AS totalCost, AVG(t.storage_days) AS avgStorageDays, - SUM(t.net_weight_ton) AS totalNetWeight + SUM(t.net_weight_ton) AS totalNetWeight, + SUM(t.gross_weight_ton) AS totalGrossWeight FROM ( SELECT m.coil_id, m.warehouse_id, - IFNULL(m.net_weight, 0) / 1000 AS net_weight_ton, + IFNULL(m.net_weight, 0) AS net_weight_ton, + IFNULL(m.gross_weight, 0) AS gross_weight_ton, (DATEDIFF(CURDATE(), IFNULL(m.create_time, CURDATE())) + 1) AS storage_days, CASE WHEN cs.unit_cost IS NULL THEN 0 @@ -170,10 +174,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" WHEN IFNULL(m.gross_weight, 0) > 0 THEN m.gross_weight ELSE IFNULL(m.net_weight, 0) END - ) / 1000 * cs.unit_cost * (DATEDIFF(CURDATE(), IFNULL(m.create_time, CURDATE())) + 1) + ) * cs.unit_cost * (DATEDIFF(CURDATE(), IFNULL(m.create_time, CURDATE())) + 1) END AS total_cost_amount FROM wms_material_coil m - LEFT JOIN cost_standard_config cs + LEFT JOIN wms_cost_standard_config cs ON cs.status = 1 AND DATE(m.create_time) >= cs.effective_date AND (cs.expire_date IS NULL OR DATE(m.create_time) <= cs.expire_date) @@ -193,12 +197,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" COUNT(*) AS coilCount, SUM(t.total_cost_amount) AS totalCost, AVG(t.storage_days) AS avgStorageDays, - SUM(t.net_weight_ton) AS totalNetWeight + SUM(t.net_weight_ton) AS totalNetWeight, + SUM(t.gross_weight_ton) AS totalGrossWeight FROM ( SELECT m.coil_id, m.item_type, - IFNULL(m.net_weight, 0) / 1000 AS net_weight_ton, + IFNULL(m.net_weight, 0) AS net_weight_ton, + IFNULL(m.gross_weight, 0) AS gross_weight_ton, (DATEDIFF(CURDATE(), IFNULL(m.create_time, CURDATE())) + 1) AS storage_days, CASE WHEN cs.unit_cost IS NULL THEN 0 @@ -207,10 +213,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" WHEN IFNULL(m.gross_weight, 0) > 0 THEN m.gross_weight ELSE IFNULL(m.net_weight, 0) END - ) / 1000 * cs.unit_cost * (DATEDIFF(CURDATE(), IFNULL(m.create_time, CURDATE())) + 1) + ) * cs.unit_cost * (DATEDIFF(CURDATE(), IFNULL(m.create_time, CURDATE())) + 1) END AS total_cost_amount FROM wms_material_coil m - LEFT JOIN cost_standard_config cs + LEFT JOIN wms_cost_standard_config cs ON cs.status = 1 AND DATE(m.create_time) >= cs.effective_date AND (cs.expire_date IS NULL OR DATE(m.create_time) <= cs.expire_date) @@ -225,7 +231,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" SELECT COUNT(1) - FROM cost_coil_daily + FROM wms_cost_coil_daily WHERE coil_id = #{coilId} AND calc_date = #{calcDate} @@ -241,7 +247,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" SUM(ccd.net_weight) AS totalNetWeight, AVG(ccd.storage_days) AS avgStorageDays, MAX(ccd.calc_date) AS lastCalcDate - FROM cost_coil_daily ccd + FROM wms_cost_coil_daily ccd INNER JOIN wms_material_coil mc ON ccd.coil_id = mc.coil_id WHERE ccd.calc_date BETWEEN #{startDate} AND #{endDate} AND mc.data_type = 1 @@ -261,24 +267,25 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" SUM(t.gross_weight_ton) AS totalGrossWeight, SUM(t.cost_amount) AS totalCost, AVG(t.storage_days) AS avgStorageDays, - MAX(t.storage_days) AS maxStorageDays + MAX(t.storage_days) AS maxStorageDays, + MAX(CASE WHEN IFNULL(t.net_weight_ton, 0) = 0 THEN 1 ELSE 0 END) AS hasNetWeightZero FROM ( SELECT m.enter_coil_no, - IFNULL(m.net_weight, 0) / 1000 AS net_weight_ton, - IFNULL(m.gross_weight, 0) / 1000 AS gross_weight_ton, + IFNULL(m.net_weight, 0) AS net_weight_ton, + IFNULL(m.gross_weight, 0) AS gross_weight_ton, CASE WHEN cs.unit_cost IS NULL THEN 0 ELSE ( CASE - WHEN IFNULL(m.gross_weight, 0) > 0 THEN m.gross_weight + WHEN IFNULL(m.net_weight, 0) = 0 AND IFNULL(m.gross_weight, 0) > 0 THEN m.gross_weight ELSE IFNULL(m.net_weight, 0) END - ) / 1000 * cs.unit_cost * (DATEDIFF(CURDATE(), IFNULL(m.create_time, CURDATE())) + 1) + ) * cs.unit_cost * (DATEDIFF(CURDATE(), IFNULL(m.create_time, CURDATE())) + 1) END AS cost_amount, (DATEDIFF(CURDATE(), IFNULL(m.create_time, CURDATE())) + 1) AS storage_days FROM wms_material_coil m - LEFT JOIN cost_standard_config cs + LEFT JOIN wms_cost_standard_config cs ON cs.status = 1 AND DATE(m.create_time) >= cs.effective_date AND (cs.expire_date IS NULL OR DATE(m.create_time) <= cs.expire_date) @@ -320,8 +327,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" AVG(t.storage_days) AS avgStorageDays FROM ( SELECT - IFNULL(m.net_weight, 0) / 1000 AS net_weight_ton, - IFNULL(m.gross_weight, 0) / 1000 AS gross_weight_ton, + IFNULL(m.net_weight, 0) AS net_weight_ton, + IFNULL(m.gross_weight, 0) AS gross_weight_ton, CASE WHEN cs.unit_cost IS NULL THEN 0 ELSE ( @@ -329,11 +336,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" WHEN IFNULL(m.gross_weight, 0) > 0 THEN m.gross_weight ELSE IFNULL(m.net_weight, 0) END - ) / 1000 * cs.unit_cost * (DATEDIFF(CURDATE(), IFNULL(m.create_time, CURDATE())) + 1) + ) * cs.unit_cost * (DATEDIFF(CURDATE(), IFNULL(m.create_time, CURDATE())) + 1) END AS cost_amount, (DATEDIFF(CURDATE(), IFNULL(m.create_time, CURDATE())) + 1) AS storage_days FROM wms_material_coil m - LEFT JOIN cost_standard_config cs + LEFT JOIN wms_cost_standard_config cs ON cs.status = 1 AND DATE(m.create_time) >= cs.effective_date AND (cs.expire_date IS NULL OR DATE(m.create_time) <= cs.expire_date) @@ -355,8 +362,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" SUM(t.cost_amount) AS totalCost FROM ( SELECT - IFNULL(m.net_weight, 0) / 1000 AS net_weight_ton, - IFNULL(m.gross_weight, 0) / 1000 AS gross_weight_ton, + IFNULL(m.net_weight, 0) AS net_weight_ton, + IFNULL(m.gross_weight, 0) AS gross_weight_ton, (DATEDIFF(CURDATE(), IFNULL(m.create_time, CURDATE())) + 1) AS storage_days, CASE WHEN cs.unit_cost IS NULL THEN 0 @@ -365,10 +372,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" WHEN IFNULL(m.gross_weight, 0) > 0 THEN m.gross_weight ELSE IFNULL(m.net_weight, 0) END - ) / 1000 * cs.unit_cost * (DATEDIFF(CURDATE(), IFNULL(m.create_time, CURDATE())) + 1) + ) * cs.unit_cost * (DATEDIFF(CURDATE(), IFNULL(m.create_time, CURDATE())) + 1) END AS cost_amount FROM wms_material_coil m - LEFT JOIN cost_standard_config cs + LEFT JOIN wms_cost_standard_config cs ON cs.status = 1 AND DATE(m.create_time) >= cs.effective_date AND (cs.expire_date IS NULL OR DATE(m.create_time) <= cs.expire_date) @@ -378,14 +385,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ) t - + SELECT ccd.calc_date AS date, SUM(ccd.total_cost) AS totalCost, SUM(ccd.net_weight) AS totalNetWeight, - SUM(ccd.daily_cost) AS totalDailyCost - FROM cost_coil_daily ccd + SUM(ccd.daily_cost) AS totalDailyCost, + COUNT(*) AS coilCount + FROM wms_cost_coil_daily ccd WHERE 1 = 1 AND ccd.calc_date >= #{startDate} @@ -403,8 +411,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" m.enter_coil_no, m.coil_id, m.current_coil_no, - IFNULL(m.net_weight, 0) / 1000 AS net_weight_ton, - IFNULL(m.gross_weight, 0) / 1000 AS gross_weight_ton, + IFNULL(m.net_weight, 0) AS net_weight_ton, + IFNULL(m.gross_weight, 0) AS gross_weight_ton, CASE WHEN IFNULL(m.gross_weight, 0) > 0 THEN 'gross' ELSE 'net' @@ -412,7 +420,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" CASE WHEN IFNULL(m.gross_weight, 0) > 0 THEN IFNULL(m.gross_weight, 0) ELSE IFNULL(m.net_weight, 0) - END / 1000 AS charge_weight_ton, + END AS charge_weight_ton, DATE(m.create_time) AS start_date, CASE WHEN m.export_time IS NOT NULL THEN DATE_SUB(DATE(m.export_time), INTERVAL 1 DAY) @@ -427,7 +435,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" m.warehouse_id, COALESCE(w.warehouse_name, '-') AS warehouse_name FROM wms_material_coil m - LEFT JOIN cost_standard_config cs + LEFT JOIN wms_cost_standard_config cs ON cs.status = 1 AND DATE(m.create_time) >= cs.effective_date AND (cs.expire_date IS NULL OR DATE(m.create_time) <= cs.expire_date) @@ -515,7 +523,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - DELETE FROM cost_coil_daily + DELETE FROM wms_cost_coil_daily WHERE calc_date = #{calcDate} diff --git a/klp-wms/src/main/resources/mapper/klp/CostStandardConfigMapper.xml b/klp-wms/src/main/resources/mapper/klp/WmsCostStandardConfigMapper.xml similarity index 86% rename from klp-wms/src/main/resources/mapper/klp/CostStandardConfigMapper.xml rename to klp-wms/src/main/resources/mapper/klp/WmsCostStandardConfigMapper.xml index 77c3afaa..fd724162 100644 --- a/klp-wms/src/main/resources/mapper/klp/CostStandardConfigMapper.xml +++ b/klp-wms/src/main/resources/mapper/klp/WmsCostStandardConfigMapper.xml @@ -2,9 +2,9 @@ - + - + @@ -18,7 +18,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + @@ -34,7 +34,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" SELECT * - FROM cost_standard_config + FROM wms_cost_standard_config WHERE del_flag = 0 AND status = 1 AND effective_date <= #{date} @@ -46,7 +46,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" SELECT * - FROM cost_standard_config + FROM wms_cost_standard_config WHERE del_flag = 0 AND status = 1 AND effective_date <= CURDATE()