diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/dao/mapper/StIvtIostorinvMapper.xml b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/dao/mapper/StIvtIostorinvMapper.xml index 4d711d6..220940e 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/dao/mapper/StIvtIostorinvMapper.xml +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/dao/mapper/StIvtIostorinvMapper.xml @@ -859,6 +859,7 @@ and b.is_overdue = '0' GROUP BY a.iostorinv_id ) a ON a.iostorinv_id = ios.iostorinv_id + ORDER BY iostorinv_id DESC diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/dao/mapper/StIvtStructivtMapper.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/dao/mapper/StIvtStructivtMapper.java index 7e24a56..1e66a37 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/dao/mapper/StIvtStructivtMapper.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/dao/mapper/StIvtStructivtMapper.java @@ -1,5 +1,6 @@ package org.nl.b_lms.storage_manage.st.dao.mapper; +import com.alibaba.fastjson.JSONArray; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import org.apache.ibatis.annotations.Param; @@ -8,6 +9,8 @@ import org.nl.common.domain.query.PageQuery; import org.nl.wms.basedata.st.service.dto.ProductStoreDownDto; import org.nl.wms.basedata.st.service.dto.ProductStoreParam; import org.nl.wms.basedata.st.service.vo.ProductStoreVo; +import org.nl.wms.st.outbill.service.dto.StockMaterialQueryParam; +import org.nl.wms.st.outbill.service.vo.StockMaterialVo; import org.nl.wms.stat.service.dto.PastStructPageParam; import org.nl.wms.stat.service.vo.PastStructPageVo; @@ -25,4 +28,14 @@ public interface StIvtStructivtMapper extends BaseMapper { IPage getPastStructPage(IPage pages, @Param("paramMap") PastStructPageParam paramMap); List getPastStructDatas(@Param("paramMap") PastStructPageParam paramMap); + + /** + * 查询库存(创建出库单选择物料)- 分页查询 + * @param paramMap 参数 + * @param pages 分页 + * @return {@link StockMaterialVo} + */ + IPage queryAddDtl(StockMaterialQueryParam paramMap, IPage pages); + + JSONArray getBoxAllMaterial(String boxNo); } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/dao/mapper/StIvtStructivtMapper.xml b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/dao/mapper/StIvtStructivtMapper.xml index cc11b05..408afda 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/dao/mapper/StIvtStructivtMapper.xml +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/dao/mapper/StIvtStructivtMapper.xml @@ -666,4 +666,125 @@ ORDER BY sub.package_box_sn ASC + + diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/rest/CheckOutBillController.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/rest/CheckOutBillController.java index f7e7d38..23b9e06 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/rest/CheckOutBillController.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/rest/CheckOutBillController.java @@ -1,6 +1,8 @@ package org.nl.wms.st.outbill.rest; +import com.alibaba.fastjson.JSONObject; import lombok.extern.slf4j.Slf4j; +import org.nl.b_lms.storage_manage.ios.service.iostorInv.IStIvtIostorinvOutService; import org.nl.common.TableDataInfo; import org.nl.common.domain.query.PageQuery; import org.nl.modules.logging.annotation.Log; @@ -9,13 +11,12 @@ import org.nl.wms.st.outbill.service.CheckOutBillService; import org.nl.wms.st.outbill.service.dto.OutBillDtlQueryParam; import org.nl.wms.st.outbill.service.dto.OutBillQueryPageParam; import org.nl.wms.st.outbill.service.dto.OutBillTaskParam; -import org.springframework.data.domain.Pageable; +import org.nl.wms.st.outbill.service.dto.StockMaterialQueryParam; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; -import java.util.Map; /** * 出库单管理 @@ -30,6 +31,8 @@ public class CheckOutBillController { private CheckOutBillService checkOutBillService; @Resource private ISysDictService dictService; + @Resource + private IStIvtIostorinvOutService iStIvtIostorinvOutService; @GetMapping @Log("查询出库单") //@PreAuthorize("@el.check('checkoutbill:list')") @@ -41,6 +44,24 @@ public class CheckOutBillController { public ResponseEntity getOutBillDtl(OutBillDtlQueryParam param) { return new ResponseEntity<>(checkOutBillService.getOutBillDtl(param), HttpStatus.OK); } + @GetMapping("/addDtl") + @Log("查询库存(创建出库单选择物料)") + //@PreAuthorize("@el.check('checkoutbill:list')") + public ResponseEntity queryAddDtl(StockMaterialQueryParam paramMap, PageQuery page) { + return new ResponseEntity<>(TableDataInfo.build(checkOutBillService.queryAddDtl(paramMap, page)), HttpStatus.OK); + } + @PostMapping("/queryBox") + @Log("新增物料库存条件过滤") + public ResponseEntity queryBox(@RequestBody JSONObject whereJson) { + return new ResponseEntity<>(checkOutBillService.queryBox(whereJson), HttpStatus.OK); + } + + @PostMapping() + @Log("新增出库单") + public ResponseEntity insertDtl(@RequestBody JSONObject whereJson) { + iStIvtIostorinvOutService.insertMst(whereJson); + return new ResponseEntity<>(HttpStatus.CREATED); + } @PostMapping("/getOutBillTask2") @Log("详情查询出库单分配任务2") public ResponseEntity getOutBillTask2(@RequestBody OutBillTaskParam param) { diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/service/CheckOutBillService.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/service/CheckOutBillService.java index ccd1e83..257ada2 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/service/CheckOutBillService.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/service/CheckOutBillService.java @@ -1,13 +1,17 @@ package org.nl.wms.st.outbill.service; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.metadata.IPage; import org.nl.b_lms.storage_manage.ios.service.iostorInv.dao.StIvtIostorinv; import org.nl.common.domain.query.PageQuery; import org.nl.wms.st.outbill.service.dto.OutBillDtlQueryParam; import org.nl.wms.st.outbill.service.dto.OutBillQueryPageParam; import org.nl.wms.st.outbill.service.dto.OutBillTaskParam; +import org.nl.wms.st.outbill.service.dto.StockMaterialQueryParam; import org.nl.wms.st.outbill.service.vo.OutBillDtlVo; import org.nl.wms.st.outbill.service.vo.OutBillTaskVo; +import org.nl.wms.st.outbill.service.vo.StockMaterialVo; import java.util.List; @@ -31,4 +35,19 @@ public interface CheckOutBillService { List getOutBillTask2(OutBillTaskParam param); IPage queryOutBillPage(OutBillQueryPageParam paramMap, PageQuery page); + + /** + * 查询库存(创建出库单选择物料)- 分页查询 + * @param paramMap + * @param page + * @return + */ + IPage queryAddDtl(StockMaterialQueryParam paramMap, PageQuery page); + + /** + * + * @param whereJson + * @return + */ + JSONArray queryBox(JSONObject whereJson); } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/service/dto/StockMaterialQueryParam.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/service/dto/StockMaterialQueryParam.java new file mode 100644 index 0000000..5c73764 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/service/dto/StockMaterialQueryParam.java @@ -0,0 +1,31 @@ +package org.nl.wms.st.outbill.service.dto; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * 出库单物料选择查询参数 + * @Author: lyd + * @Date: 2025/6/19 + */ +@Data +public class StockMaterialQueryParam implements Serializable { + private String stor_id; + private String material_code; + private String pcsn; + private List pcsn_in; + private List sap_pcsn_in; + private String sap_pcsn; + private String package_box_sn; + private List box_no_in; + private String width_standard; + private String thickness_request; + private String customer_name; + private String struct_code; + private String begin_time; + private String end_time; + private String create_mode; + private String canuse_qty; +} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/service/impl/CheckOutBillServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/service/impl/CheckOutBillServiceImpl.java index e08289c..64149a8 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/service/impl/CheckOutBillServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/service/impl/CheckOutBillServiceImpl.java @@ -1,6 +1,8 @@ package org.nl.wms.st.outbill.service.impl; import cn.hutool.core.collection.CollectionUtil; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.extern.slf4j.Slf4j; @@ -8,19 +10,26 @@ import org.nl.b_lms.storage_manage.ios.service.iostorInv.IStIvtIostorinvdisServi import org.nl.b_lms.storage_manage.ios.service.iostorInv.IStIvtIostorinvdtlService; import org.nl.b_lms.storage_manage.ios.service.iostorInv.dao.StIvtIostorinv; import org.nl.b_lms.storage_manage.ios.service.iostorInv.dao.mapper.StIvtIostorinvMapper; +import org.nl.b_lms.storage_manage.st.dao.mapper.StIvtStructivtMapper; import org.nl.b_lms.storage_manage.st.service.StIvtBsrealstorattrService; import org.nl.common.domain.query.PageQuery; import org.nl.common.utils.SecurityUtils; import org.nl.common.utils.StringDealUtils; +import org.nl.modules.wql.WQL; +import org.nl.wms.basedata.st.service.StructivtService; import org.nl.wms.st.outbill.service.CheckOutBillService; import org.nl.wms.st.outbill.service.dto.OutBillDtlQueryParam; import org.nl.wms.st.outbill.service.dto.OutBillQueryPageParam; import org.nl.wms.st.outbill.service.dto.OutBillTaskParam; +import org.nl.wms.st.outbill.service.dto.StockMaterialQueryParam; import org.nl.wms.st.outbill.service.vo.OutBillDtlVo; import org.nl.wms.st.outbill.service.vo.OutBillTaskVo; +import org.nl.wms.st.outbill.service.vo.StockMaterialVo; +import org.nl.wms.stat.service.vo.PastStructPageVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.HashSet; import java.util.List; /** @@ -38,6 +47,8 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { private StIvtBsrealstorattrService bsrealstorattrService; @Autowired private StIvtIostorinvMapper stIvtIostorinvMapper; + @Autowired + private StIvtStructivtMapper stIvtStructivtMapper; @Override public List getOutBillDtl(OutBillDtlQueryParam param) { return iostorinvdtlService.getOutBillDtl(param); @@ -76,4 +87,42 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { IPage pages = new Page<>(page.getPage() + 1, page.getSize()); return stIvtIostorinvMapper.outBillPage(pages, paramMap); } + + @Override + public IPage queryAddDtl(StockMaterialQueryParam paramMap, PageQuery page) { + paramMap.setCanuse_qty("0"); + paramMap.setPcsn_in(StringDealUtils.splitString(paramMap.getPcsn())); + paramMap.setBox_no_in(StringDealUtils.splitString(paramMap.getPackage_box_sn())); + paramMap.setSap_pcsn_in(StringDealUtils.splitString(paramMap.getSap_pcsn())); + if (CollectionUtil.isNotEmpty(paramMap.getPcsn_in())) { + paramMap.setPcsn(""); + } + if (CollectionUtil.isNotEmpty(paramMap.getBox_no_in())) { + paramMap.setPackage_box_sn(""); + } + if (CollectionUtil.isNotEmpty(paramMap.getSap_pcsn_in())) { + paramMap.setSap_pcsn(""); + } + IPage pages = new Page<>(page.getPage() + 1, page.getSize()); + return stIvtStructivtMapper.queryAddDtl(paramMap, pages); + } + + @Override + public JSONArray queryBox(JSONObject whereJson) { + JSONArray data = whereJson.getJSONArray("data"); + // 先过滤相同的箱号 + HashSet boxSet = new HashSet<>(); + for (int i = 0; i < data.size(); i++) { + JSONObject json = data.getJSONObject(i); + boxSet.add(json.getString("box_no")); + } + + JSONArray array = new JSONArray(); + // 遍历 + for (String box_no : boxSet) { + JSONArray boxArr = stIvtStructivtMapper.getBoxAllMaterial(box_no); + array.addAll(boxArr); + } + return array; + } } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/service/vo/StockMaterialVo.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/service/vo/StockMaterialVo.java new file mode 100644 index 0000000..eadf383 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/service/vo/StockMaterialVo.java @@ -0,0 +1,35 @@ +package org.nl.wms.st.outbill.service.vo; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 出库单物料选择库存物料VO + * + * @Author: lyd + * @Date: 2025/6/19 + */ +@Data +public class StockMaterialVo implements Serializable { + private String stockrecord_id; + private String struct_id; + private String struct_code; + private String struct_name; + private String region_id; + private String material_id; + private String quality_scode; + private String pcsn; + private String canuse_qty; + private String frozen_qty; + private String ivt_qty; + private String plan_qty; + private String warehousing_qty; + private String qty_unit_id; + private String instorage_time; + private String material_name; + private String material_code; + private String qty_unit_name; + private String box_no; + private String sap_pcsn; +} diff --git a/lms/nladmin-ui/src/views/wms/st/outbill/AddDialog.vue b/lms/nladmin-ui/src/views/wms/st/outbill/AddDialog.vue index 31f0c19..beddedd 100644 --- a/lms/nladmin-ui/src/views/wms/st/outbill/AddDialog.vue +++ b/lms/nladmin-ui/src/views/wms/st/outbill/AddDialog.vue @@ -57,8 +57,8 @@ > @@ -99,7 +99,7 @@ - + --> - +