diff --git a/op-modules/op-wms/src/main/java/com/op/wms/controller/BaseBomController.java b/op-modules/op-wms/src/main/java/com/op/wms/controller/BaseBomController.java new file mode 100644 index 000000000..ffbc4801f --- /dev/null +++ b/op-modules/op-wms/src/main/java/com/op/wms/controller/BaseBomController.java @@ -0,0 +1,97 @@ +package com.op.wms.controller; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.op.common.log.annotation.Log; +import com.op.common.log.enums.BusinessType; +import com.op.common.security.annotation.RequiresPermissions; +import com.op.wms.domain.BaseBom; +import com.op.wms.service.IBaseBomService; +import com.op.common.core.web.controller.BaseController; +import com.op.common.core.web.domain.AjaxResult; +import com.op.common.core.utils.poi.ExcelUtil; +import com.op.common.core.web.page.TableDataInfo; + +/** + * BOM物料管理Controller + * + * @author Open Platform + * @date 2023-08-02 + */ +@RestController +@RequestMapping("/bom") +public class BaseBomController extends BaseController { + @Autowired + private IBaseBomService baseBomService; + + /** + * 查询BOM物料管理列表 + */ + @RequiresPermissions("wms:bom:list") + @GetMapping("/list") + public TableDataInfo list(BaseBom baseBom) { + startPage(); + List list = baseBomService.selectBaseBomList(baseBom); + return getDataTable(list); + } + + /** + * 导出BOM物料管理列表 + */ + @RequiresPermissions("wms:bom:export") + @Log(title = "BOM物料管理", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BaseBom baseBom) { + List list = baseBomService.selectBaseBomList(baseBom); + ExcelUtil util = new ExcelUtil(BaseBom.class); + util.exportExcel(response, list, "BOM物料管理数据"); + } + + /** + * 获取BOM物料管理详细信息 + */ + @RequiresPermissions("wms:bom:query") + @GetMapping(value = "/{factoryCode}") + public AjaxResult getInfo(@PathVariable("factoryCode") String factoryCode) { + return success(baseBomService.selectBaseBomByFactoryCode(factoryCode)); + } + + /** + * 新增BOM物料管理 + */ + @RequiresPermissions("wms:bom:add") + @Log(title = "BOM物料管理", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody BaseBom baseBom) { + return toAjax(baseBomService.insertBaseBom(baseBom)); + } + + /** + * 修改BOM物料管理 + */ + @RequiresPermissions("wms:bom:edit") + @Log(title = "BOM物料管理", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody BaseBom baseBom) { + return toAjax(baseBomService.updateBaseBom(baseBom)); + } + + /** + * 删除BOM物料管理 + */ + @RequiresPermissions("wms:bom:remove") + @Log(title = "BOM物料管理", businessType = BusinessType.DELETE) + @DeleteMapping("/{factoryCodes}") + public AjaxResult remove(@PathVariable String[] factoryCodes) { + return toAjax(baseBomService.deleteBaseBomByFactoryCodes(factoryCodes)); + } +} diff --git a/op-modules/op-wms/src/main/java/com/op/wms/domain/BaseBom.java b/op-modules/op-wms/src/main/java/com/op/wms/domain/BaseBom.java new file mode 100644 index 000000000..18f75e09e --- /dev/null +++ b/op-modules/op-wms/src/main/java/com/op/wms/domain/BaseBom.java @@ -0,0 +1,261 @@ +package com.op.wms.domain; + +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.op.common.core.annotation.Excel; +import com.op.common.core.web.domain.BaseEntity; + +/** + * BOM物料管理对象 base_bom + * + * @author Open Platform + * @date 2023-08-02 + */ +public class BaseBom extends BaseEntity { + private static final long serialVersionUID = 1L; + + /** 工厂 */ + @Excel(name = "工厂") + private String factoryCode; + + /** 生产版本 */ + @Excel(name = "生产版本") + private String productionVersion; + + /** BOM单号 */ + @Excel(name = "BOM单号") + private String bomCode; + + /** 可选BOM */ + @Excel(name = "可选BOM") + private String optionalBom; + + /** 可选BOM文本 */ + @Excel(name = "可选BOM文本") + private String optionalBomText; + + /** 生产版本有效期 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "生产版本有效期", width = 30, dateFormat = "yyyy-MM-dd") + private Date pvvd; + + /** 生产版本截止日期 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "生产版本截止日期", width = 30, dateFormat = "yyyy-MM-dd") + private Date pved; + + /** BOM计算数量 */ + @Excel(name = "BOM计算数量") + private Long bomCalculateNumber; + + /** BOM计算单位 */ + @Excel(name = "BOM计算单位") + private String bomCalculateUnit; + + /** BOM基本数量 */ + @Excel(name = "BOM基本数量") + private Long bomBaseNumber; + + /** BOM基本单位 */ + @Excel(name = "BOM基本单位") + private String bomBaseUnit; + + /** 组件数量单位 */ + @Excel(name = "组件数量单位") + private String componentUnit; + + /** 组件采购标志 */ + @Excel(name = "组件采购标志") + private String componentProFlag; + + /** 物料供应标识 */ + @Excel(name = "物料供应标识") + private String msi; + + /** 成本核算标识相关 */ + @Excel(name = "成本核算标识相关") + private String sanka; + + /** 预留字段1 */ + @Excel(name = "预留字段1") + private String attr1; + + /** 预留字段2 */ + @Excel(name = "预留字段2") + private String attr2; + + /** 预留字段3 */ + @Excel(name = "预留字段3") + private String attr3; + + /** 是否在用 */ + @Excel(name = "是否在用") + private String currentVersion; + + public void setFactoryCode(String factoryCode) { + this.factoryCode = factoryCode; + } + + public String getFactoryCode() { + return factoryCode; + } + public void setProductionVersion(String productionVersion) { + this.productionVersion = productionVersion; + } + + public String getProductionVersion() { + return productionVersion; + } + public void setBomCode(String bomCode) { + this.bomCode = bomCode; + } + + public String getBomCode() { + return bomCode; + } + public void setOptionalBom(String optionalBom) { + this.optionalBom = optionalBom; + } + + public String getOptionalBom() { + return optionalBom; + } + public void setOptionalBomText(String optionalBomText) { + this.optionalBomText = optionalBomText; + } + + public String getOptionalBomText() { + return optionalBomText; + } + public void setPvvd(Date pvvd) { + this.pvvd = pvvd; + } + + public Date getPvvd() { + return pvvd; + } + public void setPved(Date pved) { + this.pved = pved; + } + + public Date getPved() { + return pved; + } + public void setBomCalculateNumber(Long bomCalculateNumber) { + this.bomCalculateNumber = bomCalculateNumber; + } + + public Long getBomCalculateNumber() { + return bomCalculateNumber; + } + public void setBomCalculateUnit(String bomCalculateUnit) { + this.bomCalculateUnit = bomCalculateUnit; + } + + public String getBomCalculateUnit() { + return bomCalculateUnit; + } + public void setBomBaseNumber(Long bomBaseNumber) { + this.bomBaseNumber = bomBaseNumber; + } + + public Long getBomBaseNumber() { + return bomBaseNumber; + } + public void setBomBaseUnit(String bomBaseUnit) { + this.bomBaseUnit = bomBaseUnit; + } + + public String getBomBaseUnit() { + return bomBaseUnit; + } + public void setComponentUnit(String componentUnit) { + this.componentUnit = componentUnit; + } + + public String getComponentUnit() { + return componentUnit; + } + public void setComponentProFlag(String componentProFlag) { + this.componentProFlag = componentProFlag; + } + + public String getComponentProFlag() { + return componentProFlag; + } + public void setMsi(String msi) { + this.msi = msi; + } + + public String getMsi() { + return msi; + } + + public void setSanka(String sanka) { + this.sanka = sanka; + } + + public String getSanka() { + return sanka; + } + public void setAttr1(String attr1) { + this.attr1 = attr1; + } + + public String getAttr1() { + return attr1; + } + public void setAttr2(String attr2) { + this.attr2 = attr2; + } + + public String getAttr2() { + return attr2; + } + public void setAttr3(String attr3) { + this.attr3 = attr3; + } + + public String getAttr3() { + return attr3; + } + public void setCurrentVersion(String currentVersion) { + this.currentVersion = currentVersion; + } + + public String getCurrentVersion() { + return currentVersion; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("factoryCode", getFactoryCode()) + .append("productionVersion", getProductionVersion()) + .append("bomCode", getBomCode()) + .append("optionalBom", getOptionalBom()) + .append("optionalBomText", getOptionalBomText()) + .append("pvvd", getPvvd()) + .append("pved", getPved()) + .append("bomCalculateNumber", getBomCalculateNumber()) + .append("bomCalculateUnit", getBomCalculateUnit()) + .append("bomBaseNumber", getBomBaseNumber()) + .append("bomBaseUnit", getBomBaseUnit()) + .append("componentUnit", getComponentUnit()) + .append("componentProFlag", getComponentProFlag()) + .append("msi", getMsi()) + .append("sanka", getSanka()) + .append("attr1", getAttr1()) + .append("attr2", getAttr2()) + .append("attr3", getAttr3()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .append("remark", getRemark()) + .append("currentVersion", getCurrentVersion()) + .toString(); + } +} diff --git a/op-modules/op-wms/src/main/java/com/op/wms/mapper/BaseBomMapper.java b/op-modules/op-wms/src/main/java/com/op/wms/mapper/BaseBomMapper.java new file mode 100644 index 000000000..20ef3b5eb --- /dev/null +++ b/op-modules/op-wms/src/main/java/com/op/wms/mapper/BaseBomMapper.java @@ -0,0 +1,61 @@ +package com.op.wms.mapper; + +import java.util.List; + +import com.op.wms.domain.BaseBom; + +/** + * BOM物料管理Mapper接口 + * + * @author Open Platform + * @date 2023-08-02 + */ +public interface BaseBomMapper { + /** + * 查询BOM物料管理 + * + * @param factoryCode BOM物料管理主键 + * @return BOM物料管理 + */ + public BaseBom selectBaseBomByFactoryCode(String factoryCode); + + /** + * 查询BOM物料管理列表 + * + * @param baseBom BOM物料管理 + * @return BOM物料管理集合 + */ + public List selectBaseBomList(BaseBom baseBom); + + /** + * 新增BOM物料管理 + * + * @param baseBom BOM物料管理 + * @return 结果 + */ + public int insertBaseBom(BaseBom baseBom); + + /** + * 修改BOM物料管理 + * + * @param baseBom BOM物料管理 + * @return 结果 + */ + public int updateBaseBom(BaseBom baseBom); + + /** + * 删除BOM物料管理 + * + * @param factoryCode BOM物料管理主键 + * @return 结果 + */ + public int deleteBaseBomByFactoryCode(String factoryCode); + + /** + * 批量删除BOM物料管理 + * + * @param factoryCodes 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteBaseBomByFactoryCodes(String[] factoryCodes); +} diff --git a/op-modules/op-wms/src/main/java/com/op/wms/service/IBaseBomService.java b/op-modules/op-wms/src/main/java/com/op/wms/service/IBaseBomService.java new file mode 100644 index 000000000..adb0c4ac2 --- /dev/null +++ b/op-modules/op-wms/src/main/java/com/op/wms/service/IBaseBomService.java @@ -0,0 +1,60 @@ +package com.op.wms.service; + +import java.util.List; +import com.op.wms.domain.BaseBom; + +/** + * BOM物料管理Service接口 + * + * @author Open Platform + * @date 2023-08-02 + */ +public interface IBaseBomService { + /** + * 查询BOM物料管理 + * + * @param factoryCode BOM物料管理主键 + * @return BOM物料管理 + */ + public BaseBom selectBaseBomByFactoryCode(String factoryCode); + + /** + * 查询BOM物料管理列表 + * + * @param baseBom BOM物料管理 + * @return BOM物料管理集合 + */ + public List selectBaseBomList(BaseBom baseBom); + + /** + * 新增BOM物料管理 + * + * @param baseBom BOM物料管理 + * @return 结果 + */ + public int insertBaseBom(BaseBom baseBom); + + /** + * 修改BOM物料管理 + * + * @param baseBom BOM物料管理 + * @return 结果 + */ + public int updateBaseBom(BaseBom baseBom); + + /** + * 批量删除BOM物料管理 + * + * @param factoryCodes 需要删除的BOM物料管理主键集合 + * @return 结果 + */ + public int deleteBaseBomByFactoryCodes(String[] factoryCodes); + + /** + * 删除BOM物料管理信息 + * + * @param factoryCode BOM物料管理主键 + * @return 结果 + */ + public int deleteBaseBomByFactoryCode(String factoryCode); +} diff --git a/op-modules/op-wms/src/main/java/com/op/wms/service/impl/BaseBomServiceImpl.java b/op-modules/op-wms/src/main/java/com/op/wms/service/impl/BaseBomServiceImpl.java new file mode 100644 index 000000000..16d6e0eba --- /dev/null +++ b/op-modules/op-wms/src/main/java/com/op/wms/service/impl/BaseBomServiceImpl.java @@ -0,0 +1,97 @@ +package com.op.wms.service.impl; + +import java.util.List; + +import com.baomidou.dynamic.datasource.annotation.DS; +import com.op.common.core.utils.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.op.wms.mapper.BaseBomMapper; +import com.op.wms.domain.BaseBom; +import com.op.wms.service.IBaseBomService; + +/** + * BOM物料管理Service业务层处理 + * + * @author Open Platform + * @date 2023-08-02 + */ +@Service +public class BaseBomServiceImpl implements IBaseBomService { + @Autowired + private BaseBomMapper baseBomMapper; + + /** + * 查询BOM物料管理 + * + * @param factoryCode BOM物料管理主键 + * @return BOM物料管理 + */ + @Override + @DS("#header.poolName") + public BaseBom selectBaseBomByFactoryCode(String factoryCode) { + return baseBomMapper.selectBaseBomByFactoryCode(factoryCode); + } + + /** + * 查询BOM物料管理列表 + * + * @param baseBom BOM物料管理 + * @return BOM物料管理 + */ + @Override + @DS("#header.poolName") + public List selectBaseBomList(BaseBom baseBom) { + return baseBomMapper.selectBaseBomList(baseBom); + } + + /** + * 新增BOM物料管理 + * + * @param baseBom BOM物料管理 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int insertBaseBom(BaseBom baseBom) { + baseBom.setCreateTime(DateUtils.getNowDate()); + return baseBomMapper.insertBaseBom(baseBom); + } + + /** + * 修改BOM物料管理 + * + * @param baseBom BOM物料管理 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int updateBaseBom(BaseBom baseBom) { + baseBom.setUpdateTime(DateUtils.getNowDate()); + return baseBomMapper.updateBaseBom(baseBom); + } + + /** + * 批量删除BOM物料管理 + * + * @param factoryCodes 需要删除的BOM物料管理主键 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int deleteBaseBomByFactoryCodes(String[] factoryCodes) { + return baseBomMapper.deleteBaseBomByFactoryCodes(factoryCodes); + } + + /** + * 删除BOM物料管理信息 + * + * @param factoryCode BOM物料管理主键 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int deleteBaseBomByFactoryCode(String factoryCode) { + return baseBomMapper.deleteBaseBomByFactoryCode(factoryCode); + } +} diff --git a/op-modules/op-wms/src/main/resources/mapper/wms/BaseBomMapper.xml b/op-modules/op-wms/src/main/resources/mapper/wms/BaseBomMapper.xml new file mode 100644 index 000000000..6a956aae3 --- /dev/null +++ b/op-modules/op-wms/src/main/resources/mapper/wms/BaseBomMapper.xml @@ -0,0 +1,164 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select factory_code, production_version, bom_code, optional_bom, optional_bom_text, pvvd, pved, bom_calculate_number, bom_calculate_unit, bom_base_number, bom_base_unit, component_unit, component_pro_flag, msi, sanka, attr1, attr2, attr3, create_by, create_time, update_by, update_time, remark, current_version from base_bom + + + + + + + + insert into base_bom + + factory_code, + production_version, + bom_code, + optional_bom, + optional_bom_text, + pvvd, + pved, + bom_calculate_number, + bom_calculate_unit, + bom_base_number, + bom_base_unit, + component_unit, + component_pro_flag, + msi, + sanka, + attr1, + attr2, + attr3, + create_by, + create_time, + update_by, + update_time, + remark, + current_version, + + + #{factoryCode}, + #{productionVersion}, + #{bomCode}, + #{optionalBom}, + #{optionalBomText}, + #{pvvd}, + #{pved}, + #{bomCalculateNumber}, + #{bomCalculateUnit}, + #{bomBaseNumber}, + #{bomBaseUnit}, + #{componentUnit}, + #{componentProFlag}, + #{msi}, + #{sanka}, + #{attr1}, + #{attr2}, + #{attr3}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + #{remark}, + #{currentVersion}, + + + + + update base_bom + + production_version = #{productionVersion}, + bom_code = #{bomCode}, + optional_bom = #{optionalBom}, + optional_bom_text = #{optionalBomText}, + pvvd = #{pvvd}, + pved = #{pved}, + bom_calculate_number = #{bomCalculateNumber}, + bom_calculate_unit = #{bomCalculateUnit}, + bom_base_number = #{bomBaseNumber}, + bom_base_unit = #{bomBaseUnit}, + component_unit = #{componentUnit}, + component_pro_flag = #{componentProFlag}, + msi = #{msi}, + sanka = #{sanka}, + attr1 = #{attr1}, + attr2 = #{attr2}, + attr3 = #{attr3}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + remark = #{remark}, + current_version = #{currentVersion}, + + where factory_code = #{factoryCode} + + + + delete from base_bom where factory_code = #{factoryCode} + + + + delete from base_bom where factory_code in + + #{factoryCode} + + + \ No newline at end of file