diff --git a/src/main/java/com/spring/modules/base/controller/LaborClassController.java b/src/main/java/com/spring/modules/base/controller/LaborClassController.java new file mode 100644 index 00000000..77f50144 --- /dev/null +++ b/src/main/java/com/spring/modules/base/controller/LaborClassController.java @@ -0,0 +1,54 @@ +package com.spring.modules.base.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.api.ApiController; +import com.spring.common.utils.R; +import com.spring.modules.base.entity.LaborClass; +import com.spring.modules.base.service.LaborClassService; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + * (LaborClass)表控制层 + * + * @author makejava + * @since 2025-01-06 16:57:56 + */ +@RestController +@RequestMapping("/labor/class") +public class LaborClassController extends ApiController { + /** + * 服务对象 + */ + @Resource + private LaborClassService laborClassService; + + /** + * 分页查询所有数据 + * + * @param laborClass 查询实体 + * @return 所有数据 + */ + @PostMapping("/{no}/{size}") + public R queryLaborClasByPage(@RequestBody LaborClass laborClass, + @PathVariable int no, + @PathVariable int size) { + IPage page = this.laborClassService.queryLaborClasByPage(no, size, laborClass); + return R.ok().put("rows", page.getRecords()).put("total", page.getTotal()); + } + + /** + * 修改数据 + * + * @param laborClass 实体对象 + * @return 修改结果 + */ + @PostMapping("/update") + public R updateLaborClass(@RequestBody LaborClass laborClass) { + this.laborClassService.updateLaborClass(laborClass); + return R.ok("操作成功"); + } + +} + diff --git a/src/main/java/com/spring/modules/base/controller/WorkCenterCostController.java b/src/main/java/com/spring/modules/base/controller/WorkCenterCostController.java new file mode 100644 index 00000000..43f926d1 --- /dev/null +++ b/src/main/java/com/spring/modules/base/controller/WorkCenterCostController.java @@ -0,0 +1,30 @@ +package com.spring.modules.base.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.spring.common.utils.R; +import com.spring.modules.base.entity.WorkCenterCost; +import com.spring.modules.base.service.WorkCenterCostService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping("/work/center/cost") +public class WorkCenterCostController { + + @Autowired + private WorkCenterCostService workCenterCostService; + + @PostMapping("/{no}/{size}") + public R queryWorkCenterCost(@PathVariable int no, + @PathVariable int size, + @RequestBody WorkCenterCost workCenterCost){ + IPage page = workCenterCostService.queryWorkCenterCost(no, size, workCenterCost); + return R.ok().put("rows",page.getRecords()).put("total",page.getTotal()); + } + + @PostMapping("/update") + public R updateWorkCenterCost(@RequestBody WorkCenterCost workCenterCost){ + workCenterCostService.updateWorkCenterCost(workCenterCost); + return R.ok("操作成功"); + } +} diff --git a/src/main/java/com/spring/modules/base/entity/LaborClass.java b/src/main/java/com/spring/modules/base/entity/LaborClass.java new file mode 100644 index 00000000..1a1167b0 --- /dev/null +++ b/src/main/java/com/spring/modules/base/entity/LaborClass.java @@ -0,0 +1,49 @@ +package com.spring.modules.base.entity; + +import java.math.BigDecimal; +import java.util.Date; +import java.io.Serializable; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * (LaborClass)实体类 + * + * @author makejava + * @since 2025-01-06 16:57:57 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("labor_class") +public class LaborClass implements Serializable { + private static final long serialVersionUID = -72844424739393806L; + private String site; + + private String levelId; + + private String levelDesc; + + private String active; + + private Date createDate; + + private String createBy; + + private Date updateDate; + + private String updateBy; + + + /** + * 等级成本 + */ + private BigDecimal levelCost; + + private String ifsRowVersion; + + private BigDecimal currentLevelCost; + +} diff --git a/src/main/java/com/spring/modules/base/entity/WorkCenterCost.java b/src/main/java/com/spring/modules/base/entity/WorkCenterCost.java new file mode 100644 index 00000000..cf4146ae --- /dev/null +++ b/src/main/java/com/spring/modules/base/entity/WorkCenterCost.java @@ -0,0 +1,52 @@ +package com.spring.modules.base.entity; + +import java.math.BigDecimal; +import java.util.Date; +import java.io.Serializable; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * (WorkCenterCost)实体类 + * + * @author makejava + * @since 2025-01-06 17:32:23 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("work_center_cost") +public class WorkCenterCost implements Serializable { + private static final long serialVersionUID = -25544989146647448L; + private String site; + + private String workCenterNo; + + private BigDecimal itemNo; + + private BigDecimal unitCost; + + private BigDecimal overhead1Cost; + + private BigDecimal overhead2Cost; + + private String umId; + + private Date beginDate; + + private Date endDate; + + private String remark; + + private BigDecimal currentWorkCenterCost; + + @TableField(exist = false) + private String workCenterDesc; + @TableField(exist = false) + private String workCenterType; + @TableField(exist = false) + private String active; + +} diff --git a/src/main/java/com/spring/modules/base/mapper/LaborClassMapper.java b/src/main/java/com/spring/modules/base/mapper/LaborClassMapper.java new file mode 100644 index 00000000..21168756 --- /dev/null +++ b/src/main/java/com/spring/modules/base/mapper/LaborClassMapper.java @@ -0,0 +1,21 @@ +package com.spring.modules.base.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.spring.modules.base.entity.LaborClass; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * (LaborClass)表数据库访问层 + * + * @author makejava + * @since 2025-01-06 16:57:56 + */ +@Mapper +public interface LaborClassMapper extends BaseMapper { + + IPage queryLaborClasByPage(@Param("page") Page page, @Param("params") LaborClass laborClass); +} + diff --git a/src/main/java/com/spring/modules/base/mapper/WorkCenterCostMapper.java b/src/main/java/com/spring/modules/base/mapper/WorkCenterCostMapper.java new file mode 100644 index 00000000..98010bd9 --- /dev/null +++ b/src/main/java/com/spring/modules/base/mapper/WorkCenterCostMapper.java @@ -0,0 +1,21 @@ +package com.spring.modules.base.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.spring.modules.base.entity.WorkCenterCost; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * (WorkCenterCost)表数据库访问层 + * + * @author makejava + * @since 2025-01-06 17:32:23 + */ +@Mapper +public interface WorkCenterCostMapper extends BaseMapper { + + IPage queryWorkCenterCost(@Param("page") Page page,@Param("params") WorkCenterCost workCenterCost); +} + diff --git a/src/main/java/com/spring/modules/base/service/Impl/LaborClassServiceImpl.java b/src/main/java/com/spring/modules/base/service/Impl/LaborClassServiceImpl.java new file mode 100644 index 00000000..6921859e --- /dev/null +++ b/src/main/java/com/spring/modules/base/service/Impl/LaborClassServiceImpl.java @@ -0,0 +1,35 @@ +package com.spring.modules.base.service.Impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.spring.modules.base.entity.LaborClass; +import com.spring.modules.base.mapper.LaborClassMapper; +import com.spring.modules.base.service.LaborClassService; +import org.springframework.stereotype.Service; + +/** + * (LaborClass)表服务实现类 + * + * @author makejava + * @since 2025-01-06 16:57:57 + */ +@Service("laborClassService") +public class LaborClassServiceImpl extends ServiceImpl implements LaborClassService { + + @Override + public IPage queryLaborClasByPage(int no, int size, LaborClass laborClass) { + Page page = new Page<>(no, size); + return baseMapper.queryLaborClasByPage(page, laborClass); + } + + @Override + public void updateLaborClass(LaborClass laborClass) { + lambdaUpdate() + .eq(LaborClass::getSite,laborClass.getSite()) + .eq(LaborClass::getLevelId,laborClass.getLevelId()) + .set(LaborClass::getCurrentLevelCost,laborClass.getCurrentLevelCost()) + .update(); + } +} + diff --git a/src/main/java/com/spring/modules/base/service/Impl/WorkCenterCostServiceImpl.java b/src/main/java/com/spring/modules/base/service/Impl/WorkCenterCostServiceImpl.java new file mode 100644 index 00000000..a34dd26b --- /dev/null +++ b/src/main/java/com/spring/modules/base/service/Impl/WorkCenterCostServiceImpl.java @@ -0,0 +1,45 @@ +package com.spring.modules.base.service.Impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.spring.modules.base.entity.WorkCenterCost; +import com.spring.modules.base.mapper.WorkCenterCostMapper; +import com.spring.modules.base.service.WorkCenterCostService; +import org.springframework.stereotype.Service; + +/** + * (WorkCenterCost)表服务实现类 + * + * @author makejava + * @since 2025-01-06 17:32:23 + */ +@Service("workCenterCostService") +public class WorkCenterCostServiceImpl extends ServiceImpl implements WorkCenterCostService { + + @Override + public IPage queryWorkCenterCost(int no, int size, WorkCenterCost workCenterCost) { + Page page = new Page<>(no, size); + return baseMapper.queryWorkCenterCost(page,workCenterCost); + } + + @Override + public void updateWorkCenterCost(WorkCenterCost workCenterCost) { + Integer count = lambdaQuery() + .eq(WorkCenterCost::getSite, workCenterCost.getSite()) + .eq(WorkCenterCost::getWorkCenterNo, workCenterCost.getWorkCenterNo()) + .count(); + if (count > 0){ + // 修改 + lambdaUpdate() + .eq(WorkCenterCost::getSite,workCenterCost.getSite()) + .eq(WorkCenterCost::getWorkCenterNo,workCenterCost.getWorkCenterNo()) + .set(WorkCenterCost::getCurrentWorkCenterCost,workCenterCost.getCurrentWorkCenterCost()) + .update(); + }else { + //新增 + save(workCenterCost); + } + } +} + diff --git a/src/main/java/com/spring/modules/base/service/LaborClassService.java b/src/main/java/com/spring/modules/base/service/LaborClassService.java new file mode 100644 index 00000000..d26109ba --- /dev/null +++ b/src/main/java/com/spring/modules/base/service/LaborClassService.java @@ -0,0 +1,20 @@ +package com.spring.modules.base.service; + +import cn.hutool.db.Page; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import com.spring.modules.base.entity.LaborClass; + +/** + * (LaborClass)表服务接口 + * + * @author makejava + * @since 2025-01-06 16:57:57 + */ +public interface LaborClassService extends IService { + + IPage queryLaborClasByPage(int no, int size, LaborClass laborClass); + + void updateLaborClass(LaborClass laborClass); +} + diff --git a/src/main/java/com/spring/modules/base/service/WorkCenterCostService.java b/src/main/java/com/spring/modules/base/service/WorkCenterCostService.java new file mode 100644 index 00000000..32292109 --- /dev/null +++ b/src/main/java/com/spring/modules/base/service/WorkCenterCostService.java @@ -0,0 +1,19 @@ +package com.spring.modules.base.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import com.spring.modules.base.entity.WorkCenterCost; + +/** + * (WorkCenterCost)表服务接口 + * + * @author makejava + * @since 2025-01-06 17:32:23 + */ +public interface WorkCenterCostService extends IService { + + IPage queryWorkCenterCost(int no,int size,WorkCenterCost workCenterCost); + + void updateWorkCenterCost(WorkCenterCost workCenterCost); +} + diff --git a/src/main/resources/mapper/base/LaborClassMapper.xml b/src/main/resources/mapper/base/LaborClassMapper.xml new file mode 100644 index 00000000..0a67231f --- /dev/null +++ b/src/main/resources/mapper/base/LaborClassMapper.xml @@ -0,0 +1,35 @@ + + + + + + \ No newline at end of file diff --git a/src/main/resources/mapper/base/WorkCenterCostMapper.xml b/src/main/resources/mapper/base/WorkCenterCostMapper.xml new file mode 100644 index 00000000..2258e989 --- /dev/null +++ b/src/main/resources/mapper/base/WorkCenterCostMapper.xml @@ -0,0 +1,42 @@ + + + + + + \ No newline at end of file diff --git a/src/main/resources/mapper/quote/QuoteDetailRoutingMapper.xml b/src/main/resources/mapper/quote/QuoteDetailRoutingMapper.xml index e14f96ab..b605e536 100644 --- a/src/main/resources/mapper/quote/QuoteDetailRoutingMapper.xml +++ b/src/main/resources/mapper/quote/QuoteDetailRoutingMapper.xml @@ -47,10 +47,10 @@ 0, 0, 0, - lc.level_cost as labor_class_cost, -- 人工 - slc.level_cost as setup_labor_class_cost, -- 调机人工 - dbo.get_workCenter_cost(rc.site, rc.work_center_no), -- 加工中心成本 - dbo.get_workCenter_cost(rc.site, rc.work_center_no) -- 制造费用 + isnull(lc.current_level_cost, 0) as labor_class_cost, -- 人工 + isnull(slc.current_level_cost, 0) as setup_labor_class_cost, -- 调机人工 + dbo.get_workCenter_cost(rc.site, rc.work_center_no), -- 加工中心成本 + dbo.get_workCenter_cost(rc.site, rc.work_center_no) -- 制造费用 from plm_routing_component rc left join labor_class lc on rc.labor_class_no = lc.level_id and rc.site = lc.site left join labor_class slc on rc.setup_labor_class_no = slc.level_id and rc.site = slc.site