生产领料后端代码

This commit is contained in:
JinLu.Yin
2022-07-14 22:07:19 +08:00
parent 371afa1ed5
commit b0259439ca
14 changed files with 1832 additions and 0 deletions

View File

@@ -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<WmIssueHeader> 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<WmIssueHeader> list = wmIssueHeaderService.selectWmIssueHeaderList(wmIssueHeader);
ExcelUtil<WmIssueHeader> util = new ExcelUtil<WmIssueHeader>(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));
}
}

View File

@@ -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<WmIssueLine> 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<WmIssueLine> list = wmIssueLineService.selectWmIssueLineList(wmIssueLine);
ExcelUtil<WmIssueLine> util = new ExcelUtil<WmIssueLine>(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));
}
}

View File

@@ -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();
}
}

View File

@@ -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();
}
}

View File

@@ -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<WmIssueHeader> 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);
}

View File

@@ -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<WmIssueLine> 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);
}

View File

@@ -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<WmIssueHeader> 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);
}

View File

@@ -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<WmIssueLine> 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);
}

View File

@@ -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<WmIssueHeader> 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);
}
}

View File

@@ -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<WmIssueLine> 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);
}
}

View File

@@ -0,0 +1,187 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ktg.mes.wm.mapper.WmIssueHeaderMapper">
<resultMap type="WmIssueHeader" id="WmIssueHeaderResult">
<result property="issueId" column="issue_id" />
<result property="issueCode" column="issue_code" />
<result property="issueName" column="issue_name" />
<result property="workstationId" column="workstation_id" />
<result property="workstationCode" column="workstation_code" />
<result property="workorderId" column="workorder_id" />
<result property="workorderCode" column="workorder_code" />
<result property="taskId" column="task_id" />
<result property="taskCode" column="task_code" />
<result property="warehouseId" column="warehouse_id" />
<result property="warehouseCode" column="warehouse_code" />
<result property="warehouseName" column="warehouse_name" />
<result property="locationId" column="location_id" />
<result property="locationCode" column="location_code" />
<result property="locationName" column="location_name" />
<result property="areaId" column="area_id" />
<result property="areaCode" column="area_code" />
<result property="areaName" column="area_name" />
<result property="issueDate" column="issue_date" />
<result property="status" column="status" />
<result property="remark" column="remark" />
<result property="attr1" column="attr1" />
<result property="attr2" column="attr2" />
<result property="attr3" column="attr3" />
<result property="attr4" column="attr4" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
</resultMap>
<sql id="selectWmIssueHeaderVo">
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
</sql>
<select id="selectWmIssueHeaderList" parameterType="WmIssueHeader" resultMap="WmIssueHeaderResult">
<include refid="selectWmIssueHeaderVo"/>
<where>
<if test="issueCode != null and issueCode != ''"> and issue_code = #{issueCode}</if>
<if test="issueName != null and issueName != ''"> and issue_name like concat('%', #{issueName}, '%')</if>
<if test="workstationId != null "> and workstation_id = #{workstationId}</if>
<if test="workstationCode != null and workstationCode != ''"> and workstation_code = #{workstationCode}</if>
<if test="workorderId != null "> and workorder_id = #{workorderId}</if>
<if test="workorderCode != null and workorderCode != ''"> and workorder_code = #{workorderCode}</if>
<if test="taskId != null "> and task_id = #{taskId}</if>
<if test="taskCode != null and taskCode != ''"> and task_code = #{taskCode}</if>
<if test="warehouseId != null "> and warehouse_id = #{warehouseId}</if>
<if test="warehouseCode != null and warehouseCode != ''"> and warehouse_code = #{warehouseCode}</if>
<if test="warehouseName != null and warehouseName != ''"> and warehouse_name like concat('%', #{warehouseName}, '%')</if>
<if test="locationId != null "> and location_id = #{locationId}</if>
<if test="locationCode != null and locationCode != ''"> and location_code = #{locationCode}</if>
<if test="locationName != null and locationName != ''"> and location_name like concat('%', #{locationName}, '%')</if>
<if test="areaId != null "> and area_id = #{areaId}</if>
<if test="areaCode != null and areaCode != ''"> and area_code = #{areaCode}</if>
<if test="areaName != null and areaName != ''"> and area_name like concat('%', #{areaName}, '%')</if>
<if test="issueDate != null "> and issue_date = #{issueDate}</if>
<if test="status != null and status != ''"> and status = #{status}</if>
</where>
</select>
<select id="selectWmIssueHeaderByIssueId" parameterType="Long" resultMap="WmIssueHeaderResult">
<include refid="selectWmIssueHeaderVo"/>
where issue_id = #{issueId}
</select>
<select id="checkIssueCodeUnique" parameterType="WmIssueHeader" resultMap="WmIssueHeaderResult">
<include refid="selectWmIssueHeaderVo"/>
where issue_code = #{issueCode} limit 1
</select>
<insert id="insertWmIssueHeader" parameterType="WmIssueHeader" useGeneratedKeys="true" keyProperty="issueId">
insert into wm_issue_header
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="issueCode != null and issueCode != ''">issue_code,</if>
<if test="issueName != null and issueName != ''">issue_name,</if>
<if test="workstationId != null">workstation_id,</if>
<if test="workstationCode != null">workstation_code,</if>
<if test="workorderId != null">workorder_id,</if>
<if test="workorderCode != null">workorder_code,</if>
<if test="taskId != null">task_id,</if>
<if test="taskCode != null">task_code,</if>
<if test="warehouseId != null">warehouse_id,</if>
<if test="warehouseCode != null">warehouse_code,</if>
<if test="warehouseName != null">warehouse_name,</if>
<if test="locationId != null">location_id,</if>
<if test="locationCode != null">location_code,</if>
<if test="locationName != null">location_name,</if>
<if test="areaId != null">area_id,</if>
<if test="areaCode != null">area_code,</if>
<if test="areaName != null">area_name,</if>
<if test="issueDate != null">issue_date,</if>
<if test="status != null">status,</if>
<if test="remark != null">remark,</if>
<if test="attr1 != null">attr1,</if>
<if test="attr2 != null">attr2,</if>
<if test="attr3 != null">attr3,</if>
<if test="attr4 != null">attr4,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
<if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="issueCode != null and issueCode != ''">#{issueCode},</if>
<if test="issueName != null and issueName != ''">#{issueName},</if>
<if test="workstationId != null">#{workstationId},</if>
<if test="workstationCode != null">#{workstationCode},</if>
<if test="workorderId != null">#{workorderId},</if>
<if test="workorderCode != null">#{workorderCode},</if>
<if test="taskId != null">#{taskId},</if>
<if test="taskCode != null">#{taskCode},</if>
<if test="warehouseId != null">#{warehouseId},</if>
<if test="warehouseCode != null">#{warehouseCode},</if>
<if test="warehouseName != null">#{warehouseName},</if>
<if test="locationId != null">#{locationId},</if>
<if test="locationCode != null">#{locationCode},</if>
<if test="locationName != null">#{locationName},</if>
<if test="areaId != null">#{areaId},</if>
<if test="areaCode != null">#{areaCode},</if>
<if test="areaName != null">#{areaName},</if>
<if test="issueDate != null">#{issueDate},</if>
<if test="status != null">#{status},</if>
<if test="remark != null">#{remark},</if>
<if test="attr1 != null">#{attr1},</if>
<if test="attr2 != null">#{attr2},</if>
<if test="attr3 != null">#{attr3},</if>
<if test="attr4 != null">#{attr4},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if>
</trim>
</insert>
<update id="updateWmIssueHeader" parameterType="WmIssueHeader">
update wm_issue_header
<trim prefix="SET" suffixOverrides=",">
<if test="issueCode != null and issueCode != ''">issue_code = #{issueCode},</if>
<if test="issueName != null and issueName != ''">issue_name = #{issueName},</if>
<if test="workstationId != null">workstation_id = #{workstationId},</if>
<if test="workstationCode != null">workstation_code = #{workstationCode},</if>
<if test="workorderId != null">workorder_id = #{workorderId},</if>
<if test="workorderCode != null">workorder_code = #{workorderCode},</if>
<if test="taskId != null">task_id = #{taskId},</if>
<if test="taskCode != null">task_code = #{taskCode},</if>
<if test="warehouseId != null">warehouse_id = #{warehouseId},</if>
<if test="warehouseCode != null">warehouse_code = #{warehouseCode},</if>
<if test="warehouseName != null">warehouse_name = #{warehouseName},</if>
<if test="locationId != null">location_id = #{locationId},</if>
<if test="locationCode != null">location_code = #{locationCode},</if>
<if test="locationName != null">location_name = #{locationName},</if>
<if test="areaId != null">area_id = #{areaId},</if>
<if test="areaCode != null">area_code = #{areaCode},</if>
<if test="areaName != null">area_name = #{areaName},</if>
<if test="issueDate != null">issue_date = #{issueDate},</if>
<if test="status != null">status = #{status},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="attr1 != null">attr1 = #{attr1},</if>
<if test="attr2 != null">attr2 = #{attr2},</if>
<if test="attr3 != null">attr3 = #{attr3},</if>
<if test="attr4 != null">attr4 = #{attr4},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
</trim>
where issue_id = #{issueId}
</update>
<delete id="deleteWmIssueHeaderByIssueId" parameterType="Long">
delete from wm_issue_header where issue_id = #{issueId}
</delete>
<delete id="deleteWmIssueHeaderByIssueIds" parameterType="String">
delete from wm_issue_header where issue_id in
<foreach item="issueId" collection="array" open="(" separator="," close=")">
#{issueId}
</foreach>
</delete>
</mapper>

View File

@@ -0,0 +1,177 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ktg.mes.wm.mapper.WmIssueLineMapper">
<resultMap type="WmIssueLine" id="WmIssueLineResult">
<result property="lineId" column="line_id" />
<result property="issueId" column="issue_id" />
<result property="itemId" column="item_id" />
<result property="itemCode" column="item_code" />
<result property="itemName" column="item_name" />
<result property="specification" column="specification" />
<result property="unitOfMeasure" column="unit_of_measure" />
<result property="quantityIssued" column="quantity_issued" />
<result property="batchCode" column="batch_code" />
<result property="warehouseId" column="warehouse_id" />
<result property="warehouseCode" column="warehouse_code" />
<result property="warehouseName" column="warehouse_name" />
<result property="locationId" column="location_id" />
<result property="locationCode" column="location_code" />
<result property="locationName" column="location_name" />
<result property="areaId" column="area_id" />
<result property="areaCode" column="area_code" />
<result property="areaName" column="area_name" />
<result property="remark" column="remark" />
<result property="attr1" column="attr1" />
<result property="attr2" column="attr2" />
<result property="attr3" column="attr3" />
<result property="attr4" column="attr4" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
</resultMap>
<sql id="selectWmIssueLineVo">
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
</sql>
<select id="selectWmIssueLineList" parameterType="WmIssueLine" resultMap="WmIssueLineResult">
<include refid="selectWmIssueLineVo"/>
<where>
<if test="issueId != null "> and issue_id = #{issueId}</if>
<if test="itemId != null "> and item_id = #{itemId}</if>
<if test="itemCode != null and itemCode != ''"> and item_code = #{itemCode}</if>
<if test="itemName != null and itemName != ''"> and item_name like concat('%', #{itemName}, '%')</if>
<if test="specification != null and specification != ''"> and specification = #{specification}</if>
<if test="unitOfMeasure != null and unitOfMeasure != ''"> and unit_of_measure = #{unitOfMeasure}</if>
<if test="quantityIssued != null "> and quantity_issued = #{quantityIssued}</if>
<if test="batchCode != null and batchCode != ''"> and batch_code = #{batchCode}</if>
<if test="warehouseId != null "> and warehouse_id = #{warehouseId}</if>
<if test="warehouseCode != null and warehouseCode != ''"> and warehouse_code = #{warehouseCode}</if>
<if test="warehouseName != null and warehouseName != ''"> and warehouse_name like concat('%', #{warehouseName}, '%')</if>
<if test="locationId != null "> and location_id = #{locationId}</if>
<if test="locationCode != null and locationCode != ''"> and location_code = #{locationCode}</if>
<if test="locationName != null and locationName != ''"> and location_name like concat('%', #{locationName}, '%')</if>
<if test="areaId != null "> and area_id = #{areaId}</if>
<if test="areaCode != null and areaCode != ''"> and area_code = #{areaCode}</if>
<if test="areaName != null and areaName != ''"> and area_name like concat('%', #{areaName}, '%')</if>
</where>
</select>
<select id="selectWmIssueLineByLineId" parameterType="Long" resultMap="WmIssueLineResult">
<include refid="selectWmIssueLineVo"/>
where line_id = #{lineId}
</select>
<insert id="insertWmIssueLine" parameterType="WmIssueLine" useGeneratedKeys="true" keyProperty="lineId">
insert into wm_issue_line
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="issueId != null">issue_id,</if>
<if test="itemId != null">item_id,</if>
<if test="itemCode != null">item_code,</if>
<if test="itemName != null">item_name,</if>
<if test="specification != null">specification,</if>
<if test="unitOfMeasure != null">unit_of_measure,</if>
<if test="quantityIssued != null">quantity_issued,</if>
<if test="batchCode != null">batch_code,</if>
<if test="warehouseId != null">warehouse_id,</if>
<if test="warehouseCode != null">warehouse_code,</if>
<if test="warehouseName != null">warehouse_name,</if>
<if test="locationId != null">location_id,</if>
<if test="locationCode != null">location_code,</if>
<if test="locationName != null">location_name,</if>
<if test="areaId != null">area_id,</if>
<if test="areaCode != null">area_code,</if>
<if test="areaName != null">area_name,</if>
<if test="remark != null">remark,</if>
<if test="attr1 != null">attr1,</if>
<if test="attr2 != null">attr2,</if>
<if test="attr3 != null">attr3,</if>
<if test="attr4 != null">attr4,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
<if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="issueId != null">#{issueId},</if>
<if test="itemId != null">#{itemId},</if>
<if test="itemCode != null">#{itemCode},</if>
<if test="itemName != null">#{itemName},</if>
<if test="specification != null">#{specification},</if>
<if test="unitOfMeasure != null">#{unitOfMeasure},</if>
<if test="quantityIssued != null">#{quantityIssued},</if>
<if test="batchCode != null">#{batchCode},</if>
<if test="warehouseId != null">#{warehouseId},</if>
<if test="warehouseCode != null">#{warehouseCode},</if>
<if test="warehouseName != null">#{warehouseName},</if>
<if test="locationId != null">#{locationId},</if>
<if test="locationCode != null">#{locationCode},</if>
<if test="locationName != null">#{locationName},</if>
<if test="areaId != null">#{areaId},</if>
<if test="areaCode != null">#{areaCode},</if>
<if test="areaName != null">#{areaName},</if>
<if test="remark != null">#{remark},</if>
<if test="attr1 != null">#{attr1},</if>
<if test="attr2 != null">#{attr2},</if>
<if test="attr3 != null">#{attr3},</if>
<if test="attr4 != null">#{attr4},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if>
</trim>
</insert>
<update id="updateWmIssueLine" parameterType="WmIssueLine">
update wm_issue_line
<trim prefix="SET" suffixOverrides=",">
<if test="issueId != null">issue_id = #{issueId},</if>
<if test="itemId != null">item_id = #{itemId},</if>
<if test="itemCode != null">item_code = #{itemCode},</if>
<if test="itemName != null">item_name = #{itemName},</if>
<if test="specification != null">specification = #{specification},</if>
<if test="unitOfMeasure != null">unit_of_measure = #{unitOfMeasure},</if>
<if test="quantityIssued != null">quantity_issued = #{quantityIssued},</if>
<if test="batchCode != null">batch_code = #{batchCode},</if>
<if test="warehouseId != null">warehouse_id = #{warehouseId},</if>
<if test="warehouseCode != null">warehouse_code = #{warehouseCode},</if>
<if test="warehouseName != null">warehouse_name = #{warehouseName},</if>
<if test="locationId != null">location_id = #{locationId},</if>
<if test="locationCode != null">location_code = #{locationCode},</if>
<if test="locationName != null">location_name = #{locationName},</if>
<if test="areaId != null">area_id = #{areaId},</if>
<if test="areaCode != null">area_code = #{areaCode},</if>
<if test="areaName != null">area_name = #{areaName},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="attr1 != null">attr1 = #{attr1},</if>
<if test="attr2 != null">attr2 = #{attr2},</if>
<if test="attr3 != null">attr3 = #{attr3},</if>
<if test="attr4 != null">attr4 = #{attr4},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
</trim>
where line_id = #{lineId}
</update>
<delete id="deleteWmIssueLineByLineId" parameterType="Long">
delete from wm_issue_line where line_id = #{lineId}
</delete>
<delete id="deleteWmIssueLineByLineIds" parameterType="String">
delete from wm_issue_line where line_id in
<foreach item="lineId" collection="array" open="(" separator="," close=")">
#{lineId}
</foreach>
</delete>
<delete id="deleteByIssueHeaderId" parameterType="Long">
delete from wm_issue_line where issue_id = #{issueId}
</delete>
</mapper>