From b0259439ca7d1d61a678f404cbecab137469a982 Mon Sep 17 00:00:00 2001 From: "JinLu.Yin" <411641505@qq.com> Date: Thu, 14 Jul 2022 22:07:19 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=9F=E4=BA=A7=E9=A2=86=E6=96=99=E5=90=8E?= =?UTF-8?q?=E7=AB=AF=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/设计文档/数据库设计/mes-wm.sql | 72 ++++ doc/设计文档/数据库设计/数据库设计.xlsx | Bin 81934 -> 84638 bytes .../controller/WmIssueHeaderController.java | 123 ++++++ .../wm/controller/WmIssueLineController.java | 104 +++++ .../com/ktg/mes/wm/domain/WmIssueHeader.java | 363 ++++++++++++++++++ .../com/ktg/mes/wm/domain/WmIssueLine.java | 333 ++++++++++++++++ .../mes/wm/mapper/WmIssueHeaderMapper.java | 68 ++++ .../ktg/mes/wm/mapper/WmIssueLineMapper.java | 63 +++ .../mes/wm/service/IWmIssueHeaderService.java | 68 ++++ .../mes/wm/service/IWmIssueLineService.java | 64 +++ .../impl/WmIssueHeaderServiceImpl.java | 109 ++++++ .../service/impl/WmIssueLineServiceImpl.java | 101 +++++ .../mapper/wm/WmIssueHeaderMapper.xml | 187 +++++++++ .../resources/mapper/wm/WmIssueLineMapper.xml | 177 +++++++++ 14 files changed, 1832 insertions(+) create mode 100644 ktg-mes/src/main/java/com/ktg/mes/wm/controller/WmIssueHeaderController.java create mode 100644 ktg-mes/src/main/java/com/ktg/mes/wm/controller/WmIssueLineController.java create mode 100644 ktg-mes/src/main/java/com/ktg/mes/wm/domain/WmIssueHeader.java create mode 100644 ktg-mes/src/main/java/com/ktg/mes/wm/domain/WmIssueLine.java create mode 100644 ktg-mes/src/main/java/com/ktg/mes/wm/mapper/WmIssueHeaderMapper.java create mode 100644 ktg-mes/src/main/java/com/ktg/mes/wm/mapper/WmIssueLineMapper.java create mode 100644 ktg-mes/src/main/java/com/ktg/mes/wm/service/IWmIssueHeaderService.java create mode 100644 ktg-mes/src/main/java/com/ktg/mes/wm/service/IWmIssueLineService.java create mode 100644 ktg-mes/src/main/java/com/ktg/mes/wm/service/impl/WmIssueHeaderServiceImpl.java create mode 100644 ktg-mes/src/main/java/com/ktg/mes/wm/service/impl/WmIssueLineServiceImpl.java create mode 100644 ktg-mes/src/main/resources/mapper/wm/WmIssueHeaderMapper.xml create mode 100644 ktg-mes/src/main/resources/mapper/wm/WmIssueLineMapper.xml diff --git a/doc/设计文档/数据库设计/mes-wm.sql b/doc/设计文档/数据库设计/mes-wm.sql index c4e7249..a50123b 100644 --- a/doc/设计文档/数据库设计/mes-wm.sql +++ b/doc/设计文档/数据库设计/mes-wm.sql @@ -313,7 +313,79 @@ create table wm_rt_vendor_line ( +-- ---------------------------- +-- 10、生产领料单头表 +-- ---------------------------- +drop table if exists wm_issue_header; +create table wm_issue_header ( + issue_id bigint(20) not null auto_increment comment '领料单ID', + issue_code varchar(64) not null comment '领料单编号', + issue_name varchar(255) not null comment '领料单名称', + workstation_id bigint(20) comment '工作站ID', + workstation_code varchar(64) comment '工作站编号', + workorder_id bigint(20) comment '生产工单ID', + workorder_code varchar(64) comment '生产工单编码', + task_id bigint(20) comment '生产任务ID', + task_code varchar(64) comment '生产任务编码', + warehouse_id bigint(20) comment '仓库ID', + warehouse_code varchar(64) comment '仓库编码', + warehouse_name varchar(255) comment '仓库名称', + location_id bigint(20) comment '库区ID', + location_code varchar(64) comment '库区编码', + location_name varchar(255) comment '库区名称', + area_id bigint(20) comment '库位ID', + area_code varchar(64) comment '库位编码', + area_name varchar(255) comment '库位名称', + issue_date datetime comment '领料日期', + status varchar(64) default 'PREPARE' comment '单据状态', + remark varchar(500) default '' comment '备注', + attr1 varchar(64) default null comment '预留字段1', + attr2 varchar(255) default null comment '预留字段2', + attr3 int(11) default 0 comment '预留字段3', + attr4 int(11) default 0 comment '预留字段4', + create_by varchar(64) default '' comment '创建者', + create_time datetime comment '创建时间', + update_by varchar(64) default '' comment '更新者', + update_time datetime comment '更新时间', + primary key (issue_id) +) engine=innodb auto_increment=200 comment = '生产领料单头表'; +-- ---------------------------- +-- 11、生产领料单行表 +-- ---------------------------- +drop table if exists wm_issue_line; +create table wm_issue_line ( + line_id bigint(20) not null auto_increment comment '行ID', + issue_id bigint(20) comment '领料单ID', + item_id bigint(20) not null comment '产品物料ID', + item_code varchar(64) comment '产品物料编码', + item_name varchar(255) comment '产品物料名称', + specification varchar(500) comment '规格型号', + unit_of_measure varchar(64) comment '单位', + quantity_issued double(12,2) not null comment '领料数量', + batch_code varchar(255) comment '领料批次号', + warehouse_id bigint(20) comment '仓库ID', + warehouse_code varchar(64) comment '仓库编码', + warehouse_name varchar(255) comment '仓库名称', + location_id bigint(20) comment '库区ID', + location_code varchar(64) comment '库区编码', + location_name varchar(255) comment '库区名称', + area_id bigint(20) comment '库位ID', + area_code varchar(64) comment '库位编码', + area_name varchar(255) comment '库位名称', + remark varchar(500) default '' comment '备注', + attr1 varchar(64) default null comment '预留字段1', + attr2 varchar(255) default null comment '预留字段2', + attr3 int(11) default 0 comment '预留字段3', + attr4 int(11) default 0 comment '预留字段4', + create_by varchar(64) default '' comment '创建者', + create_time datetime comment '创建时间', + update_by varchar(64) default '' comment '更新者', + update_time datetime comment '更新时间', + primary key (line_id) +) engine=innodb auto_increment=200 comment = '生产领料单行表'; + + diff --git a/doc/设计文档/数据库设计/数据库设计.xlsx b/doc/设计文档/数据库设计/数据库设计.xlsx index 71f524c1e2913fc92f23dc1dd9e961e9733251ec..a04b8c1482fa2b18b531df2abe2b3b6ea14cb2a8 100644 GIT binary patch delta 70588 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 r!{Fc0li1@C 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 delta 67918 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 diff --git a/ktg-mes/src/main/java/com/ktg/mes/wm/controller/WmIssueHeaderController.java b/ktg-mes/src/main/java/com/ktg/mes/wm/controller/WmIssueHeaderController.java new file mode 100644 index 0000000..b7e5c24 --- /dev/null +++ b/ktg-mes/src/main/java/com/ktg/mes/wm/controller/WmIssueHeaderController.java @@ -0,0 +1,123 @@ +package com.ktg.mes.wm.controller; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; + +import com.ktg.common.constant.UserConstants; +import com.ktg.mes.wm.service.IWmIssueLineService; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; +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.ktg.common.annotation.Log; +import com.ktg.common.core.controller.BaseController; +import com.ktg.common.core.domain.AjaxResult; +import com.ktg.common.enums.BusinessType; +import com.ktg.mes.wm.domain.WmIssueHeader; +import com.ktg.mes.wm.service.IWmIssueHeaderService; +import com.ktg.common.utils.poi.ExcelUtil; +import com.ktg.common.core.page.TableDataInfo; + +/** + * 生产领料单头Controller + * + * @author yinjinlu + * @date 2022-07-14 + */ +@RestController +@RequestMapping("/mes/wm/issueheader") +public class WmIssueHeaderController extends BaseController +{ + @Autowired + private IWmIssueHeaderService wmIssueHeaderService; + + @Autowired + private IWmIssueLineService wmIssueLineService; + + /** + * 查询生产领料单头列表 + */ + @PreAuthorize("@ss.hasPermi('mes:wm:issueheader:list')") + @GetMapping("/list") + public TableDataInfo list(WmIssueHeader wmIssueHeader) + { + startPage(); + List list = wmIssueHeaderService.selectWmIssueHeaderList(wmIssueHeader); + return getDataTable(list); + } + + /** + * 导出生产领料单头列表 + */ + @PreAuthorize("@ss.hasPermi('mes:wm:issueheader:export')") + @Log(title = "生产领料单头", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, WmIssueHeader wmIssueHeader) + { + List list = wmIssueHeaderService.selectWmIssueHeaderList(wmIssueHeader); + ExcelUtil util = new ExcelUtil(WmIssueHeader.class); + util.exportExcel(response, list, "生产领料单头数据"); + } + + /** + * 获取生产领料单头详细信息 + */ + @PreAuthorize("@ss.hasPermi('mes:wm:issueheader:query')") + @GetMapping(value = "/{issueId}") + public AjaxResult getInfo(@PathVariable("issueId") Long issueId) + { + return AjaxResult.success(wmIssueHeaderService.selectWmIssueHeaderByIssueId(issueId)); + } + + /** + * 新增生产领料单头 + */ + @PreAuthorize("@ss.hasPermi('mes:wm:issueheader:add')") + @Log(title = "生产领料单头", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody WmIssueHeader wmIssueHeader) + { + if(UserConstants.NOT_UNIQUE.equals(wmIssueHeaderService.checkIssueCodeUnique(wmIssueHeader))){ + return AjaxResult.error("领料单编号已存在"); + } + return toAjax(wmIssueHeaderService.insertWmIssueHeader(wmIssueHeader)); + } + + /** + * 修改生产领料单头 + */ + @PreAuthorize("@ss.hasPermi('mes:wm:issueheader:edit')") + @Log(title = "生产领料单头", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody WmIssueHeader wmIssueHeader) + { + if(UserConstants.NOT_UNIQUE.equals(wmIssueHeaderService.checkIssueCodeUnique(wmIssueHeader))){ + return AjaxResult.error("领料单编号已存在"); + } + return toAjax(wmIssueHeaderService.updateWmIssueHeader(wmIssueHeader)); + } + + /** + * 删除生产领料单头 + */ + @PreAuthorize("@ss.hasPermi('mes:wm:issueheader:remove')") + @Log(title = "生产领料单头", businessType = BusinessType.DELETE) + @Transactional + @DeleteMapping("/{issueIds}") + public AjaxResult remove(@PathVariable Long[] issueIds) + { + for (long issueId:issueIds + ) { + wmIssueLineService.deleteByIssueHeaderId(issueId); + } + + return toAjax(wmIssueHeaderService.deleteWmIssueHeaderByIssueIds(issueIds)); + } +} diff --git a/ktg-mes/src/main/java/com/ktg/mes/wm/controller/WmIssueLineController.java b/ktg-mes/src/main/java/com/ktg/mes/wm/controller/WmIssueLineController.java new file mode 100644 index 0000000..071d829 --- /dev/null +++ b/ktg-mes/src/main/java/com/ktg/mes/wm/controller/WmIssueLineController.java @@ -0,0 +1,104 @@ +package com.ktg.mes.wm.controller; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; +import org.springframework.security.access.prepost.PreAuthorize; +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.ktg.common.annotation.Log; +import com.ktg.common.core.controller.BaseController; +import com.ktg.common.core.domain.AjaxResult; +import com.ktg.common.enums.BusinessType; +import com.ktg.mes.wm.domain.WmIssueLine; +import com.ktg.mes.wm.service.IWmIssueLineService; +import com.ktg.common.utils.poi.ExcelUtil; +import com.ktg.common.core.page.TableDataInfo; + +/** + * 生产领料单行Controller + * + * @author yinjinlu + * @date 2022-07-14 + */ +@RestController +@RequestMapping("/mes/wm/issueline") +public class WmIssueLineController extends BaseController +{ + @Autowired + private IWmIssueLineService wmIssueLineService; + + /** + * 查询生产领料单行列表 + */ + @PreAuthorize("@ss.hasPermi('mes:wm:issueline:list')") + @GetMapping("/list") + public TableDataInfo list(WmIssueLine wmIssueLine) + { + startPage(); + List list = wmIssueLineService.selectWmIssueLineList(wmIssueLine); + return getDataTable(list); + } + + /** + * 导出生产领料单行列表 + */ + @PreAuthorize("@ss.hasPermi('mes:wm:issueline:export')") + @Log(title = "生产领料单行", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, WmIssueLine wmIssueLine) + { + List list = wmIssueLineService.selectWmIssueLineList(wmIssueLine); + ExcelUtil util = new ExcelUtil(WmIssueLine.class); + util.exportExcel(response, list, "生产领料单行数据"); + } + + /** + * 获取生产领料单行详细信息 + */ + @PreAuthorize("@ss.hasPermi('mes:wm:issueline:query')") + @GetMapping(value = "/{lineId}") + public AjaxResult getInfo(@PathVariable("lineId") Long lineId) + { + return AjaxResult.success(wmIssueLineService.selectWmIssueLineByLineId(lineId)); + } + + /** + * 新增生产领料单行 + */ + @PreAuthorize("@ss.hasPermi('mes:wm:issueline:add')") + @Log(title = "生产领料单行", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody WmIssueLine wmIssueLine) + { + return toAjax(wmIssueLineService.insertWmIssueLine(wmIssueLine)); + } + + /** + * 修改生产领料单行 + */ + @PreAuthorize("@ss.hasPermi('mes:wm:issueline:edit')") + @Log(title = "生产领料单行", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody WmIssueLine wmIssueLine) + { + return toAjax(wmIssueLineService.updateWmIssueLine(wmIssueLine)); + } + + /** + * 删除生产领料单行 + */ + @PreAuthorize("@ss.hasPermi('mes:wm:issueline:remove')") + @Log(title = "生产领料单行", businessType = BusinessType.DELETE) + @DeleteMapping("/{lineIds}") + public AjaxResult remove(@PathVariable Long[] lineIds) + { + return toAjax(wmIssueLineService.deleteWmIssueLineByLineIds(lineIds)); + } +} diff --git a/ktg-mes/src/main/java/com/ktg/mes/wm/domain/WmIssueHeader.java b/ktg-mes/src/main/java/com/ktg/mes/wm/domain/WmIssueHeader.java new file mode 100644 index 0000000..9ff6eb5 --- /dev/null +++ b/ktg-mes/src/main/java/com/ktg/mes/wm/domain/WmIssueHeader.java @@ -0,0 +1,363 @@ +package com.ktg.mes.wm.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.ktg.common.annotation.Excel; +import com.ktg.common.core.domain.BaseEntity; + +/** + * 生产领料单头对象 wm_issue_header + * + * @author yinjinlu + * @date 2022-07-14 + */ +public class WmIssueHeader extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 领料单ID */ + private Long issueId; + + /** 领料单编号 */ + @Excel(name = "领料单编号") + private String issueCode; + + /** 领料单名称 */ + @Excel(name = "领料单名称") + private String issueName; + + /** 工作站ID */ + @Excel(name = "工作站ID") + private Long workstationId; + + /** 工作站编号 */ + @Excel(name = "工作站编号") + private String workstationCode; + + /** 生产工单ID */ + @Excel(name = "生产工单ID") + private Long workorderId; + + /** 生产工单编码 */ + @Excel(name = "生产工单编码") + private String workorderCode; + + /** 生产任务ID */ + @Excel(name = "生产任务ID") + private Long taskId; + + /** 生产任务编码 */ + @Excel(name = "生产任务编码") + private String taskCode; + + /** 仓库ID */ + @Excel(name = "仓库ID") + private Long warehouseId; + + /** 仓库编码 */ + @Excel(name = "仓库编码") + private String warehouseCode; + + /** 仓库名称 */ + @Excel(name = "仓库名称") + private String warehouseName; + + /** 库区ID */ + @Excel(name = "库区ID") + private Long locationId; + + /** 库区编码 */ + @Excel(name = "库区编码") + private String locationCode; + + /** 库区名称 */ + @Excel(name = "库区名称") + private String locationName; + + /** 库位ID */ + @Excel(name = "库位ID") + private Long areaId; + + /** 库位编码 */ + @Excel(name = "库位编码") + private String areaCode; + + /** 库位名称 */ + @Excel(name = "库位名称") + private String areaName; + + /** 领料日期 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "领料日期", width = 30, dateFormat = "yyyy-MM-dd") + private Date issueDate; + + /** 单据状态 */ + @Excel(name = "单据状态") + private String status; + + /** 预留字段1 */ + private String attr1; + + /** 预留字段2 */ + private String attr2; + + /** 预留字段3 */ + private Long attr3; + + /** 预留字段4 */ + private Long attr4; + + public void setIssueId(Long issueId) + { + this.issueId = issueId; + } + + public Long getIssueId() + { + return issueId; + } + public void setIssueCode(String issueCode) + { + this.issueCode = issueCode; + } + + public String getIssueCode() + { + return issueCode; + } + public void setIssueName(String issueName) + { + this.issueName = issueName; + } + + public String getIssueName() + { + return issueName; + } + public void setWorkstationId(Long workstationId) + { + this.workstationId = workstationId; + } + + public Long getWorkstationId() + { + return workstationId; + } + public void setWorkstationCode(String workstationCode) + { + this.workstationCode = workstationCode; + } + + public String getWorkstationCode() + { + return workstationCode; + } + public void setWorkorderId(Long workorderId) + { + this.workorderId = workorderId; + } + + public Long getWorkorderId() + { + return workorderId; + } + public void setWorkorderCode(String workorderCode) + { + this.workorderCode = workorderCode; + } + + public String getWorkorderCode() + { + return workorderCode; + } + public void setTaskId(Long taskId) + { + this.taskId = taskId; + } + + public Long getTaskId() + { + return taskId; + } + public void setTaskCode(String taskCode) + { + this.taskCode = taskCode; + } + + public String getTaskCode() + { + return taskCode; + } + public void setWarehouseId(Long warehouseId) + { + this.warehouseId = warehouseId; + } + + public Long getWarehouseId() + { + return warehouseId; + } + public void setWarehouseCode(String warehouseCode) + { + this.warehouseCode = warehouseCode; + } + + public String getWarehouseCode() + { + return warehouseCode; + } + public void setWarehouseName(String warehouseName) + { + this.warehouseName = warehouseName; + } + + public String getWarehouseName() + { + return warehouseName; + } + public void setLocationId(Long locationId) + { + this.locationId = locationId; + } + + public Long getLocationId() + { + return locationId; + } + public void setLocationCode(String locationCode) + { + this.locationCode = locationCode; + } + + public String getLocationCode() + { + return locationCode; + } + public void setLocationName(String locationName) + { + this.locationName = locationName; + } + + public String getLocationName() + { + return locationName; + } + public void setAreaId(Long areaId) + { + this.areaId = areaId; + } + + public Long getAreaId() + { + return areaId; + } + public void setAreaCode(String areaCode) + { + this.areaCode = areaCode; + } + + public String getAreaCode() + { + return areaCode; + } + public void setAreaName(String areaName) + { + this.areaName = areaName; + } + + public String getAreaName() + { + return areaName; + } + public void setIssueDate(Date issueDate) + { + this.issueDate = issueDate; + } + + public Date getIssueDate() + { + return issueDate; + } + public void setStatus(String status) + { + this.status = status; + } + + public String getStatus() + { + return status; + } + 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(Long attr3) + { + this.attr3 = attr3; + } + + public Long getAttr3() + { + return attr3; + } + public void setAttr4(Long attr4) + { + this.attr4 = attr4; + } + + public Long getAttr4() + { + return attr4; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("issueId", getIssueId()) + .append("issueCode", getIssueCode()) + .append("issueName", getIssueName()) + .append("workstationId", getWorkstationId()) + .append("workstationCode", getWorkstationCode()) + .append("workorderId", getWorkorderId()) + .append("workorderCode", getWorkorderCode()) + .append("taskId", getTaskId()) + .append("taskCode", getTaskCode()) + .append("warehouseId", getWarehouseId()) + .append("warehouseCode", getWarehouseCode()) + .append("warehouseName", getWarehouseName()) + .append("locationId", getLocationId()) + .append("locationCode", getLocationCode()) + .append("locationName", getLocationName()) + .append("areaId", getAreaId()) + .append("areaCode", getAreaCode()) + .append("areaName", getAreaName()) + .append("issueDate", getIssueDate()) + .append("status", getStatus()) + .append("remark", getRemark()) + .append("attr1", getAttr1()) + .append("attr2", getAttr2()) + .append("attr3", getAttr3()) + .append("attr4", getAttr4()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); + } +} diff --git a/ktg-mes/src/main/java/com/ktg/mes/wm/domain/WmIssueLine.java b/ktg-mes/src/main/java/com/ktg/mes/wm/domain/WmIssueLine.java new file mode 100644 index 0000000..b478a3f --- /dev/null +++ b/ktg-mes/src/main/java/com/ktg/mes/wm/domain/WmIssueLine.java @@ -0,0 +1,333 @@ +package com.ktg.mes.wm.domain; + +import java.math.BigDecimal; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ktg.common.annotation.Excel; +import com.ktg.common.core.domain.BaseEntity; + +/** + * 生产领料单行对象 wm_issue_line + * + * @author yinjinlu + * @date 2022-07-14 + */ +public class WmIssueLine extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 行ID */ + private Long lineId; + + /** 领料单ID */ + @Excel(name = "领料单ID") + private Long issueId; + + /** 产品物料ID */ + @Excel(name = "产品物料ID") + private Long itemId; + + /** 产品物料编码 */ + @Excel(name = "产品物料编码") + private String itemCode; + + /** 产品物料名称 */ + @Excel(name = "产品物料名称") + private String itemName; + + /** 规格型号 */ + @Excel(name = "规格型号") + private String specification; + + /** 单位 */ + @Excel(name = "单位") + private String unitOfMeasure; + + /** 领料数量 */ + @Excel(name = "领料数量") + private BigDecimal quantityIssued; + + /** 领料批次号 */ + @Excel(name = "领料批次号") + private String batchCode; + + /** 仓库ID */ + @Excel(name = "仓库ID") + private Long warehouseId; + + /** 仓库编码 */ + @Excel(name = "仓库编码") + private String warehouseCode; + + /** 仓库名称 */ + @Excel(name = "仓库名称") + private String warehouseName; + + /** 库区ID */ + @Excel(name = "库区ID") + private Long locationId; + + /** 库区编码 */ + @Excel(name = "库区编码") + private String locationCode; + + /** 库区名称 */ + @Excel(name = "库区名称") + private String locationName; + + /** 库位ID */ + @Excel(name = "库位ID") + private Long areaId; + + /** 库位编码 */ + @Excel(name = "库位编码") + private String areaCode; + + /** 库位名称 */ + @Excel(name = "库位名称") + private String areaName; + + /** 预留字段1 */ + private String attr1; + + /** 预留字段2 */ + private String attr2; + + /** 预留字段3 */ + private Long attr3; + + /** 预留字段4 */ + private Long attr4; + + public void setLineId(Long lineId) + { + this.lineId = lineId; + } + + public Long getLineId() + { + return lineId; + } + public void setIssueId(Long issueId) + { + this.issueId = issueId; + } + + public Long getIssueId() + { + return issueId; + } + public void setItemId(Long itemId) + { + this.itemId = itemId; + } + + public Long getItemId() + { + return itemId; + } + public void setItemCode(String itemCode) + { + this.itemCode = itemCode; + } + + public String getItemCode() + { + return itemCode; + } + public void setItemName(String itemName) + { + this.itemName = itemName; + } + + public String getItemName() + { + return itemName; + } + public void setSpecification(String specification) + { + this.specification = specification; + } + + public String getSpecification() + { + return specification; + } + public void setUnitOfMeasure(String unitOfMeasure) + { + this.unitOfMeasure = unitOfMeasure; + } + + public String getUnitOfMeasure() + { + return unitOfMeasure; + } + public void setQuantityIssued(BigDecimal quantityIssued) + { + this.quantityIssued = quantityIssued; + } + + public BigDecimal getQuantityIssued() + { + return quantityIssued; + } + public void setBatchCode(String batchCode) + { + this.batchCode = batchCode; + } + + public String getBatchCode() + { + return batchCode; + } + public void setWarehouseId(Long warehouseId) + { + this.warehouseId = warehouseId; + } + + public Long getWarehouseId() + { + return warehouseId; + } + public void setWarehouseCode(String warehouseCode) + { + this.warehouseCode = warehouseCode; + } + + public String getWarehouseCode() + { + return warehouseCode; + } + public void setWarehouseName(String warehouseName) + { + this.warehouseName = warehouseName; + } + + public String getWarehouseName() + { + return warehouseName; + } + public void setLocationId(Long locationId) + { + this.locationId = locationId; + } + + public Long getLocationId() + { + return locationId; + } + public void setLocationCode(String locationCode) + { + this.locationCode = locationCode; + } + + public String getLocationCode() + { + return locationCode; + } + public void setLocationName(String locationName) + { + this.locationName = locationName; + } + + public String getLocationName() + { + return locationName; + } + public void setAreaId(Long areaId) + { + this.areaId = areaId; + } + + public Long getAreaId() + { + return areaId; + } + public void setAreaCode(String areaCode) + { + this.areaCode = areaCode; + } + + public String getAreaCode() + { + return areaCode; + } + public void setAreaName(String areaName) + { + this.areaName = areaName; + } + + public String getAreaName() + { + return areaName; + } + 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(Long attr3) + { + this.attr3 = attr3; + } + + public Long getAttr3() + { + return attr3; + } + public void setAttr4(Long attr4) + { + this.attr4 = attr4; + } + + public Long getAttr4() + { + return attr4; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("lineId", getLineId()) + .append("issueId", getIssueId()) + .append("itemId", getItemId()) + .append("itemCode", getItemCode()) + .append("itemName", getItemName()) + .append("specification", getSpecification()) + .append("unitOfMeasure", getUnitOfMeasure()) + .append("quantityIssued", getQuantityIssued()) + .append("batchCode", getBatchCode()) + .append("warehouseId", getWarehouseId()) + .append("warehouseCode", getWarehouseCode()) + .append("warehouseName", getWarehouseName()) + .append("locationId", getLocationId()) + .append("locationCode", getLocationCode()) + .append("locationName", getLocationName()) + .append("areaId", getAreaId()) + .append("areaCode", getAreaCode()) + .append("areaName", getAreaName()) + .append("remark", getRemark()) + .append("attr1", getAttr1()) + .append("attr2", getAttr2()) + .append("attr3", getAttr3()) + .append("attr4", getAttr4()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); + } +} diff --git a/ktg-mes/src/main/java/com/ktg/mes/wm/mapper/WmIssueHeaderMapper.java b/ktg-mes/src/main/java/com/ktg/mes/wm/mapper/WmIssueHeaderMapper.java new file mode 100644 index 0000000..f3f84c3 --- /dev/null +++ b/ktg-mes/src/main/java/com/ktg/mes/wm/mapper/WmIssueHeaderMapper.java @@ -0,0 +1,68 @@ +package com.ktg.mes.wm.mapper; + +import java.util.List; +import com.ktg.mes.wm.domain.WmIssueHeader; + +/** + * 生产领料单头Mapper接口 + * + * @author yinjinlu + * @date 2022-07-14 + */ +public interface WmIssueHeaderMapper +{ + /** + * 查询生产领料单头 + * + * @param issueId 生产领料单头主键 + * @return 生产领料单头 + */ + public WmIssueHeader selectWmIssueHeaderByIssueId(Long issueId); + + /** + * 查询生产领料单头列表 + * + * @param wmIssueHeader 生产领料单头 + * @return 生产领料单头集合 + */ + public List selectWmIssueHeaderList(WmIssueHeader wmIssueHeader); + + /** + * 检查生产领料单编号是否唯一 + * @param wmIssueHeader + * @return + */ + public WmIssueHeader checkIssueCodeUnique(WmIssueHeader wmIssueHeader); + + /** + * 新增生产领料单头 + * + * @param wmIssueHeader 生产领料单头 + * @return 结果 + */ + public int insertWmIssueHeader(WmIssueHeader wmIssueHeader); + + /** + * 修改生产领料单头 + * + * @param wmIssueHeader 生产领料单头 + * @return 结果 + */ + public int updateWmIssueHeader(WmIssueHeader wmIssueHeader); + + /** + * 删除生产领料单头 + * + * @param issueId 生产领料单头主键 + * @return 结果 + */ + public int deleteWmIssueHeaderByIssueId(Long issueId); + + /** + * 批量删除生产领料单头 + * + * @param issueIds 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteWmIssueHeaderByIssueIds(Long[] issueIds); +} diff --git a/ktg-mes/src/main/java/com/ktg/mes/wm/mapper/WmIssueLineMapper.java b/ktg-mes/src/main/java/com/ktg/mes/wm/mapper/WmIssueLineMapper.java new file mode 100644 index 0000000..a525c25 --- /dev/null +++ b/ktg-mes/src/main/java/com/ktg/mes/wm/mapper/WmIssueLineMapper.java @@ -0,0 +1,63 @@ +package com.ktg.mes.wm.mapper; + +import java.util.List; +import com.ktg.mes.wm.domain.WmIssueLine; + +/** + * 生产领料单行Mapper接口 + * + * @author yinjinlu + * @date 2022-07-14 + */ +public interface WmIssueLineMapper +{ + /** + * 查询生产领料单行 + * + * @param lineId 生产领料单行主键 + * @return 生产领料单行 + */ + public WmIssueLine selectWmIssueLineByLineId(Long lineId); + + /** + * 查询生产领料单行列表 + * + * @param wmIssueLine 生产领料单行 + * @return 生产领料单行集合 + */ + public List selectWmIssueLineList(WmIssueLine wmIssueLine); + + /** + * 新增生产领料单行 + * + * @param wmIssueLine 生产领料单行 + * @return 结果 + */ + public int insertWmIssueLine(WmIssueLine wmIssueLine); + + /** + * 修改生产领料单行 + * + * @param wmIssueLine 生产领料单行 + * @return 结果 + */ + public int updateWmIssueLine(WmIssueLine wmIssueLine); + + /** + * 删除生产领料单行 + * + * @param lineId 生产领料单行主键 + * @return 结果 + */ + public int deleteWmIssueLineByLineId(Long lineId); + + /** + * 批量删除生产领料单行 + * + * @param lineIds 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteWmIssueLineByLineIds(Long[] lineIds); + + public int deleteByIssueHeaderId(Long issueId); +} diff --git a/ktg-mes/src/main/java/com/ktg/mes/wm/service/IWmIssueHeaderService.java b/ktg-mes/src/main/java/com/ktg/mes/wm/service/IWmIssueHeaderService.java new file mode 100644 index 0000000..224f83a --- /dev/null +++ b/ktg-mes/src/main/java/com/ktg/mes/wm/service/IWmIssueHeaderService.java @@ -0,0 +1,68 @@ +package com.ktg.mes.wm.service; + +import java.util.List; +import com.ktg.mes.wm.domain.WmIssueHeader; + +/** + * 生产领料单头Service接口 + * + * @author yinjinlu + * @date 2022-07-14 + */ +public interface IWmIssueHeaderService +{ + /** + * 查询生产领料单头 + * + * @param issueId 生产领料单头主键 + * @return 生产领料单头 + */ + public WmIssueHeader selectWmIssueHeaderByIssueId(Long issueId); + + /** + * 查询生产领料单头列表 + * + * @param wmIssueHeader 生产领料单头 + * @return 生产领料单头集合 + */ + public List selectWmIssueHeaderList(WmIssueHeader wmIssueHeader); + + /** + * 检查生产领料单编号是否唯一 + * @param wmIssueHeader + * @return + */ + public String checkIssueCodeUnique(WmIssueHeader wmIssueHeader); + + /** + * 新增生产领料单头 + * + * @param wmIssueHeader 生产领料单头 + * @return 结果 + */ + public int insertWmIssueHeader(WmIssueHeader wmIssueHeader); + + /** + * 修改生产领料单头 + * + * @param wmIssueHeader 生产领料单头 + * @return 结果 + */ + public int updateWmIssueHeader(WmIssueHeader wmIssueHeader); + + /** + * 批量删除生产领料单头 + * + * @param issueIds 需要删除的生产领料单头主键集合 + * @return 结果 + */ + public int deleteWmIssueHeaderByIssueIds(Long[] issueIds); + + /** + * 删除生产领料单头信息 + * + * @param issueId 生产领料单头主键 + * @return 结果 + */ + public int deleteWmIssueHeaderByIssueId(Long issueId); +} diff --git a/ktg-mes/src/main/java/com/ktg/mes/wm/service/IWmIssueLineService.java b/ktg-mes/src/main/java/com/ktg/mes/wm/service/IWmIssueLineService.java new file mode 100644 index 0000000..e945c62 --- /dev/null +++ b/ktg-mes/src/main/java/com/ktg/mes/wm/service/IWmIssueLineService.java @@ -0,0 +1,64 @@ +package com.ktg.mes.wm.service; + +import java.util.List; +import com.ktg.mes.wm.domain.WmIssueLine; + +/** + * 生产领料单行Service接口 + * + * @author yinjinlu + * @date 2022-07-14 + */ +public interface IWmIssueLineService +{ + /** + * 查询生产领料单行 + * + * @param lineId 生产领料单行主键 + * @return 生产领料单行 + */ + public WmIssueLine selectWmIssueLineByLineId(Long lineId); + + /** + * 查询生产领料单行列表 + * + * @param wmIssueLine 生产领料单行 + * @return 生产领料单行集合 + */ + public List selectWmIssueLineList(WmIssueLine wmIssueLine); + + /** + * 新增生产领料单行 + * + * @param wmIssueLine 生产领料单行 + * @return 结果 + */ + public int insertWmIssueLine(WmIssueLine wmIssueLine); + + /** + * 修改生产领料单行 + * + * @param wmIssueLine 生产领料单行 + * @return 结果 + */ + public int updateWmIssueLine(WmIssueLine wmIssueLine); + + /** + * 批量删除生产领料单行 + * + * @param lineIds 需要删除的生产领料单行主键集合 + * @return 结果 + */ + public int deleteWmIssueLineByLineIds(Long[] lineIds); + + /** + * 删除生产领料单行信息 + * + * @param lineId 生产领料单行主键 + * @return 结果 + */ + public int deleteWmIssueLineByLineId(Long lineId); + + public int deleteByIssueHeaderId(Long issueId); + +} diff --git a/ktg-mes/src/main/java/com/ktg/mes/wm/service/impl/WmIssueHeaderServiceImpl.java b/ktg-mes/src/main/java/com/ktg/mes/wm/service/impl/WmIssueHeaderServiceImpl.java new file mode 100644 index 0000000..8b82119 --- /dev/null +++ b/ktg-mes/src/main/java/com/ktg/mes/wm/service/impl/WmIssueHeaderServiceImpl.java @@ -0,0 +1,109 @@ +package com.ktg.mes.wm.service.impl; + +import java.util.List; + +import com.ktg.common.constant.UserConstants; +import com.ktg.common.utils.DateUtils; +import com.ktg.common.utils.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ktg.mes.wm.mapper.WmIssueHeaderMapper; +import com.ktg.mes.wm.domain.WmIssueHeader; +import com.ktg.mes.wm.service.IWmIssueHeaderService; + +/** + * 生产领料单头Service业务层处理 + * + * @author yinjinlu + * @date 2022-07-14 + */ +@Service +public class WmIssueHeaderServiceImpl implements IWmIssueHeaderService +{ + @Autowired + private WmIssueHeaderMapper wmIssueHeaderMapper; + + /** + * 查询生产领料单头 + * + * @param issueId 生产领料单头主键 + * @return 生产领料单头 + */ + @Override + public WmIssueHeader selectWmIssueHeaderByIssueId(Long issueId) + { + return wmIssueHeaderMapper.selectWmIssueHeaderByIssueId(issueId); + } + + /** + * 查询生产领料单头列表 + * + * @param wmIssueHeader 生产领料单头 + * @return 生产领料单头 + */ + @Override + public List selectWmIssueHeaderList(WmIssueHeader wmIssueHeader) + { + return wmIssueHeaderMapper.selectWmIssueHeaderList(wmIssueHeader); + } + + @Override + public String checkIssueCodeUnique(WmIssueHeader wmIssueHeader) { + WmIssueHeader header = wmIssueHeaderMapper.checkIssueCodeUnique(wmIssueHeader); + Long headerId = wmIssueHeader.getIssueId()==null?-1l:wmIssueHeader.getIssueId(); + if(StringUtils.isNotNull(header) && headerId.longValue() !=header.getIssueId().longValue()){ + return UserConstants.NOT_UNIQUE; + } + return UserConstants.UNIQUE; + } + + /** + * 新增生产领料单头 + * + * @param wmIssueHeader 生产领料单头 + * @return 结果 + */ + @Override + public int insertWmIssueHeader(WmIssueHeader wmIssueHeader) + { + wmIssueHeader.setCreateTime(DateUtils.getNowDate()); + return wmIssueHeaderMapper.insertWmIssueHeader(wmIssueHeader); + } + + /** + * 修改生产领料单头 + * + * @param wmIssueHeader 生产领料单头 + * @return 结果 + */ + @Override + public int updateWmIssueHeader(WmIssueHeader wmIssueHeader) + { + wmIssueHeader.setUpdateTime(DateUtils.getNowDate()); + return wmIssueHeaderMapper.updateWmIssueHeader(wmIssueHeader); + } + + /** + * 批量删除生产领料单头 + * + * @param issueIds 需要删除的生产领料单头主键 + * @return 结果 + */ + @Override + public int deleteWmIssueHeaderByIssueIds(Long[] issueIds) + { + return wmIssueHeaderMapper.deleteWmIssueHeaderByIssueIds(issueIds); + } + + /** + * 删除生产领料单头信息 + * + * @param issueId 生产领料单头主键 + * @return 结果 + */ + @Override + public int deleteWmIssueHeaderByIssueId(Long issueId) + { + return wmIssueHeaderMapper.deleteWmIssueHeaderByIssueId(issueId); + } +} diff --git a/ktg-mes/src/main/java/com/ktg/mes/wm/service/impl/WmIssueLineServiceImpl.java b/ktg-mes/src/main/java/com/ktg/mes/wm/service/impl/WmIssueLineServiceImpl.java new file mode 100644 index 0000000..d56cbd9 --- /dev/null +++ b/ktg-mes/src/main/java/com/ktg/mes/wm/service/impl/WmIssueLineServiceImpl.java @@ -0,0 +1,101 @@ +package com.ktg.mes.wm.service.impl; + +import java.util.List; +import com.ktg.common.utils.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ktg.mes.wm.mapper.WmIssueLineMapper; +import com.ktg.mes.wm.domain.WmIssueLine; +import com.ktg.mes.wm.service.IWmIssueLineService; + +/** + * 生产领料单行Service业务层处理 + * + * @author yinjinlu + * @date 2022-07-14 + */ +@Service +public class WmIssueLineServiceImpl implements IWmIssueLineService +{ + @Autowired + private WmIssueLineMapper wmIssueLineMapper; + + /** + * 查询生产领料单行 + * + * @param lineId 生产领料单行主键 + * @return 生产领料单行 + */ + @Override + public WmIssueLine selectWmIssueLineByLineId(Long lineId) + { + return wmIssueLineMapper.selectWmIssueLineByLineId(lineId); + } + + /** + * 查询生产领料单行列表 + * + * @param wmIssueLine 生产领料单行 + * @return 生产领料单行 + */ + @Override + public List selectWmIssueLineList(WmIssueLine wmIssueLine) + { + return wmIssueLineMapper.selectWmIssueLineList(wmIssueLine); + } + + /** + * 新增生产领料单行 + * + * @param wmIssueLine 生产领料单行 + * @return 结果 + */ + @Override + public int insertWmIssueLine(WmIssueLine wmIssueLine) + { + wmIssueLine.setCreateTime(DateUtils.getNowDate()); + return wmIssueLineMapper.insertWmIssueLine(wmIssueLine); + } + + /** + * 修改生产领料单行 + * + * @param wmIssueLine 生产领料单行 + * @return 结果 + */ + @Override + public int updateWmIssueLine(WmIssueLine wmIssueLine) + { + wmIssueLine.setUpdateTime(DateUtils.getNowDate()); + return wmIssueLineMapper.updateWmIssueLine(wmIssueLine); + } + + /** + * 批量删除生产领料单行 + * + * @param lineIds 需要删除的生产领料单行主键 + * @return 结果 + */ + @Override + public int deleteWmIssueLineByLineIds(Long[] lineIds) + { + return wmIssueLineMapper.deleteWmIssueLineByLineIds(lineIds); + } + + /** + * 删除生产领料单行信息 + * + * @param lineId 生产领料单行主键 + * @return 结果 + */ + @Override + public int deleteWmIssueLineByLineId(Long lineId) + { + return wmIssueLineMapper.deleteWmIssueLineByLineId(lineId); + } + + @Override + public int deleteByIssueHeaderId(Long issueId) { + return wmIssueLineMapper.deleteByIssueHeaderId(issueId); + } +} diff --git a/ktg-mes/src/main/resources/mapper/wm/WmIssueHeaderMapper.xml b/ktg-mes/src/main/resources/mapper/wm/WmIssueHeaderMapper.xml new file mode 100644 index 0000000..7b2d942 --- /dev/null +++ b/ktg-mes/src/main/resources/mapper/wm/WmIssueHeaderMapper.xml @@ -0,0 +1,187 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select issue_id, issue_code, issue_name, workstation_id, workstation_code, workorder_id, workorder_code, task_id, task_code, warehouse_id, warehouse_code, warehouse_name, location_id, location_code, location_name, area_id, area_code, area_name, issue_date, status, remark, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time from wm_issue_header + + + + + + + + + + insert into wm_issue_header + + issue_code, + issue_name, + workstation_id, + workstation_code, + workorder_id, + workorder_code, + task_id, + task_code, + warehouse_id, + warehouse_code, + warehouse_name, + location_id, + location_code, + location_name, + area_id, + area_code, + area_name, + issue_date, + status, + remark, + attr1, + attr2, + attr3, + attr4, + create_by, + create_time, + update_by, + update_time, + + + #{issueCode}, + #{issueName}, + #{workstationId}, + #{workstationCode}, + #{workorderId}, + #{workorderCode}, + #{taskId}, + #{taskCode}, + #{warehouseId}, + #{warehouseCode}, + #{warehouseName}, + #{locationId}, + #{locationCode}, + #{locationName}, + #{areaId}, + #{areaCode}, + #{areaName}, + #{issueDate}, + #{status}, + #{remark}, + #{attr1}, + #{attr2}, + #{attr3}, + #{attr4}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + + + + + update wm_issue_header + + issue_code = #{issueCode}, + issue_name = #{issueName}, + workstation_id = #{workstationId}, + workstation_code = #{workstationCode}, + workorder_id = #{workorderId}, + workorder_code = #{workorderCode}, + task_id = #{taskId}, + task_code = #{taskCode}, + warehouse_id = #{warehouseId}, + warehouse_code = #{warehouseCode}, + warehouse_name = #{warehouseName}, + location_id = #{locationId}, + location_code = #{locationCode}, + location_name = #{locationName}, + area_id = #{areaId}, + area_code = #{areaCode}, + area_name = #{areaName}, + issue_date = #{issueDate}, + status = #{status}, + remark = #{remark}, + attr1 = #{attr1}, + attr2 = #{attr2}, + attr3 = #{attr3}, + attr4 = #{attr4}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + where issue_id = #{issueId} + + + + delete from wm_issue_header where issue_id = #{issueId} + + + + delete from wm_issue_header where issue_id in + + #{issueId} + + + \ No newline at end of file diff --git a/ktg-mes/src/main/resources/mapper/wm/WmIssueLineMapper.xml b/ktg-mes/src/main/resources/mapper/wm/WmIssueLineMapper.xml new file mode 100644 index 0000000..b03374c --- /dev/null +++ b/ktg-mes/src/main/resources/mapper/wm/WmIssueLineMapper.xml @@ -0,0 +1,177 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select line_id, issue_id, item_id, item_code, item_name, specification, unit_of_measure, quantity_issued, batch_code, warehouse_id, warehouse_code, warehouse_name, location_id, location_code, location_name, area_id, area_code, area_name, remark, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time from wm_issue_line + + + + + + + + insert into wm_issue_line + + issue_id, + item_id, + item_code, + item_name, + specification, + unit_of_measure, + quantity_issued, + batch_code, + warehouse_id, + warehouse_code, + warehouse_name, + location_id, + location_code, + location_name, + area_id, + area_code, + area_name, + remark, + attr1, + attr2, + attr3, + attr4, + create_by, + create_time, + update_by, + update_time, + + + #{issueId}, + #{itemId}, + #{itemCode}, + #{itemName}, + #{specification}, + #{unitOfMeasure}, + #{quantityIssued}, + #{batchCode}, + #{warehouseId}, + #{warehouseCode}, + #{warehouseName}, + #{locationId}, + #{locationCode}, + #{locationName}, + #{areaId}, + #{areaCode}, + #{areaName}, + #{remark}, + #{attr1}, + #{attr2}, + #{attr3}, + #{attr4}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + + + + + update wm_issue_line + + issue_id = #{issueId}, + item_id = #{itemId}, + item_code = #{itemCode}, + item_name = #{itemName}, + specification = #{specification}, + unit_of_measure = #{unitOfMeasure}, + quantity_issued = #{quantityIssued}, + batch_code = #{batchCode}, + warehouse_id = #{warehouseId}, + warehouse_code = #{warehouseCode}, + warehouse_name = #{warehouseName}, + location_id = #{locationId}, + location_code = #{locationCode}, + location_name = #{locationName}, + area_id = #{areaId}, + area_code = #{areaCode}, + area_name = #{areaName}, + remark = #{remark}, + attr1 = #{attr1}, + attr2 = #{attr2}, + attr3 = #{attr3}, + attr4 = #{attr4}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + where line_id = #{lineId} + + + + delete from wm_issue_line where line_id = #{lineId} + + + + delete from wm_issue_line where line_id in + + #{lineId} + + + + + delete from wm_issue_line where issue_id = #{issueId} + + + \ No newline at end of file