From 57730a631ea8852e171a3ff6e200fc9891b17731 Mon Sep 17 00:00:00 2001 From: zhangzhiqiang Date: Fri, 5 May 2023 18:46:17 +0800 Subject: [PATCH] =?UTF-8?q?add:=E4=BF=AE=E6=94=B9=E6=88=90=E5=93=81?= =?UTF-8?q?=E5=87=BA=E5=85=A5=E5=BA=93=E6=9C=AAmybatis?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/nl/config/mybatis/CodeGenerator.java | 2 + .../nl/wms/masterdata_manage/MasterEnum.java | 42 +++++++++ .../material/dao/MdMeMaterialbase.java | 32 ++++--- .../org/nl/wms/storage_manage/IOSEnum.java | 44 +++++++++ .../productmanage/common/enums/IOSEnum.java | 18 ---- .../iostorInv/StIvtIostorinvCpController.java | 8 +- .../StIvtIostorinvdisdtlCpController.java | 20 ---- .../iostorInv/IStIvtIostorinvCpService.java | 11 +++ .../IStIvtIostorinvdisCpService.java | 8 ++ .../IStIvtIostorinvdtlCpService.java | 17 ++++ .../iostorInv/dao/StIvtIostorinvCp.java | 7 +- .../iostorInv/dao/StIvtIostorinvdisCp.java | 2 +- .../iostorInv/dao/StIvtIostorinvdtlCp.java | 2 +- .../dao/mapper/StIvtIostorinvdisCpMapper.java | 4 + .../dao/mapper/StIvtIostorinvdisCpMapper.xml | 5 - .../dao/mapper/StIvtIostorinvdtlCpMapper.java | 6 ++ .../dao/mapper/StIvtIostorinvdtlCpMapper.xml | 5 - .../{ => xml}/StIvtIostorinvCpMapper.xml | 0 .../mapper/xml/StIvtIostorinvdisCpMapper.xml | 68 ++++++++++++++ .../StIvtIostorinvdisdtlCpMapper.xml | 0 .../mapper/xml/StIvtIostorinvdtlCpMapper.xml | 64 +++++++++++++ .../impl/StIvtIostorinvCpServiceImpl.java | 91 +++++++++++++++++++ .../impl/StIvtIostorinvdisCpServiceImpl.java | 9 ++ .../impl/StIvtIostorinvdtlCpServiceImpl.java | 81 +++++++++++++++++ 24 files changed, 473 insertions(+), 73 deletions(-) create mode 100644 mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/MasterEnum.java create mode 100644 mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/IOSEnum.java delete mode 100644 mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/common/enums/IOSEnum.java delete mode 100644 mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/controller/iostorInv/StIvtIostorinvdisdtlCpController.java delete mode 100644 mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/dao/mapper/StIvtIostorinvdisCpMapper.xml delete mode 100644 mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/dao/mapper/StIvtIostorinvdtlCpMapper.xml rename mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/dao/mapper/{ => xml}/StIvtIostorinvCpMapper.xml (100%) create mode 100644 mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/dao/mapper/xml/StIvtIostorinvdisCpMapper.xml rename mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/dao/mapper/{ => xml}/StIvtIostorinvdisdtlCpMapper.xml (100%) create mode 100644 mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/dao/mapper/xml/StIvtIostorinvdtlCpMapper.xml diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/config/mybatis/CodeGenerator.java b/mes/hd/nladmin-system/src/main/java/org/nl/config/mybatis/CodeGenerator.java index f5bb45d1..3038eb1f 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/config/mybatis/CodeGenerator.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/config/mybatis/CodeGenerator.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.generator.config.DataSourceConfig; import com.baomidou.mybatisplus.generator.config.GlobalConfig; import com.baomidou.mybatisplus.generator.config.PackageConfig; import com.baomidou.mybatisplus.generator.config.StrategyConfig; +import com.baomidou.mybatisplus.generator.config.rules.DateType; import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy; import org.apache.commons.lang3.StringUtils; @@ -52,6 +53,7 @@ public class CodeGenerator { gc.setEntityName("%s"); gc.setServiceName("I%sService"); gc.setServiceImplName("%sServiceImpl"); + gc.setDateType(DateType.ONLY_DATE); mpg.setGlobalConfig(gc); // 数据源配置 DataSourceConfig dsc = new DataSourceConfig(); diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/MasterEnum.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/MasterEnum.java new file mode 100644 index 00000000..a9d74d4c --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/MasterEnum.java @@ -0,0 +1,42 @@ +package org.nl.wms.masterdata_manage; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import org.apache.commons.lang3.StringUtils; +import org.nl.common.utils.MapOf; +import org.nl.modules.common.exception.BadRequestException; + +import java.util.Map; + +/* + * @author ZZQ + * @Date 2023/5/4 20:11 + */ +@AllArgsConstructor +@Getter +public enum MasterEnum { + //出入库类型 + MATERIAL_QUALITY(MapOf.of("一等品","1","二等品","2")), + //单据类型 + BILL_TYPE(MapOf.of("生产入库","1","退货入库","2")), + //单据类型 + BILL_STATUS(MapOf.of("创建","1","生成","2")), + ; + private Map code; + + public String code(String desc){ + String code = this.getCode().get(desc); + if (StringUtils.isNotEmpty(code)){ + return code; + } + throw new BadRequestException(this.name()+"对应类型"+desc+"未定义"); + } + public String check(String code){ + for (Map.Entry entry : this.getCode().entrySet()) { + if (entry.getValue().equals("code")){ + return entry.getValue(); + } + } + throw new BadRequestException(this.name()+"对应类型"+code+"未定义"); + } +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/service/material/dao/MdMeMaterialbase.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/service/material/dao/MdMeMaterialbase.java index 3f0bbac7..fa52e5f3 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/service/material/dao/MdMeMaterialbase.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/service/material/dao/MdMeMaterialbase.java @@ -3,6 +3,8 @@ package org.nl.wms.masterdata_manage.service.material.dao; import java.math.BigDecimal; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; +import java.util.Date; + import lombok.Data; import lombok.EqualsAndHashCode; @@ -24,7 +26,7 @@ public class MdMeMaterialbase implements Serializable { /** * 物料标识 */ - private Long material_id; + private String material_id; /** * 物料编码 @@ -54,12 +56,12 @@ public class MdMeMaterialbase implements Serializable { /** * 基本计量单位 */ - private Long base_unit_id; + private String base_unit_id; /** * 辅助计量单位 */ - private Long assist_unit_id; + private String assist_unit_id; /** * 批准文号 @@ -74,12 +76,12 @@ public class MdMeMaterialbase implements Serializable { /** * 物料分类标识 */ - private Long material_type_id; + private String material_type_id; /** * 长度单位 */ - private Long len_unit_id; + private String len_unit_id; /** * 物料长度 @@ -99,7 +101,7 @@ public class MdMeMaterialbase implements Serializable { /** * 重量单位 */ - private Long weight_unit_id; + private String weight_unit_id; /** * 物料毛重 @@ -114,7 +116,7 @@ public class MdMeMaterialbase implements Serializable { /** * 体积单位 */ - private Long cubage_unit_id; + private String cubage_unit_id; /** * 物料体积 @@ -124,7 +126,7 @@ public class MdMeMaterialbase implements Serializable { /** * 创建人 */ - private Long create_id; + private String create_id; /** * 创建人姓名 @@ -134,12 +136,12 @@ public class MdMeMaterialbase implements Serializable { /** * 创建时间 */ - private String create_time; + private Date create_time; /** * 修改人 */ - private Long update_id; + private String update_id; /** * 修改人姓名 @@ -149,22 +151,22 @@ public class MdMeMaterialbase implements Serializable { /** * 修改时间 */ - private String update_time; + private Date update_time; /** * 启用时间 */ - private String is_used_time; + private Date is_used_time; /** * 是否启用 */ - private String is_used; + private Boolean is_used; /** * 是否删除 */ - private String is_delete; + private Boolean is_delete; /** * 外部标识 @@ -174,7 +176,7 @@ public class MdMeMaterialbase implements Serializable { /** * 产品系列 */ - private Long product_series; + private String product_series; private String product_area; 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 new file mode 100644 index 00000000..e2a3e872 --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/IOSEnum.java @@ -0,0 +1,44 @@ +package org.nl.wms.storage_manage; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import org.apache.commons.lang3.StringUtils; +import org.nl.common.utils.MapOf; +import org.nl.modules.common.exception.BadRequestException; + +import java.util.Map; + +/* + * @author ZZQ + * @Date 2023/5/4 20:11 + */ +@AllArgsConstructor +@Getter +public enum IOSEnum { + //出入库类型 + IO_TYPE(MapOf.of("入库","1","出库","2")), + //单据类型 + BILL_TYPE(MapOf.of("生产入库","1","退货入库","2")), + //单据类型 + BILL_STATUS(MapOf.of("创建","1","生成","2")), + //单据状态 + WORK_STATUS(MapOf.of("创建","1","生成","2")), + ; + private Map code; + + public String code(String desc){ + String code = this.getCode().get(desc); + if (StringUtils.isNotEmpty(code)){ + return code; + } + throw new BadRequestException(this.name()+"对应类型"+desc+"未定义"); + } + public String check(String code){ + for (Map.Entry entry : this.getCode().entrySet()) { + if (entry.getValue().equals("code")){ + return entry.getValue(); + } + } + throw new BadRequestException(this.name()+"对应类型"+code+"未定义"); + } +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/common/enums/IOSEnum.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/common/enums/IOSEnum.java deleted file mode 100644 index 3b68e0c7..00000000 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/common/enums/IOSEnum.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.nl.wms.storage_manage.productmanage.common.enums; - -import lombok.AllArgsConstructor; -import lombok.Getter; - -/* - * @author ZZQ - * @Date 2023/5/4 20:11 - */ -@AllArgsConstructor -@Getter -public enum IOSEnum { - IO_TYPE_IN("1","入库"), - IO_TYPE_OUT("2","出库"), - ; - private String code; - private String desc; -} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/controller/iostorInv/StIvtIostorinvCpController.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/controller/iostorInv/StIvtIostorinvCpController.java index 0ffd3aea..b9e03804 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/controller/iostorInv/StIvtIostorinvCpController.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/controller/iostorInv/StIvtIostorinvCpController.java @@ -3,15 +3,13 @@ package org.nl.wms.storage_manage.productmanage.controller.iostorInv; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.nl.common.TableDataInfo; import org.nl.common.anno.Log; import org.nl.common.domain.query.PageQuery; -import org.nl.wms.storage_manage.productmanage.common.enums.IOSEnum; +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.nl.wms.storage_manage.service.product.ProductInService; import org.springframework.beans.factory.annotation.Autowired; @@ -47,7 +45,7 @@ public class StIvtIostorinvCpController { @Log("查询入库单据") @ApiOperation("查询入库单据") public ResponseEntity query(IostorInvQuery query, PageQuery page) { - query.setIo_type(IOSEnum.IO_TYPE_IN.getCode()); + query.setIo_type(IOSEnum.IO_TYPE.code("入库")); return new ResponseEntity<>(TableDataInfo.build(stIvtIostorinvCpService.page(page.build(), query.build())), HttpStatus.OK); } @@ -70,7 +68,7 @@ public class StIvtIostorinvCpController { @Log("新增入库单") @ApiOperation("新增入库单") public ResponseEntity insertDtl(@RequestBody JSONObject whereJson) { - productInService.insertDtl(whereJson); + stIvtIostorinvCpService.create(whereJson); return new ResponseEntity<>(HttpStatus.CREATED); } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/controller/iostorInv/StIvtIostorinvdisdtlCpController.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/controller/iostorInv/StIvtIostorinvdisdtlCpController.java deleted file mode 100644 index 02274847..00000000 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/controller/iostorInv/StIvtIostorinvdisdtlCpController.java +++ /dev/null @@ -1,20 +0,0 @@ -package org.nl.wms.storage_manage.productmanage.controller.iostorInv; - - -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - *

- * 出入库单分配明细表 前端控制器 - *

- * - * @author generator - * @since 2023-05-04 - */ -@RestController -@RequestMapping("/stIvtIostorinvdisdtlCp") -public class StIvtIostorinvdisdtlCpController { - -} - 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 abaf1b6e..82665cc3 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 @@ -1,5 +1,6 @@ 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.StIvtIostorinvCp; @@ -12,5 +13,15 @@ import org.nl.wms.storage_manage.productmanage.service.iostorInv.dao.StIvtIostor * @since 2023-05-04 */ public interface IStIvtIostorinvCpService extends IService { + /** + * 创建 + * @param form + */ + void create(JSONObject form); + /** + * 更新相关联的表 + * @param form + */ + void update(JSONObject form); } 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 33af8a81..21d82d28 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 @@ -2,6 +2,9 @@ package org.nl.wms.storage_manage.productmanage.service.iostorInv; import com.baomidou.mybatisplus.extension.service.IService; import org.nl.wms.storage_manage.productmanage.service.iostorInv.dao.StIvtIostorinvdisCp; +import org.nl.wms.storage_manage.productmanage.service.iostorInv.dao.StIvtIostorinvdtlCp; + +import java.util.Collection; /** *

@@ -12,5 +15,10 @@ import org.nl.wms.storage_manage.productmanage.service.iostorInv.dao.StIvtIostor * @since 2023-05-04 */ public interface IStIvtIostorinvdisCpService extends IService { + /** + * 批量insert + * @param list + */ + void batchInsert(Collection list); } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/IStIvtIostorinvdtlCpService.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/IStIvtIostorinvdtlCpService.java index a4c57dbb..099f46f8 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/IStIvtIostorinvdtlCpService.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/IStIvtIostorinvdtlCpService.java @@ -1,8 +1,11 @@ package org.nl.wms.storage_manage.productmanage.service.iostorInv; +import com.alibaba.fastjson.JSONArray; import com.baomidou.mybatisplus.extension.service.IService; import org.nl.wms.storage_manage.productmanage.service.iostorInv.dao.StIvtIostorinvdtlCp; +import java.util.Collection; + /** *

* 出入库单明细表 服务类 @@ -12,5 +15,19 @@ import org.nl.wms.storage_manage.productmanage.service.iostorInv.dao.StIvtIostor * @since 2023-05-04 */ public interface IStIvtIostorinvdtlCpService extends IService { + /** + * 批量插入数据库 + * @param list + */ + void batchInsert(Collection list); + + /** + * 主单据使用 + * @param row + * @param iostorinvCp_id + * @param total_qty + * @return + */ + double create(JSONArray row,String iostorinvCp_id); } 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 6e2a2791..1609bc8f 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 @@ -7,6 +7,7 @@ import lombok.EqualsAndHashCode; import java.io.Serializable; import java.math.BigDecimal; import java.time.LocalDateTime; +import java.util.Date; /** *

@@ -91,7 +92,7 @@ public class StIvtIostorinvCp implements Serializable { /** * 明细数 */ - private BigDecimal detail_count; + private Integer detail_count; /** * 单据状态 @@ -116,7 +117,7 @@ public class StIvtIostorinvCp implements Serializable { /** * 创建时间 */ - private LocalDateTime create_time; + private Date create_time; /** * 修改人 @@ -131,7 +132,7 @@ public class StIvtIostorinvCp implements Serializable { /** * 修改时间 */ - private LocalDateTime update_time; + private Date update_time; /** * 分配人 diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/dao/StIvtIostorinvdisCp.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/dao/StIvtIostorinvdisCp.java index 259bc368..600007d1 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/dao/StIvtIostorinvdisCp.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/dao/StIvtIostorinvdisCp.java @@ -40,7 +40,7 @@ public class StIvtIostorinvdisCp implements Serializable { /** * 明细序号 */ - private BigDecimal seq_no; + private Integer seq_no; /** * 库区标识 diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/dao/StIvtIostorinvdtlCp.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/dao/StIvtIostorinvdtlCp.java index 111bb93c..93230f99 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/dao/StIvtIostorinvdtlCp.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/dao/StIvtIostorinvdtlCp.java @@ -35,7 +35,7 @@ public class StIvtIostorinvdtlCp implements Serializable { /** * 明细序号 */ - private BigDecimal seq_no; + private Integer seq_no; /** * 物料标识 diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/dao/mapper/StIvtIostorinvdisCpMapper.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/dao/mapper/StIvtIostorinvdisCpMapper.java index f8fc4317..f722f078 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/dao/mapper/StIvtIostorinvdisCpMapper.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/dao/mapper/StIvtIostorinvdisCpMapper.java @@ -1,8 +1,11 @@ package org.nl.wms.storage_manage.productmanage.service.iostorInv.dao.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; import org.nl.wms.storage_manage.productmanage.service.iostorInv.dao.StIvtIostorinvdisCp; +import java.util.Collection; + /** *

* 出入库单分配表 Mapper 接口 @@ -13,4 +16,5 @@ import org.nl.wms.storage_manage.productmanage.service.iostorInv.dao.StIvtIostor */ public interface StIvtIostorinvdisCpMapper extends BaseMapper { + Integer batchSave(@Param("entitys") Collection entitys); } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/dao/mapper/StIvtIostorinvdisCpMapper.xml b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/dao/mapper/StIvtIostorinvdisCpMapper.xml deleted file mode 100644 index 6e7aafe2..00000000 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/dao/mapper/StIvtIostorinvdisCpMapper.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/dao/mapper/StIvtIostorinvdtlCpMapper.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/dao/mapper/StIvtIostorinvdtlCpMapper.java index affed501..aae1fdc2 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/dao/mapper/StIvtIostorinvdtlCpMapper.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/dao/mapper/StIvtIostorinvdtlCpMapper.java @@ -1,8 +1,12 @@ package org.nl.wms.storage_manage.productmanage.service.iostorInv.dao.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; +import org.nl.wms.storage_manage.productmanage.service.iostorInv.dao.StIvtIostorinvdisCp; import org.nl.wms.storage_manage.productmanage.service.iostorInv.dao.StIvtIostorinvdtlCp; +import java.util.Collection; + /** *

* 出入库单明细表 Mapper 接口 @@ -13,4 +17,6 @@ import org.nl.wms.storage_manage.productmanage.service.iostorInv.dao.StIvtIostor */ public interface StIvtIostorinvdtlCpMapper extends BaseMapper { + Integer batchSave(@Param("entitys") Collection entitys); + } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/dao/mapper/StIvtIostorinvdtlCpMapper.xml b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/dao/mapper/StIvtIostorinvdtlCpMapper.xml deleted file mode 100644 index 681ca6de..00000000 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/dao/mapper/StIvtIostorinvdtlCpMapper.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/dao/mapper/StIvtIostorinvCpMapper.xml b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/dao/mapper/xml/StIvtIostorinvCpMapper.xml similarity index 100% rename from mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/dao/mapper/StIvtIostorinvCpMapper.xml rename to mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/dao/mapper/xml/StIvtIostorinvCpMapper.xml 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 new file mode 100644 index 00000000..32419adb --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/dao/mapper/xml/StIvtIostorinvdisCpMapper.xml @@ -0,0 +1,68 @@ + + + + + + insert into st_ivt_iostorinvdis_cp( + iostorinvdis_id, + iostorinv_id, + iostorinvdtl_id, + seq_no, + sect_id, + sect_code, + sect_name, + struct_id, + struct_code, + struct_name, + material_id, + pcsn, + quality_scode, + ivt_level, + is_active, + work_statue, + task_id, + storagevehicle_id, + storagevehicle_code, + storagevehicle_type, + is_issued, + qty_unit_id, + qty_unit_nam, + plan_qt, + real_qty, + point_id, + point_code, + point_name) + values + + ( + #{item.iostorinvdis_id}, + #{item.iostorinv_id}, + #{item.iostorinvdtl_id}, + #{item.seq_no}, + #{item.sect_id}, + #{item.sect_code}, + #{item.sect_name}, + #{item.struct_id}, + #{item.struct_code}, + #{item.struct_name}, + #{item.material_id}, + #{item.pcsn}, + #{item.quality_scode}, + #{item.ivt_level}, + #{item.is_active}, + #{item.work_statue}, + #{item.task_id}, + #{item.storagevehicle_id}, + #{item.storagevehicle_code}, + #{item.storagevehicle_type}, + #{item.is_issued}, + #{item.qty_unit_id}, + #{item.qty_unit_nam}, + #{item.plan_qt}, + #{item.real_qty}, + #{item.point_id}, + #{item.point_code}, + #{item.point_name}) + + + diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/dao/mapper/StIvtIostorinvdisdtlCpMapper.xml b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/dao/mapper/xml/StIvtIostorinvdisdtlCpMapper.xml similarity index 100% rename from mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/dao/mapper/StIvtIostorinvdisdtlCpMapper.xml rename to mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/dao/mapper/xml/StIvtIostorinvdisdtlCpMapper.xml 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 new file mode 100644 index 00000000..9fbac725 --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/dao/mapper/xml/StIvtIostorinvdtlCpMapper.xml @@ -0,0 +1,64 @@ + + + + + + insert into st_ivt_iostorinvdtl_cp( + iostorinvdtl_id, + iostorinv_id, + seq_no, + material_id, + pcsn, + quality_scode, + ivt_level, + is_active, + bill_status, + qty_unit_id, + qty_unit_name, + plan_qty, + real_qty, + source_billdtl_id, + source_bill_type, + source_bill_code, + source_bill_table, + base_billdtl_id, + base_bill_type, + base_bill_code, + base_bill_table, + remark, + assign_qty, + unassign_qty, + remark_ext, + unit_weight) + values + + (#{item.,iostorinvdtl_id}, + #{item.iostorinv_id}, + #{item.seq_no}, + #{item.material_id}, + #{item.pcsn}, + #{item.quality_scode}, + #{item.ivt_level}, + #{item.is_active}, + #{item.bill_status}, + #{item.qty_unit_id}, + #{item.qty_unit_name}, + #{item.plan_qty}, + #{item.real_qty}, + #{item.source_billdtl_id}, + #{item.source_bill_type}, + #{item.source_bill_code}, + #{item.source_bill_table}, + #{item.base_billdtl_id}, + #{item.base_bill_type}, + #{item.base_bill_code}, + #{item.base_bill_table}, + #{item.remark}, + #{item.assign_qty}, + #{item.unassign_qty}, + #{item.remark_ext}, + #{item.unit_weight}) + + + + 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 a7d4776b..898af1eb 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,10 +1,40 @@ package org.nl.wms.storage_manage.productmanage.service.iostorInv.impl; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.IdUtil; +import com.alibaba.excel.util.CollectionUtils; +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 io.jsonwebtoken.lang.Assert; +import net.dreamlu.mica.core.utils.BeanUtil; +import org.apache.commons.lang3.StringUtils; +import org.jetbrains.annotations.NotNull; +import org.nl.common.utils.SecurityUtils; +import org.nl.modules.system.util.CodeUtil; +import org.nl.modules.wql.WQL; +import org.nl.modules.wql.core.bean.WQLObject; +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.IStIvtIostorinvCpService; +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.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.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; /** *

@@ -17,4 +47,65 @@ import org.springframework.stereotype.Service; @Service public class StIvtIostorinvCpServiceImpl extends ServiceImpl implements IStIvtIostorinvCpService { + @Autowired + protected IStIvtIostorinvdtlCpService iostorinvdtlCpService; + @Autowired + protected IStIvtIostorinvdisCpService iostorinvdisCpService; + + + @Override + @Transactional(rollbackFor = Exception.class) + public void create(JSONObject form) { + Assert.notNull(new Object[]{form,form.getJSONArray("tableData")},"请求参数不能为空"); + JSONArray rows = form.getJSONArray("tableData"); + // 插入主表 + 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); + } + + @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"))); + + StIvtIostorinvCp iostorinvCp = this.getOne(new QueryWrapper().eq("iostorinv_id", form.getString("iostorinv_id"))); + packageMstForm(iostorinvCp,form,true); + //创建明细 + double total_qty = iostorinvdtlCpService.create(rows, iostorinvCp.getIostorinv_id()); + iostorinvCp.setTotal_qty(new BigDecimal(total_qty)); + // 更新主表 + this.updateById(iostorinvCp); + } + + @NotNull + private void 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.setBill_status(IOSEnum.BILL_STATUS.code("创建")); + stIvtIostorinvCp.setCreate_id(SecurityUtils.getCurrentUserId()); + stIvtIostorinvCp.setCreate_name(SecurityUtils.getCurrentNickName()); + stIvtIostorinvCp.setCreate_time(new Date()); + }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.setDetail_count(rows.size()); + stIvtIostorinvCp.setRemark(whereJson.getString("remark")); + + + } } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/impl/StIvtIostorinvdisCpServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/impl/StIvtIostorinvdisCpServiceImpl.java index c875d40d..85f4c747 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/impl/StIvtIostorinvdisCpServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/impl/StIvtIostorinvdisCpServiceImpl.java @@ -5,6 +5,9 @@ import org.nl.wms.storage_manage.productmanage.service.iostorInv.IStIvtIostorinv import org.nl.wms.storage_manage.productmanage.service.iostorInv.dao.StIvtIostorinvdisCp; import org.nl.wms.storage_manage.productmanage.service.iostorInv.dao.mapper.StIvtIostorinvdisCpMapper; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import java.util.Collection; /** *

@@ -17,4 +20,10 @@ import org.springframework.stereotype.Service; @Service public class StIvtIostorinvdisCpServiceImpl extends ServiceImpl implements IStIvtIostorinvdisCpService { + @Override + public void batchInsert(Collection list) { + if (!CollectionUtils.isEmpty(list)){ + baseMapper.batchSave(list); + } + } } 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 615a5035..b6aa8a25 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,10 +1,29 @@ package org.nl.wms.storage_manage.productmanage.service.iostorInv.impl; +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 net.dreamlu.mica.core.utils.BeanUtil; +import org.apache.commons.lang3.StringUtils; +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; /** *

@@ -17,4 +36,66 @@ import org.springframework.stereotype.Service; @Service public class StIvtIostorinvdtlCpServiceImpl extends ServiceImpl implements IStIvtIostorinvdtlCpService { + @Autowired + private IMdPbMeasureunitService measureunitService; + @Autowired + private IMdMeMaterialbaseService materialbaseService; + @Autowired + protected IStIvtIostorinvdisCpService iostorinvdisCpService; + + + @Override + public void batchInsert(Collection list) { + if (!CollectionUtils.isEmpty(list)){ + baseMapper.batchSave(list); + } + } + + @Override + public double create(JSONArray rows, String iostorinvCp_id) { + double total_qty = 0; + ArrayList 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()))); + + 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.copy(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); + } + } + if (!com.alibaba.excel.util.CollectionUtils.isEmpty(mingxi)){ + this.batchInsert(mingxi); + iostorinvdisCpService.batchInsert(fenpei); + } + return total_qty; + } }