From f71482cffc51e00c02b2a0d7372513b50bacad58 Mon Sep 17 00:00:00 2001 From: mahuandong <752432958@qq.com> Date: Mon, 12 Aug 2019 16:21:57 +0800 Subject: [PATCH] 添加商品详情 --- src/main/java/com/huaheng/pc/general/bom/controller/BomDetailController.java | 18 ++++++++++++++++++ src/main/java/com/huaheng/pc/general/bom/controller/BomHeaderController.java | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/main/java/com/huaheng/pc/general/bom/domain/BomDetail.java | 259 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/main/java/com/huaheng/pc/general/bom/mapper/BomDetailMapper.java | 7 +++++++ src/main/java/com/huaheng/pc/general/bom/service/BomDetailService.java | 8 ++++++++ src/main/java/com/huaheng/pc/general/bom/service/BomDetailServiceImpl.java | 11 +++++++++++ src/main/java/com/huaheng/pc/general/carrier/domain/Carrier.java | 3 +++ 7 files changed, 457 insertions(+), 0 deletions(-) create mode 100644 src/main/java/com/huaheng/pc/general/bom/controller/BomDetailController.java create mode 100644 src/main/java/com/huaheng/pc/general/bom/controller/BomHeaderController.java create mode 100644 src/main/java/com/huaheng/pc/general/bom/domain/BomDetail.java create mode 100644 src/main/java/com/huaheng/pc/general/bom/mapper/BomDetailMapper.java create mode 100644 src/main/java/com/huaheng/pc/general/bom/service/BomDetailService.java create mode 100644 src/main/java/com/huaheng/pc/general/bom/service/BomDetailServiceImpl.java diff --git a/src/main/java/com/huaheng/pc/general/bom/controller/BomDetailController.java b/src/main/java/com/huaheng/pc/general/bom/controller/BomDetailController.java new file mode 100644 index 0000000..638996c --- /dev/null +++ b/src/main/java/com/huaheng/pc/general/bom/controller/BomDetailController.java @@ -0,0 +1,18 @@ +package com.huaheng.pc.general.bom.controller; + +import com.huaheng.pc.general.bom.domain.BomDetail; +import com.huaheng.pc.general.bom.service.BomDetailService; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; + +import javax.annotation.Resource; + +@Controller +@RequestMapping("/general/bomDetail") +public class BomDetailController { + + private String prefix = "general/bomDetail"; + + @Resource + private BomDetailService bomDetailService; +} diff --git a/src/main/java/com/huaheng/pc/general/bom/controller/BomHeaderController.java b/src/main/java/com/huaheng/pc/general/bom/controller/BomHeaderController.java new file mode 100644 index 0000000..1e6f011 --- /dev/null +++ b/src/main/java/com/huaheng/pc/general/bom/controller/BomHeaderController.java @@ -0,0 +1,151 @@ +package com.huaheng.pc.general.bom.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.huaheng.common.support.Convert; +import com.huaheng.common.utils.StringUtils; +import com.huaheng.framework.aspectj.lang.annotation.Log; +import com.huaheng.framework.aspectj.lang.constant.BusinessType; +import com.huaheng.framework.web.controller.BaseController; +import com.huaheng.framework.web.domain.AjaxResult; +import com.huaheng.framework.web.page.PageDomain; +import com.huaheng.framework.web.page.TableDataInfo; +import com.huaheng.framework.web.page.TableSupport; +import com.huaheng.pc.general.bom.domain.BomDetail; +import com.huaheng.pc.general.bom.domain.BomHeader; +import com.huaheng.pc.general.bom.service.BomDetailService; +import com.huaheng.pc.general.bom.service.BomHeaderService; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; + +@Controller +@RequestMapping("/general/bomHeader") +public class BomHeaderController extends BaseController { + + private String prefix = "general/bomHeader"; + + @Resource + private BomHeaderService bomHeaderService; + + @Resource + private BomDetailService bomDetailService; + + @RequiresPermissions("general:bomHeader:view") + @GetMapping() + public String company() { + return prefix + "/bomHeader"; + } + + /** + * 查询商品列表 + */ + @ApiOperation(value="查看商品列表", notes="根据物料编码、物料名称、货主编码、创建时间获取商品信息", httpMethod = "POST") + @RequiresPermissions("general:bomHeader:list") + @Log(title = "通用-商品管理", operating = "查看商品列表", action = BusinessType.GRANT) + @PostMapping("/list") + @ResponseBody + public TableDataInfo list( + @ApiParam(name="bomHeader",value="物料编码、物料名称、货主编码") BomHeader bomHeader, + @ApiParam(name = "createdBegin", value = "起止时间") String createdBegin, + @ApiParam(name = "createdEnd", value = "结束时间") String createdEnd) { + LambdaQueryWrapper<BomHeader> lambdaQueryWrapper = Wrappers.lambdaQuery(); + PageDomain pageDomain = TableSupport.buildPageRequest(); + Integer pageNum = pageDomain.getPageNum(); + Integer pageSize = pageDomain.getPageSize(); + lambdaQueryWrapper.gt(StringUtils.isNotEmpty(createdBegin), BomHeader::getCreated, createdBegin) + .lt(StringUtils.isNotEmpty(createdEnd), BomHeader::getCreated, createdEnd) + .eq(StringUtils.isNotEmpty(bomHeader.getMaterialCode()), BomHeader::getMaterialCode, bomHeader.getMaterialCode()) + .eq(StringUtils.isNotEmpty(bomHeader.getMaterialName()), BomHeader::getMaterialName, bomHeader.getMaterialName()) + .eq(StringUtils.isNotEmpty(bomHeader.getCompanyCode()), BomHeader::getCompanyCode, bomHeader.getCompanyCode()); + + if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)){ + /*使用分页查询*/ + Page<BomHeader> page = new Page<>(pageNum, pageSize); + IPage<BomHeader> iPage = bomHeaderService.page(page, lambdaQueryWrapper); + return getMpDataTable(iPage.getRecords(), iPage.getTotal()); + } else { + List<BomHeader> list = bomHeaderService.list(lambdaQueryWrapper); + return getDataTable(list); + } + } + + /** + * 新增商品 + */ + @GetMapping("/add") + public String add() { + return prefix + "/add"; + } + + /** + * 新增保存商品 + */ + @ApiOperation(value="新增商品", notes="新增商品", httpMethod = "POST") + @RequiresPermissions("general:bomHeader:add") + @Log(title = "通用-商品", operating = "新增商品", action = BusinessType.INSERT) + @PostMapping("/add") + @ResponseBody + public AjaxResult addSave(@ApiParam(name = "containerType", value = "商品类型", required = true) + BomHeader bomHeader) { + return toAjax(bomHeaderService.save(bomHeader)); + } + + /** + * 修改商品 + */ + @GetMapping("/edit/{id}") + public String edit(@PathVariable("id") Integer id, ModelMap mmap) { + mmap.put("bomHeader", bomHeaderService.getById(id)); + return prefix + "/edit"; + } + + /** + * 修改保存商品 + */ + @ApiOperation(value="修改商品", notes="修改商品", httpMethod = "POST") + @RequiresPermissions("general:bomHeader:edit") + @Log(title = "通用-商品", operating = "修改商品", action = BusinessType.UPDATE) + @PostMapping("/edit") + @ResponseBody + public AjaxResult editSave( + @ApiParam(name = "bomHeader", value = "商品实体类", required = true)BomHeader bomHeader) { + return toAjax(bomHeaderService.updateById(bomHeader)); + } + + /** + * 删除容器 + */ + @ApiOperation(value="删除商品", notes="根据id批量删除商品,参数示例1,2,3", httpMethod = "POST") + @RequiresPermissions("general:bomHeader:remove") + @Log(title = "通用-商品", operating = "删除商品", action = BusinessType.DELETE) + @PostMapping( "/remove") + @ResponseBody + public AjaxResult remove(String ids) { + if (StringUtils.isEmpty(ids)){ + return AjaxResult.error("id不能为空"); + } + List<Integer> list = new ArrayList<>(); + for (Integer id : Convert.toIntArray(ids)) { + + LambdaQueryWrapper<BomDetail> lambda = Wrappers.lambdaQuery(); + List<BomDetail> bomDetailList = bomDetailService.list(lambda.eq(BomDetail::getBomId, id)); + if (bomDetailList.size() != 0) { + list.add(id); + } else { + return AjaxResult.error("商品编码为(" + id + ")存在商品详情"); + } + } + return toAjax(bomHeaderService.removeByIds(list)); + } + +} diff --git a/src/main/java/com/huaheng/pc/general/bom/domain/BomDetail.java b/src/main/java/com/huaheng/pc/general/bom/domain/BomDetail.java new file mode 100644 index 0000000..3e07239 --- /dev/null +++ b/src/main/java/com/huaheng/pc/general/bom/domain/BomDetail.java @@ -0,0 +1,259 @@ +package com.huaheng.pc.general.bom.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + +@ApiModel(value="com.huaheng.pc.general.bom.domain.BomDetail") +@Data +@TableName(value = "bom_detail") +public class BomDetail implements Serializable { + /** + * 内部号 + */ + @TableId(value = "id", type = IdType.AUTO) + @ApiModelProperty(value="内部号") + private Integer id; + + /** + * 仓库代码 + */ + @TableField(value = "warehouseCode") + @ApiModelProperty(value="仓库代码") + private String warehouseCode; + + /** + * 货主 + */ + @TableField(value = "companyCode") + @ApiModelProperty(value="货主") + private String companyCode; + + /** + * 物料清单内部号 + */ + @TableField(value = "bomId") + @ApiModelProperty(value="物料清单内部号") + private Integer bomId; + + /** + * 物料编码 + */ + @TableField(value = "materialCode") + @ApiModelProperty(value="物料编码") + private String materialCode; + + /** + * 物料名称 + */ + @TableField(value = "materialName") + @ApiModelProperty(value="物料名称") + private String materialName; + + /** + * 数量单位 + */ + @TableField(value = "materialUnit") + @ApiModelProperty(value="数量单位") + private String materialUnit; + + /** + * 组套层次 + */ + @TableField(value = "buildLevel") + @ApiModelProperty(value="组套层次") + private Integer buildLevel; + + /** + * 序号 + */ + @TableField(value = "buildSequence") + @ApiModelProperty(value="序号") + private Integer buildSequence; + + /** + * 每成品需要数量 + */ + @TableField(value = "qty") + @ApiModelProperty(value="每成品需要数量") + private Integer qty; + + /** + * 分配规则 + */ + @TableField(value = "allocationRule") + @ApiModelProperty(value="分配规则") + private String allocationRule; + + /** + * 从货位 + */ + @TableField(value = "fromLocation") + @ApiModelProperty(value="从货位") + private String fromLocation; + + /** + * 有效 + */ + @TableField(value = "enable") + @ApiModelProperty(value="有效") + private Boolean enable; + + /** + * 创建时间 + */ + @TableField(value = "created") + @ApiModelProperty(value="创建时间") + private Date created; + + /** + * 创建用户 + */ + @TableField(value = "createdBy") + @ApiModelProperty(value="创建用户") + private String createdBy; + + /** + * 创建时间 + */ + @TableField(value = "lastUpdated") + @ApiModelProperty(value="创建时间") + private Date lastUpdated; + + /** + * 更新用户 + */ + @TableField(value = "lastUpdatedBy") + @ApiModelProperty(value="更新用户") + private String lastUpdatedBy; + + /** + * 数据版本 + */ + @TableField(value = "version") + @ApiModelProperty(value="数据版本") + private Integer version; + + /** + * 自定义字段1 + */ + @TableField(value = "userDef1") + @ApiModelProperty(value="自定义字段1") + private String userDef1; + + /** + * 自定义字段2 + */ + @TableField(value = "userDef2") + @ApiModelProperty(value="自定义字段2") + private String userDef2; + + /** + * 自定义字段3 + */ + @TableField(value = "userDef3") + @ApiModelProperty(value="自定义字段3") + private String userDef3; + + /** + * 自定义字段4 + */ + @TableField(value = "userDef4") + @ApiModelProperty(value="自定义字段4") + private String userDef4; + + /** + * 自定义字段5 + */ + @TableField(value = "userDef5") + @ApiModelProperty(value="自定义字段5") + private String userDef5; + + /** + * 自定义字段6 + */ + @TableField(value = "userDef6") + @ApiModelProperty(value="自定义字段6") + private String userDef6; + + /** + * 自定义字段7 + */ + @TableField(value = "userDef7") + @ApiModelProperty(value="自定义字段7") + private String userDef7; + + /** + * 自定义字段8 + */ + @TableField(value = "userDef8") + @ApiModelProperty(value="自定义字段8") + private String userDef8; + + /** + * 处理标记 + */ + @TableField(value = "processStamp") + @ApiModelProperty(value="处理标记") + private String processStamp; + + private static final long serialVersionUID = 1L; + + public static final String COL_WAREHOUSECODE = "warehouseCode"; + + public static final String COL_COMPANYCODE = "companyCode"; + + public static final String COL_BOMID = "bomId"; + + public static final String COL_MATERIALCODE = "materialCode"; + + public static final String COL_MATERIALNAME = "materialName"; + + public static final String COL_MATERIALUNIT = "materialUnit"; + + public static final String COL_BUILDLEVEL = "buildLevel"; + + public static final String COL_BUILDSEQUENCE = "buildSequence"; + + public static final String COL_QTY = "qty"; + + public static final String COL_ALLOCATIONRULE = "allocationRule"; + + public static final String COL_FROMLOCATION = "fromLocation"; + + public static final String COL_ENABLE = "enable"; + + public static final String COL_CREATED = "created"; + + public static final String COL_CREATEDBY = "createdBy"; + + public static final String COL_LASTUPDATED = "lastUpdated"; + + public static final String COL_LASTUPDATEDBY = "lastUpdatedBy"; + + public static final String COL_VERSION = "version"; + + public static final String COL_USERDEF1 = "userDef1"; + + public static final String COL_USERDEF2 = "userDef2"; + + public static final String COL_USERDEF3 = "userDef3"; + + public static final String COL_USERDEF4 = "userDef4"; + + public static final String COL_USERDEF5 = "userDef5"; + + public static final String COL_USERDEF6 = "userDef6"; + + public static final String COL_USERDEF7 = "userDef7"; + + public static final String COL_USERDEF8 = "userDef8"; + + public static final String COL_PROCESSSTAMP = "processStamp"; +} \ No newline at end of file diff --git a/src/main/java/com/huaheng/pc/general/bom/mapper/BomDetailMapper.java b/src/main/java/com/huaheng/pc/general/bom/mapper/BomDetailMapper.java new file mode 100644 index 0000000..5ac36c5 --- /dev/null +++ b/src/main/java/com/huaheng/pc/general/bom/mapper/BomDetailMapper.java @@ -0,0 +1,7 @@ +package com.huaheng.pc.general.bom.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.huaheng.pc.general.bom.domain.BomDetail; + +public interface BomDetailMapper extends BaseMapper<BomDetail> { +} \ No newline at end of file diff --git a/src/main/java/com/huaheng/pc/general/bom/service/BomDetailService.java b/src/main/java/com/huaheng/pc/general/bom/service/BomDetailService.java new file mode 100644 index 0000000..d1568ed --- /dev/null +++ b/src/main/java/com/huaheng/pc/general/bom/service/BomDetailService.java @@ -0,0 +1,8 @@ +package com.huaheng.pc.general.bom.service; + +import com.huaheng.pc.general.bom.domain.BomDetail; +import com.baomidou.mybatisplus.extension.service.IService; +public interface BomDetailService extends IService<BomDetail>{ + + +} diff --git a/src/main/java/com/huaheng/pc/general/bom/service/BomDetailServiceImpl.java b/src/main/java/com/huaheng/pc/general/bom/service/BomDetailServiceImpl.java new file mode 100644 index 0000000..7368c50 --- /dev/null +++ b/src/main/java/com/huaheng/pc/general/bom/service/BomDetailServiceImpl.java @@ -0,0 +1,11 @@ +package com.huaheng.pc.general.bom.service; + +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.huaheng.pc.general.bom.domain.BomDetail; +import com.huaheng.pc.general.bom.mapper.BomDetailMapper; + +@Service +public class BomDetailServiceImpl extends ServiceImpl<BomDetailMapper, BomDetail> implements BomDetailService{ + +} diff --git a/src/main/java/com/huaheng/pc/general/carrier/domain/Carrier.java b/src/main/java/com/huaheng/pc/general/carrier/domain/Carrier.java index a4b9b3f..64cde2c 100644 --- a/src/main/java/com/huaheng/pc/general/carrier/domain/Carrier.java +++ b/src/main/java/com/huaheng/pc/general/carrier/domain/Carrier.java @@ -10,6 +10,9 @@ import java.io.Serializable; import java.util.Date; import lombok.Data; +/** + * 承运商 + */ @ApiModel(value="com.huaheng.pc.general.carrier.domain.Carrier") @Data @TableName(value = "carrier") -- libgit2 0.22.2