diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/readme.md b/ruoyi-admin/src/main/java/com/ruoyi/api/readme.md deleted file mode 100644 index 8eba455..0000000 --- a/ruoyi-admin/src/main/java/com/ruoyi/api/readme.md +++ /dev/null @@ -1,19 +0,0 @@ -# API目录说明 - -## 目录用途 -存放API相关配置文件和接口模块 - -## 主要功能 -- 提供系统对外的API接口定义 -- 存放API相关的配置文件 -- 管理接口的版本控制 -- 处理API的认证和授权 - -## 目录结构 -``` -api/ -├── config/ # API配置文件 -├── controller/ # API控制器 -├── model/ # API数据模型 -└── service/ # API业务逻辑 -``` \ No newline at end of file diff --git a/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/controller/OutStockoutController.java b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/controller/OutStockoutController.java new file mode 100644 index 0000000..0d7e150 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/controller/OutStockoutController.java @@ -0,0 +1,129 @@ +package com.ruoyi.out.outStockout.controller; + +import java.util.ArrayList; +import java.util.List; +import javax.servlet.http.HttpServletResponse; + +import com.ruoyi.out.outStockout.domain.OutStockoutVo; +import com.ruoyi.out.outStockoutFinish.domain.OutStockoutFinish; +import com.ruoyi.out.outStockoutFinish.service.IOutStockoutFinishService; +import org.apache.ibatis.annotations.Param; +import org.springframework.beans.BeanUtils; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +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.out.outStockout.domain.OutStockout; +import com.ruoyi.out.outStockout.service.IOutStockoutService; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.core.page.TableDataInfo; + +/** + * 出库主单Controller + * + * @author ruoyi + * @date 2025-05-20 + */ +@RestController +@RequestMapping("/out/outStockout") +public class OutStockoutController extends BaseController { + @Autowired + private IOutStockoutService outStockoutService; + @Autowired + private IOutStockoutFinishService outStockoutFinishService; + + /** + * 查询出库主单列表 + */ + @PreAuthorize("@ss.hasPermi('out:outStockout:list')") + @GetMapping("/list") + public TableDataInfo list(OutStockout outStockout) { + startPage(); + List list = new ArrayList<>(); + if(Integer.parseInt(outStockout.getStatus())<4){ + list =outStockoutService.selectOutStockoutList(outStockout); + }else{ + list=outStockoutFinishService.selectOutStockoutFinishListByOutStockout(outStockout); + } + return getDataTable(list); + } + + /** + * 导出出库主单列表 + */ + @PreAuthorize("@ss.hasPermi('out:outStockout:export')") + @Log(title = "出库主单", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, OutStockout outStockout) { + List list = outStockoutService.selectOutStockoutList(outStockout); + ExcelUtil util = new ExcelUtil(OutStockout.class); + util.exportExcel(response, list, "出库主单数据"); + } + + /** + * 获取出库主单详细信息 + */ + @PreAuthorize("@ss.hasPermi('out:outStockout:query')") + @GetMapping(value = "/{stockoutGuid}") + public AjaxResult getInfo(@PathVariable("stockoutGuid") String stockoutGuid) { + return success(outStockoutService.selectOutStockoutByStockoutGuid(stockoutGuid)); + } + + /** + * 新增出库主单 + */ + @PreAuthorize("@ss.hasPermi('out:outStockout:add')") + @Log(title = "出库主单", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody OutStockout outStockout) { + return toAjax(outStockoutService.insertOutStockout(outStockout)); + } + + /** + * 修改出库主单 + */ + @PreAuthorize("@ss.hasPermi('out:outStockout:edit')") + @Log(title = "出库主单", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody OutStockout outStockout) { + return toAjax(outStockoutService.updateOutStockout(outStockout)); + } + + /** + * 删除出库主单 + */ + @PreAuthorize("@ss.hasPermi('out:outStockout:remove')") + @Log(title = "出库主单", businessType = BusinessType.DELETE) + @DeleteMapping("/{stockoutGuids}") + public AjaxResult remove(@PathVariable String[] stockoutGuids) { + return toAjax(outStockoutService.deleteOutStockoutByStockoutGuids(stockoutGuids)); + } + + /** + * 出库单据保存 + * + * @param outStockoutVo + * @return + */ + @Log(title = "出库主单保存", businessType = BusinessType.OTHER) + @PostMapping("/saveBill") + @ResponseBody + public AjaxResult saveBill(@RequestBody OutStockoutVo outStockoutVo) { + String stockOutId = outStockoutService.saveBill(outStockoutVo); + return AjaxResult.success(stockOutId); + } + + /** + * 出库单据状态改变 + */ + @Log(title = "出库主单状态改变", businessType = BusinessType.OTHER) + @RequestMapping("/changeStatus") + @ResponseBody + public String changeStatus(@RequestParam("stockoutIds") String[] stockoutIds, @RequestParam("status") String status,@RequestParam("newStatus")String newStatus) { + String s = outStockoutService.updateOutStockoutStatus(stockoutIds, status, newStatus); + return s; + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/domain/OutStockout.java b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/domain/OutStockout.java new file mode 100644 index 0000000..3736c8e --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/domain/OutStockout.java @@ -0,0 +1,271 @@ +package com.ruoyi.out.outStockout.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; + +/** + * 出库主单对象 out_stockout + * + * @author ruoyi + * @date 2025-05-20 + */ +public class OutStockout extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 出库单guid */ + @Excel(name = "出库单guid") + private String stockoutGuid; + + /** 出库单编号 */ + @Excel(name = "出库单编号") + private String stockoutId; + + /** 出库类型 */ + @Excel(name = "出库类型") + private String outType; + + /** 创建时间 */ + @Excel(name = "创建时间") + private String createDate; + + /** 部门编号 */ + @Excel(name = "部门编号") + private String departmentNo; + + /** 客户编码 */ + @Excel(name = "客户编码") + private String customerNo; + + /** 建单人 */ + @Excel(name = "建单人") + private String createManId; + + /** 单据状态 */ + @Excel(name = "单据状态") + private String status; + + /** 单据来源 */ + @Excel(name = "单据来源") + private String stockoutSource; + + /** 仓库编号 */ + @Excel(name = "仓库编号") + private String warehouseId; + + /** 班组编码 */ + @Excel(name = "班组编码") + private String classNowId; + + /** 出口 */ + @Excel(name = "出口") + private String exitId; + + /** 车牌 */ + @Excel(name = "车牌") + private String carNumber; + + /** 外部订单号 */ + @Excel(name = "外部订单号") + private String FID; + + /** erp订单号 */ + @Excel(name = "erp订单号") + private String erpStockoutId; + + @Excel(name = "开始时间") + private String startDate; + + @Excel(name = "确认时间") + private String finishDate; + + + public String getStartDate() { + return startDate; + } + + public void setStartDate(String startDate) { + this.startDate = startDate; + } + + public String getFinishDate() { + return finishDate; + } + + public void setFinishDate(String finishDate) { + this.finishDate = finishDate; + } + + public void setStockoutGuid(String stockoutGuid) + { + this.stockoutGuid = stockoutGuid; + } + + public String getStockoutGuid() + { + return stockoutGuid; + } + + public void setStockoutId(String stockoutId) + { + this.stockoutId = stockoutId; + } + + public String getStockoutId() + { + return stockoutId; + } + + public void setOutType(String outType) + { + this.outType = outType; + } + + public String getOutType() + { + return outType; + } + + public void setCreateDate(String createDate) + { + this.createDate = createDate; + } + + public String getCreateDate() + { + return createDate; + } + + 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 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 setStockoutSource(String stockoutSource) + { + this.stockoutSource = stockoutSource; + } + + public String getStockoutSource() + { + return stockoutSource; + } + + public void setWarehouseId(String warehouseId) + { + this.warehouseId = warehouseId; + } + + public String getWarehouseId() + { + return warehouseId; + } + + public void setClassNowId(String classNowId) + { + this.classNowId = classNowId; + } + + public String getClassNowId() + { + return classNowId; + } + + public void setExitId(String exitId) + { + this.exitId = exitId; + } + + public String getExitId() + { + return exitId; + } + + public void setCarNumber(String carNumber) + { + this.carNumber = carNumber; + } + + public String getCarNumber() + { + return carNumber; + } + + public void setFID(String FID) + { + this.FID = FID; + } + + public String getFID() + { + return FID; + } + + public void setErpStockoutId(String erpStockoutId) + { + this.erpStockoutId = erpStockoutId; + } + + public String getErpStockoutId() + { + return erpStockoutId; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("stockoutGuid", getStockoutGuid()) + .append("stockoutId", getStockoutId()) + .append("outType", getOutType()) + .append("createDate", getCreateDate()) + .append("departmentNo", getDepartmentNo()) + .append("customerNo", getCustomerNo()) + .append("createManId", getCreateManId()) + .append("status", getStatus()) + .append("stockoutSource", getStockoutSource()) + .append("warehouseId", getWarehouseId()) + .append("classNowId", getClassNowId()) + .append("exitId", getExitId()) + .append("carNumber", getCarNumber()) + .append("FID", getFID()) + .append("erpStockoutId", getErpStockoutId()) + .toString(); + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/domain/OutStockoutVo.java b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/domain/OutStockoutVo.java new file mode 100644 index 0000000..2c7c3ef --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/domain/OutStockoutVo.java @@ -0,0 +1,30 @@ +package com.ruoyi.out.outStockout.domain; + +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.out.outStockoutDetail.domain.OutStockoutDetail; + +import java.util.List; + +public class OutStockoutVo { + + private OutStockout outStockout; + + private List detailList; + + + public OutStockout getOutStockout() { + return outStockout; + } + + public void setOutStockout(OutStockout outStockout) { + this.outStockout = outStockout; + } + + public List getDetailList() { + return detailList; + } + + public void setDetailList(List detailList) { + this.detailList = detailList; + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/mapper/OutStockoutMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/mapper/OutStockoutMapper.java new file mode 100644 index 0000000..0358171 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/mapper/OutStockoutMapper.java @@ -0,0 +1,64 @@ +package com.ruoyi.out.outStockout.mapper; + +import java.util.HashMap; +import java.util.List; +import com.ruoyi.out.outStockout.domain.OutStockout; + +/** + * 出库主单Mapper接口 + * + * @author ruoyi + * @date 2025-05-20 + */ +public interface OutStockoutMapper +{ + /** + * 查询出库主单 + * + * @param stockoutGuid 出库主单主键 + * @return 出库主单 + */ + public OutStockout selectOutStockoutByStockoutGuid(String stockoutGuid); + + /** + * 查询出库主单列表 + * + * @param outStockout 出库主单 + * @return 出库主单集合 + */ + public List selectOutStockoutList(OutStockout outStockout); + + /** + * 新增出库主单 + * + * @param outStockout 出库主单 + * @return 结果 + */ + public int insertOutStockout(OutStockout outStockout); + + /** + * 修改出库主单 + * + * @param outStockout 出库主单 + * @return 结果 + */ + public int updateOutStockout(OutStockout outStockout); + + /** + * 删除出库主单 + * + * @param stockoutGuid 出库主单主键 + * @return 结果 + */ + public int deleteOutStockoutByStockoutGuid(String stockoutGuid); + + /** + * 批量删除出库主单 + * + * @param stockoutGuids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteOutStockoutByStockoutGuids(String[] stockoutGuids); + + public void updateOutStockoutStatus(HashMap map); +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/service/IOutStockoutService.java b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/service/IOutStockoutService.java new file mode 100644 index 0000000..7f2404b --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/service/IOutStockoutService.java @@ -0,0 +1,68 @@ +package com.ruoyi.out.outStockout.service; + +import java.util.List; +import com.ruoyi.out.outStockout.domain.OutStockout; +import com.ruoyi.out.outStockout.domain.OutStockoutVo; + +/** + * 出库主单Service接口 + * + * @author ruoyi + * @date 2025-05-20 + */ +public interface IOutStockoutService +{ + /** + * 查询出库主单 + * + * @param stockoutGuid 出库主单主键 + * @return 出库主单 + */ + public OutStockout selectOutStockoutByStockoutGuid(String stockoutGuid); + + /** + * 查询出库主单列表 + * + * @param outStockout 出库主单 + * @return 出库主单集合 + */ + public List selectOutStockoutList(OutStockout outStockout); + + /** + * 新增出库主单 + * + * @param outStockout 出库主单 + * @return 结果 + */ + public int insertOutStockout(OutStockout outStockout); + + /** + * 修改出库主单 + * + * @param outStockout 出库主单 + * @return 结果 + */ + public int updateOutStockout(OutStockout outStockout); + + /** + * 批量删除出库主单 + * + * @param stockoutGuids 需要删除的出库主单主键集合 + * @return 结果 + */ + public int deleteOutStockoutByStockoutGuids(String[] stockoutGuids); + + /** + * 删除出库主单信息 + * + * @param stockoutGuid 出库主单主键 + * @return 结果 + */ + public int deleteOutStockoutByStockoutGuid(String stockoutGuid); + /** + * 保存单据 + */ + public String saveBill(OutStockoutVo outStockoutVo); + + public String updateOutStockoutStatus(String[] stockoutIds, String status,String newStatus); +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/service/impl/OutStockoutServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/service/impl/OutStockoutServiceImpl.java new file mode 100644 index 0000000..bdccf8c --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/service/impl/OutStockoutServiceImpl.java @@ -0,0 +1,152 @@ +package com.ruoyi.out.outStockout.service.impl; + +import java.math.BigDecimal; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.HashMap; +import java.util.List; + +import com.ruoyi.bas.basJobId.service.IBasJobIdService; +import com.ruoyi.common.utils.uuid.UUID; +import com.ruoyi.out.outStockout.domain.OutStockoutVo; +import com.ruoyi.out.outStockoutDetail.domain.OutStockoutDetail; +import com.ruoyi.out.outStockoutDetail.mapper.OutStockoutDetailMapper; +import com.ruoyi.out.outStockoutDetail.service.IOutStockoutDetailService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.core.context.SecurityContextHolder; +import org.springframework.stereotype.Service; +import com.ruoyi.out.outStockout.mapper.OutStockoutMapper; +import com.ruoyi.out.outStockout.domain.OutStockout; +import com.ruoyi.out.outStockout.service.IOutStockoutService; +import org.springframework.transaction.annotation.Transactional; + +/** + * 出库主单Service业务层处理 + * + * @author ruoyi + * @date 2025-05-20 + */ +@Service +public class OutStockoutServiceImpl implements IOutStockoutService +{ + @Autowired + private OutStockoutMapper outStockoutMapper; + @Autowired + private IBasJobIdService basJobIdService; + + @Autowired + private OutStockoutDetailMapper outStockoutDetailMapper; + + /** + * 查询出库主单 + * + * @param stockoutGuid 出库主单主键 + * @return 出库主单 + */ + @Override + public OutStockout selectOutStockoutByStockoutGuid(String stockoutGuid) + { + return outStockoutMapper.selectOutStockoutByStockoutGuid(stockoutGuid); + } + + /** + * 查询出库主单列表 + * + * @param outStockout 出库主单 + * @return 出库主单 + */ + @Override + public List selectOutStockoutList(OutStockout outStockout) + { + return outStockoutMapper.selectOutStockoutList(outStockout); + } + + /** + * 新增出库主单 + * + * @param outStockout 出库主单 + * @return 结果 + */ + @Override + public int insertOutStockout(OutStockout outStockout) + { + return outStockoutMapper.insertOutStockout(outStockout); + } + + /** + * 修改出库主单 + * + * @param outStockout 出库主单 + * @return 结果 + */ + @Override + public int updateOutStockout(OutStockout outStockout) + { + return outStockoutMapper.updateOutStockout(outStockout); + } + + /** + * 批量删除出库主单 + * + * @param stockoutGuids 需要删除的出库主单主键 + * @return 结果 + */ + @Override + public int deleteOutStockoutByStockoutGuids(String[] stockoutGuids) + { + return outStockoutMapper.deleteOutStockoutByStockoutGuids(stockoutGuids); + } + + /** + * 删除出库主单信息 + * + * @param stockoutGuid 出库主单主键 + * @return 结果 + */ + @Override + public int deleteOutStockoutByStockoutGuid(String stockoutGuid) + { + return outStockoutMapper.deleteOutStockoutByStockoutGuid(stockoutGuid); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public String saveBill(OutStockoutVo outStockoutVo) { + OutStockout outStockout = outStockoutVo.getOutStockout(); + List detailList = outStockoutVo.getDetailList(); + String stockOutId = basJobIdService.getJobId("CKD"); + outStockout.setStockoutId(stockOutId); + outStockout.setStockoutGuid(UUID.randomUUID().toString()); + outStockout.setCreateDate(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); + String username = SecurityContextHolder.getContext().getAuthentication().getName(); + outStockout.setCreateManId(username); + outStockout.setStatus("1"); + outStockout.setStockoutSource("0"); + for (int i = 0; i < detailList.size(); i++) { + OutStockoutDetail outStockoutDetail = detailList.get(i); + outStockoutDetail.setStockoutDetailId(stockOutId + "-" + (i + 1)); + outStockoutDetail.setStockoutGuid(outStockout.getStockoutGuid()); + outStockoutDetail.setStockoutId(stockOutId); + outStockoutDetail.setAllotQuantity(BigDecimal.ZERO); + outStockoutDetail.setAssignNum(BigDecimal.ZERO); + outStockoutDetailMapper.insertOutStockoutDetail(outStockoutDetail); + } + outStockoutMapper.insertOutStockout(outStockout); + + return stockOutId; + } + + @Override + public String updateOutStockoutStatus(String[] stockoutIds, String status, String newStatus) { + HashMap map = new HashMap<>(); + StringBuilder stringBuilder = new StringBuilder(); + for(String stockoutId:stockoutIds){ + map.put("outStockId",stockoutId); + map.put("status",status); + map.put("newStatus",newStatus); + outStockoutMapper.updateOutStockoutStatus(map); + stringBuilder.append(",").append(map.get("v_resultString")); + } + return stringBuilder.toString(); + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/out/outStockoutDetail/controller/OutStockoutDetailController.java b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockoutDetail/controller/OutStockoutDetailController.java new file mode 100644 index 0000000..af44219 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockoutDetail/controller/OutStockoutDetailController.java @@ -0,0 +1,124 @@ +package com.ruoyi.out.outStockoutDetail.controller; + +import java.util.ArrayList; +import java.util.List; +import javax.servlet.http.HttpServletResponse; + +import com.ruoyi.out.outStockoutDetailFinish.service.IOutStockoutDetailFinishService; +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.out.outStockoutDetail.domain.OutStockoutDetail; +import com.ruoyi.out.outStockoutDetail.service.IOutStockoutDetailService; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.core.page.TableDataInfo; + +/** + * 出库子单Controller + * + * @author ruoyi + * @date 2025-05-20 + */ +@RestController +@RequestMapping("/out/outStockoutDetail") +public class OutStockoutDetailController extends BaseController +{ + @Autowired + private IOutStockoutDetailService outStockoutDetailService; + @Autowired + IOutStockoutDetailFinishService outStockoutDetailFinishService; + + + /** + * 查询出库子单列表 + */ + @PreAuthorize("@ss.hasPermi('out:outStockoutDetail:list')") + @GetMapping("/list") + public TableDataInfo list(OutStockoutDetail outStockoutDetail) + { + startPage(); + List list = outStockoutDetailService.selectOutStockoutDetailList(outStockoutDetail); + return getDataTable(list); + } + + /** + * 导出出库子单列表 + */ + @PreAuthorize("@ss.hasPermi('out:outStockoutDetail:export')") + @Log(title = "出库子单", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, OutStockoutDetail outStockoutDetail) + { + List list = outStockoutDetailService.selectOutStockoutDetailList(outStockoutDetail); + ExcelUtil util = new ExcelUtil(OutStockoutDetail.class); + util.exportExcel(response, list, "出库子单数据"); + } + + /** + * 获取出库子单详细信息 + */ + @PreAuthorize("@ss.hasPermi('out:outStockoutDetail:query')") + @GetMapping(value = "/getStockoutByDetailId") + public AjaxResult getInfo(String stockoutDetailId) + { + return success(outStockoutDetailService.selectOutStockoutDetailByStockoutDetailId(stockoutDetailId)); + } + + /** + * 新增出库子单 + */ + @PreAuthorize("@ss.hasPermi('out:outStockoutDetail:add')") + @Log(title = "出库子单", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody OutStockoutDetail outStockoutDetail) + { + return toAjax(outStockoutDetailService.insertOutStockoutDetail(outStockoutDetail)); + } + + /** + * 修改出库子单 + */ + @PreAuthorize("@ss.hasPermi('out:outStockoutDetail:edit')") + @Log(title = "出库子单", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody OutStockoutDetail outStockoutDetail) + { + return toAjax(outStockoutDetailService.updateOutStockoutDetail(outStockoutDetail)); + } + + /** + * 删除出库子单 + */ + @PreAuthorize("@ss.hasPermi('out:outStockoutDetail:remove')") + @Log(title = "出库子单", businessType = BusinessType.DELETE) + @DeleteMapping("/{stockoutDetailIds}") + public AjaxResult remove(@PathVariable String[] stockoutDetailIds) + { + return toAjax(outStockoutDetailService.deleteOutStockoutDetailByStockoutDetailIds(stockoutDetailIds)); + } + + @PreAuthorize("@ss.hasPermi('out:outStockoutDetail:queryByGuid')") + @GetMapping(value = "/getDetailByGuid") + public TableDataInfo getStockoutInfo(String stockoutGuid,String status) + { + startPage(); + List outStockoutDetails=new ArrayList<>(); + if(Integer.parseInt(status)<4){ + outStockoutDetails = outStockoutDetailService.selectOutStockoutDetailByStockoutGuid(stockoutGuid); + }else{ + outStockoutDetails=outStockoutDetailFinishService.selectOutStockoutDetailFinishListByStockoutGuid(stockoutGuid); + } + return getDataTable(outStockoutDetails); + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/out/outStockoutDetail/domain/OutStockoutDetail.java b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockoutDetail/domain/OutStockoutDetail.java new file mode 100644 index 0000000..eaae687 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockoutDetail/domain/OutStockoutDetail.java @@ -0,0 +1,476 @@ +package com.ruoyi.out.outStockoutDetail.domain; + +import java.math.BigDecimal; +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; + +/** + * 出库子单对象 out_stockout_detail + * + * @author ruoyi + * @date 2025-05-20 + */ +public class OutStockoutDetail extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 出库子单编号 */ + @Excel(name = "出库子单编号") + private String stockoutDetailId; + + /** 出库单guid */ + @Excel(name = "出库单guid") + private String stockoutGuid; + + /** 出库单编号 */ + @Excel(name = "出库单编号") + private String stockoutId; + + /** 批次 */ + @Excel(name = "批次") + private String lotNo; + + /** 物资guid */ + @Excel(name = "物资guid") + private String productGuid; + + /** 物资编码 */ + @Excel(name = "物资编码") + private String productId; + + /** 计划数量 */ + @Excel(name = "计划数量") + private BigDecimal quantity; + + /** 计划数量(箱) */ + @Excel(name = "计划数量", readConverterExp = "箱=") + private BigDecimal quantityX; + + /** 计划数量(件) */ + @Excel(name = "计划数量", readConverterExp = "件=") + private BigDecimal quantityJ; + + /** 实际数量 */ + @Excel(name = "实际数量") + private BigDecimal assignNum; + + /** 实际数量(箱) */ + @Excel(name = "实际数量", readConverterExp = "箱=") + private BigDecimal assignNumX; + + /** 实际数量(件) */ + @Excel(name = "实际数量", readConverterExp = "件=") + private BigDecimal assignNumJ; + + /** 分配数量 */ + @Excel(name = "分配数量") + private BigDecimal allotQuantity; + + /** 分配数量(箱) */ + @Excel(name = "分配数量", readConverterExp = "箱=") + private BigDecimal allotQuantityX; + + /** 分配数量(件) */ + @Excel(name = "分配数量", readConverterExp = "件=") + private BigDecimal allotQuantityJ; + + /** 价格 */ + @Excel(name = "价格") + private String price; + + /** 仓库编码 */ + @Excel(name = "仓库编码") + private String warehouseId; + + /** 出口 */ + @Excel(name = "出口") + private String outId; + + /** 可拆数量 */ + @Excel(name = "可拆数量") + private String bukechaiQuantity; + + /** 不可拆数量 */ + @Excel(name = "不可拆数量") + private String kechaiQuantity; + + /** 入口 */ + @Excel(name = "入口") + private String entryid; + + /** 浮动数量 */ + @Excel(name = "浮动数量") + private String flatQuantity; + + /** 外部订单号 */ + @Excel(name = "外部订单号") + private String fid; + + /** erp订单号 */ + @Excel(name = "erp订单号") + private String erpStockoutId; + + /** 单位 UNIT */ + @Excel(name = "单位 UNIT") + private String unit; + + /** 规格 SPEC */ + @Excel(name = "规格 SPEC") + private String spec; + + /** 物资名称 ASMAT_NAME */ + @Excel(name = "物资名称 ASMAT_NAME") + private String productName; + + /** 供应商代码 SUPPLIER_CODE */ + @Excel(name = "供应商代码 SUPPLIER_CODE") + private String supplierId; + + /** 品牌 */ + @Excel(name = "品牌") + private String cargoNo; + + /** 生产日期 */ + @Excel(name = "生产日期") + private String printDate; + + public void setStockoutDetailId(String stockoutDetailId) + { + this.stockoutDetailId = stockoutDetailId; + } + + public String getStockoutDetailId() + { + return stockoutDetailId; + } + + public void setStockoutGuid(String stockoutGuid) + { + this.stockoutGuid = stockoutGuid; + } + + public String getStockoutGuid() + { + return stockoutGuid; + } + + public void setStockoutId(String stockoutId) + { + this.stockoutId = stockoutId; + } + + public String getStockoutId() + { + return stockoutId; + } + + 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(BigDecimal quantity) + { + this.quantity = quantity; + } + + public BigDecimal getQuantity() + { + return quantity; + } + + public void setQuantityX(BigDecimal quantityX) + { + this.quantityX = quantityX; + } + + public BigDecimal getQuantityX() + { + return quantityX; + } + + public void setQuantityJ(BigDecimal quantityJ) + { + this.quantityJ = quantityJ; + } + + public BigDecimal getQuantityJ() + { + return quantityJ; + } + + public void setAssignNum(BigDecimal assignNum) + { + this.assignNum = assignNum; + } + + public BigDecimal getAssignNum() + { + return assignNum; + } + + public void setAssignNumX(BigDecimal assignNumX) + { + this.assignNumX = assignNumX; + } + + public BigDecimal getAssignNumX() + { + return assignNumX; + } + + public void setAssignNumJ(BigDecimal assignNumJ) + { + this.assignNumJ = assignNumJ; + } + + public BigDecimal getAssignNumJ() + { + return assignNumJ; + } + + public void setAllotQuantity(BigDecimal allotQuantity) + { + this.allotQuantity = allotQuantity; + } + + public BigDecimal getAllotQuantity() + { + return allotQuantity; + } + + public void setAllotQuantityX(BigDecimal allotQuantityX) + { + this.allotQuantityX = allotQuantityX; + } + + public BigDecimal getAllotQuantityX() + { + return allotQuantityX; + } + + public void setAllotQuantityJ(BigDecimal allotQuantityJ) + { + this.allotQuantityJ = allotQuantityJ; + } + + public BigDecimal getAllotQuantityJ() + { + return allotQuantityJ; + } + + public void setPrice(String price) + { + this.price = price; + } + + public String getPrice() + { + return price; + } + + public void setWarehouseId(String warehouseId) + { + this.warehouseId = warehouseId; + } + + public String getWarehouseId() + { + return warehouseId; + } + + public void setOutId(String outId) + { + this.outId = outId; + } + + public String getOutId() + { + return outId; + } + + public void setBukechaiQuantity(String bukechaiQuantity) + { + this.bukechaiQuantity = bukechaiQuantity; + } + + public String getBukechaiQuantity() + { + return bukechaiQuantity; + } + + public void setKechaiQuantity(String kechaiQuantity) + { + this.kechaiQuantity = kechaiQuantity; + } + + public String getKechaiQuantity() + { + return kechaiQuantity; + } + + public void setEntryid(String entryid) + { + this.entryid = entryid; + } + + public String getEntryid() + { + return entryid; + } + + public void setFlatQuantity(String flatQuantity) + { + this.flatQuantity = flatQuantity; + } + + public String getFlatQuantity() + { + return flatQuantity; + } + + public void setFid(String fid) + { + this.fid = fid; + } + + public String getFid() + { + return fid; + } + + public void setErpStockoutId(String erpStockoutId) + { + this.erpStockoutId = erpStockoutId; + } + + public String getErpStockoutId() + { + return erpStockoutId; + } + + 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 setProductName(String productName) + { + this.productName = productName; + } + + public String getProductName() + { + return productName; + } + + public void setSupplierId(String supplierId) + { + this.supplierId = supplierId; + } + + public String getSupplierId() + { + return supplierId; + } + + public void setCargoNo(String cargoNo) + { + this.cargoNo = cargoNo; + } + + public String getCargoNo() + { + return cargoNo; + } + + public void setPrintDate(String printDate) + { + this.printDate = printDate; + } + + public String getPrintDate() + { + return printDate; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("stockoutDetailId", getStockoutDetailId()) + .append("stockoutGuid", getStockoutGuid()) + .append("stockoutId", getStockoutId()) + .append("lotNo", getLotNo()) + .append("productGuid", getProductGuid()) + .append("productId", getProductId()) + .append("quantity", getQuantity()) + .append("quantityX", getQuantityX()) + .append("quantityJ", getQuantityJ()) + .append("assignNum", getAssignNum()) + .append("assignNumX", getAssignNumX()) + .append("assignNumJ", getAssignNumJ()) + .append("allotQuantity", getAllotQuantity()) + .append("allotQuantityX", getAllotQuantityX()) + .append("allotQuantityJ", getAllotQuantityJ()) + .append("price", getPrice()) + .append("remark", getRemark()) + .append("warehouseId", getWarehouseId()) + .append("outId", getOutId()) + .append("bukechaiQuantity", getBukechaiQuantity()) + .append("kechaiQuantity", getKechaiQuantity()) + .append("entryid", getEntryid()) + .append("flatQuantity", getFlatQuantity()) + .append("fid", getFid()) + .append("erpStockoutId", getErpStockoutId()) + .append("unit", getUnit()) + .append("spec", getSpec()) + .append("productName", getProductName()) + .append("supplierId", getSupplierId()) + .append("cargoNo", getCargoNo()) + .append("createTime", getCreateTime()) + .append("printDate", getPrintDate()) + .toString(); + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/out/outStockoutDetail/mapper/OutStockoutDetailMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockoutDetail/mapper/OutStockoutDetailMapper.java new file mode 100644 index 0000000..7eea525 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockoutDetail/mapper/OutStockoutDetailMapper.java @@ -0,0 +1,68 @@ +package com.ruoyi.out.outStockoutDetail.mapper; + +import java.util.List; +import com.ruoyi.out.outStockoutDetail.domain.OutStockoutDetail; + +/** + * 出库子单Mapper接口 + * + * @author ruoyi + * @date 2025-05-20 + */ +public interface OutStockoutDetailMapper +{ + /** + * 查询出库子单 + * + * @param stockoutDetailId 出库子单主键 + * @return 出库子单 + */ + public OutStockoutDetail selectOutStockoutDetailByStockoutDetailId(String stockoutDetailId); + + /** + * 查询出库子单列表 + * + * @param outStockoutDetail 出库子单 + * @return 出库子单集合 + */ + public List selectOutStockoutDetailList(OutStockoutDetail outStockoutDetail); + + /** + * 新增出库子单 + * + * @param outStockoutDetail 出库子单 + * @return 结果 + */ + public int insertOutStockoutDetail(OutStockoutDetail outStockoutDetail); + + /** + * 修改出库子单 + * + * @param outStockoutDetail 出库子单 + * @return 结果 + */ + public int updateOutStockoutDetail(OutStockoutDetail outStockoutDetail); + + /** + * 删除出库子单 + * + * @param stockoutDetailId 出库子单主键 + * @return 结果 + */ + public int deleteOutStockoutDetailByStockoutDetailId(String stockoutDetailId); + + /** + * 批量删除出库子单 + * + * @param stockoutDetailIds 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteOutStockoutDetailByStockoutDetailIds(String[] stockoutDetailIds); + + /** + * 根据主单guid查询出库子单信息 + * @param stockoutId + * @return + */ + public List selectOutStockoutDetailByStockoutGuid(String stockoutId); +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/out/outStockoutDetail/service/IOutStockoutDetailService.java b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockoutDetail/service/IOutStockoutDetailService.java new file mode 100644 index 0000000..0c37ee6 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockoutDetail/service/IOutStockoutDetailService.java @@ -0,0 +1,66 @@ +package com.ruoyi.out.outStockoutDetail.service; + +import java.util.List; +import com.ruoyi.out.outStockoutDetail.domain.OutStockoutDetail; + +/** + * 出库子单Service接口 + * + * @author ruoyi + * @date 2025-05-20 + */ +public interface IOutStockoutDetailService +{ + /** + * 查询出库子单 + * + * @param stockoutDetailId 出库子单主键 + * @return 出库子单 + */ + public OutStockoutDetail selectOutStockoutDetailByStockoutDetailId(String stockoutDetailId); + + /** + * 查询出库子单列表 + * + * @param outStockoutDetail 出库子单 + * @return 出库子单集合 + */ + public List selectOutStockoutDetailList(OutStockoutDetail outStockoutDetail); + + /** + * 新增出库子单 + * + * @param outStockoutDetail 出库子单 + * @return 结果 + */ + public int insertOutStockoutDetail(OutStockoutDetail outStockoutDetail); + + /** + * 修改出库子单 + * + * @param outStockoutDetail 出库子单 + * @return 结果 + */ + public int updateOutStockoutDetail(OutStockoutDetail outStockoutDetail); + + /** + * 批量删除出库子单 + * + * @param stockoutDetailIds 需要删除的出库子单主键集合 + * @return 结果 + */ + public int deleteOutStockoutDetailByStockoutDetailIds(String[] stockoutDetailIds); + + /** + * 删除出库子单信息 + * + * @param stockoutDetailId 出库子单主键 + * @return 结果 + */ + public int deleteOutStockoutDetailByStockoutDetailId(String stockoutDetailId); +/** + * 根据主单guid查询出库子单信息 + */ +public List selectOutStockoutDetailByStockoutGuid(String stockoutGuid); + +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/out/outStockoutDetail/service/impl/OutStockoutDetailServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockoutDetail/service/impl/OutStockoutDetailServiceImpl.java new file mode 100644 index 0000000..65088e1 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockoutDetail/service/impl/OutStockoutDetailServiceImpl.java @@ -0,0 +1,106 @@ +package com.ruoyi.out.outStockoutDetail.service.impl; + +import java.util.Collections; +import java.util.List; +import com.ruoyi.common.utils.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ruoyi.out.outStockoutDetail.mapper.OutStockoutDetailMapper; +import com.ruoyi.out.outStockoutDetail.domain.OutStockoutDetail; +import com.ruoyi.out.outStockoutDetail.service.IOutStockoutDetailService; + +/** + * 出库子单Service业务层处理 + * + * @author ruoyi + * @date 2025-05-20 + */ +@Service +public class OutStockoutDetailServiceImpl implements IOutStockoutDetailService +{ + @Autowired + private OutStockoutDetailMapper outStockoutDetailMapper; + + /** + * 查询出库子单 + * + * @param stockoutDetailId 出库子单主键 + * @return 出库子单 + */ + @Override + public OutStockoutDetail selectOutStockoutDetailByStockoutDetailId(String stockoutDetailId) + { + return outStockoutDetailMapper.selectOutStockoutDetailByStockoutDetailId(stockoutDetailId); + } + + /** + * 查询出库子单列表 + * + * @param outStockoutDetail 出库子单 + * @return 出库子单 + */ + @Override + public List selectOutStockoutDetailList(OutStockoutDetail outStockoutDetail) + { + return outStockoutDetailMapper.selectOutStockoutDetailList(outStockoutDetail); + } + + /** + * 新增出库子单 + * + * @param outStockoutDetail 出库子单 + * @return 结果 + */ + @Override + public int insertOutStockoutDetail(OutStockoutDetail outStockoutDetail) + { + outStockoutDetail.setCreateTime(DateUtils.getNowDate()); + return outStockoutDetailMapper.insertOutStockoutDetail(outStockoutDetail); + } + + /** + * 修改出库子单 + * + * @param outStockoutDetail 出库子单 + * @return 结果 + */ + @Override + public int updateOutStockoutDetail(OutStockoutDetail outStockoutDetail) + { + return outStockoutDetailMapper.updateOutStockoutDetail(outStockoutDetail); + } + + /** + * 批量删除出库子单 + * + * @param stockoutDetailIds 需要删除的出库子单主键 + * @return 结果 + */ + @Override + public int deleteOutStockoutDetailByStockoutDetailIds(String[] stockoutDetailIds) + { + return outStockoutDetailMapper.deleteOutStockoutDetailByStockoutDetailIds(stockoutDetailIds); + } + + /** + * 删除出库子单信息 + * + * @param stockoutDetailId 出库子单主键 + * @return 结果 + */ + @Override + public int deleteOutStockoutDetailByStockoutDetailId(String stockoutDetailId) + { + return outStockoutDetailMapper.deleteOutStockoutDetailByStockoutDetailId(stockoutDetailId); + } + + /** + * 根据主单guid查询出库子单信息 + * @param stockoutGuid + * @return + */ + @Override + public List selectOutStockoutDetailByStockoutGuid(String stockoutGuid) { + return outStockoutDetailMapper.selectOutStockoutDetailByStockoutGuid(stockoutGuid); + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/out/outStockoutDetailFinish/controller/OutStockoutDetailFinishController.java b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockoutDetailFinish/controller/OutStockoutDetailFinishController.java new file mode 100644 index 0000000..0bc1557 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockoutDetailFinish/controller/OutStockoutDetailFinishController.java @@ -0,0 +1,104 @@ +package com.ruoyi.out.outStockoutDetailFinish.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.out.outStockoutDetailFinish.domain.OutStockoutDetailFinish; +import com.ruoyi.out.outStockoutDetailFinish.service.IOutStockoutDetailFinishService; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.core.page.TableDataInfo; + +/** + * 出库单据子表Controller + * + * @author ruoyi + * @date 2025-05-23 + */ +@RestController +@RequestMapping("/out/outStockoutDetailFinish") +public class OutStockoutDetailFinishController extends BaseController +{ + @Autowired + private IOutStockoutDetailFinishService outStockoutDetailFinishService; + + /** + * 查询出库单据子表列表 + */ + @PreAuthorize("@ss.hasPermi('out:outStockoutDetailFinish:list')") + @GetMapping("/list") + public TableDataInfo list(OutStockoutDetailFinish outStockoutDetailFinish) + { + startPage(); + List list = outStockoutDetailFinishService.selectOutStockoutDetailFinishList(outStockoutDetailFinish); + return getDataTable(list); + } + + /** + * 导出出库单据子表列表 + */ + @PreAuthorize("@ss.hasPermi('out:outStockoutDetailFinish:export')") + @Log(title = "出库单据子表", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, OutStockoutDetailFinish outStockoutDetailFinish) + { + List list = outStockoutDetailFinishService.selectOutStockoutDetailFinishList(outStockoutDetailFinish); + ExcelUtil util = new ExcelUtil(OutStockoutDetailFinish.class); + util.exportExcel(response, list, "出库单据子表数据"); + } + + /** + * 获取出库单据子表详细信息 + */ + @PreAuthorize("@ss.hasPermi('out:outStockoutDetailFinish:query')") + @GetMapping(value = "/{stockoutDetailId}") + public AjaxResult getInfo(@PathVariable("stockoutDetailId") String stockoutDetailId) + { + return success(outStockoutDetailFinishService.selectOutStockoutDetailFinishByStockoutDetailId(stockoutDetailId)); + } + + /** + * 新增出库单据子表 + */ + @PreAuthorize("@ss.hasPermi('out:outStockoutDetailFinish:add')") + @Log(title = "出库单据子表", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody OutStockoutDetailFinish outStockoutDetailFinish) + { + return toAjax(outStockoutDetailFinishService.insertOutStockoutDetailFinish(outStockoutDetailFinish)); + } + + /** + * 修改出库单据子表 + */ + @PreAuthorize("@ss.hasPermi('out:outStockoutDetailFinish:edit')") + @Log(title = "出库单据子表", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody OutStockoutDetailFinish outStockoutDetailFinish) + { + return toAjax(outStockoutDetailFinishService.updateOutStockoutDetailFinish(outStockoutDetailFinish)); + } + + /** + * 删除出库单据子表 + */ + @PreAuthorize("@ss.hasPermi('out:outStockoutDetailFinish:remove')") + @Log(title = "出库单据子表", businessType = BusinessType.DELETE) + @DeleteMapping("/{stockoutDetailIds}") + public AjaxResult remove(@PathVariable String[] stockoutDetailIds) + { + return toAjax(outStockoutDetailFinishService.deleteOutStockoutDetailFinishByStockoutDetailIds(stockoutDetailIds)); + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/out/outStockoutDetailFinish/domain/OutStockoutDetailFinish.java b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockoutDetailFinish/domain/OutStockoutDetailFinish.java new file mode 100644 index 0000000..c1bc017 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockoutDetailFinish/domain/OutStockoutDetailFinish.java @@ -0,0 +1,476 @@ +package com.ruoyi.out.outStockoutDetailFinish.domain; + +import java.math.BigDecimal; +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; + +/** + * 出库单据子表对象 out_stockout_detail_finish + * + * @author ruoyi + * @date 2025-05-23 + */ +public class OutStockoutDetailFinish extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 子单编码 */ + @Excel(name = "子单编码") + private String stockoutDetailId; + + /** 主单guid */ + @Excel(name = "主单guid") + private String stockoutGuid; + + /** 出库单号 */ + @Excel(name = "出库单号") + private String stockoutId; + + /** 批次 */ + @Excel(name = "批次") + private String lotNo; + + /** 物资guid */ + @Excel(name = "物资guid") + private String productGuid; + + /** 物资编码 */ + @Excel(name = "物资编码") + private String productId; + + /** 计划数量 */ + @Excel(name = "计划数量") + private BigDecimal quantity; + + /** 计划数量(箱) */ + @Excel(name = "计划数量", readConverterExp = "箱=") + private BigDecimal quantityX; + + /** 计划数量(件) */ + @Excel(name = "计划数量", readConverterExp = "件=") + private BigDecimal quantityJ; + + /** 实际数量 */ + @Excel(name = "实际数量") + private BigDecimal assignNum; + + /** 实际数量(箱) */ + @Excel(name = "实际数量", readConverterExp = "箱=") + private BigDecimal assignNumX; + + /** 实际数量(件) */ + @Excel(name = "实际数量", readConverterExp = "件=") + private BigDecimal assignNumJ; + + /** 分配数量 */ + @Excel(name = "分配数量") + private BigDecimal allotQuantity; + + /** 分配数量(箱) */ + @Excel(name = "分配数量", readConverterExp = "箱=") + private BigDecimal allotQuantityX; + + /** 分配数量(件) */ + @Excel(name = "分配数量", readConverterExp = "件=") + private BigDecimal allotQuantityJ; + + /** 价格 */ + @Excel(name = "价格") + private String price; + + /** 仓库 */ + @Excel(name = "仓库") + private String warehouseId; + + /** 出口 */ + @Excel(name = "出口") + private String outId; + + /** 不可拆数量 */ + @Excel(name = "不可拆数量") + private String bukechaiQuantity; + + /** 可拆数量 */ + @Excel(name = "可拆数量") + private String kechaiQuantity; + + /** 入口 */ + @Excel(name = "入口") + private String entryid; + + /** 浮动数量 */ + @Excel(name = "浮动数量") + private String flatQuantity; + + /** 外部订单号 */ + @Excel(name = "外部订单号") + private String fid; + + /** erp订单号 */ + @Excel(name = "erp订单号") + private String erpStockoutId; + + /** 单位 UNIT */ + @Excel(name = "单位 UNIT") + private String unit; + + /** 规格 SPEC */ + @Excel(name = "规格 SPEC") + private String spec; + + /** 资材名称 ASMAT_NAME */ + @Excel(name = "资材名称 ASMAT_NAME") + private String productName; + + /** 供应商代码 SUPPLIER_CODE */ + @Excel(name = "供应商代码 SUPPLIER_CODE") + private String supplierId; + + /** 品牌 */ + @Excel(name = "品牌") + private String cargoNo; + + /** 生产日期 */ + @Excel(name = "生产日期") + private String printDate; + + public void setStockoutDetailId(String stockoutDetailId) + { + this.stockoutDetailId = stockoutDetailId; + } + + public String getStockoutDetailId() + { + return stockoutDetailId; + } + + public void setStockoutGuid(String stockoutGuid) + { + this.stockoutGuid = stockoutGuid; + } + + public String getStockoutGuid() + { + return stockoutGuid; + } + + public void setStockoutId(String stockoutId) + { + this.stockoutId = stockoutId; + } + + public String getStockoutId() + { + return stockoutId; + } + + 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(BigDecimal quantity) + { + this.quantity = quantity; + } + + public BigDecimal getQuantity() + { + return quantity; + } + + public void setQuantityX(BigDecimal quantityX) + { + this.quantityX = quantityX; + } + + public BigDecimal getQuantityX() + { + return quantityX; + } + + public void setQuantityJ(BigDecimal quantityJ) + { + this.quantityJ = quantityJ; + } + + public BigDecimal getQuantityJ() + { + return quantityJ; + } + + public void setAssignNum(BigDecimal assignNum) + { + this.assignNum = assignNum; + } + + public BigDecimal getAssignNum() + { + return assignNum; + } + + public void setAssignNumX(BigDecimal assignNumX) + { + this.assignNumX = assignNumX; + } + + public BigDecimal getAssignNumX() + { + return assignNumX; + } + + public void setAssignNumJ(BigDecimal assignNumJ) + { + this.assignNumJ = assignNumJ; + } + + public BigDecimal getAssignNumJ() + { + return assignNumJ; + } + + public void setAllotQuantity(BigDecimal allotQuantity) + { + this.allotQuantity = allotQuantity; + } + + public BigDecimal getAllotQuantity() + { + return allotQuantity; + } + + public void setAllotQuantityX(BigDecimal allotQuantityX) + { + this.allotQuantityX = allotQuantityX; + } + + public BigDecimal getAllotQuantityX() + { + return allotQuantityX; + } + + public void setAllotQuantityJ(BigDecimal allotQuantityJ) + { + this.allotQuantityJ = allotQuantityJ; + } + + public BigDecimal getAllotQuantityJ() + { + return allotQuantityJ; + } + + public void setPrice(String price) + { + this.price = price; + } + + public String getPrice() + { + return price; + } + + public void setWarehouseId(String warehouseId) + { + this.warehouseId = warehouseId; + } + + public String getWarehouseId() + { + return warehouseId; + } + + public void setOutId(String outId) + { + this.outId = outId; + } + + public String getOutId() + { + return outId; + } + + public void setBukechaiQuantity(String bukechaiQuantity) + { + this.bukechaiQuantity = bukechaiQuantity; + } + + public String getBukechaiQuantity() + { + return bukechaiQuantity; + } + + public void setKechaiQuantity(String kechaiQuantity) + { + this.kechaiQuantity = kechaiQuantity; + } + + public String getKechaiQuantity() + { + return kechaiQuantity; + } + + public void setEntryid(String entryid) + { + this.entryid = entryid; + } + + public String getEntryid() + { + return entryid; + } + + public void setFlatQuantity(String flatQuantity) + { + this.flatQuantity = flatQuantity; + } + + public String getFlatQuantity() + { + return flatQuantity; + } + + public void setFid(String fid) + { + this.fid = fid; + } + + public String getFid() + { + return fid; + } + + public void setErpStockoutId(String erpStockoutId) + { + this.erpStockoutId = erpStockoutId; + } + + public String getErpStockoutId() + { + return erpStockoutId; + } + + 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 setProductName(String productName) + { + this.productName = productName; + } + + public String getProductName() + { + return productName; + } + + public void setSupplierId(String supplierId) + { + this.supplierId = supplierId; + } + + public String getSupplierId() + { + return supplierId; + } + + public void setCargoNo(String cargoNo) + { + this.cargoNo = cargoNo; + } + + public String getCargoNo() + { + return cargoNo; + } + + public void setPrintDate(String printDate) + { + this.printDate = printDate; + } + + public String getPrintDate() + { + return printDate; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("stockoutDetailId", getStockoutDetailId()) + .append("stockoutGuid", getStockoutGuid()) + .append("stockoutId", getStockoutId()) + .append("lotNo", getLotNo()) + .append("productGuid", getProductGuid()) + .append("productId", getProductId()) + .append("quantity", getQuantity()) + .append("quantityX", getQuantityX()) + .append("quantityJ", getQuantityJ()) + .append("assignNum", getAssignNum()) + .append("assignNumX", getAssignNumX()) + .append("assignNumJ", getAssignNumJ()) + .append("allotQuantity", getAllotQuantity()) + .append("allotQuantityX", getAllotQuantityX()) + .append("allotQuantityJ", getAllotQuantityJ()) + .append("price", getPrice()) + .append("remark", getRemark()) + .append("warehouseId", getWarehouseId()) + .append("outId", getOutId()) + .append("bukechaiQuantity", getBukechaiQuantity()) + .append("kechaiQuantity", getKechaiQuantity()) + .append("entryid", getEntryid()) + .append("flatQuantity", getFlatQuantity()) + .append("fid", getFid()) + .append("erpStockoutId", getErpStockoutId()) + .append("unit", getUnit()) + .append("spec", getSpec()) + .append("productName", getProductName()) + .append("supplierId", getSupplierId()) + .append("cargoNo", getCargoNo()) + .append("createTime", getCreateTime()) + .append("printDate", getPrintDate()) + .toString(); + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/out/outStockoutDetailFinish/mapper/OutStockoutDetailFinishMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockoutDetailFinish/mapper/OutStockoutDetailFinishMapper.java new file mode 100644 index 0000000..6a4308c --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockoutDetailFinish/mapper/OutStockoutDetailFinishMapper.java @@ -0,0 +1,65 @@ +package com.ruoyi.out.outStockoutDetailFinish.mapper; + +import java.util.List; + +import com.ruoyi.out.outStockoutDetail.domain.OutStockoutDetail; +import com.ruoyi.out.outStockoutDetailFinish.domain.OutStockoutDetailFinish; + +/** + * 出库单据子表Mapper接口 + * + * @author ruoyi + * @date 2025-05-23 + */ +public interface OutStockoutDetailFinishMapper +{ + /** + * 查询出库单据子表 + * + * @param stockoutDetailId 出库单据子表主键 + * @return 出库单据子表 + */ + public OutStockoutDetailFinish selectOutStockoutDetailFinishByStockoutDetailId(String stockoutDetailId); + + /** + * 查询出库单据子表列表 + * + * @param outStockoutDetailFinish 出库单据子表 + * @return 出库单据子表集合 + */ + public List selectOutStockoutDetailFinishList(OutStockoutDetailFinish outStockoutDetailFinish); + + /** + * 新增出库单据子表 + * + * @param outStockoutDetailFinish 出库单据子表 + * @return 结果 + */ + public int insertOutStockoutDetailFinish(OutStockoutDetailFinish outStockoutDetailFinish); + + /** + * 修改出库单据子表 + * + * @param outStockoutDetailFinish 出库单据子表 + * @return 结果 + */ + public int updateOutStockoutDetailFinish(OutStockoutDetailFinish outStockoutDetailFinish); + + /** + * 删除出库单据子表 + * + * @param stockoutDetailId 出库单据子表主键 + * @return 结果 + */ + public int deleteOutStockoutDetailFinishByStockoutDetailId(String stockoutDetailId); + + /** + * 批量删除出库单据子表 + * + * @param stockoutDetailIds 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteOutStockoutDetailFinishByStockoutDetailIds(String[] stockoutDetailIds); + + public List selectOutStockoutDetailFinishListByStockoutGuid(String stockoutGuid); +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/out/outStockoutDetailFinish/service/IOutStockoutDetailFinishService.java b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockoutDetailFinish/service/IOutStockoutDetailFinishService.java new file mode 100644 index 0000000..296e3f1 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockoutDetailFinish/service/IOutStockoutDetailFinishService.java @@ -0,0 +1,65 @@ +package com.ruoyi.out.outStockoutDetailFinish.service; + +import java.util.List; + +import com.ruoyi.out.outStockoutDetail.domain.OutStockoutDetail; +import com.ruoyi.out.outStockoutDetailFinish.domain.OutStockoutDetailFinish; + +/** + * 出库单据子表Service接口 + * + * @author ruoyi + * @date 2025-05-23 + */ +public interface IOutStockoutDetailFinishService +{ + /** + * 查询出库单据子表 + * + * @param stockoutDetailId 出库单据子表主键 + * @return 出库单据子表 + */ + public OutStockoutDetailFinish selectOutStockoutDetailFinishByStockoutDetailId(String stockoutDetailId); + + /** + * 查询出库单据子表列表 + * + * @param outStockoutDetailFinish 出库单据子表 + * @return 出库单据子表集合 + */ + public List selectOutStockoutDetailFinishList(OutStockoutDetailFinish outStockoutDetailFinish); + + /** + * 新增出库单据子表 + * + * @param outStockoutDetailFinish 出库单据子表 + * @return 结果 + */ + public int insertOutStockoutDetailFinish(OutStockoutDetailFinish outStockoutDetailFinish); + + /** + * 修改出库单据子表 + * + * @param outStockoutDetailFinish 出库单据子表 + * @return 结果 + */ + public int updateOutStockoutDetailFinish(OutStockoutDetailFinish outStockoutDetailFinish); + + /** + * 批量删除出库单据子表 + * + * @param stockoutDetailIds 需要删除的出库单据子表主键集合 + * @return 结果 + */ + public int deleteOutStockoutDetailFinishByStockoutDetailIds(String[] stockoutDetailIds); + + /** + * 删除出库单据子表信息 + * + * @param stockoutDetailId 出库单据子表主键 + * @return 结果 + */ + public int deleteOutStockoutDetailFinishByStockoutDetailId(String stockoutDetailId); + + public List selectOutStockoutDetailFinishListByStockoutGuid(String stockoutGuid); +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/out/outStockoutDetailFinish/service/impl/OutStockoutDetailFinishServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockoutDetailFinish/service/impl/OutStockoutDetailFinishServiceImpl.java new file mode 100644 index 0000000..844ba73 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockoutDetailFinish/service/impl/OutStockoutDetailFinishServiceImpl.java @@ -0,0 +1,102 @@ +package com.ruoyi.out.outStockoutDetailFinish.service.impl; + +import java.util.Collections; +import java.util.List; +import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.out.outStockoutDetail.domain.OutStockoutDetail; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ruoyi.out.outStockoutDetailFinish.mapper.OutStockoutDetailFinishMapper; +import com.ruoyi.out.outStockoutDetailFinish.domain.OutStockoutDetailFinish; +import com.ruoyi.out.outStockoutDetailFinish.service.IOutStockoutDetailFinishService; + +/** + * 出库单据子表Service业务层处理 + * + * @author ruoyi + * @date 2025-05-23 + */ +@Service +public class OutStockoutDetailFinishServiceImpl implements IOutStockoutDetailFinishService +{ + @Autowired + private OutStockoutDetailFinishMapper outStockoutDetailFinishMapper; + + /** + * 查询出库单据子表 + * + * @param stockoutDetailId 出库单据子表主键 + * @return 出库单据子表 + */ + @Override + public OutStockoutDetailFinish selectOutStockoutDetailFinishByStockoutDetailId(String stockoutDetailId) + { + return outStockoutDetailFinishMapper.selectOutStockoutDetailFinishByStockoutDetailId(stockoutDetailId); + } + + /** + * 查询出库单据子表列表 + * + * @param outStockoutDetailFinish 出库单据子表 + * @return 出库单据子表 + */ + @Override + public List selectOutStockoutDetailFinishList(OutStockoutDetailFinish outStockoutDetailFinish) + { + return outStockoutDetailFinishMapper.selectOutStockoutDetailFinishList(outStockoutDetailFinish); + } + + /** + * 新增出库单据子表 + * + * @param outStockoutDetailFinish 出库单据子表 + * @return 结果 + */ + @Override + public int insertOutStockoutDetailFinish(OutStockoutDetailFinish outStockoutDetailFinish) + { + outStockoutDetailFinish.setCreateTime(DateUtils.getNowDate()); + return outStockoutDetailFinishMapper.insertOutStockoutDetailFinish(outStockoutDetailFinish); + } + + /** + * 修改出库单据子表 + * + * @param outStockoutDetailFinish 出库单据子表 + * @return 结果 + */ + @Override + public int updateOutStockoutDetailFinish(OutStockoutDetailFinish outStockoutDetailFinish) + { + return outStockoutDetailFinishMapper.updateOutStockoutDetailFinish(outStockoutDetailFinish); + } + + /** + * 批量删除出库单据子表 + * + * @param stockoutDetailIds 需要删除的出库单据子表主键 + * @return 结果 + */ + @Override + public int deleteOutStockoutDetailFinishByStockoutDetailIds(String[] stockoutDetailIds) + { + return outStockoutDetailFinishMapper.deleteOutStockoutDetailFinishByStockoutDetailIds(stockoutDetailIds); + } + + /** + * 删除出库单据子表信息 + * + * @param stockoutDetailId 出库单据子表主键 + * @return 结果 + */ + @Override + public int deleteOutStockoutDetailFinishByStockoutDetailId(String stockoutDetailId) + { + return outStockoutDetailFinishMapper.deleteOutStockoutDetailFinishByStockoutDetailId(stockoutDetailId); + } + + @Override + public List selectOutStockoutDetailFinishListByStockoutGuid(String stockoutGuid) { + return outStockoutDetailFinishMapper.selectOutStockoutDetailFinishListByStockoutGuid(stockoutGuid); + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/out/outStockoutFinish/controller/OutStockoutFinishController.java b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockoutFinish/controller/OutStockoutFinishController.java new file mode 100644 index 0000000..b5d56b9 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockoutFinish/controller/OutStockoutFinishController.java @@ -0,0 +1,104 @@ +package com.ruoyi.out.outStockoutFinish.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.out.outStockoutFinish.domain.OutStockoutFinish; +import com.ruoyi.out.outStockoutFinish.service.IOutStockoutFinishService; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.core.page.TableDataInfo; + +/** + * 出库单据完成表Controller + * + * @author ruoyi + * @date 2025-05-23 + */ +@RestController +@RequestMapping("/out/outStockoutFinish") +public class OutStockoutFinishController extends BaseController +{ + @Autowired + private IOutStockoutFinishService outStockoutFinishService; + + /** + * 查询出库单据完成表列表 + */ + @PreAuthorize("@ss.hasPermi('out:outStockoutFinish:list')") + @GetMapping("/list") + public TableDataInfo list(OutStockoutFinish outStockoutFinish) + { + startPage(); + List list = outStockoutFinishService.selectOutStockoutFinishList(outStockoutFinish); + return getDataTable(list); + } + + /** + * 导出出库单据完成表列表 + */ + @PreAuthorize("@ss.hasPermi('out:outStockoutFinish:export')") + @Log(title = "出库单据完成表", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, OutStockoutFinish outStockoutFinish) + { + List list = outStockoutFinishService.selectOutStockoutFinishList(outStockoutFinish); + ExcelUtil util = new ExcelUtil(OutStockoutFinish.class); + util.exportExcel(response, list, "出库单据完成表数据"); + } + + /** + * 获取出库单据完成表详细信息 + */ + @PreAuthorize("@ss.hasPermi('out:outStockoutFinish:query')") + @GetMapping(value = "/{stockoutGuid}") + public AjaxResult getInfo(@PathVariable("stockoutGuid") String stockoutGuid) + { + return success(outStockoutFinishService.selectOutStockoutFinishByStockoutGuid(stockoutGuid)); + } + + /** + * 新增出库单据完成表 + */ + @PreAuthorize("@ss.hasPermi('out:outStockoutFinish:add')") + @Log(title = "出库单据完成表", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody OutStockoutFinish outStockoutFinish) + { + return toAjax(outStockoutFinishService.insertOutStockoutFinish(outStockoutFinish)); + } + + /** + * 修改出库单据完成表 + */ + @PreAuthorize("@ss.hasPermi('out:outStockoutFinish:edit')") + @Log(title = "出库单据完成表", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody OutStockoutFinish outStockoutFinish) + { + return toAjax(outStockoutFinishService.updateOutStockoutFinish(outStockoutFinish)); + } + + /** + * 删除出库单据完成表 + */ + @PreAuthorize("@ss.hasPermi('out:outStockoutFinish:remove')") + @Log(title = "出库单据完成表", businessType = BusinessType.DELETE) + @DeleteMapping("/{stockoutGuids}") + public AjaxResult remove(@PathVariable String[] stockoutGuids) + { + return toAjax(outStockoutFinishService.deleteOutStockoutFinishByStockoutGuids(stockoutGuids)); + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/out/outStockoutFinish/domain/OutStockoutFinish.java b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockoutFinish/domain/OutStockoutFinish.java new file mode 100644 index 0000000..5a80f04 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockoutFinish/domain/OutStockoutFinish.java @@ -0,0 +1,278 @@ +package com.ruoyi.out.outStockoutFinish.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; + +/** + * 出库单据完成表对象 out_stockout_finish + * + * @author ruoyi + * @date 2025-05-23 + */ +public class OutStockoutFinish extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 出库单据guid */ + @Excel(name = "出库单据guid") + private String stockoutGuid; + + /** 出库单编码 */ + @Excel(name = "出库单编码") + private String stockoutId; + + /** 出库类型 */ + @Excel(name = "出库类型") + private String outType; + + /** 创建时间 */ + @Excel(name = "创建时间") + private String createDate; + + /** 部门编号 */ + @Excel(name = "部门编号") + private String departmentNo; + + /** 客户编号 */ + @Excel(name = "客户编号") + private String customerNo; + + /** 建单人 */ + @Excel(name = "建单人") + private String createManId; + + /** 单据状态 */ + @Excel(name = "单据状态") + private String status; + + /** 单据来源 */ + @Excel(name = "单据来源") + private String stockoutSource; + + /** 仓库 */ + @Excel(name = "仓库") + private String warehouseId; + + /** 班组 */ + @Excel(name = "班组") + private String classNowId; + + /** 出口 */ + @Excel(name = "出口") + private String exitId; + + /** 车牌 */ + @Excel(name = "车牌") + private String carNumber; + + /** 外部订单号 */ + @Excel(name = "外部订单号") + private String FID; + + /** erp订单号 */ + @Excel(name = "erp订单号") + private String erpStockoutId; + + /** 开始时间 */ + @Excel(name = "开始时间") + private String startDate; + + /** 完成时间 */ + @Excel(name = "完成时间") + private String finishDate; + + public void setStockoutGuid(String stockoutGuid) + { + this.stockoutGuid = stockoutGuid; + } + + public String getStockoutGuid() + { + return stockoutGuid; + } + + public void setStockoutId(String stockoutId) + { + this.stockoutId = stockoutId; + } + + public String getStockoutId() + { + return stockoutId; + } + + public void setOutType(String outType) + { + this.outType = outType; + } + + public String getOutType() + { + return outType; + } + + public void setCreateDate(String createDate) + { + this.createDate = createDate; + } + + public String getCreateDate() + { + return createDate; + } + + 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 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 setStockoutSource(String stockoutSource) + { + this.stockoutSource = stockoutSource; + } + + public String getStockoutSource() + { + return stockoutSource; + } + + public void setWarehouseId(String warehouseId) + { + this.warehouseId = warehouseId; + } + + public String getWarehouseId() + { + return warehouseId; + } + + public void setClassNowId(String classNowId) + { + this.classNowId = classNowId; + } + + public String getClassNowId() + { + return classNowId; + } + + public void setExitId(String exitId) + { + this.exitId = exitId; + } + + public String getExitId() + { + return exitId; + } + + public void setCarNumber(String carNumber) + { + this.carNumber = carNumber; + } + + public String getCarNumber() + { + return carNumber; + } + + public void setFID(String FID) + { + this.FID = FID; + } + + public String getFID() + { + return FID; + } + + public void setErpStockoutId(String erpStockoutId) + { + this.erpStockoutId = erpStockoutId; + } + + public String getErpStockoutId() + { + return erpStockoutId; + } + + public void setStartDate(String startDate) + { + this.startDate = startDate; + } + + public String getStartDate() + { + return startDate; + } + + public void setFinishDate(String finishDate) + { + this.finishDate = finishDate; + } + + public String getFinishDate() + { + return finishDate; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("stockoutGuid", getStockoutGuid()) + .append("stockoutId", getStockoutId()) + .append("outType", getOutType()) + .append("createDate", getCreateDate()) + .append("departmentNo", getDepartmentNo()) + .append("customerNo", getCustomerNo()) + .append("createManId", getCreateManId()) + .append("status", getStatus()) + .append("stockoutSource", getStockoutSource()) + .append("warehouseId", getWarehouseId()) + .append("classNowId", getClassNowId()) + .append("exitId", getExitId()) + .append("carNumber", getCarNumber()) + .append("FID", getFID()) + .append("erpStockoutId", getErpStockoutId()) + .append("startDate", getStartDate()) + .append("finishDate", getFinishDate()) + .toString(); + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/out/outStockoutFinish/mapper/OutStockoutFinishMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockoutFinish/mapper/OutStockoutFinishMapper.java new file mode 100644 index 0000000..dd7a90a --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockoutFinish/mapper/OutStockoutFinishMapper.java @@ -0,0 +1,65 @@ +package com.ruoyi.out.outStockoutFinish.mapper; + +import java.util.List; + +import com.ruoyi.out.outStockout.domain.OutStockout; +import com.ruoyi.out.outStockoutFinish.domain.OutStockoutFinish; + +/** + * 出库单据完成表Mapper接口 + * + * @author ruoyi + * @date 2025-05-23 + */ +public interface OutStockoutFinishMapper +{ + /** + * 查询出库单据完成表 + * + * @param stockoutGuid 出库单据完成表主键 + * @return 出库单据完成表 + */ + public OutStockoutFinish selectOutStockoutFinishByStockoutGuid(String stockoutGuid); + + /** + * 查询出库单据完成表列表 + * + * @param outStockoutFinish 出库单据完成表 + * @return 出库单据完成表集合 + */ + public List selectOutStockoutFinishList(OutStockoutFinish outStockoutFinish); + + /** + * 新增出库单据完成表 + * + * @param outStockoutFinish 出库单据完成表 + * @return 结果 + */ + public int insertOutStockoutFinish(OutStockoutFinish outStockoutFinish); + + /** + * 修改出库单据完成表 + * + * @param outStockoutFinish 出库单据完成表 + * @return 结果 + */ + public int updateOutStockoutFinish(OutStockoutFinish outStockoutFinish); + + /** + * 删除出库单据完成表 + * + * @param stockoutGuid 出库单据完成表主键 + * @return 结果 + */ + public int deleteOutStockoutFinishByStockoutGuid(String stockoutGuid); + + /** + * 批量删除出库单据完成表 + * + * @param stockoutGuids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteOutStockoutFinishByStockoutGuids(String[] stockoutGuids); + + public List selectOutStockoutFinishListByOutStockout(OutStockout outStockout); +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/out/outStockoutFinish/service/IOutStockoutFinishService.java b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockoutFinish/service/IOutStockoutFinishService.java new file mode 100644 index 0000000..4bb74f1 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockoutFinish/service/IOutStockoutFinishService.java @@ -0,0 +1,65 @@ +package com.ruoyi.out.outStockoutFinish.service; + +import java.util.List; + +import com.ruoyi.out.outStockout.domain.OutStockout; +import com.ruoyi.out.outStockoutFinish.domain.OutStockoutFinish; + +/** + * 出库单据完成表Service接口 + * + * @author ruoyi + * @date 2025-05-23 + */ +public interface IOutStockoutFinishService +{ + /** + * 查询出库单据完成表 + * + * @param stockoutGuid 出库单据完成表主键 + * @return 出库单据完成表 + */ + public OutStockoutFinish selectOutStockoutFinishByStockoutGuid(String stockoutGuid); + + /** + * 查询出库单据完成表列表 + * + * @param outStockoutFinish 出库单据完成表 + * @return 出库单据完成表集合 + */ + public List selectOutStockoutFinishList(OutStockoutFinish outStockoutFinish); + + /** + * 新增出库单据完成表 + * + * @param outStockoutFinish 出库单据完成表 + * @return 结果 + */ + public int insertOutStockoutFinish(OutStockoutFinish outStockoutFinish); + + /** + * 修改出库单据完成表 + * + * @param outStockoutFinish 出库单据完成表 + * @return 结果 + */ + public int updateOutStockoutFinish(OutStockoutFinish outStockoutFinish); + + /** + * 批量删除出库单据完成表 + * + * @param stockoutGuids 需要删除的出库单据完成表主键集合 + * @return 结果 + */ + public int deleteOutStockoutFinishByStockoutGuids(String[] stockoutGuids); + + /** + * 删除出库单据完成表信息 + * + * @param stockoutGuid 出库单据完成表主键 + * @return 结果 + */ + public int deleteOutStockoutFinishByStockoutGuid(String stockoutGuid); + + public List selectOutStockoutFinishListByOutStockout(OutStockout outStockout); +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/out/outStockoutFinish/service/impl/OutStockoutFinishServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockoutFinish/service/impl/OutStockoutFinishServiceImpl.java new file mode 100644 index 0000000..44aca27 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockoutFinish/service/impl/OutStockoutFinishServiceImpl.java @@ -0,0 +1,101 @@ +package com.ruoyi.out.outStockoutFinish.service.impl; + +import java.util.Collections; +import java.util.List; + +import com.ruoyi.out.outStockout.domain.OutStockout; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ruoyi.out.outStockoutFinish.mapper.OutStockoutFinishMapper; +import com.ruoyi.out.outStockoutFinish.domain.OutStockoutFinish; +import com.ruoyi.out.outStockoutFinish.service.IOutStockoutFinishService; + +/** + * 出库单据完成表Service业务层处理 + * + * @author ruoyi + * @date 2025-05-23 + */ +@Service +public class OutStockoutFinishServiceImpl implements IOutStockoutFinishService +{ + @Autowired + private OutStockoutFinishMapper outStockoutFinishMapper; + + /** + * 查询出库单据完成表 + * + * @param stockoutGuid 出库单据完成表主键 + * @return 出库单据完成表 + */ + @Override + public OutStockoutFinish selectOutStockoutFinishByStockoutGuid(String stockoutGuid) + { + return outStockoutFinishMapper.selectOutStockoutFinishByStockoutGuid(stockoutGuid); + } + + /** + * 查询出库单据完成表列表 + * + * @param outStockoutFinish 出库单据完成表 + * @return 出库单据完成表 + */ + @Override + public List selectOutStockoutFinishList(OutStockoutFinish outStockoutFinish) + { + return outStockoutFinishMapper.selectOutStockoutFinishList(outStockoutFinish); + } + + /** + * 新增出库单据完成表 + * + * @param outStockoutFinish 出库单据完成表 + * @return 结果 + */ + @Override + public int insertOutStockoutFinish(OutStockoutFinish outStockoutFinish) + { + return outStockoutFinishMapper.insertOutStockoutFinish(outStockoutFinish); + } + + /** + * 修改出库单据完成表 + * + * @param outStockoutFinish 出库单据完成表 + * @return 结果 + */ + @Override + public int updateOutStockoutFinish(OutStockoutFinish outStockoutFinish) + { + return outStockoutFinishMapper.updateOutStockoutFinish(outStockoutFinish); + } + + /** + * 批量删除出库单据完成表 + * + * @param stockoutGuids 需要删除的出库单据完成表主键 + * @return 结果 + */ + @Override + public int deleteOutStockoutFinishByStockoutGuids(String[] stockoutGuids) + { + return outStockoutFinishMapper.deleteOutStockoutFinishByStockoutGuids(stockoutGuids); + } + + /** + * 删除出库单据完成表信息 + * + * @param stockoutGuid 出库单据完成表主键 + * @return 结果 + */ + @Override + public int deleteOutStockoutFinishByStockoutGuid(String stockoutGuid) + { + return outStockoutFinishMapper.deleteOutStockoutFinishByStockoutGuid(stockoutGuid); + } + + @Override + public List selectOutStockoutFinishListByOutStockout(OutStockout outStockout) { + return outStockoutFinishMapper.selectOutStockoutFinishListByOutStockout(outStockout); + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/out/productAndStock/controller/ViewProductAndStockController.java b/ruoyi-admin/src/main/java/com/ruoyi/out/productAndStock/controller/ViewProductAndStockController.java new file mode 100644 index 0000000..35d01c9 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/out/productAndStock/controller/ViewProductAndStockController.java @@ -0,0 +1,104 @@ +package com.ruoyi.out.productAndStock.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.out.productAndStock.domain.ViewProductAndStock; +import com.ruoyi.out.productAndStock.service.IViewProductAndStockService; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.core.page.TableDataInfo; + +/** + * 可出库的库存物资信息Controller + * + * @author ruoyi + * @date 2025-05-21 + */ +@RestController +@RequestMapping("/out/productAndStock") +public class ViewProductAndStockController extends BaseController +{ + @Autowired + private IViewProductAndStockService viewProductAndStockService; + + /** + * 查询可出库的库存物资信息列表 + */ + @PreAuthorize("@ss.hasPermi('out:productAndStock:list')") + @GetMapping("/list") + public TableDataInfo list(ViewProductAndStock viewProductAndStock) + { + startPage(); + List list = viewProductAndStockService.selectViewProductAndStockList(viewProductAndStock); + return getDataTable(list); + } + + /** + * 导出可出库的库存物资信息列表 + */ + @PreAuthorize("@ss.hasPermi('out:productAndStock:export')") + @Log(title = "可出库的库存物资信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, ViewProductAndStock viewProductAndStock) + { + List list = viewProductAndStockService.selectViewProductAndStockList(viewProductAndStock); + ExcelUtil util = new ExcelUtil(ViewProductAndStock.class); + util.exportExcel(response, list, "可出库的库存物资信息数据"); + } + + /** + * 获取可出库的库存物资信息详细信息 + */ + @PreAuthorize("@ss.hasPermi('out:productAndStock:query')") + @GetMapping(value = "/{onlyIdentity}") + public AjaxResult getInfo(@PathVariable("onlyIdentity") Long onlyIdentity) + { + return success(viewProductAndStockService.selectViewProductAndStockByOnlyIdentity(onlyIdentity)); + } + + /** + * 新增可出库的库存物资信息 + */ + @PreAuthorize("@ss.hasPermi('out:productAndStock:add')") + @Log(title = "可出库的库存物资信息", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody ViewProductAndStock viewProductAndStock) + { + return toAjax(viewProductAndStockService.insertViewProductAndStock(viewProductAndStock)); + } + + /** + * 修改可出库的库存物资信息 + */ + @PreAuthorize("@ss.hasPermi('out:productAndStock:edit')") + @Log(title = "可出库的库存物资信息", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody ViewProductAndStock viewProductAndStock) + { + return toAjax(viewProductAndStockService.updateViewProductAndStock(viewProductAndStock)); + } + + /** + * 删除可出库的库存物资信息 + */ + @PreAuthorize("@ss.hasPermi('out:productAndStock:remove')") + @Log(title = "可出库的库存物资信息", businessType = BusinessType.DELETE) + @DeleteMapping("/{onlyIdentitys}") + public AjaxResult remove(@PathVariable Long[] onlyIdentitys) + { + return toAjax(viewProductAndStockService.deleteViewProductAndStockByOnlyIdentitys(onlyIdentitys)); + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/out/productAndStock/domain/ViewProductAndStock.java b/ruoyi-admin/src/main/java/com/ruoyi/out/productAndStock/domain/ViewProductAndStock.java new file mode 100644 index 0000000..28bb073 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/out/productAndStock/domain/ViewProductAndStock.java @@ -0,0 +1,113 @@ +package com.ruoyi.out.productAndStock.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; + +/** + * 可出库的库存物资信息对象 view_product_and_stock + * + * @author ruoyi + * @date 2025-05-21 + */ +public class ViewProductAndStock extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 序号 */ + @Excel(name = "序号") + private Long onlyIdentity; + + /** 物资编码 */ + @Excel(name = "物资编码") + private String productId; + + /** 批号 */ + @Excel(name = "批号") + private String lotNo; + + /** 物资名称 */ + @Excel(name = "物资名称") + private String productName; + + /** 数量 */ + @Excel(name = "数量") + private String quantity; + + /** 仓库 */ + @Excel(name = "仓库") + private String warehouseId; + + public void setOnlyIdentity(Long onlyIdentity) + { + this.onlyIdentity = onlyIdentity; + } + + public Long getOnlyIdentity() + { + return onlyIdentity; + } + + public void setProductId(String productId) + { + this.productId = productId; + } + + public String getProductId() + { + return productId; + } + + public void setLotNo(String lotNo) + { + this.lotNo = lotNo; + } + + public String getLotNo() + { + return lotNo; + } + + public void setProductName(String productName) + { + this.productName = productName; + } + + public String getProductName() + { + return productName; + } + + public void setQuantity(String quantity) + { + this.quantity = quantity; + } + + public String getQuantity() + { + return quantity; + } + + public void setWarehouseId(String warehouseId) + { + this.warehouseId = warehouseId; + } + + public String getWarehouseId() + { + return warehouseId; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("onlyIdentity", getOnlyIdentity()) + .append("productId", getProductId()) + .append("lotNo", getLotNo()) + .append("productName", getProductName()) + .append("quantity", getQuantity()) + .append("warehouseId", getWarehouseId()) + .toString(); + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/out/productAndStock/mapper/ViewProductAndStockMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/out/productAndStock/mapper/ViewProductAndStockMapper.java new file mode 100644 index 0000000..a055e12 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/out/productAndStock/mapper/ViewProductAndStockMapper.java @@ -0,0 +1,61 @@ +package com.ruoyi.out.productAndStock.mapper; + +import java.util.List; +import com.ruoyi.out.productAndStock.domain.ViewProductAndStock; + +/** + * 可出库的库存物资信息Mapper接口 + * + * @author ruoyi + * @date 2025-05-21 + */ +public interface ViewProductAndStockMapper +{ + /** + * 查询可出库的库存物资信息 + * + * @param onlyIdentity 可出库的库存物资信息主键 + * @return 可出库的库存物资信息 + */ + public ViewProductAndStock selectViewProductAndStockByOnlyIdentity(Long onlyIdentity); + + /** + * 查询可出库的库存物资信息列表 + * + * @param viewProductAndStock 可出库的库存物资信息 + * @return 可出库的库存物资信息集合 + */ + public List selectViewProductAndStockList(ViewProductAndStock viewProductAndStock); + + /** + * 新增可出库的库存物资信息 + * + * @param viewProductAndStock 可出库的库存物资信息 + * @return 结果 + */ + public int insertViewProductAndStock(ViewProductAndStock viewProductAndStock); + + /** + * 修改可出库的库存物资信息 + * + * @param viewProductAndStock 可出库的库存物资信息 + * @return 结果 + */ + public int updateViewProductAndStock(ViewProductAndStock viewProductAndStock); + + /** + * 删除可出库的库存物资信息 + * + * @param onlyIdentity 可出库的库存物资信息主键 + * @return 结果 + */ + public int deleteViewProductAndStockByOnlyIdentity(Long onlyIdentity); + + /** + * 批量删除可出库的库存物资信息 + * + * @param onlyIdentitys 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteViewProductAndStockByOnlyIdentitys(Long[] onlyIdentitys); +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/out/productAndStock/service/IViewProductAndStockService.java b/ruoyi-admin/src/main/java/com/ruoyi/out/productAndStock/service/IViewProductAndStockService.java new file mode 100644 index 0000000..a8ff7c9 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/out/productAndStock/service/IViewProductAndStockService.java @@ -0,0 +1,61 @@ +package com.ruoyi.out.productAndStock.service; + +import java.util.List; +import com.ruoyi.out.productAndStock.domain.ViewProductAndStock; + +/** + * 可出库的库存物资信息Service接口 + * + * @author ruoyi + * @date 2025-05-21 + */ +public interface IViewProductAndStockService +{ + /** + * 查询可出库的库存物资信息 + * + * @param onlyIdentity 可出库的库存物资信息主键 + * @return 可出库的库存物资信息 + */ + public ViewProductAndStock selectViewProductAndStockByOnlyIdentity(Long onlyIdentity); + + /** + * 查询可出库的库存物资信息列表 + * + * @param viewProductAndStock 可出库的库存物资信息 + * @return 可出库的库存物资信息集合 + */ + public List selectViewProductAndStockList(ViewProductAndStock viewProductAndStock); + + /** + * 新增可出库的库存物资信息 + * + * @param viewProductAndStock 可出库的库存物资信息 + * @return 结果 + */ + public int insertViewProductAndStock(ViewProductAndStock viewProductAndStock); + + /** + * 修改可出库的库存物资信息 + * + * @param viewProductAndStock 可出库的库存物资信息 + * @return 结果 + */ + public int updateViewProductAndStock(ViewProductAndStock viewProductAndStock); + + /** + * 批量删除可出库的库存物资信息 + * + * @param onlyIdentitys 需要删除的可出库的库存物资信息主键集合 + * @return 结果 + */ + public int deleteViewProductAndStockByOnlyIdentitys(Long[] onlyIdentitys); + + /** + * 删除可出库的库存物资信息信息 + * + * @param onlyIdentity 可出库的库存物资信息主键 + * @return 结果 + */ + public int deleteViewProductAndStockByOnlyIdentity(Long onlyIdentity); +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/out/productAndStock/service/impl/ViewProductAndStockServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/out/productAndStock/service/impl/ViewProductAndStockServiceImpl.java new file mode 100644 index 0000000..164f532 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/out/productAndStock/service/impl/ViewProductAndStockServiceImpl.java @@ -0,0 +1,93 @@ +package com.ruoyi.out.productAndStock.service.impl; + +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ruoyi.out.productAndStock.mapper.ViewProductAndStockMapper; +import com.ruoyi.out.productAndStock.domain.ViewProductAndStock; +import com.ruoyi.out.productAndStock.service.IViewProductAndStockService; + +/** + * 可出库的库存物资信息Service业务层处理 + * + * @author ruoyi + * @date 2025-05-21 + */ +@Service +public class ViewProductAndStockServiceImpl implements IViewProductAndStockService +{ + @Autowired + private ViewProductAndStockMapper viewProductAndStockMapper; + + /** + * 查询可出库的库存物资信息 + * + * @param onlyIdentity 可出库的库存物资信息主键 + * @return 可出库的库存物资信息 + */ + @Override + public ViewProductAndStock selectViewProductAndStockByOnlyIdentity(Long onlyIdentity) + { + return viewProductAndStockMapper.selectViewProductAndStockByOnlyIdentity(onlyIdentity); + } + + /** + * 查询可出库的库存物资信息列表 + * + * @param viewProductAndStock 可出库的库存物资信息 + * @return 可出库的库存物资信息 + */ + @Override + public List selectViewProductAndStockList(ViewProductAndStock viewProductAndStock) + { + return viewProductAndStockMapper.selectViewProductAndStockList(viewProductAndStock); + } + + /** + * 新增可出库的库存物资信息 + * + * @param viewProductAndStock 可出库的库存物资信息 + * @return 结果 + */ + @Override + public int insertViewProductAndStock(ViewProductAndStock viewProductAndStock) + { + return viewProductAndStockMapper.insertViewProductAndStock(viewProductAndStock); + } + + /** + * 修改可出库的库存物资信息 + * + * @param viewProductAndStock 可出库的库存物资信息 + * @return 结果 + */ + @Override + public int updateViewProductAndStock(ViewProductAndStock viewProductAndStock) + { + return viewProductAndStockMapper.updateViewProductAndStock(viewProductAndStock); + } + + /** + * 批量删除可出库的库存物资信息 + * + * @param onlyIdentitys 需要删除的可出库的库存物资信息主键 + * @return 结果 + */ + @Override + public int deleteViewProductAndStockByOnlyIdentitys(Long[] onlyIdentitys) + { + return viewProductAndStockMapper.deleteViewProductAndStockByOnlyIdentitys(onlyIdentitys); + } + + /** + * 删除可出库的库存物资信息信息 + * + * @param onlyIdentity 可出库的库存物资信息主键 + * @return 结果 + */ + @Override + public int deleteViewProductAndStockByOnlyIdentity(Long onlyIdentity) + { + return viewProductAndStockMapper.deleteViewProductAndStockByOnlyIdentity(onlyIdentity); + } +} diff --git a/ruoyi-admin/src/main/resources/mapper/out/OutStockoutDetailFinishMapper.xml b/ruoyi-admin/src/main/resources/mapper/out/OutStockoutDetailFinishMapper.xml new file mode 100644 index 0000000..8cbbc7f --- /dev/null +++ b/ruoyi-admin/src/main/resources/mapper/out/OutStockoutDetailFinishMapper.xml @@ -0,0 +1,212 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select stockout_detail_id, stockout_guid, stockout_id, lot_no, product_guid, product_id, quantity, quantity_x, quantity_j, assign_num, assign_num_x, assign_num_j, allot_quantity, allot_quantity_x, allot_quantity_j, price, remark, warehouse_id, out_id, bukechai_quantity, kechai_quantity, entryid, flat_quantity, fid, erp_stockout_id, unit, spec, product_name, supplier_id, cargo_no, create_time, print_date from out_stockout_detail_finish + + + + + + + + insert into out_stockout_detail_finish + + stockout_detail_id, + stockout_guid, + stockout_id, + lot_no, + product_guid, + product_id, + quantity, + quantity_x, + quantity_j, + assign_num, + assign_num_x, + assign_num_j, + allot_quantity, + allot_quantity_x, + allot_quantity_j, + price, + remark, + warehouse_id, + out_id, + bukechai_quantity, + kechai_quantity, + entryid, + flat_quantity, + fid, + erp_stockout_id, + unit, + spec, + product_name, + supplier_id, + cargo_no, + create_time, + print_date, + + + #{stockoutDetailId}, + #{stockoutGuid}, + #{stockoutId}, + #{lotNo}, + #{productGuid}, + #{productId}, + #{quantity}, + #{quantityX}, + #{quantityJ}, + #{assignNum}, + #{assignNumX}, + #{assignNumJ}, + #{allotQuantity}, + #{allotQuantityX}, + #{allotQuantityJ}, + #{price}, + #{remark}, + #{warehouseId}, + #{outId}, + #{bukechaiQuantity}, + #{kechaiQuantity}, + #{entryid}, + #{flatQuantity}, + #{fid}, + #{erpStockoutId}, + #{unit}, + #{spec}, + #{productName}, + #{supplierId}, + #{cargoNo}, + #{createTime}, + #{printDate}, + + + + + update out_stockout_detail_finish + + stockout_guid = #{stockoutGuid}, + stockout_id = #{stockoutId}, + lot_no = #{lotNo}, + product_guid = #{productGuid}, + product_id = #{productId}, + quantity = #{quantity}, + quantity_x = #{quantityX}, + quantity_j = #{quantityJ}, + assign_num = #{assignNum}, + assign_num_x = #{assignNumX}, + assign_num_j = #{assignNumJ}, + allot_quantity = #{allotQuantity}, + allot_quantity_x = #{allotQuantityX}, + allot_quantity_j = #{allotQuantityJ}, + price = #{price}, + remark = #{remark}, + warehouse_id = #{warehouseId}, + out_id = #{outId}, + bukechai_quantity = #{bukechaiQuantity}, + kechai_quantity = #{kechaiQuantity}, + entryid = #{entryid}, + flat_quantity = #{flatQuantity}, + fid = #{fid}, + erp_stockout_id = #{erpStockoutId}, + unit = #{unit}, + spec = #{spec}, + product_name = #{productName}, + supplier_id = #{supplierId}, + cargo_no = #{cargoNo}, + create_time = #{createTime}, + print_date = #{printDate}, + + where stockout_detail_id = #{stockoutDetailId} + + + + delete from out_stockout_detail_finish where stockout_detail_id = #{stockoutDetailId} + + + + delete from out_stockout_detail_finish where stockout_detail_id in + + #{stockoutDetailId} + + + + + \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/mapper/out/OutStockoutDetailMapper.xml b/ruoyi-admin/src/main/resources/mapper/out/OutStockoutDetailMapper.xml new file mode 100644 index 0000000..4f3f751 --- /dev/null +++ b/ruoyi-admin/src/main/resources/mapper/out/OutStockoutDetailMapper.xml @@ -0,0 +1,212 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select stockout_detail_id, stockout_guid, stockout_id, lot_no, product_guid, product_id, quantity, quantity_x, quantity_j, assign_num, assign_num_x, assign_num_j, allot_quantity, allot_quantity_x, allot_quantity_j, price, remark, warehouse_id, out_id, bukechai_quantity, kechai_quantity, entryid, flat_quantity, fid, erp_stockout_id, unit, spec, product_name, supplier_id, cargo_no, create_time, print_date from out_stockout_detail + + + + + + + + insert into out_stockout_detail + + stockout_detail_id, + stockout_guid, + stockout_id, + lot_no, + product_guid, + product_id, + quantity, + quantity_x, + quantity_j, + assign_num, + assign_num_x, + assign_num_j, + allot_quantity, + allot_quantity_x, + allot_quantity_j, + price, + remark, + warehouse_id, + out_id, + bukechai_quantity, + kechai_quantity, + entryid, + flat_quantity, + fid, + erp_stockout_id, + unit, + spec, + product_name, + supplier_id, + cargo_no, + create_time, + print_date, + + + #{stockoutDetailId}, + #{stockoutGuid}, + #{stockoutId}, + #{lotNo}, + #{productGuid}, + #{productId}, + #{quantity}, + #{quantityX}, + #{quantityJ}, + #{assignNum}, + #{assignNumX}, + #{assignNumJ}, + #{allotQuantity}, + #{allotQuantityX}, + #{allotQuantityJ}, + #{price}, + #{remark}, + #{warehouseId}, + #{outId}, + #{bukechaiQuantity}, + #{kechaiQuantity}, + #{entryid}, + #{flatQuantity}, + #{fid}, + #{erpStockoutId}, + #{unit}, + #{spec}, + #{productName}, + #{supplierId}, + #{cargoNo}, + #{createTime}, + #{printDate}, + + + + + update out_stockout_detail + + stockout_guid = #{stockoutGuid}, + stockout_id = #{stockoutId}, + lot_no = #{lotNo}, + product_guid = #{productGuid}, + product_id = #{productId}, + quantity = #{quantity}, + quantity_x = #{quantityX}, + quantity_j = #{quantityJ}, + assign_num = #{assignNum}, + assign_num_x = #{assignNumX}, + assign_num_j = #{assignNumJ}, + allot_quantity = #{allotQuantity}, + allot_quantity_x = #{allotQuantityX}, + allot_quantity_j = #{allotQuantityJ}, + price = #{price}, + remark = #{remark}, + warehouse_id = #{warehouseId}, + out_id = #{outId}, + bukechai_quantity = #{bukechaiQuantity}, + kechai_quantity = #{kechaiQuantity}, + entryid = #{entryid}, + flat_quantity = #{flatQuantity}, + fid = #{fid}, + erp_stockout_id = #{erpStockoutId}, + unit = #{unit}, + spec = #{spec}, + product_name = #{productName}, + supplier_id = #{supplierId}, + cargo_no = #{cargoNo}, + create_time = #{createTime}, + print_date = #{printDate}, + + where stockout_detail_id = #{stockoutDetailId} + + + + delete from out_stockout_detail where stockout_detail_id = #{stockoutDetailId} + + + + delete from out_stockout_detail where stockout_detail_id in + + #{stockoutDetailId} + + + + + \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/mapper/out/OutStockoutFinishMapper.xml b/ruoyi-admin/src/main/resources/mapper/out/OutStockoutFinishMapper.xml new file mode 100644 index 0000000..f7852da --- /dev/null +++ b/ruoyi-admin/src/main/resources/mapper/out/OutStockoutFinishMapper.xml @@ -0,0 +1,157 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + select stockout_guid, stockout_id, out_type, create_date, department_no, customer_no, create_man_id, status, stockout_source, warehouse_id, class_now_id, exit_id, car_number, FID, erp_stockout_id, start_date, finish_date from out_stockout_finish + + + + + + + + insert into out_stockout_finish + + stockout_guid, + stockout_id, + out_type, + create_date, + department_no, + customer_no, + create_man_id, + status, + stockout_source, + warehouse_id, + class_now_id, + exit_id, + car_number, + FID, + erp_stockout_id, + start_date, + finish_date, + + + #{stockoutGuid}, + #{stockoutId}, + #{outType}, + #{createDate}, + #{departmentNo}, + #{customerNo}, + #{createManId}, + #{status}, + #{stockoutSource}, + #{warehouseId}, + #{classNowId}, + #{exitId}, + #{carNumber}, + #{FID}, + #{erpStockoutId}, + #{startDate}, + #{finishDate}, + + + + + update out_stockout_finish + + stockout_id = #{stockoutId}, + out_type = #{outType}, + create_date = #{createDate}, + department_no = #{departmentNo}, + customer_no = #{customerNo}, + create_man_id = #{createManId}, + status = #{status}, + stockout_source = #{stockoutSource}, + warehouse_id = #{warehouseId}, + class_now_id = #{classNowId}, + exit_id = #{exitId}, + car_number = #{carNumber}, + FID = #{FID}, + erp_stockout_id = #{erpStockoutId}, + start_date = #{startDate}, + finish_date = #{finishDate}, + + where stockout_guid = #{stockoutGuid} + + + + delete from out_stockout_finish where stockout_guid = #{stockoutGuid} + + + + delete from out_stockout_finish where stockout_guid in + + #{stockoutGuid} + + + + + \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/mapper/out/OutStockoutMapper.xml b/ruoyi-admin/src/main/resources/mapper/out/OutStockoutMapper.xml new file mode 100644 index 0000000..eb71083 --- /dev/null +++ b/ruoyi-admin/src/main/resources/mapper/out/OutStockoutMapper.xml @@ -0,0 +1,140 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + select stockout_guid, stockout_id, out_type, create_date, department_no, customer_no, create_man_id, status, stockout_source, warehouse_id, class_now_id, exit_id, car_number, FID, erp_stockout_id,start_date,finish_date from out_stockout + + + + + + + + insert into out_stockout + + stockout_guid, + stockout_id, + out_type, + create_date, + department_no, + customer_no, + create_man_id, + status, + stockout_source, + warehouse_id, + class_now_id, + exit_id, + car_number, + FID, + erp_stockout_id, + + + #{stockoutGuid}, + #{stockoutId}, + #{outType}, + #{createDate}, + #{departmentNo}, + #{customerNo}, + #{createManId}, + #{status}, + #{stockoutSource}, + #{warehouseId}, + #{classNowId}, + #{exitId}, + #{carNumber}, + #{FID}, + #{erpStockoutId}, + + + + + update out_stockout + + stockout_id = #{stockoutId}, + out_type = #{outType}, + create_date = #{createDate}, + department_no = #{departmentNo}, + customer_no = #{customerNo}, + create_man_id = #{createManId}, + status = #{status}, + stockout_source = #{stockoutSource}, + warehouse_id = #{warehouseId}, + class_now_id = #{classNowId}, + exit_id = #{exitId}, + car_number = #{carNumber}, + FID = #{FID}, + erp_stockout_id = #{erpStockoutId}, + start_date = #{startDate}, + finish_date = #{finishDate}, + + where stockout_guid = #{stockoutGuid} + + + + delete from out_stockout where stockout_guid = #{stockoutGuid} + + + + delete from out_stockout where stockout_guid in + + #{stockoutGuid} + + + + + \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/mapper/out/ViewProductAndStockMapper.xml b/ruoyi-admin/src/main/resources/mapper/out/ViewProductAndStockMapper.xml new file mode 100644 index 0000000..428c375 --- /dev/null +++ b/ruoyi-admin/src/main/resources/mapper/out/ViewProductAndStockMapper.xml @@ -0,0 +1,79 @@ + + + + + + + + + + + + + + + select only_identity, product_id, lot_no, product_name, quantity, warehouse_id from view_product_and_stock + + + + + + + + insert into view_product_and_stock + + only_identity, + product_id, + lot_no, + product_name, + quantity, + warehouse_id, + + + #{onlyIdentity}, + #{productId}, + #{lotNo}, + #{productName}, + #{quantity}, + #{warehouseId}, + + + + + update view_product_and_stock + + product_id = #{productId}, + lot_no = #{lotNo}, + product_name = #{productName}, + quantity = #{quantity}, + warehouse_id = #{warehouseId}, + + where only_identity = #{onlyIdentity} + + + + delete from view_product_and_stock where only_identity = #{onlyIdentity} + + + + delete from view_product_and_stock where only_identity in + + #{onlyIdentity} + + + \ No newline at end of file diff --git a/ruoyi-generator/src/main/resources/mapper/generator/GenTableColumnMapper.xml b/ruoyi-generator/src/main/resources/mapper/generator/GenTableColumnMapper.xml index 3cb1220..b403fb9 100644 --- a/ruoyi-generator/src/main/resources/mapper/generator/GenTableColumnMapper.xml +++ b/ruoyi-generator/src/main/resources/mapper/generator/GenTableColumnMapper.xml @@ -55,7 +55,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" FROM sys.columns c INNER JOIN - sys.tables t ON c.object_id = t.object_id + (SELECT object_id, name FROM sys.tables + UNION ALL + SELECT object_id, name FROM sys.views) t ON c.object_id = t.object_id LEFT JOIN sys.types ty ON c.user_type_id = ty.user_type_id LEFT JOIN ( diff --git a/ruoyi-generator/src/main/resources/mapper/generator/GenTableMapper.xml b/ruoyi-generator/src/main/resources/mapper/generator/GenTableMapper.xml index 96c1f2a..914e750 100644 --- a/ruoyi-generator/src/main/resources/mapper/generator/GenTableMapper.xml +++ b/ruoyi-generator/src/main/resources/mapper/generator/GenTableMapper.xml @@ -77,7 +77,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"