diff --git a/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/controller/InStockinController.java b/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/controller/InStockinController.java new file mode 100644 index 0000000..0e2b9a0 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/controller/InStockinController.java @@ -0,0 +1,104 @@ +package com.ruoyi.in.stockin.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.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.in.stockin.domain.InStockin; +import com.ruoyi.in.stockin.service.IInStockinService; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.core.page.TableDataInfo; + +/** + * 入库单据Controller + * + * @author ruoyi + * @date 2025-05-20 + */ +@RestController +@RequestMapping("/in/stockIn") +public class InStockinController extends BaseController +{ + @Autowired + private IInStockinService inStockinService; + + /** + * 查询入库单据列表 + */ + @PreAuthorize("@ss.hasPermi('in:stockIn:list')") + @GetMapping("/list") + public TableDataInfo list(InStockin inStockin) + { + startPage(); + List list = inStockinService.selectInStockinList(inStockin); + return getDataTable(list); + } + + /** + * 导出入库单据列表 + */ + @PreAuthorize("@ss.hasPermi('in:stockIn:export')") + @Log(title = "入库单据", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, InStockin inStockin) + { + List list = inStockinService.selectInStockinList(inStockin); + ExcelUtil util = new ExcelUtil(InStockin.class); + util.exportExcel(response, list, "入库单据数据"); + } + + /** + * 获取入库单据详细信息 + */ + @PreAuthorize("@ss.hasPermi('in:stockIn:query')") + @GetMapping(value = "/{stockinGuid}") + public AjaxResult getInfo(@PathVariable("stockinGuid") String stockinGuid) + { + return success(inStockinService.selectInStockinByStockinGuid(stockinGuid)); + } + + /** + * 新增入库单据 + */ + @PreAuthorize("@ss.hasPermi('in:stockIn:add')") + @Log(title = "入库单据", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody InStockin inStockin) + { + return toAjax(inStockinService.insertInStockin(inStockin)); + } + + /** + * 修改入库单据 + */ + @PreAuthorize("@ss.hasPermi('in:stockIn:edit')") + @Log(title = "入库单据", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody InStockin inStockin) + { + return toAjax(inStockinService.updateInStockin(inStockin)); + } + + /** + * 删除入库单据 + */ + @PreAuthorize("@ss.hasPermi('in:stockIn:remove')") + @Log(title = "入库单据", businessType = BusinessType.DELETE) + @DeleteMapping("/{stockinGuids}") + public AjaxResult remove(@PathVariable String[] stockinGuids) + { + return toAjax(inStockinService.deleteInStockinByStockinGuids(stockinGuids)); + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/domain/InStockin.java b/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/domain/InStockin.java new file mode 100644 index 0000000..a9eedb0 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/domain/InStockin.java @@ -0,0 +1,307 @@ +package com.ruoyi.in.stockin.domain; + +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 入库单据对象 in_stockin + * + * @author ruoyi + * @date 2025-05-20 + */ +public class InStockin extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** GUID */ + private String stockinGuid; + + /** 入库订单ID */ + @Excel(name = "入库订单ID") + private String stockinId; + + /** 入库类型 */ + @Excel(name = "入库类型") + private String inType; + + /** 建立时间 */ + @Excel(name = "建立时间") + private String createDate; + + /** 创建人 */ + @Excel(name = "创建人") + private String createManId; + + /** 单据状态 */ + @Excel(name = "单据状态") + private String status; + + /** 仓库ID */ + @Excel(name = "仓库ID") + private String warehouseId; + + /** 完成日期 */ + @Excel(name = " 完成日期") + private String finishDate; + + /** erp单号 */ + @Excel(name = "erp单号") + private String erpBill; + + /** 单据来源 */ + @Excel(name = "单据来源") + private String stockSource; + + /** 部门编码 */ + @Excel(name = "部门编码") + private String departmentNo; + + /** 客户编码 */ + @Excel(name = "客户编码") + private String customerNo; + + /** 班组编码 */ + @Excel(name = "班组编码") + private String classNo; + + /** 供应商编码 */ + @Excel(name = "供应商编码") + private String supplierNo; + + /** 备用字段1 */ + @Excel(name = "备用字段1") + private String spare1; + + /** 备用字段2 */ + @Excel(name = "备用字段2") + private String spare2; + + /** 备用字段4 */ + @Excel(name = "备用字段4") + private String spare4; + + /** 备用字段3 */ + @Excel(name = "备用字段3") + private String spare3; + + /** 备用字段5 */ + @Excel(name = "备用字段5") + private String spare5; + + public void setStockinGuid(String stockinGuid) + { + this.stockinGuid = stockinGuid; + } + + public String getStockinGuid() + { + return stockinGuid; + } + + public void setStockinId(String stockinId) + { + this.stockinId = stockinId; + } + + public String getStockinId() + { + return stockinId; + } + + public void setInType(String inType) + { + this.inType = inType; + } + + public String getInType() + { + return inType; + } + + public void setCreateDate(String createDate) + { + this.createDate = createDate; + } + + public String getCreateDate() + { + return createDate; + } + + public void setCreateManId(String createManId) + { + this.createManId = createManId; + } + + public String getCreateManId() + { + return createManId; + } + + public void setStatus(String status) + { + this.status = status; + } + + public String getStatus() + { + return status; + } + + public void setWarehouseId(String warehouseId) + { + this.warehouseId = warehouseId; + } + + public String getWarehouseId() + { + return warehouseId; + } + + public void setFinishDate(String finishDate) + { + this.finishDate = finishDate; + } + + public String getFinishDate() + { + return finishDate; + } + + public void setErpBill(String erpBill) + { + this.erpBill = erpBill; + } + + public String getErpBill() + { + return erpBill; + } + + public void setStockSource(String stockSource) + { + this.stockSource = stockSource; + } + + public String getStockSource() + { + return stockSource; + } + + public void setDepartmentNo(String departmentNo) + { + this.departmentNo = departmentNo; + } + + public String getDepartmentNo() + { + return departmentNo; + } + + public void setCustomerNo(String customerNo) + { + this.customerNo = customerNo; + } + + public String getCustomerNo() + { + return customerNo; + } + + public void setClassNo(String classNo) + { + this.classNo = classNo; + } + + public String getClassNo() + { + return classNo; + } + + public void setSupplierNo(String supplierNo) + { + this.supplierNo = supplierNo; + } + + public String getSupplierNo() + { + return supplierNo; + } + + public void setSpare1(String spare1) + { + this.spare1 = spare1; + } + + public String getSpare1() + { + return spare1; + } + + public void setSpare2(String spare2) + { + this.spare2 = spare2; + } + + public String getSpare2() + { + return spare2; + } + + public void setSpare4(String spare4) + { + this.spare4 = spare4; + } + + public String getSpare4() + { + return spare4; + } + + public void setSpare3(String spare3) + { + this.spare3 = spare3; + } + + public String getSpare3() + { + return spare3; + } + + public void setSpare5(String spare5) + { + this.spare5 = spare5; + } + + public String getSpare5() + { + return spare5; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("stockinGuid", getStockinGuid()) + .append("stockinId", getStockinId()) + .append("inType", getInType()) + .append("createDate", getCreateDate()) + .append("createManId", getCreateManId()) + .append("status", getStatus()) + .append("warehouseId", getWarehouseId()) + .append("finishDate", getFinishDate()) + .append("erpBill", getErpBill()) + .append("stockSource", getStockSource()) + .append("departmentNo", getDepartmentNo()) + .append("customerNo", getCustomerNo()) + .append("classNo", getClassNo()) + .append("supplierNo", getSupplierNo()) + .append("spare1", getSpare1()) + .append("spare2", getSpare2()) + .append("spare4", getSpare4()) + .append("spare3", getSpare3()) + .append("spare5", getSpare5()) + .toString(); + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/mapper/InStockinMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/mapper/InStockinMapper.java new file mode 100644 index 0000000..b996f06 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/mapper/InStockinMapper.java @@ -0,0 +1,61 @@ +package com.ruoyi.in.stockin.mapper; + +import java.util.List; +import com.ruoyi.in.stockin.domain.InStockin; + +/** + * 入库单据Mapper接口 + * + * @author ruoyi + * @date 2025-05-20 + */ +public interface InStockinMapper +{ + /** + * 查询入库单据 + * + * @param stockinGuid 入库单据主键 + * @return 入库单据 + */ + public InStockin selectInStockinByStockinGuid(String stockinGuid); + + /** + * 查询入库单据列表 + * + * @param inStockin 入库单据 + * @return 入库单据集合 + */ + public List selectInStockinList(InStockin inStockin); + + /** + * 新增入库单据 + * + * @param inStockin 入库单据 + * @return 结果 + */ + public int insertInStockin(InStockin inStockin); + + /** + * 修改入库单据 + * + * @param inStockin 入库单据 + * @return 结果 + */ + public int updateInStockin(InStockin inStockin); + + /** + * 删除入库单据 + * + * @param stockinGuid 入库单据主键 + * @return 结果 + */ + public int deleteInStockinByStockinGuid(String stockinGuid); + + /** + * 批量删除入库单据 + * + * @param stockinGuids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteInStockinByStockinGuids(String[] stockinGuids); +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/service/IInStockinService.java b/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/service/IInStockinService.java new file mode 100644 index 0000000..7d61b03 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/service/IInStockinService.java @@ -0,0 +1,61 @@ +package com.ruoyi.in.stockin.service; + +import java.util.List; +import com.ruoyi.in.stockin.domain.InStockin; + +/** + * 入库单据Service接口 + * + * @author ruoyi + * @date 2025-05-20 + */ +public interface IInStockinService +{ + /** + * 查询入库单据 + * + * @param stockinGuid 入库单据主键 + * @return 入库单据 + */ + public InStockin selectInStockinByStockinGuid(String stockinGuid); + + /** + * 查询入库单据列表 + * + * @param inStockin 入库单据 + * @return 入库单据集合 + */ + public List selectInStockinList(InStockin inStockin); + + /** + * 新增入库单据 + * + * @param inStockin 入库单据 + * @return 结果 + */ + public int insertInStockin(InStockin inStockin); + + /** + * 修改入库单据 + * + * @param inStockin 入库单据 + * @return 结果 + */ + public int updateInStockin(InStockin inStockin); + + /** + * 批量删除入库单据 + * + * @param stockinGuids 需要删除的入库单据主键集合 + * @return 结果 + */ + public int deleteInStockinByStockinGuids(String[] stockinGuids); + + /** + * 删除入库单据信息 + * + * @param stockinGuid 入库单据主键 + * @return 结果 + */ + public int deleteInStockinByStockinGuid(String stockinGuid); +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/service/impl/InStockinServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/service/impl/InStockinServiceImpl.java new file mode 100644 index 0000000..07d2fe8 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/service/impl/InStockinServiceImpl.java @@ -0,0 +1,93 @@ +package com.ruoyi.in.stockin.service.impl; + +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ruoyi.in.stockin.mapper.InStockinMapper; +import com.ruoyi.in.stockin.domain.InStockin; +import com.ruoyi.in.stockin.service.IInStockinService; + +/** + * 入库单据Service业务层处理 + * + * @author ruoyi + * @date 2025-05-20 + */ +@Service +public class InStockinServiceImpl implements IInStockinService +{ + @Autowired + private InStockinMapper inStockinMapper; + + /** + * 查询入库单据 + * + * @param stockinGuid 入库单据主键 + * @return 入库单据 + */ + @Override + public InStockin selectInStockinByStockinGuid(String stockinGuid) + { + return inStockinMapper.selectInStockinByStockinGuid(stockinGuid); + } + + /** + * 查询入库单据列表 + * + * @param inStockin 入库单据 + * @return 入库单据 + */ + @Override + public List selectInStockinList(InStockin inStockin) + { + return inStockinMapper.selectInStockinList(inStockin); + } + + /** + * 新增入库单据 + * + * @param inStockin 入库单据 + * @return 结果 + */ + @Override + public int insertInStockin(InStockin inStockin) + { + return inStockinMapper.insertInStockin(inStockin); + } + + /** + * 修改入库单据 + * + * @param inStockin 入库单据 + * @return 结果 + */ + @Override + public int updateInStockin(InStockin inStockin) + { + return inStockinMapper.updateInStockin(inStockin); + } + + /** + * 批量删除入库单据 + * + * @param stockinGuids 需要删除的入库单据主键 + * @return 结果 + */ + @Override + public int deleteInStockinByStockinGuids(String[] stockinGuids) + { + return inStockinMapper.deleteInStockinByStockinGuids(stockinGuids); + } + + /** + * 删除入库单据信息 + * + * @param stockinGuid 入库单据主键 + * @return 结果 + */ + @Override + public int deleteInStockinByStockinGuid(String stockinGuid) + { + return inStockinMapper.deleteInStockinByStockinGuid(stockinGuid); + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/in/stockindetail/controller/InStockinDetailController.java b/ruoyi-admin/src/main/java/com/ruoyi/in/stockindetail/controller/InStockinDetailController.java new file mode 100644 index 0000000..f1d0f04 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/in/stockindetail/controller/InStockinDetailController.java @@ -0,0 +1,104 @@ +package com.ruoyi.in.stockindetail.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.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.in.stockindetail.domain.InStockinDetail; +import com.ruoyi.in.stockindetail.service.IInStockinDetailService; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.core.page.TableDataInfo; + +/** + * 入库单据子表Controller + * + * @author ruoyi + * @date 2025-05-20 + */ +@RestController +@RequestMapping("/in/stockInDetail") +public class InStockinDetailController extends BaseController +{ + @Autowired + private IInStockinDetailService inStockinDetailService; + + /** + * 查询入库单据子表列表 + */ + @PreAuthorize("@ss.hasPermi('in:stockInDetail:list')") + @GetMapping("/list") + public TableDataInfo list(InStockinDetail inStockinDetail) + { + startPage(); + List list = inStockinDetailService.selectInStockinDetailList(inStockinDetail); + return getDataTable(list); + } + + /** + * 导出入库单据子表列表 + */ + @PreAuthorize("@ss.hasPermi('in:stockInDetail:export')") + @Log(title = "入库单据子表", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, InStockinDetail inStockinDetail) + { + List list = inStockinDetailService.selectInStockinDetailList(inStockinDetail); + ExcelUtil util = new ExcelUtil(InStockinDetail.class); + util.exportExcel(response, list, "入库单据子表数据"); + } + + /** + * 获取入库单据子表详细信息 + */ + @PreAuthorize("@ss.hasPermi('in:stockInDetail:query')") + @GetMapping(value = "/{stockinDetailId}") + public AjaxResult getInfo(@PathVariable("stockinDetailId") String stockinDetailId) + { + return success(inStockinDetailService.selectInStockinDetailByStockinDetailId(stockinDetailId)); + } + + /** + * 新增入库单据子表 + */ + @PreAuthorize("@ss.hasPermi('in:stockInDetail:add')") + @Log(title = "入库单据子表", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody InStockinDetail inStockinDetail) + { + return toAjax(inStockinDetailService.insertInStockinDetail(inStockinDetail)); + } + + /** + * 修改入库单据子表 + */ + @PreAuthorize("@ss.hasPermi('in:stockInDetail:edit')") + @Log(title = "入库单据子表", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody InStockinDetail inStockinDetail) + { + return toAjax(inStockinDetailService.updateInStockinDetail(inStockinDetail)); + } + + /** + * 删除入库单据子表 + */ + @PreAuthorize("@ss.hasPermi('in:stockInDetail:remove')") + @Log(title = "入库单据子表", businessType = BusinessType.DELETE) + @DeleteMapping("/{stockinDetailIds}") + public AjaxResult remove(@PathVariable String[] stockinDetailIds) + { + return toAjax(inStockinDetailService.deleteInStockinDetailByStockinDetailIds(stockinDetailIds)); + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/in/stockindetail/domain/InStockinDetail.java b/ruoyi-admin/src/main/java/com/ruoyi/in/stockindetail/domain/InStockinDetail.java new file mode 100644 index 0000000..0c34cd7 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/in/stockindetail/domain/InStockinDetail.java @@ -0,0 +1,413 @@ +package com.ruoyi.in.stockindetail.domain; + +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 入库单据子表对象 in_stockin_detail + * + * @author ruoyi + * @date 2025-05-20 + */ +public class InStockinDetail extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 子单ID */ + private String stockinDetailId; + + /** 主单GUID */ + @Excel(name = "主单GUID") + private String stockinGuid; + + /** 主单ID */ + @Excel(name = "主单ID") + private String stockinId; + + /** 批次号 */ + @Excel(name = "批次号") + private String lotNo; + + /** 物料ID */ + @Excel(name = "物料ID") + private String productGuid; + + /** 物料编码 */ + @Excel(name = "物料编码") + private String productId; + + /** 计划数量 */ + @Excel(name = "计划数量") + private String quantity; + + /** 计划数量(箱) */ + @Excel(name = "计划数量(箱)") + private String quantityX; + + /** 计划数量(件) */ + @Excel(name = "计划数量(件)") + private String quantityJ; + + /** 参考单价 */ + @Excel(name = "参考单价") + private String price; + + /** 品牌 */ + @Excel(name = "品牌") + private String cargoNo; + + /** 实际数量 */ + @Excel(name = "实际数量") + private String assignNum; + + /** 实际数量(箱) */ + @Excel(name = "实际数量(箱)") + private String assignNumX; + + /** 实际数量(件) */ + @Excel(name = "实际数量(件)") + private String assignNumJ; + + /** 入库日期 */ + @Excel(name = "入库日期") + private String printDate; + + /** 单据状态 */ + @Excel(name = "单据状态") + private String stockStatus; + + /** 供应商编码 */ + @Excel(name = "供应商编码") + private String supplierId; + + /** 客户编码 */ + @Excel(name = "客户编码") + private String customerId; + + /** 单位 */ + @Excel(name = "单位") + private String unit; + + /** 规格 */ + @Excel(name = "规格") + private String spec; + + /** 备用字段1 */ + @Excel(name = "备用字段1") + private String spare1; + + /** 备用字段2 */ + @Excel(name = "备用字段2") + private String spare2; + + /** 备用字段3 */ + @Excel(name = "备用字段3") + private String spare3; + + /** 备用字段4 */ + @Excel(name = "备用字段4") + private String spare4; + + /** 备用字段5 */ + @Excel(name = "备用字段5") + private String spare5; + + /** 备用字段6 */ + @Excel(name = "备用字段6") + private String spare6; + + public void setStockinDetailId(String stockinDetailId) + { + this.stockinDetailId = stockinDetailId; + } + + public String getStockinDetailId() + { + return stockinDetailId; + } + + public void setStockinGuid(String stockinGuid) + { + this.stockinGuid = stockinGuid; + } + + public String getStockinGuid() + { + return stockinGuid; + } + + public void setStockinId(String stockinId) + { + this.stockinId = stockinId; + } + + public String getStockinId() + { + return stockinId; + } + + public void setLotNo(String lotNo) + { + this.lotNo = lotNo; + } + + public String getLotNo() + { + return lotNo; + } + + public void setProductGuid(String productGuid) + { + this.productGuid = productGuid; + } + + public String getProductGuid() + { + return productGuid; + } + + public void setProductId(String productId) + { + this.productId = productId; + } + + public String getProductId() + { + return productId; + } + + public void setQuantity(String quantity) + { + this.quantity = quantity; + } + + public String getQuantity() + { + return quantity; + } + + public void setQuantityX(String quantityX) + { + this.quantityX = quantityX; + } + + public String getQuantityX() + { + return quantityX; + } + + public void setQuantityJ(String quantityJ) + { + this.quantityJ = quantityJ; + } + + public String getQuantityJ() + { + return quantityJ; + } + + public void setPrice(String price) + { + this.price = price; + } + + public String getPrice() + { + return price; + } + + public void setCargoNo(String cargoNo) + { + this.cargoNo = cargoNo; + } + + public String getCargoNo() + { + return cargoNo; + } + + public void setAssignNum(String assignNum) + { + this.assignNum = assignNum; + } + + public String getAssignNum() + { + return assignNum; + } + + public void setAssignNumX(String assignNumX) + { + this.assignNumX = assignNumX; + } + + public String getAssignNumX() + { + return assignNumX; + } + + public void setAssignNumJ(String assignNumJ) + { + this.assignNumJ = assignNumJ; + } + + public String getAssignNumJ() + { + return assignNumJ; + } + + public void setPrintDate(String printDate) + { + this.printDate = printDate; + } + + public String getPrintDate() + { + return printDate; + } + + public void setStockStatus(String stockStatus) + { + this.stockStatus = stockStatus; + } + + public String getStockStatus() + { + return stockStatus; + } + + public void setSupplierId(String supplierId) + { + this.supplierId = supplierId; + } + + public String getSupplierId() + { + return supplierId; + } + + public void setCustomerId(String customerId) + { + this.customerId = customerId; + } + + public String getCustomerId() + { + return customerId; + } + + public void setUnit(String unit) + { + this.unit = unit; + } + + public String getUnit() + { + return unit; + } + + public void setSpec(String spec) + { + this.spec = spec; + } + + public String getSpec() + { + return spec; + } + + public void setSpare1(String spare1) + { + this.spare1 = spare1; + } + + public String getSpare1() + { + return spare1; + } + + public void setSpare2(String spare2) + { + this.spare2 = spare2; + } + + public String getSpare2() + { + return spare2; + } + + public void setSpare3(String spare3) + { + this.spare3 = spare3; + } + + public String getSpare3() + { + return spare3; + } + + public void setSpare4(String spare4) + { + this.spare4 = spare4; + } + + public String getSpare4() + { + return spare4; + } + + public void setSpare5(String spare5) + { + this.spare5 = spare5; + } + + public String getSpare5() + { + return spare5; + } + + public void setSpare6(String spare6) + { + this.spare6 = spare6; + } + + public String getSpare6() + { + return spare6; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("stockinDetailId", getStockinDetailId()) + .append("stockinGuid", getStockinGuid()) + .append("stockinId", getStockinId()) + .append("lotNo", getLotNo()) + .append("productGuid", getProductGuid()) + .append("productId", getProductId()) + .append("quantity", getQuantity()) + .append("quantityX", getQuantityX()) + .append("quantityJ", getQuantityJ()) + .append("price", getPrice()) + .append("cargoNo", getCargoNo()) + .append("remark", getRemark()) + .append("assignNum", getAssignNum()) + .append("assignNumX", getAssignNumX()) + .append("assignNumJ", getAssignNumJ()) + .append("printDate", getPrintDate()) + .append("stockStatus", getStockStatus()) + .append("supplierId", getSupplierId()) + .append("customerId", getCustomerId()) + .append("unit", getUnit()) + .append("spec", getSpec()) + .append("spare1", getSpare1()) + .append("spare2", getSpare2()) + .append("spare3", getSpare3()) + .append("spare4", getSpare4()) + .append("spare5", getSpare5()) + .append("spare6", getSpare6()) + .toString(); + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/in/stockindetail/mapper/InStockinDetailMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/in/stockindetail/mapper/InStockinDetailMapper.java new file mode 100644 index 0000000..0a03588 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/in/stockindetail/mapper/InStockinDetailMapper.java @@ -0,0 +1,61 @@ +package com.ruoyi.in.stockindetail.mapper; + +import java.util.List; +import com.ruoyi.in.stockindetail.domain.InStockinDetail; + +/** + * 入库单据子表Mapper接口 + * + * @author ruoyi + * @date 2025-05-20 + */ +public interface InStockinDetailMapper +{ + /** + * 查询入库单据子表 + * + * @param stockinDetailId 入库单据子表主键 + * @return 入库单据子表 + */ + public InStockinDetail selectInStockinDetailByStockinDetailId(String stockinDetailId); + + /** + * 查询入库单据子表列表 + * + * @param inStockinDetail 入库单据子表 + * @return 入库单据子表集合 + */ + public List selectInStockinDetailList(InStockinDetail inStockinDetail); + + /** + * 新增入库单据子表 + * + * @param inStockinDetail 入库单据子表 + * @return 结果 + */ + public int insertInStockinDetail(InStockinDetail inStockinDetail); + + /** + * 修改入库单据子表 + * + * @param inStockinDetail 入库单据子表 + * @return 结果 + */ + public int updateInStockinDetail(InStockinDetail inStockinDetail); + + /** + * 删除入库单据子表 + * + * @param stockinDetailId 入库单据子表主键 + * @return 结果 + */ + public int deleteInStockinDetailByStockinDetailId(String stockinDetailId); + + /** + * 批量删除入库单据子表 + * + * @param stockinDetailIds 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteInStockinDetailByStockinDetailIds(String[] stockinDetailIds); +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/in/stockindetail/service/IInStockinDetailService.java b/ruoyi-admin/src/main/java/com/ruoyi/in/stockindetail/service/IInStockinDetailService.java new file mode 100644 index 0000000..3c4706b --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/in/stockindetail/service/IInStockinDetailService.java @@ -0,0 +1,61 @@ +package com.ruoyi.in.stockindetail.service; + +import java.util.List; +import com.ruoyi.in.stockindetail.domain.InStockinDetail; + +/** + * 入库单据子表Service接口 + * + * @author ruoyi + * @date 2025-05-20 + */ +public interface IInStockinDetailService +{ + /** + * 查询入库单据子表 + * + * @param stockinDetailId 入库单据子表主键 + * @return 入库单据子表 + */ + public InStockinDetail selectInStockinDetailByStockinDetailId(String stockinDetailId); + + /** + * 查询入库单据子表列表 + * + * @param inStockinDetail 入库单据子表 + * @return 入库单据子表集合 + */ + public List selectInStockinDetailList(InStockinDetail inStockinDetail); + + /** + * 新增入库单据子表 + * + * @param inStockinDetail 入库单据子表 + * @return 结果 + */ + public int insertInStockinDetail(InStockinDetail inStockinDetail); + + /** + * 修改入库单据子表 + * + * @param inStockinDetail 入库单据子表 + * @return 结果 + */ + public int updateInStockinDetail(InStockinDetail inStockinDetail); + + /** + * 批量删除入库单据子表 + * + * @param stockinDetailIds 需要删除的入库单据子表主键集合 + * @return 结果 + */ + public int deleteInStockinDetailByStockinDetailIds(String[] stockinDetailIds); + + /** + * 删除入库单据子表信息 + * + * @param stockinDetailId 入库单据子表主键 + * @return 结果 + */ + public int deleteInStockinDetailByStockinDetailId(String stockinDetailId); +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/in/stockindetail/service/impl/InStockinDetailServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/in/stockindetail/service/impl/InStockinDetailServiceImpl.java new file mode 100644 index 0000000..83a7d0f --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/in/stockindetail/service/impl/InStockinDetailServiceImpl.java @@ -0,0 +1,93 @@ +package com.ruoyi.in.stockindetail.service.impl; + +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ruoyi.in.stockindetail.mapper.InStockinDetailMapper; +import com.ruoyi.in.stockindetail.domain.InStockinDetail; +import com.ruoyi.in.stockindetail.service.IInStockinDetailService; + +/** + * 入库单据子表Service业务层处理 + * + * @author ruoyi + * @date 2025-05-20 + */ +@Service +public class InStockinDetailServiceImpl implements IInStockinDetailService +{ + @Autowired + private InStockinDetailMapper inStockinDetailMapper; + + /** + * 查询入库单据子表 + * + * @param stockinDetailId 入库单据子表主键 + * @return 入库单据子表 + */ + @Override + public InStockinDetail selectInStockinDetailByStockinDetailId(String stockinDetailId) + { + return inStockinDetailMapper.selectInStockinDetailByStockinDetailId(stockinDetailId); + } + + /** + * 查询入库单据子表列表 + * + * @param inStockinDetail 入库单据子表 + * @return 入库单据子表 + */ + @Override + public List selectInStockinDetailList(InStockinDetail inStockinDetail) + { + return inStockinDetailMapper.selectInStockinDetailList(inStockinDetail); + } + + /** + * 新增入库单据子表 + * + * @param inStockinDetail 入库单据子表 + * @return 结果 + */ + @Override + public int insertInStockinDetail(InStockinDetail inStockinDetail) + { + return inStockinDetailMapper.insertInStockinDetail(inStockinDetail); + } + + /** + * 修改入库单据子表 + * + * @param inStockinDetail 入库单据子表 + * @return 结果 + */ + @Override + public int updateInStockinDetail(InStockinDetail inStockinDetail) + { + return inStockinDetailMapper.updateInStockinDetail(inStockinDetail); + } + + /** + * 批量删除入库单据子表 + * + * @param stockinDetailIds 需要删除的入库单据子表主键 + * @return 结果 + */ + @Override + public int deleteInStockinDetailByStockinDetailIds(String[] stockinDetailIds) + { + return inStockinDetailMapper.deleteInStockinDetailByStockinDetailIds(stockinDetailIds); + } + + /** + * 删除入库单据子表信息 + * + * @param stockinDetailId 入库单据子表主键 + * @return 结果 + */ + @Override + public int deleteInStockinDetailByStockinDetailId(String stockinDetailId) + { + return inStockinDetailMapper.deleteInStockinDetailByStockinDetailId(stockinDetailId); + } +} diff --git a/ruoyi-admin/src/main/resources/mapper/in/InStockinDetailMapper.xml b/ruoyi-admin/src/main/resources/mapper/in/InStockinDetailMapper.xml new file mode 100644 index 0000000..d3fcfb6 --- /dev/null +++ b/ruoyi-admin/src/main/resources/mapper/in/InStockinDetailMapper.xml @@ -0,0 +1,182 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select stockin_detail_id, stockin_guid, stockin_id, lot_no, product_guid, product_id, quantity, quantity_x, quantity_j, price, cargo_no, remark, assign_num, assign_num_x, assign_num_j, print_date, stock_status, supplier_id, customer_id, unit, spec, spare1, spare2, spare3, spare4, spare5, spare6 from in_stockin_detail + + + + + + + + insert into in_stockin_detail + + stockin_detail_id, + stockin_guid, + stockin_id, + lot_no, + product_guid, + product_id, + quantity, + quantity_x, + quantity_j, + price, + cargo_no, + remark, + assign_num, + assign_num_x, + assign_num_j, + print_date, + stock_status, + supplier_id, + customer_id, + unit, + spec, + spare1, + spare2, + spare3, + spare4, + spare5, + spare6, + + + #{stockinDetailId}, + #{stockinGuid}, + #{stockinId}, + #{lotNo}, + #{productGuid}, + #{productId}, + #{quantity}, + #{quantityX}, + #{quantityJ}, + #{price}, + #{cargoNo}, + #{remark}, + #{assignNum}, + #{assignNumX}, + #{assignNumJ}, + #{printDate}, + #{stockStatus}, + #{supplierId}, + #{customerId}, + #{unit}, + #{spec}, + #{spare1}, + #{spare2}, + #{spare3}, + #{spare4}, + #{spare5}, + #{spare6}, + + + + + update in_stockin_detail + + stockin_guid = #{stockinGuid}, + stockin_id = #{stockinId}, + lot_no = #{lotNo}, + product_guid = #{productGuid}, + product_id = #{productId}, + quantity = #{quantity}, + quantity_x = #{quantityX}, + quantity_j = #{quantityJ}, + price = #{price}, + cargo_no = #{cargoNo}, + remark = #{remark}, + assign_num = #{assignNum}, + assign_num_x = #{assignNumX}, + assign_num_j = #{assignNumJ}, + print_date = #{printDate}, + stock_status = #{stockStatus}, + supplier_id = #{supplierId}, + customer_id = #{customerId}, + unit = #{unit}, + spec = #{spec}, + spare1 = #{spare1}, + spare2 = #{spare2}, + spare3 = #{spare3}, + spare4 = #{spare4}, + spare5 = #{spare5}, + spare6 = #{spare6}, + + where stockin_detail_id = #{stockinDetailId} + + + + delete from in_stockin_detail where stockin_detail_id = #{stockinDetailId} + + + + delete from in_stockin_detail where stockin_detail_id in + + #{stockinDetailId} + + + \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/mapper/in/InStockinMapper.xml b/ruoyi-admin/src/main/resources/mapper/in/InStockinMapper.xml new file mode 100644 index 0000000..2564e41 --- /dev/null +++ b/ruoyi-admin/src/main/resources/mapper/in/InStockinMapper.xml @@ -0,0 +1,143 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + select stockin_guid, stockin_id, in_type, create_date, create_man_id, status, warehouse_id, finish_date, erp_bill, stock_source, department_no, customer_no, class_no, supplier_no, spare1, spare2, spare4, spare3, spare5 from in_stockin + + + + + + + + insert into in_stockin + + stockin_guid, + stockin_id, + in_type, + create_date, + create_man_id, + status, + warehouse_id, + finish_date, + erp_bill, + stock_source, + department_no, + customer_no, + class_no, + supplier_no, + spare1, + spare2, + spare4, + spare3, + spare5, + + + #{stockinGuid}, + #{stockinId}, + #{inType}, + #{createDate}, + #{createManId}, + #{status}, + #{warehouseId}, + #{finishDate}, + #{erpBill}, + #{stockSource}, + #{departmentNo}, + #{customerNo}, + #{classNo}, + #{supplierNo}, + #{spare1}, + #{spare2}, + #{spare4}, + #{spare3}, + #{spare5}, + + + + + update in_stockin + + stockin_id = #{stockinId}, + in_type = #{inType}, + create_date = #{createDate}, + create_man_id = #{createManId}, + status = #{status}, + warehouse_id = #{warehouseId}, + finish_date = #{finishDate}, + erp_bill = #{erpBill}, + stock_source = #{stockSource}, + department_no = #{departmentNo}, + customer_no = #{customerNo}, + class_no = #{classNo}, + supplier_no = #{supplierNo}, + spare1 = #{spare1}, + spare2 = #{spare2}, + spare4 = #{spare4}, + spare3 = #{spare3}, + spare5 = #{spare5}, + + where stockin_guid = #{stockinGuid} + + + + delete from in_stockin where stockin_guid = #{stockinGuid} + + + + delete from in_stockin where stockin_guid in + + #{stockinGuid} + + + \ No newline at end of file diff --git a/ruoyi-ui/src/api/in/stockIn.js b/ruoyi-ui/src/api/in/stockIn.js new file mode 100644 index 0000000..fc64533 --- /dev/null +++ b/ruoyi-ui/src/api/in/stockIn.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询入库单据列表 +export function listStockIn(query) { + return request({ + url: '/in/stockIn/list', + method: 'get', + params: query + }) +} + +// 查询入库单据详细 +export function getStockIn(stockinGuid) { + return request({ + url: '/in/stockIn/' + stockinGuid, + method: 'get' + }) +} + +// 新增入库单据 +export function addStockIn(data) { + return request({ + url: '/in/stockIn', + method: 'post', + data: data + }) +} + +// 修改入库单据 +export function updateStockIn(data) { + return request({ + url: '/in/stockIn', + method: 'put', + data: data + }) +} + +// 删除入库单据 +export function delStockIn(stockinGuid) { + return request({ + url: '/in/stockIn/' + stockinGuid, + method: 'delete' + }) +} diff --git a/ruoyi-ui/src/api/in/stockInDetail.js b/ruoyi-ui/src/api/in/stockInDetail.js new file mode 100644 index 0000000..9bfe494 --- /dev/null +++ b/ruoyi-ui/src/api/in/stockInDetail.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询入库单据子表列表 +export function listStockInDetail(query) { + return request({ + url: '/in/stockInDetail/list', + method: 'get', + params: query + }) +} + +// 查询入库单据子表详细 +export function getStockInDetail(stockinDetailId) { + return request({ + url: '/in/stockInDetail/' + stockinDetailId, + method: 'get' + }) +} + +// 新增入库单据子表 +export function addStockInDetail(data) { + return request({ + url: '/in/stockInDetail', + method: 'post', + data: data + }) +} + +// 修改入库单据子表 +export function updateStockInDetail(data) { + return request({ + url: '/in/stockInDetail', + method: 'put', + data: data + }) +} + +// 删除入库单据子表 +export function delStockInDetail(stockinDetailId) { + return request({ + url: '/in/stockInDetail/' + stockinDetailId, + method: 'delete' + }) +} diff --git a/ruoyi-ui/src/views/in/stockIn/index.vue b/ruoyi-ui/src/views/in/stockIn/index.vue new file mode 100644 index 0000000..2725ee8 --- /dev/null +++ b/ruoyi-ui/src/views/in/stockIn/index.vue @@ -0,0 +1,535 @@ + + + diff --git a/ruoyi-ui/src/views/in/stockInDetail/index.vue b/ruoyi-ui/src/views/in/stockInDetail/index.vue new file mode 100644 index 0000000..60cef72 --- /dev/null +++ b/ruoyi-ui/src/views/in/stockInDetail/index.vue @@ -0,0 +1,521 @@ + + +