diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/IOSEnum.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/IOSEnum.java index d512eedf..57b30544 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/IOSEnum.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/IOSEnum.java @@ -18,9 +18,9 @@ public enum IOSEnum { //出入库类型 IO_TYPE(MapOf.of("入库","1","出库","2")), //单据类型 - BILL_TYPE(MapOf.of("生产入库","1","退货入库","2")), - //单据类型 - BILL_STATUS(MapOf.of("生成","1","提交","2")), + BILL_TYPE(MapOf.of("生产入库","1","手工入库","2")), + //单据状态 + BILL_STATUS(MapOf.of("生成","10","分配中","20","分配完","30","完成","99")), //单据状态 WORK_STATUS(MapOf.of("创建","1","生成","2")), ; diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/basedata/controller/storage/StIvtBsrealstorattrController.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/basedata/controller/storage/StIvtBsrealstorattrController.java index c34bed83..49e77da2 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/basedata/controller/storage/StIvtBsrealstorattrController.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/basedata/controller/storage/StIvtBsrealstorattrController.java @@ -2,7 +2,10 @@ package org.nl.wms.storage_manage.basedata.controller.storage; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; import org.nl.common.TableDataInfo; import org.nl.common.anno.Log; import org.nl.wms.storage_manage.basedata.service.storage.IStIvtBsrealstorattrService; @@ -24,8 +27,11 @@ import java.util.List; * @author generator * @since 2023-05-04 */ +@RequestMapping("/api/stIvtBsrealstorattr") @RestController -@RequestMapping("/stIvtBsrealstorattr") +@RequiredArgsConstructor +@Api(tags = "实物库属性表") +@Slf4j public class StIvtBsrealstorattrController { @Autowired diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/controller/iostorInv/IStivtlostorivnCpInController.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/controller/iostorInv/IStivtlostorivnCpInController.java new file mode 100644 index 00000000..a95be30c --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/controller/iostorInv/IStivtlostorivnCpInController.java @@ -0,0 +1,77 @@ +package org.nl.wms.storage_manage.productmanage.controller.iostorInv; + +import cn.hutool.json.JSONUtil; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.nl.common.anno.Log; +import org.nl.common.domain.query.PageQuery; +import org.nl.wms.storage_manage.IOSEnum; +import org.nl.wms.storage_manage.productmanage.service.iostorInv.IStIvtIostorinvCpService; +import org.nl.wms.storage_manage.productmanage.service.iostorInv.dao.StIvtIostorinvCp; +import org.nl.wms.storage_manage.productmanage.service.iostorInv.dto.IostorInvQuery; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequiredArgsConstructor +@Api(tags = "成品入库") +@RequestMapping("/api/productIn") +@Slf4j +public class IStivtlostorivnCpInController { + + @Autowired + private IStIvtIostorinvCpService iStIvtIostorinvCpService; + + @GetMapping + @Log("查询入库单") + @ApiOperation("查询入库单") + public ResponseEntity query(IostorInvQuery query, PageQuery page){ + return new ResponseEntity<>(iStIvtIostorinvCpService.pageQuery(query,page),HttpStatus.OK); + } + + @PostMapping + @Log("创建入库单") + @ApiOperation("创建入库单") + public ResponseEntity create(@RequestBody JSONObject whereJson){ + iStIvtIostorinvCpService.create(whereJson); + return new ResponseEntity<>(HttpStatus.OK); + } + + @PostMapping("/update") + @Log("修改入库单") + @ApiOperation("修改入库单") + public ResponseEntity update(@RequestBody JSONObject whereJson){ + iStIvtIostorinvCpService.update(whereJson); + return new ResponseEntity<>(HttpStatus.OK); + } + + @PostMapping("/delete") + @Log("删除入库单") + @ApiOperation("删除入库单") + public ResponseEntity delete(@RequestBody Long[] ids){ + iStIvtIostorinvCpService.delete(ids); + return new ResponseEntity<>(HttpStatus.OK); + } + + @PostMapping("/getIosInvDtl") + @Log("获取明细") + @ApiOperation("获取明细") + public ResponseEntity getIosInvDtl(@RequestBody JSONObject whereJson){ + return new ResponseEntity<>(iStIvtIostorinvCpService.getIosInvDtl(whereJson),HttpStatus.OK); + } + + @PostMapping("/getIosInvDis") + @Log("获取分配明细") + @ApiOperation("获取明细") + public ResponseEntity getIosInvDis(@RequestBody JSONObject whereJson){ + return new ResponseEntity<>(iStIvtIostorinvCpService.getIosInvDis(whereJson),HttpStatus.OK); + } + +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/controller/iostorInv/ProductOutController.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/controller/iostorInv/ProductOutController.java deleted file mode 100644 index 255e58d9..00000000 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/controller/iostorInv/ProductOutController.java +++ /dev/null @@ -1,165 +0,0 @@ -package org.nl.wms.storage_manage.productmanage.controller.iostorInv; - -import com.alibaba.fastjson.JSONObject; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.nl.common.anno.Log; -import org.nl.wms.storage_manage.service.semiproduct.ProductOutService; -import org.springframework.data.domain.Pageable; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.*; - -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.util.Map; - -@RestController -@RequiredArgsConstructor -@Api(tags = "成品出库") -@RequestMapping("/api/productOut") -@Slf4j -public class ProductOutController { - private final ProductOutService productOutService; - - @GetMapping - @Log("查询出库单") - @ApiOperation("查询出库单") - public ResponseEntity query(@RequestParam Map whereJson, Pageable page){ - return new ResponseEntity<>(productOutService.pageQuery(whereJson,page), HttpStatus.OK); - } - - @GetMapping("/addDtl") - @Log("查询库存") - @ApiOperation("查询库存") - public ResponseEntity queryAddDtl(@RequestParam Map whereJson, Pageable page){ - return new ResponseEntity<>(productOutService.queryAddDtl(whereJson,page), HttpStatus.OK); - } - - @GetMapping("/queryDtl") - @Log("查询明细") - @ApiOperation("查询明细") - public ResponseEntity queryDtl(@RequestParam Map whereJson, Pageable page){ - return new ResponseEntity<>(productOutService.queryDtl(whereJson,page), HttpStatus.OK); - } - - @PostMapping("/getOutBillDtl") - @Log("查询分配明细") - @ApiOperation("查询分配明细") - public ResponseEntity getOutBillDtl(@RequestBody JSONObject whereJson){ - return new ResponseEntity<>(productOutService.getOutBillDtl(whereJson), HttpStatus.OK); - } - - @Log("删除出库单") - @ApiOperation("删除出库单") - @DeleteMapping - public ResponseEntity delete(@RequestBody Long[] ids) { - productOutService.deleteAll(ids); - return new ResponseEntity<>(HttpStatus.OK); - } - - @PutMapping - @Log("修改出库单") - @ApiOperation("修改出库单") - public ResponseEntity update(@RequestBody JSONObject whereJson){ - productOutService.update(whereJson); - return new ResponseEntity<>(HttpStatus.NO_CONTENT); - } - - @PostMapping() - @Log("新增出库单") - @ApiOperation("新增出库单") - public ResponseEntity insertDtl(@RequestBody JSONObject whereJson){ - productOutService.insertDtl(whereJson); - return new ResponseEntity<>(HttpStatus.CREATED); - } - - @PostMapping("/allDiv") - @Log("出库单全部分配") - @ApiOperation("出库单全部分配") - public ResponseEntity allDiv(@RequestBody JSONObject whereJson) { - productOutService.allDiv(whereJson); - return new ResponseEntity<>(HttpStatus.NO_CONTENT); - } - - @PostMapping("/allDivOne") - @Log("分配一条出库明细") - @ApiOperation("分配一条出库明细") - public ResponseEntity allDivOne(@RequestBody JSONObject whereJson) { - productOutService.allDivOne(whereJson); - return new ResponseEntity<>(HttpStatus.NO_CONTENT); - } - - @PostMapping("/allCancel") - @Log("出库单全部取消") - @ApiOperation("出库单全部取消") - public ResponseEntity allCancel(@RequestBody JSONObject whereJson) { - productOutService.allCancel(whereJson); - return new ResponseEntity<>(HttpStatus.NO_CONTENT); - } - - @PostMapping("/oneCancel") - @Log("出库单全部取消") - @ApiOperation("出库单全部取消") - public ResponseEntity oneCancel(@RequestBody JSONObject whereJson) { - productOutService.oneCancel(whereJson); - return new ResponseEntity<>(HttpStatus.NO_CONTENT); - } - - @PostMapping("/getOutBillDis") - @Log("查询出库单分配明细") - @ApiOperation("查询出库单分配明细") - public ResponseEntity getOutBillDis(@RequestBody JSONObject whereJson){ - return new ResponseEntity<>(productOutService.getOutBillDis(whereJson), HttpStatus.OK); - } - - @PostMapping("/allSetPoint") - @Log("设置全部站点") - @ApiOperation("设置全部站点") - public ResponseEntity allSetPoint(@RequestBody JSONObject whereJson) { - productOutService.allSetPoint(whereJson); - return new ResponseEntity<>(HttpStatus.NO_CONTENT); - } - - @PostMapping("/manualDiv") - @Log("出库单手动分配") - @ApiOperation("出库单手动分配") - public ResponseEntity manualDiv(@RequestBody JSONObject whereJson) { - productOutService.manualDiv(whereJson); - return new ResponseEntity<>(HttpStatus.NO_CONTENT); - } - - @PostMapping("/confirm") - @Log("出库单强制确认") - @ApiOperation("出库单强制确认") - public ResponseEntity confirm(@RequestBody JSONObject whereJson) { - productOutService.confirm(whereJson); - return new ResponseEntity<>(HttpStatus.NO_CONTENT); - } - - @PostMapping("/finishTask") - @Log("出库任务手动完成") - @ApiOperation("出库任务手动完成") - public ResponseEntity finishTask(@RequestBody JSONObject whereJson) { - productOutService.finishTask(whereJson); - return new ResponseEntity<>(HttpStatus.NO_CONTENT); - } - - @PostMapping("/backConfirm") - @Log("出库单强制确认") - @ApiOperation("出库单强制确认") - public ResponseEntity backConfirm(@RequestBody JSONObject whereJson) { - productOutService.backConfirm(whereJson); - return new ResponseEntity<>(HttpStatus.NO_CONTENT); - } - - @Log("下载发货单Excel") - @ApiOperation("下载发货单Excel") - @GetMapping(value = "/downloadExcel") - public ResponseEntity downloadExcel(HttpServletResponse response, @RequestParam Map whereJson) throws IOException { - productOutService.downloadExcel(response,whereJson); - return new ResponseEntity<>(HttpStatus.OK); - } -} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/IStIvtIostorinvCpService.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/IStIvtIostorinvCpService.java index b4a52103..585b4c0b 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/IStIvtIostorinvCpService.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/IStIvtIostorinvCpService.java @@ -2,7 +2,9 @@ package org.nl.wms.storage_manage.productmanage.service.iostorInv; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.IService; +import org.nl.common.domain.query.PageQuery; import org.nl.wms.storage_manage.productmanage.service.iostorInv.dao.StIvtIostorinvCp; +import org.nl.wms.storage_manage.productmanage.service.iostorInv.dto.IostorInvQuery; import java.util.List; @@ -15,35 +17,58 @@ import java.util.List; * @since 2023-05-04 */ public interface IStIvtIostorinvCpService extends IService { + + /** + * 分页查询 + * @param query,page / + * @return JSONObject + */ + JSONObject pageQuery(IostorInvQuery query, PageQuery page); + /** * 创建 - * @param form + * @param form / */ void create(JSONObject form); /** * 更新相关联的表 - * @param form + * @param form / */ void update(JSONObject form); /** * 查询出入库单明细 * @param whereJson / - * @return JSONArray + * @return List */ List getIosInvDtl(JSONObject whereJson); + /** + * 查询出入库单分配明细 + * @param whereJson / + * @return List + */ + List getIosInvDis(JSONObject whereJson); /** * 提交单据 - * @param whereJson + * @param whereJson / */ void commit(JSONObject whereJson); /** * 组盘 - * @param whereJson + * @param whereJson / */ void confirmvehicle(JSONObject whereJson); + + /** + * 组盘 + * @param ids / + */ + void delete(Long[] ids); + + + } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/IStIvtIostorinvdisCpService.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/IStIvtIostorinvdisCpService.java index 322db2cb..31119039 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/IStIvtIostorinvdisCpService.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/IStIvtIostorinvdisCpService.java @@ -23,5 +23,5 @@ public interface IStIvtIostorinvdisCpService extends IService list); - List queryInvDisByInvdtl(Map map); + List queryInvDisByInvdtl(Map map); } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/IStIvtIostorinvdisdtlCpService.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/IStIvtIostorinvdisdtlCpService.java index 710d0f31..9288a823 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/IStIvtIostorinvdisdtlCpService.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/IStIvtIostorinvdisdtlCpService.java @@ -1,8 +1,12 @@ package org.nl.wms.storage_manage.productmanage.service.iostorInv; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.IService; import org.nl.wms.storage_manage.productmanage.service.iostorInv.dao.StIvtIostorinvdisdtlCp; +import java.util.List; +import java.util.Map; + /** *

* 出入库单分配明细表 服务类 @@ -13,4 +17,5 @@ import org.nl.wms.storage_manage.productmanage.service.iostorInv.dao.StIvtIostor */ public interface IStIvtIostorinvdisdtlCpService extends IService { + List queryInvDisByInvdtl(Map map); } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/dao/StIvtIostorinvCp.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/dao/StIvtIostorinvCp.java index 7213e0e8..e1bdb2fe 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/dao/StIvtIostorinvCp.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/dao/StIvtIostorinvCp.java @@ -1,6 +1,8 @@ package org.nl.wms.storage_manage.productmanage.service.iostorInv.dao; +import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import lombok.EqualsAndHashCode; @@ -26,6 +28,7 @@ public class StIvtIostorinvCp implements Serializable { /** * 出入单标识 */ + @TableId(value = "iostorinv_id") private String iostorinv_id; /** @@ -116,6 +119,7 @@ public class StIvtIostorinvCp implements Serializable { /** * 创建时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date create_time; /** @@ -131,6 +135,7 @@ public class StIvtIostorinvCp implements Serializable { /** * 修改时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date update_time; /** @@ -146,6 +151,7 @@ public class StIvtIostorinvCp implements Serializable { /** * 分配时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private String dis_time; /** @@ -161,6 +167,7 @@ public class StIvtIostorinvCp implements Serializable { /** * 确认时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private String confirm_time; /** @@ -196,6 +203,7 @@ public class StIvtIostorinvCp implements Serializable { /** * 回传时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private String upload_time; /** diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/dao/mapper/StIvtIostorinvdisdtlCpMapper.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/dao/mapper/StIvtIostorinvdisdtlCpMapper.java index 9c49b6dd..32fa82bd 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/dao/mapper/StIvtIostorinvdisdtlCpMapper.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/dao/mapper/StIvtIostorinvdisdtlCpMapper.java @@ -1,8 +1,12 @@ package org.nl.wms.storage_manage.productmanage.service.iostorInv.dao.mapper; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.nl.wms.storage_manage.productmanage.service.iostorInv.dao.StIvtIostorinvdisdtlCp; +import java.util.List; +import java.util.Map; + /** *

* 出入库单分配明细表 Mapper 接口 @@ -13,4 +17,6 @@ import org.nl.wms.storage_manage.productmanage.service.iostorInv.dao.StIvtIostor */ public interface StIvtIostorinvdisdtlCpMapper extends BaseMapper { + List queryInvDtlDisByInv(Map map); + } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/dao/mapper/xml/StIvtIostorinvdisCpMapper.xml b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/dao/mapper/xml/StIvtIostorinvdisCpMapper.xml index 8d4353f2..2b8ef065 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/dao/mapper/xml/StIvtIostorinvdisCpMapper.xml +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/dao/mapper/xml/StIvtIostorinvdisCpMapper.xml @@ -70,15 +70,17 @@ dis.*, mater.material_code, mater.material_name, - mater.material_spec, - dis.struct_code + mater.material_spec FROM - st_ivt_iostorinvdis_cp dis - LEFT JOIN md_me_materialbase mater ON mater.material_id = dis.material_id - WHERE IFNULL(dis.task_id,'') = '' + st_ivt_iostorinvdis_cp dis + LEFT JOIN md_me_materialbase mater ON mater.material_id = dis.material_id + WHERE 1=1 and dis.iostorinvdtl_id = #{iostorinvdtl_id} + + and dis.iostorinv_id = #{iostorinv_id} + order by dis.seq_no ASC diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/dao/mapper/xml/StIvtIostorinvdisdtlCpMapper.xml b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/dao/mapper/xml/StIvtIostorinvdisdtlCpMapper.xml index a7e33dc7..140bbbc1 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/dao/mapper/xml/StIvtIostorinvdisdtlCpMapper.xml +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/dao/mapper/xml/StIvtIostorinvdisdtlCpMapper.xml @@ -1,5 +1,27 @@ + diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/dao/mapper/xml/StIvtIostorinvdtlCpMapper.xml b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/dao/mapper/xml/StIvtIostorinvdtlCpMapper.xml index 4bb2ebda..c4c6e44b 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/dao/mapper/xml/StIvtIostorinvdtlCpMapper.xml +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/dao/mapper/xml/StIvtIostorinvdtlCpMapper.xml @@ -68,8 +68,8 @@ mater.material_name, mater.material_spec FROM - ST_IVT_IOStorInvDtl dtl - LEFT JOIN ST_IVT_IOStorInv mst ON mst.iostorinv_id = dtl.iostorinv_id + st_ivt_iostorinvdtl_cp dtl + LEFT JOIN st_ivt_iostorinv_cp mst ON mst.iostorinv_id = dtl.iostorinv_id LEFT JOIN md_me_materialbase mater ON mater.material_id = dtl.material_id WHERE mst.is_delete = '0' diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/impl/StIvtIostorinvCpServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/impl/StIvtIostorinvCpServiceImpl.java index b540319f..1e012347 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/impl/StIvtIostorinvCpServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/impl/StIvtIostorinvCpServiceImpl.java @@ -1,33 +1,38 @@ package org.nl.wms.storage_manage.productmanage.service.iostorInv.impl; -import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import io.jsonwebtoken.lang.Assert; import org.jetbrains.annotations.NotNull; +import org.nl.common.domain.query.PageQuery; +import org.nl.common.utils.MapOf; import org.nl.common.utils.SecurityUtils; import org.nl.modules.common.exception.BadRequestException; import org.nl.modules.system.util.CodeUtil; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.wms.storage_manage.IOSEnum; +import org.nl.wms.storage_manage.basedata.service.storage.IStIvtBsrealstorattrService; +import org.nl.wms.storage_manage.basedata.service.storage.dao.StIvtBsrealstorattr; import org.nl.wms.storage_manage.productmanage.service.iostorInv.IStIvtIostorinvCpService; import org.nl.wms.storage_manage.productmanage.service.iostorInv.IStIvtIostorinvdisCpService; +import org.nl.wms.storage_manage.productmanage.service.iostorInv.IStIvtIostorinvdisdtlCpService; import org.nl.wms.storage_manage.productmanage.service.iostorInv.IStIvtIostorinvdtlCpService; import org.nl.wms.storage_manage.productmanage.service.iostorInv.dao.StIvtIostorinvCp; import org.nl.wms.storage_manage.productmanage.service.iostorInv.dao.StIvtIostorinvdisCp; import org.nl.wms.storage_manage.productmanage.service.iostorInv.dao.StIvtIostorinvdtlCp; import org.nl.wms.storage_manage.productmanage.service.iostorInv.dao.mapper.StIvtIostorinvCpMapper; +import org.nl.wms.storage_manage.productmanage.service.iostorInv.dto.IostorInvQuery; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; import java.util.*; +import java.util.stream.Collectors; /** *

@@ -42,37 +47,62 @@ public class StIvtIostorinvCpServiceImpl extends ServiceImpl pageQuery = this.page(page.build(), query.build()); + + // 组织前端返回数据 + JSONObject json = new JSONObject(); + json.put("content", pageQuery.getRecords()); + json.put("totalElements", pageQuery.getTotal()); + + return json; + } @Override @Transactional(rollbackFor = Exception.class) public void create(JSONObject form) { - Assert.notNull(new Object[]{form,form.getJSONArray("tableData")},"请求参数不能为空"); + JSONArray rows = form.getJSONArray("tableData"); + if (ObjectUtil.isEmpty(rows)) throw new BadRequestException("请求参数不能为空"); + + // 调用主表 插入/更新方法 + StIvtIostorinvCp stIvtIostorinvCp = packageMstForm(new StIvtIostorinvCp(), form, false); // 插入主表 - StIvtIostorinvCp stIvtIostorinvCp = new StIvtIostorinvCp(); - packageMstForm(stIvtIostorinvCp,form,false); - double total_qty = iostorinvdtlCpService.create(rows, stIvtIostorinvCp.getIostorinv_id()); - stIvtIostorinvCp.setTotal_qty(new BigDecimal(total_qty)); this.save(stIvtIostorinvCp); + + // 调用明细表 插入/更新方法 + iostorinvdtlCpService.create(rows, stIvtIostorinvCp.getIostorinv_id()); } @Override @Transactional(rollbackFor = Exception.class) public void update(JSONObject form) { - Assert.notNull(new Object[]{form,form.getJSONArray("tableData")},"请求参数不能为空"); + JSONArray rows = form.getJSONArray("tableData"); - //先删除该单据下的所有明细 - iostorinvdtlCpService.remove(new QueryWrapper().eq("iostorinv_id",form.getString("iostorinv_id"))); - iostorinvdisCpService.remove(new QueryWrapper().eq("iostorinv_id",form.getString("iostorinv_id"))); + if (ObjectUtil.isEmpty(rows)) throw new BadRequestException("明细不能为空"); StIvtIostorinvCp iostorinvCp = this.getOne(new QueryWrapper().eq("iostorinv_id", form.getString("iostorinv_id"))); - packageMstForm(iostorinvCp,form,true); + packageMstForm(iostorinvCp,form,true); + //创建明细 - double total_qty = iostorinvdtlCpService.create(rows, iostorinvCp.getIostorinv_id()); - iostorinvCp.setTotal_qty(new BigDecimal(total_qty)); + iostorinvdtlCpService.create(rows, iostorinvCp.getIostorinv_id()); // 更新主表 this.updateById(iostorinvCp); } @@ -80,10 +110,35 @@ public class StIvtIostorinvCpServiceImpl extends ServiceImpl maps = iostorinvdtlCpService.queryInvDtlByInv(whereJson); return maps; } + @Override + public List getIosInvDis(JSONObject whereJson) { + + // 查询分配表 + List maps = iostorinvdisCpService.queryInvDisByInvdtl(whereJson); + + // 返回数据 + List resultList = new ArrayList<>(); + + // 考虑有箱号情况 + if (true) { + maps.forEach(item -> { + String storagevehicle_code = (String) item.get("storagevehicle_code"); + String iostorinvdis_id = (String) item.get("iostorinvdis_id"); + + // 根据托盘查找分配明细 + resultList.addAll(iStIvtIostorinvdisdtlCpService.queryInvDisByInvdtl(MapOf.of("storagevehicle_code", storagevehicle_code, "iostorinvdis_id", iostorinvdis_id))); + }); + } else { + // 考虑无箱号情况 + } + return resultList; + } + @Override public void commit(JSONObject whereJson) { Assert.notNull(whereJson,"请求参数不能为空"); @@ -123,28 +178,57 @@ public class StIvtIostorinvCpServiceImpl extends ServiceImpl().eq("iostorinv_id", id)); + dao.setIs_delete(true); + + this.updateById(dao); + } + } + @NotNull - private void packageMstForm(StIvtIostorinvCp stIvtIostorinvCp,JSONObject whereJson,Boolean isUpdate) { + private StIvtIostorinvCp packageMstForm(StIvtIostorinvCp stIvtIostorinvCp,JSONObject whereJson,Boolean isUpdate) { JSONArray rows = whereJson.getJSONArray("tableData"); if (!isUpdate){ + // 新增 stIvtIostorinvCp.setIostorinv_id(org.nl.common.utils.IdUtil.getStringId()); stIvtIostorinvCp.setBill_code(CodeUtil.getNewCode("IO_CODE")); + stIvtIostorinvCp.setIo_type(IOSEnum.IO_TYPE.code("入库")); + stIvtIostorinvCp.setBuss_type(whereJson.getString("bill_type")); + stIvtIostorinvCp.setBill_type(stIvtIostorinvCp.getBuss_type()); stIvtIostorinvCp.setBill_status(IOSEnum.BILL_STATUS.code("生成")); stIvtIostorinvCp.setCreate_id(SecurityUtils.getCurrentUserId()); stIvtIostorinvCp.setCreate_name(SecurityUtils.getCurrentNickName()); stIvtIostorinvCp.setCreate_time(new Date()); + stIvtIostorinvCp.setIs_delete(false); + // TODO 暂时写死 + stIvtIostorinvCp.setSysdeptid("111"); + stIvtIostorinvCp.setSyscompanyid("111"); }else { + // 修改 stIvtIostorinvCp.setUpdate_id(SecurityUtils.getCurrentUserId()); stIvtIostorinvCp.setUpdate_name(SecurityUtils.getCurrentNickName()); stIvtIostorinvCp.setUpdate_time(new Date()); } - stIvtIostorinvCp.setIo_type(IOSEnum.IO_TYPE.code("入库")); - stIvtIostorinvCp.setBill_type(IOSEnum.BILL_TYPE.check(whereJson.getString("bill_type"))); - stIvtIostorinvCp.setBiz_date(whereJson.getString("biz_date").substring(0, 10)); - stIvtIostorinvCp.setProduct_area(whereJson.getString("product_code")); + + stIvtIostorinvCp.setBiz_date(whereJson.getString("biz_date").substring(0,10)); + // 获取仓库信息 + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("stor_id", whereJson.getString("stor_id")); + wrapper.eq("is_used", true); + StIvtBsrealstorattr bsrealDao = stIvtBsrealstorattrService.getOne(wrapper); + if (ObjectUtil.isEmpty(bsrealDao)) throw new BadRequestException("仓库不存在或未启用!"); + + stIvtIostorinvCp.setStor_id(bsrealDao.getStor_id()); + stIvtIostorinvCp.setStor_code(bsrealDao.getStor_code()); + stIvtIostorinvCp.setStor_name(bsrealDao.getStor_name()); + stIvtIostorinvCp.setTotal_qty(whereJson.getBigDecimal("total_qty")); stIvtIostorinvCp.setDetail_count(rows.size()); stIvtIostorinvCp.setRemark(whereJson.getString("remark")); - + return stIvtIostorinvCp; } } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/impl/StIvtIostorinvdisdtlCpServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/impl/StIvtIostorinvdisdtlCpServiceImpl.java index 0fd87a95..503df6d0 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/impl/StIvtIostorinvdisdtlCpServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/impl/StIvtIostorinvdisdtlCpServiceImpl.java @@ -1,11 +1,15 @@ package org.nl.wms.storage_manage.productmanage.service.iostorInv.impl; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.nl.wms.storage_manage.productmanage.service.iostorInv.IStIvtIostorinvdisdtlCpService; import org.nl.wms.storage_manage.productmanage.service.iostorInv.dao.StIvtIostorinvdisdtlCp; import org.nl.wms.storage_manage.productmanage.service.iostorInv.dao.mapper.StIvtIostorinvdisdtlCpMapper; import org.springframework.stereotype.Service; +import java.util.List; +import java.util.Map; + /** *

* 出入库单分配明细表 服务实现类 @@ -17,4 +21,8 @@ import org.springframework.stereotype.Service; @Service public class StIvtIostorinvdisdtlCpServiceImpl extends ServiceImpl implements IStIvtIostorinvdisdtlCpService { + @Override + public List queryInvDisByInvdtl(Map map) { + return baseMapper.queryInvDtlDisByInv(map); + } } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/impl/StIvtIostorinvdtlCpServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/impl/StIvtIostorinvdtlCpServiceImpl.java index d9d6b35b..42adae4b 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/impl/StIvtIostorinvdtlCpServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/impl/StIvtIostorinvdtlCpServiceImpl.java @@ -1,30 +1,24 @@ package org.nl.wms.storage_manage.productmanage.service.iostorInv.impl; -import cn.hutool.core.bean.BeanUtil; import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.commons.lang3.StringUtils; -import org.nl.modules.wql.WQL; -import org.nl.wms.masterdata_manage.MasterEnum; import org.nl.wms.masterdata_manage.service.master.IMdPbMeasureunitService; -import org.nl.wms.masterdata_manage.service.master.dao.MdPbMeasureunit; import org.nl.wms.masterdata_manage.service.material.IMdMeMaterialbaseService; -import org.nl.wms.masterdata_manage.service.material.dao.MdMeMaterialbase; import org.nl.wms.storage_manage.IOSEnum; import org.nl.wms.storage_manage.productmanage.service.iostorInv.IStIvtIostorinvdisCpService; import org.nl.wms.storage_manage.productmanage.service.iostorInv.IStIvtIostorinvdtlCpService; -import org.nl.wms.storage_manage.productmanage.service.iostorInv.dao.StIvtIostorinvdisCp; import org.nl.wms.storage_manage.productmanage.service.iostorInv.dao.StIvtIostorinvdtlCp; import org.nl.wms.storage_manage.productmanage.service.iostorInv.dao.mapper.StIvtIostorinvdtlCpMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; -import java.math.BigDecimal; -import java.util.*; -import java.util.stream.Collectors; +import javax.annotation.Resource; +import java.util.Collection; +import java.util.List; +import java.util.Map; /** *

@@ -39,8 +33,14 @@ public class StIvtIostorinvdtlCpServiceImpl extends ServiceImpl mingxi = new ArrayList<>(); - ArrayList fenpei = new ArrayList<>(); if (rows.size()>0 && StringUtils.isNotEmpty(iostorinvCp_id)){ - List tmp_materials = materialbaseService.list(new QueryWrapper().in("material_code", rows.stream().map(row -> ((JSONObject) row).getString("material_code")).collect(Collectors.toSet()))); - List tmp_measureUnits = measureunitService.list(new QueryWrapper().in("measure_unit_id", tmp_materials.stream().map(MdMeMaterialbase::getBase_unit_id).collect(Collectors.toSet()))); + // 先删除在插入 + this.remove(new QueryWrapper().eq("iostorinv_id", iostorinvCp_id)); - Map materialMap = tmp_materials.stream().collect(HashMap::new, (k, v) -> k.put(v.getMaterial_code(), v), HashMap::putAll); - Map measureUnitMap = tmp_measureUnits.stream().collect(HashMap::new, (k, v) -> k.put(v.getMeasure_unit_id(), v.getUnit_name()), HashMap::putAll); for (int i = 0; i < rows.size(); i++) { - // 插入明细表 - JSONObject row = rows.getJSONObject(i); - StIvtIostorinvdtlCp iostorinvdtlCp = new StIvtIostorinvdtlCp(); - iostorinvdtlCp.setIostorinvdtl_id(org.nl.common.utils.IdUtil.getStringId()); - iostorinvdtlCp.setIostorinv_id(iostorinvCp_id); - iostorinvdtlCp.setSeq_no(i + 1); - MdMeMaterialbase material = materialMap.get(row.get("material_code")); - iostorinvdtlCp.setMaterial_id(material.getMaterial_id()); - iostorinvdtlCp.setPcsn(row.getString("pcsn")); - iostorinvdtlCp.setBill_status(IOSEnum.BILL_STATUS.code("生成")); - iostorinvdtlCp.setQuality_scode(MasterEnum.MATERIAL_QUALITY.code("一等品")); - iostorinvdtlCp.setQty_unit_id(material.getBase_unit_id()); - iostorinvdtlCp.setQty_unit_name(measureUnitMap.get(material.getBase_unit_id())); - iostorinvdtlCp.setAssign_qty(new BigDecimal(row.getDoubleValue("plan_qty"))); - iostorinvdtlCp.setPlan_qty(iostorinvdtlCp.getAssign_qty()); - mingxi.add(iostorinvdtlCp); - String tmp_plan_qty = row.getString("plan_qty"); - if (!StringUtils.isEmpty(tmp_plan_qty)){ - total_qty += Double.parseDouble(tmp_plan_qty); - } - //分配表 - StIvtIostorinvdisCp stIvtIostorinvdisCp = BeanUtil.copyProperties(iostorinvdtlCp, StIvtIostorinvdisCp.class); - stIvtIostorinvdisCp.setIostorinvdis_id(org.nl.common.utils.IdUtil.getStringId()); - stIvtIostorinvdisCp.setSeq_no(1); - stIvtIostorinvdisCp.setWork_status(IOSEnum.WORK_STATUS.code("创建")); - fenpei.add(stIvtIostorinvdisCp); + StIvtIostorinvdtlCp row = rows.getJSONObject(i).toJavaObject(StIvtIostorinvdtlCp.class); + row.setIostorinv_id(iostorinvCp_id); + row.setIostorinvdtl_id(org.nl.common.utils.IdUtil.getStringId()); + row.setSeq_no(i+1); + row.setIs_active(true); + row.setBill_status(IOSEnum.BILL_STATUS.code("生成")); + row.setReal_qty(row.getPlan_qty()); + row.setUnassign_qty(row.getPlan_qty()); + this.save(row); + total_qty += row.getPlan_qty().doubleValue(); } } - if (!com.alibaba.excel.util.CollectionUtils.isEmpty(mingxi)){ - this.batchInsert(mingxi); - iostorinvdisCpService.batchInsert(fenpei); - } return total_qty; } diff --git a/mes/hd/nladmin-system/src/main/resources/config/application.yml b/mes/hd/nladmin-system/src/main/resources/config/application.yml index f6980d8a..eb3aa928 100644 --- a/mes/hd/nladmin-system/src/main/resources/config/application.yml +++ b/mes/hd/nladmin-system/src/main/resources/config/application.yml @@ -88,7 +88,7 @@ mybatis-plus: map-underscore-to-camel-case: false # log-impl: org.apache.ibatis.logging.stdout.StdOutImpl mapper-locations: - - classpath:org.nl.**.mapper/*.xml + - classpath:/org/nl/**/mapper/**/*.xml global-config: db-config: id-type: INPUT diff --git a/mes/qd/src/api/wms/basedata/st/storattr.js b/mes/qd/src/api/wms/basedata/st/storattr.js index 747d12b5..61c3eb3b 100644 --- a/mes/qd/src/api/wms/basedata/st/storattr.js +++ b/mes/qd/src/api/wms/basedata/st/storattr.js @@ -2,7 +2,7 @@ import request from '@/utils/request' export function add(data) { return request({ - url: 'api/Storattr', + url: '/api/stIvtBsrealstorattr', method: 'post', data }) @@ -10,7 +10,7 @@ export function add(data) { export function del(ids) { return request({ - url: 'api/Storattr/', + url: '/api/stIvtBsrealstorattr', method: 'delete', data: ids }) @@ -18,7 +18,7 @@ export function del(ids) { export function edit(data) { return request({ - url: 'api/Storattr', + url: '/api/stIvtBsrealstorattr', method: 'put', data }) @@ -26,7 +26,7 @@ export function edit(data) { export function getStor(params) { return request({ - url: 'api/Storattr/getStor', + url: '/api/stIvtBsrealstorattr/getStor', method: 'get', params }) @@ -34,10 +34,18 @@ export function getStor(params) { export function changeActive(data) { return request({ - url: 'api/Storattr/changeActive', + url: '/api/stIvtBsrealstorattr/changeActive', method: 'put', data }) } -export default { add, edit, del, getStor, changeActive } +export function queryStor(data) { + return request({ + url: '/api/stIvtBsrealstorattr/queryStor', + method: 'post', + data + }) +} + +export default { add, edit, del, getStor, changeActive, queryStor } diff --git a/mes/qd/src/views/wms/storage_manage/product/productIn/AddDialog.vue b/mes/qd/src/views/wms/storage_manage/product/productIn/AddDialog.vue index acbcd071..e828a30c 100644 --- a/mes/qd/src/views/wms/storage_manage/product/productIn/AddDialog.vue +++ b/mes/qd/src/views/wms/storage_manage/product/productIn/AddDialog.vue @@ -1,4 +1,3 @@ -