From f22fc931f249c379565ade99d65aa539241ac5f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91=E6=98=8E=E6=A2=81?= <2429105222@qq.com> Date: Fri, 12 May 2023 10:41:40 +0800 Subject: [PATCH 01/17] =?UTF-8?q?inv=5Fuser=5Fproduct,inv=5Fuser=5Fproduct?= =?UTF-8?q?=5Fdetail=E8=A1=A8=E5=88=9D=E5=A7=8B=E5=8C=96=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dao/inv/InvUserProductDetailMapper.java | 16 ++ .../api/dao/inv/InvUserProductMapper.java | 16 ++ .../glxp/api/entity/inv/InvUserProduct.java | 145 ++++++++++++++++++ .../api/entity/inv/InvUserProductDetail.java | 135 ++++++++++++++++ .../impl/InvUserProductDetailServiceImpl.java | 17 ++ .../inv/impl/InvUserProductServiceImpl.java | 18 +++ .../mapper/inv/InvUserProductDetailMapper.xml | 40 +++++ .../mapper/inv/InvUserProductMapper.xml | 42 +++++ 8 files changed, 429 insertions(+) create mode 100644 src/main/java/com/glxp/api/dao/inv/InvUserProductDetailMapper.java create mode 100644 src/main/java/com/glxp/api/dao/inv/InvUserProductMapper.java create mode 100644 src/main/java/com/glxp/api/entity/inv/InvUserProduct.java create mode 100644 src/main/java/com/glxp/api/entity/inv/InvUserProductDetail.java create mode 100644 src/main/java/com/glxp/api/service/inv/impl/InvUserProductDetailServiceImpl.java create mode 100644 src/main/java/com/glxp/api/service/inv/impl/InvUserProductServiceImpl.java create mode 100644 src/main/resources/mybatis/mapper/inv/InvUserProductDetailMapper.xml create mode 100644 src/main/resources/mybatis/mapper/inv/InvUserProductMapper.xml diff --git a/src/main/java/com/glxp/api/dao/inv/InvUserProductDetailMapper.java b/src/main/java/com/glxp/api/dao/inv/InvUserProductDetailMapper.java new file mode 100644 index 000000000..d5beddee6 --- /dev/null +++ b/src/main/java/com/glxp/api/dao/inv/InvUserProductDetailMapper.java @@ -0,0 +1,16 @@ +package com.glxp.api.dao.inv; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.glxp.api.entity.inv.InvUserProductDetail; + +/** +* @author Lenovo +* @description 针对表【inv_user_product_detail(用户库存详情表)】的数据库操作Mapper +* @createDate 2023-05-12 10:19:43 +* @Entity com.glxp.api.entity.InvUserProductDetail +*/ +public interface InvUserProductDetailMapper extends BaseMapper { + + +} diff --git a/src/main/java/com/glxp/api/dao/inv/InvUserProductMapper.java b/src/main/java/com/glxp/api/dao/inv/InvUserProductMapper.java new file mode 100644 index 000000000..743965f2d --- /dev/null +++ b/src/main/java/com/glxp/api/dao/inv/InvUserProductMapper.java @@ -0,0 +1,16 @@ +package com.glxp.api.dao.inv; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.glxp.api.entity.inv.InvUserProduct; + +/** +* @author Lenovo +* @description 针对表【inv_user_product(用户库存表)】的数据库操作Mapper +* @createDate 2023-05-12 10:19:43 +* @Entity com.glxp.api.entity.InvUserProduct +*/ +public interface InvUserProductMapper extends BaseMapper { + + +} diff --git a/src/main/java/com/glxp/api/entity/inv/InvUserProduct.java b/src/main/java/com/glxp/api/entity/inv/InvUserProduct.java new file mode 100644 index 000000000..fee401783 --- /dev/null +++ b/src/main/java/com/glxp/api/entity/inv/InvUserProduct.java @@ -0,0 +1,145 @@ +package com.glxp.api.entity.inv; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * 用户库存表 + * @TableName inv_user_product + */ +@TableName(value ="inv_user_product") +@Data +public class InvUserProduct{ + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + /** + * 耗材字典ID + */ + @TableField(value = "relIdFk") + private Long relIdFk; + + /** + * 最小销售标识 + */ + @TableField(value = "nameCode") + private String nameCode; + + /** + * 批次号 + */ + @TableField(value = "batchNo") + private String batchNo; + + /** + * 生产日期 + */ + @TableField(value = "productionDate") + private String productionDate; + + /** + * 失效日期 + */ + @TableField(value = "expireDate") + private String expireDate; + + /** + * 入库数量 + */ + @TableField(value = "inCount") + private Integer inCount; + + /** + * 出库数量 + */ + @TableField(value = "outCount") + private int outCount; + + /** + * 实际数量 + */ + @TableField(value = "reCount") + private int reCount; + + /** + * 客户ID + */ + @TableField(value = "customerId") + private String customerId; + + /** + * 供应商ID + */ + @TableField(value = "supId") + private String supId; + + /** + * 部门编码 + */ + @TableField(value = "deptCode") + private String deptCode; + + /** + * 仓库编码 + */ + @TableField(value = "invCode") + private String invCode; + + /** + * 货位编码 + */ + @TableField(value = "invSpaceCode") + private String invSpaceCode; + + /** + * 创建时间 + */ + @TableField(value = "createTime") + private Date createTime; + + + /** + * 更新时间 + */ + @TableField(value = "updateTime") + private Date updateTime; + + /** + * + */ + private Integer nowStock; + + /** + * + */ + private Integer frozenCount; + + /** + * + */ + private Integer planInCount; + + /** + * + */ + private Integer planOutCount; + + /** + * + */ + private Integer onWayCount; + + /** + * + */ + private Integer availableStock; + + +} \ No newline at end of file diff --git a/src/main/java/com/glxp/api/entity/inv/InvUserProductDetail.java b/src/main/java/com/glxp/api/entity/inv/InvUserProductDetail.java new file mode 100644 index 000000000..19137bc41 --- /dev/null +++ b/src/main/java/com/glxp/api/entity/inv/InvUserProductDetail.java @@ -0,0 +1,135 @@ +package com.glxp.api.entity.inv; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * 用户库存详情表 + * @TableName inv_user_product_detail + */ +@TableName(value ="inv_user_product_detail") +@Data +public class InvUserProductDetail{ + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + /** + * UDI码 + */ + @TableField(value = "code") + private String code; + + /** + * 订单号外键 + */ + @TableField(value = "orderId") + private String orderId; + + /** + * 耗材字典ID + */ + @TableField(value = "relId") + private Long relId; + + /** + * 最小销售标识 + */ + @TableField(value = "nameCode") + private String nameCode; + + /** + * 批次号 + */ + @TableField(value = "batchNo") + private String batchNo; + + /** + * 生产日期 + */ + @TableField(value = "produceDate") + private String produceDate; + + /** + * 失效日期 + */ + @TableField(value = "expireDate") + private String expireDate; + + /** + * 序列号 + */ + @TableField(value = "serialNo") + private String serialNo; + + /** + * 供应商 + */ + @TableField(value = "supId") + private String supId; + + /** + * 扫码数量 + */ + @TableField(value = "`count`") + private Integer count; + + /** + * 实际数量 + */ + @TableField(value = "reCount") + private Integer reCount; + + + @TableField(value = "inCount") + private Integer inCount; + + + @TableField(value = "outCount") + private Integer outCount; + + /** + * 部门编码 + */ + @TableField(value = "deptCode") + private String deptCode; + + /** + * 仓库编码 + */ + @TableField(value = "invCode") + private String invCode; + + /** + * 货位编码 + */ + @TableField(value = "invSpaceCode") + private String invSpaceCode; + + /** + * 采购类型 + */ + @TableField(value = "purchaseType") + private Integer purchaseType; + + /** + * 更新时间 + */ + @TableField(value = "updateTime") + private Date updateTime; + + @TableField(value = "mainAction") + private String mainAction; + @TableField(value = "action") + private String action; + + + + +} \ No newline at end of file diff --git a/src/main/java/com/glxp/api/service/inv/impl/InvUserProductDetailServiceImpl.java b/src/main/java/com/glxp/api/service/inv/impl/InvUserProductDetailServiceImpl.java new file mode 100644 index 000000000..e73487506 --- /dev/null +++ b/src/main/java/com/glxp/api/service/inv/impl/InvUserProductDetailServiceImpl.java @@ -0,0 +1,17 @@ +package com.glxp.api.service.inv.impl; + + +import com.glxp.api.dao.inv.InvUserProductDetailMapper; +import com.glxp.api.entity.inv.InvUserProductDetail; +import com.glxp.api.service.inv.InvUserProductDetailService; +import org.springframework.stereotype.Service; + +/** +* @author Lenovo +* @description 针对表【inv_user_product_detail(用户库存详情表)】的数据库操作Service实现 +* @createDate 2023-05-12 10:19:43 +*/ +@Service +public class InvUserProductDetailServiceImpl implements InvUserProductDetailService{ + +} diff --git a/src/main/java/com/glxp/api/service/inv/impl/InvUserProductServiceImpl.java b/src/main/java/com/glxp/api/service/inv/impl/InvUserProductServiceImpl.java new file mode 100644 index 000000000..571474c29 --- /dev/null +++ b/src/main/java/com/glxp/api/service/inv/impl/InvUserProductServiceImpl.java @@ -0,0 +1,18 @@ +package com.glxp.api.service.inv.impl; + + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.glxp.api.dao.inv.InvUserProductMapper; +import com.glxp.api.entity.inv.InvUserProduct; +import com.glxp.api.service.inv.InvUserProductService; +import org.springframework.stereotype.Service; + +/** +* @author Lenovo +* @description 针对表【inv_user_product(用户库存表)】的数据库操作Service实现 +* @createDate 2023-05-12 10:19:43 +*/ +@Service +public class InvUserProductServiceImpl implements InvUserProductService{ + +} diff --git a/src/main/resources/mybatis/mapper/inv/InvUserProductDetailMapper.xml b/src/main/resources/mybatis/mapper/inv/InvUserProductDetailMapper.xml new file mode 100644 index 000000000..5ce19766e --- /dev/null +++ b/src/main/resources/mybatis/mapper/inv/InvUserProductDetailMapper.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id,code,mainAction, + action,orderId,relId, + nameCode,batchNo,produceDate, + expireDate,serialNo,supId, + count,reCount,deptCode, + invCode,invSpaceCode,purchaseType, + updateTime,inCount,outCount + + diff --git a/src/main/resources/mybatis/mapper/inv/InvUserProductMapper.xml b/src/main/resources/mybatis/mapper/inv/InvUserProductMapper.xml new file mode 100644 index 000000000..807a59cf0 --- /dev/null +++ b/src/main/resources/mybatis/mapper/inv/InvUserProductMapper.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id,relIdFk,nameCode, + batchNo,productionDate,expireDate, + inCount,outCount,reCount, + customerId,supId,deptCode, + invCode,invSpaceCode,createTime, + updateTime,nowStock,frozenCount, + planInCount,planOutCount,onWayCount, + availableStock + + From 92e2a0fe8917414b6495826048757e2290d99d68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91=E6=98=8E=E6=A2=81?= <2429105222@qq.com> Date: Fri, 12 May 2023 11:10:03 +0800 Subject: [PATCH 02/17] =?UTF-8?q?inv=5Fuser=5Fproduct,inv=5Fuser=5Fproduct?= =?UTF-8?q?=5Fdetail=E8=A1=A8=E5=88=9D=E5=A7=8B=E5=8C=96=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inv/InvUserProductController.java | 55 +++++++++++++++++++ .../inv/InvUserProductDetailController.java | 17 ++++++ ...ductMapper.java => InvUserProductDao.java} | 5 +- ...pper.java => InvUserProductDetailDao.java} | 5 +- ...l.java => InvUserProductDetailEntity.java} | 2 +- ...Product.java => InvUserProductEntity.java} | 2 +- .../impl/InvUserProductDetailServiceImpl.java | 39 ++++++++++--- .../inv/impl/InvUserProductServiceImpl.java | 40 +++++++++++--- ...cHospTypeDao.xml => InvUserProductDao.xml} | 0 ...nvoiceMapper.xml => InvUserProductDao.xml} | 0 ...uctDetailDao.xml => InvUserProductDao.xml} | 0 .../mapper/inv/InvUserProductDetailMapper.xml | 34 +----------- .../mapper/inv/InvUserProductMapper.xml | 37 +------------ ...nuHelpMapper.xml => InvUserProductDao.xml} | 0 14 files changed, 144 insertions(+), 92 deletions(-) create mode 100644 src/main/java/com/glxp/api/controller/inv/InvUserProductController.java create mode 100644 src/main/java/com/glxp/api/controller/inv/InvUserProductDetailController.java rename src/main/java/com/glxp/api/dao/inv/{InvUserProductMapper.java => InvUserProductDao.java} (58%) rename src/main/java/com/glxp/api/dao/inv/{InvUserProductDetailMapper.java => InvUserProductDetailDao.java} (56%) rename src/main/java/com/glxp/api/entity/inv/{InvUserProductDetail.java => InvUserProductDetailEntity.java} (98%) rename src/main/java/com/glxp/api/entity/inv/{InvUserProduct.java => InvUserProductEntity.java} (98%) rename src/main/resources/mybatis/mapper/basic/{BasicHospTypeDao.xml => InvUserProductDao.xml} (100%) rename src/main/resources/mybatis/mapper/inout/{IoOrderInvoiceMapper.xml => InvUserProductDao.xml} (100%) rename src/main/resources/mybatis/mapper/inv/{InvPreProductDetailDao.xml => InvUserProductDao.xml} (100%) rename src/main/resources/mybatis/mapper/system/{SysMenuHelpMapper.xml => InvUserProductDao.xml} (100%) diff --git a/src/main/java/com/glxp/api/controller/inv/InvUserProductController.java b/src/main/java/com/glxp/api/controller/inv/InvUserProductController.java new file mode 100644 index 000000000..05792e6b3 --- /dev/null +++ b/src/main/java/com/glxp/api/controller/inv/InvUserProductController.java @@ -0,0 +1,55 @@ +package com.glxp.api.controller.inv; + +import cn.hutool.core.util.StrUtil; +import com.glxp.api.annotation.Log; +import com.glxp.api.common.enums.ResultEnum; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; +import com.glxp.api.constant.BusinessType; +import com.glxp.api.controller.BaseController; +import com.glxp.api.entity.inv.InvProductDetailEntity; +import com.glxp.api.entity.inv.InvProductEntity; +import com.glxp.api.entity.inv.InvUserProductEntity; +import com.glxp.api.req.inv.FilterInvProductDetailRequest; +import com.glxp.api.req.system.DeleteRequest; +import com.glxp.api.service.inv.InvProductDetailService; +import com.glxp.api.service.inv.InvUserProductService; +import groovy.util.logging.Slf4j; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; + +/** + * 用户库存查询接口 + */ +@Slf4j +@RestController +public class InvUserProductController extends BaseController { + + @Resource + private InvUserProductService invUserProductService; + @Resource + private InvProductDetailService invProductDetailServicel; + + +// /** +// * 添加库存 +// * +// * @param invUserProductEntity +// * @return +// */ +// @PostMapping("/spms/inv/user/product/add") +// @Log(title = "用户库存查询", businessType = BusinessType.INSERT) +// public BaseResponse addInvUserProduct(@RequestBody InvUserProductEntity invUserProductEntity) { +// +// invUserProductService. +// +// +// } + + + +} diff --git a/src/main/java/com/glxp/api/controller/inv/InvUserProductDetailController.java b/src/main/java/com/glxp/api/controller/inv/InvUserProductDetailController.java new file mode 100644 index 000000000..1484650d8 --- /dev/null +++ b/src/main/java/com/glxp/api/controller/inv/InvUserProductDetailController.java @@ -0,0 +1,17 @@ +package com.glxp.api.controller.inv; + +import com.glxp.api.controller.BaseController; +import groovy.util.logging.Slf4j; +import org.springframework.web.bind.annotation.RestController; + +/** + * 用户库存查询接口 + */ +@Slf4j +@RestController +public class InvUserProductDetailController{ + + + + +} diff --git a/src/main/java/com/glxp/api/dao/inv/InvUserProductMapper.java b/src/main/java/com/glxp/api/dao/inv/InvUserProductDao.java similarity index 58% rename from src/main/java/com/glxp/api/dao/inv/InvUserProductMapper.java rename to src/main/java/com/glxp/api/dao/inv/InvUserProductDao.java index 743965f2d..7212a8b8a 100644 --- a/src/main/java/com/glxp/api/dao/inv/InvUserProductMapper.java +++ b/src/main/java/com/glxp/api/dao/inv/InvUserProductDao.java @@ -2,15 +2,14 @@ package com.glxp.api.dao.inv; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.glxp.api.entity.inv.InvUserProduct; +import com.glxp.api.entity.inv.InvUserProductEntity; /** * @author Lenovo * @description 针对表【inv_user_product(用户库存表)】的数据库操作Mapper * @createDate 2023-05-12 10:19:43 -* @Entity com.glxp.api.entity.InvUserProduct */ -public interface InvUserProductMapper extends BaseMapper { +public interface InvUserProductDao extends BaseMapper { } diff --git a/src/main/java/com/glxp/api/dao/inv/InvUserProductDetailMapper.java b/src/main/java/com/glxp/api/dao/inv/InvUserProductDetailDao.java similarity index 56% rename from src/main/java/com/glxp/api/dao/inv/InvUserProductDetailMapper.java rename to src/main/java/com/glxp/api/dao/inv/InvUserProductDetailDao.java index d5beddee6..f1f02e967 100644 --- a/src/main/java/com/glxp/api/dao/inv/InvUserProductDetailMapper.java +++ b/src/main/java/com/glxp/api/dao/inv/InvUserProductDetailDao.java @@ -2,15 +2,14 @@ package com.glxp.api.dao.inv; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.glxp.api.entity.inv.InvUserProductDetail; +import com.glxp.api.entity.inv.InvUserProductDetailEntity; /** * @author Lenovo * @description 针对表【inv_user_product_detail(用户库存详情表)】的数据库操作Mapper * @createDate 2023-05-12 10:19:43 -* @Entity com.glxp.api.entity.InvUserProductDetail */ -public interface InvUserProductDetailMapper extends BaseMapper { +public interface InvUserProductDetailDao extends BaseMapper { } diff --git a/src/main/java/com/glxp/api/entity/inv/InvUserProductDetail.java b/src/main/java/com/glxp/api/entity/inv/InvUserProductDetailEntity.java similarity index 98% rename from src/main/java/com/glxp/api/entity/inv/InvUserProductDetail.java rename to src/main/java/com/glxp/api/entity/inv/InvUserProductDetailEntity.java index 19137bc41..59434006c 100644 --- a/src/main/java/com/glxp/api/entity/inv/InvUserProductDetail.java +++ b/src/main/java/com/glxp/api/entity/inv/InvUserProductDetailEntity.java @@ -15,7 +15,7 @@ import java.util.Date; */ @TableName(value ="inv_user_product_detail") @Data -public class InvUserProductDetail{ +public class InvUserProductDetailEntity { @TableId(value = "id", type = IdType.AUTO) private Integer id; diff --git a/src/main/java/com/glxp/api/entity/inv/InvUserProduct.java b/src/main/java/com/glxp/api/entity/inv/InvUserProductEntity.java similarity index 98% rename from src/main/java/com/glxp/api/entity/inv/InvUserProduct.java rename to src/main/java/com/glxp/api/entity/inv/InvUserProductEntity.java index fee401783..a52aa9872 100644 --- a/src/main/java/com/glxp/api/entity/inv/InvUserProduct.java +++ b/src/main/java/com/glxp/api/entity/inv/InvUserProductEntity.java @@ -15,7 +15,7 @@ import java.util.Date; */ @TableName(value ="inv_user_product") @Data -public class InvUserProduct{ +public class InvUserProductEntity { @TableId(value = "id", type = IdType.AUTO) private Integer id; diff --git a/src/main/java/com/glxp/api/service/inv/impl/InvUserProductDetailServiceImpl.java b/src/main/java/com/glxp/api/service/inv/impl/InvUserProductDetailServiceImpl.java index e73487506..fede624fe 100644 --- a/src/main/java/com/glxp/api/service/inv/impl/InvUserProductDetailServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inv/impl/InvUserProductDetailServiceImpl.java @@ -1,17 +1,42 @@ package com.glxp.api.service.inv.impl; -import com.glxp.api.dao.inv.InvUserProductDetailMapper; -import com.glxp.api.entity.inv.InvUserProductDetail; +import com.glxp.api.dao.inv.InvUserProductDetailDao; +import com.glxp.api.entity.inv.InvUserProductDetailEntity; import com.glxp.api.service.inv.InvUserProductDetailService; import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import java.util.List; + /** -* @author Lenovo -* @description 针对表【inv_user_product_detail(用户库存详情表)】的数据库操作Service实现 -* @createDate 2023-05-12 10:19:43 -*/ + * @author Lenovo + * @description 针对表【inv_user_product_detail(用户库存详情表)】的数据库操作Service实现 + * @createDate 2023-05-12 10:19:43 + */ @Service -public class InvUserProductDetailServiceImpl implements InvUserProductDetailService{ +public class InvUserProductDetailServiceImpl implements InvUserProductDetailService { + + @Resource + InvUserProductDetailDao invUserProductDetailDao; + + @Override + public List filterInvUserProductDetailList(InvUserProductDetailEntity invUserProductDetailEntity) { + return null; + } + + @Override + public Boolean addInvUserProductDetail(InvUserProductDetailEntity invUserProductDetailEntity) { + return invUserProductDetailDao.insert(invUserProductDetailEntity) == 1 ? true : false; + } + + @Override + public Boolean updateInvUserProductDetail(InvUserProductDetailEntity invUserProductDetailEntity) { + return invUserProductDetailDao.updateById(invUserProductDetailEntity) == 1 ? true : false; + } + @Override + public Boolean delectInvUserProductDetail(InvUserProductDetailEntity invUserProductDetailEntity) { + return invUserProductDetailDao.deleteById(invUserProductDetailEntity) == 1 ? true : false; + } } diff --git a/src/main/java/com/glxp/api/service/inv/impl/InvUserProductServiceImpl.java b/src/main/java/com/glxp/api/service/inv/impl/InvUserProductServiceImpl.java index 571474c29..78cc0dfc8 100644 --- a/src/main/java/com/glxp/api/service/inv/impl/InvUserProductServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inv/impl/InvUserProductServiceImpl.java @@ -1,18 +1,42 @@ package com.glxp.api.service.inv.impl; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.glxp.api.dao.inv.InvUserProductMapper; -import com.glxp.api.entity.inv.InvUserProduct; +import com.glxp.api.dao.inv.InvUserProductDao; +import com.glxp.api.entity.inv.InvUserProductEntity; import com.glxp.api.service.inv.InvUserProductService; import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import java.util.List; + /** -* @author Lenovo -* @description 针对表【inv_user_product(用户库存表)】的数据库操作Service实现 -* @createDate 2023-05-12 10:19:43 -*/ + * @author Lenovo + * @description 针对表【inv_user_product(用户库存表)】的数据库操作Service实现 + * @createDate 2023-05-12 10:19:43 + */ @Service -public class InvUserProductServiceImpl implements InvUserProductService{ +public class InvUserProductServiceImpl implements InvUserProductService { + + @Resource + InvUserProductDao invUserProductDao; + + @Override + public List filterInvUserProductList(InvUserProductEntity invUserProductEntity) { + return null; + } + + @Override + public Boolean addInvUserProduct(InvUserProductEntity invUserProductEntity) { + return invUserProductDao.insert(invUserProductEntity) == 1 ? true : false; + } + + @Override + public Boolean updateInvUserProduct(InvUserProductEntity invUserProductEntity) { + return invUserProductDao.updateById(invUserProductEntity) == 1 ? true : false; + } + @Override + public Boolean delectInvUserProduct(InvUserProductEntity invUserProductEntity) { + return invUserProductDao.deleteById(invUserProductEntity) == 1 ? true : false; + } } diff --git a/src/main/resources/mybatis/mapper/basic/BasicHospTypeDao.xml b/src/main/resources/mybatis/mapper/basic/InvUserProductDao.xml similarity index 100% rename from src/main/resources/mybatis/mapper/basic/BasicHospTypeDao.xml rename to src/main/resources/mybatis/mapper/basic/InvUserProductDao.xml diff --git a/src/main/resources/mybatis/mapper/inout/IoOrderInvoiceMapper.xml b/src/main/resources/mybatis/mapper/inout/InvUserProductDao.xml similarity index 100% rename from src/main/resources/mybatis/mapper/inout/IoOrderInvoiceMapper.xml rename to src/main/resources/mybatis/mapper/inout/InvUserProductDao.xml diff --git a/src/main/resources/mybatis/mapper/inv/InvPreProductDetailDao.xml b/src/main/resources/mybatis/mapper/inv/InvUserProductDao.xml similarity index 100% rename from src/main/resources/mybatis/mapper/inv/InvPreProductDetailDao.xml rename to src/main/resources/mybatis/mapper/inv/InvUserProductDao.xml diff --git a/src/main/resources/mybatis/mapper/inv/InvUserProductDetailMapper.xml b/src/main/resources/mybatis/mapper/inv/InvUserProductDetailMapper.xml index 5ce19766e..a00ae93fb 100644 --- a/src/main/resources/mybatis/mapper/inv/InvUserProductDetailMapper.xml +++ b/src/main/resources/mybatis/mapper/inv/InvUserProductDetailMapper.xml @@ -2,39 +2,7 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - id,code,mainAction, - action,orderId,relId, - nameCode,batchNo,produceDate, - expireDate,serialNo,supId, - count,reCount,deptCode, - invCode,invSpaceCode,purchaseType, - updateTime,inCount,outCount - diff --git a/src/main/resources/mybatis/mapper/inv/InvUserProductMapper.xml b/src/main/resources/mybatis/mapper/inv/InvUserProductMapper.xml index 807a59cf0..d5ccd853f 100644 --- a/src/main/resources/mybatis/mapper/inv/InvUserProductMapper.xml +++ b/src/main/resources/mybatis/mapper/inv/InvUserProductMapper.xml @@ -2,41 +2,6 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - id,relIdFk,nameCode, - batchNo,productionDate,expireDate, - inCount,outCount,reCount, - customerId,supId,deptCode, - invCode,invSpaceCode,createTime, - updateTime,nowStock,frozenCount, - planInCount,planOutCount,onWayCount, - availableStock - diff --git a/src/main/resources/mybatis/mapper/system/SysMenuHelpMapper.xml b/src/main/resources/mybatis/mapper/system/InvUserProductDao.xml similarity index 100% rename from src/main/resources/mybatis/mapper/system/SysMenuHelpMapper.xml rename to src/main/resources/mybatis/mapper/system/InvUserProductDao.xml From cc736af2861418dac35ce62f5d7d69900d97b320 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91=E6=98=8E=E6=A2=81?= <2429105222@qq.com> Date: Fri, 12 May 2023 11:27:44 +0800 Subject: [PATCH 03/17] =?UTF-8?q?inv=5Fuser=5Fproduct,inv=5Fuser=5Fproduct?= =?UTF-8?q?=5Fdetail=E8=A1=A8=E5=88=9D=E5=A7=8B=E5=8C=96=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inv/InvUserProductDetailService.java | 24 ++++++++++++++++++ .../service/inv/InvUserProductService.java | 25 +++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 src/main/java/com/glxp/api/service/inv/InvUserProductDetailService.java create mode 100644 src/main/java/com/glxp/api/service/inv/InvUserProductService.java diff --git a/src/main/java/com/glxp/api/service/inv/InvUserProductDetailService.java b/src/main/java/com/glxp/api/service/inv/InvUserProductDetailService.java new file mode 100644 index 000000000..b53cb7258 --- /dev/null +++ b/src/main/java/com/glxp/api/service/inv/InvUserProductDetailService.java @@ -0,0 +1,24 @@ +package com.glxp.api.service.inv; + + +import com.glxp.api.entity.inv.InvUserProductDetailEntity; + + +import java.util.List; + +/** +* @author Lenovo +* @description 针对表【inv_user_product_detail(用户库存详情表)】的数据库操作Service +* @createDate 2023-05-12 10:19:43 +*/ +public interface InvUserProductDetailService{ + + List filterInvUserProductDetailList(InvUserProductDetailEntity invUserProductDetailEntity); + + Boolean addInvUserProductDetail(InvUserProductDetailEntity invUserProductDetailEntity); + + Boolean updateInvUserProductDetail(InvUserProductDetailEntity invUserProductDetailEntity); + + Boolean delectInvUserProductDetail(InvUserProductDetailEntity invUserProductDetailEntity); + +} diff --git a/src/main/java/com/glxp/api/service/inv/InvUserProductService.java b/src/main/java/com/glxp/api/service/inv/InvUserProductService.java new file mode 100644 index 000000000..dca979be3 --- /dev/null +++ b/src/main/java/com/glxp/api/service/inv/InvUserProductService.java @@ -0,0 +1,25 @@ +package com.glxp.api.service.inv; + + +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.entity.inv.InvUserProductEntity; + +import java.util.List; + +/** +* @author Lenovo +* @description 针对表【inv_user_product(用户库存表)】的数据库操作Service +* @createDate 2023-05-12 10:19:43 +*/ +public interface InvUserProductService{ + + List filterInvUserProductList(InvUserProductEntity invUserProductEntity); + + Boolean addInvUserProduct(InvUserProductEntity invUserProductEntity); + + Boolean updateInvUserProduct(InvUserProductEntity invUserProductEntity); + + Boolean delectInvUserProduct(InvUserProductEntity invUserProductEntity); + + +} From 75f346c7a788407788c8ab58306619d3439b865f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91=E6=98=8E=E6=A2=81?= <2429105222@qq.com> Date: Fri, 12 May 2023 14:25:31 +0800 Subject: [PATCH 04/17] =?UTF-8?q?=E7=94=A8=E6=88=B7=E5=BA=93=E5=AD=98?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/dao/inv/InvUserProductDetailDao.java | 3 +- .../glxp/api/entity/inv/InvProductEntity.java | 1 + .../api/entity/inv/InvUserProductEntity.java | 7 + .../api/service/inout/IoGenInvService.java | 184 ++++++++++++++++++ .../inv/InvUserProductDetailService.java | 2 + .../service/inv/InvUserProductService.java | 3 + .../impl/InvUserProductDetailServiceImpl.java | 5 + .../inv/impl/InvUserProductServiceImpl.java | 10 + 8 files changed, 214 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/glxp/api/dao/inv/InvUserProductDetailDao.java b/src/main/java/com/glxp/api/dao/inv/InvUserProductDetailDao.java index f1f02e967..882c9a250 100644 --- a/src/main/java/com/glxp/api/dao/inv/InvUserProductDetailDao.java +++ b/src/main/java/com/glxp/api/dao/inv/InvUserProductDetailDao.java @@ -2,6 +2,7 @@ package com.glxp.api.dao.inv; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.glxp.api.dao.BaseMapperPlus; import com.glxp.api.entity.inv.InvUserProductDetailEntity; /** @@ -9,7 +10,7 @@ import com.glxp.api.entity.inv.InvUserProductDetailEntity; * @description 针对表【inv_user_product_detail(用户库存详情表)】的数据库操作Mapper * @createDate 2023-05-12 10:19:43 */ -public interface InvUserProductDetailDao extends BaseMapper { +public interface InvUserProductDetailDao extends BaseMapperPlus { } diff --git a/src/main/java/com/glxp/api/entity/inv/InvProductEntity.java b/src/main/java/com/glxp/api/entity/inv/InvProductEntity.java index 8c2b9504e..75c99f7ac 100644 --- a/src/main/java/com/glxp/api/entity/inv/InvProductEntity.java +++ b/src/main/java/com/glxp/api/entity/inv/InvProductEntity.java @@ -105,4 +105,5 @@ public class InvProductEntity { @TableField(value = "updateTime") private Date updateTime; + } diff --git a/src/main/java/com/glxp/api/entity/inv/InvUserProductEntity.java b/src/main/java/com/glxp/api/entity/inv/InvUserProductEntity.java index a52aa9872..0291023a8 100644 --- a/src/main/java/com/glxp/api/entity/inv/InvUserProductEntity.java +++ b/src/main/java/com/glxp/api/entity/inv/InvUserProductEntity.java @@ -142,4 +142,11 @@ public class InvUserProductEntity { private Integer availableStock; + @TableField(value = "type") + private Integer type; + + @TableField(value = "userId") + private String userId; + + } \ No newline at end of file diff --git a/src/main/java/com/glxp/api/service/inout/IoGenInvService.java b/src/main/java/com/glxp/api/service/inout/IoGenInvService.java index 92b7fdc53..553903ad8 100644 --- a/src/main/java/com/glxp/api/service/inout/IoGenInvService.java +++ b/src/main/java/com/glxp/api/service/inout/IoGenInvService.java @@ -52,6 +52,10 @@ public class IoGenInvService { IoCodeService codeService; @Resource IBasicBusTypePreService basicBusTypePreService; + @Resource + InvUserProductService invUserProductService; + @Resource + InvUserProductDetailService invUserProductDetailService; @Resource @@ -122,6 +126,64 @@ public class IoGenInvService { } + //生成用户普通库存 + public void genNorInvUser(String orderId) { + IoOrderEntity orderEntity = orderService.findByBillNo(orderId); + List orderDetailResultEntities = orderDetailResultService.findByOrderId(orderId); + List codeEnttities = codeService.findByOrderId(orderId); + + //生成库存产品表 + for (IoOrderDetailResultEntity orderDetailResultEntity : orderDetailResultEntities) { + InvUserProductEntity invUserProductEntity = invUserProductService.selectByUnique(orderDetailResultEntity.getBindRlFk(), orderDetailResultEntity.getBatchNo(), orderDetailResultEntity.getSupId(), orderEntity.getDeptCode(), orderEntity.getInvCode(),orderEntity.getCreateUser(),ConstantStatus.ACTION_TYPE_NORMAL); + if (invUserProductEntity == null) { + invUserProductEntity = new InvUserProductEntity(); + invUserProductEntity.setRelIdFk(orderDetailResultEntity.getBindRlFk()); + invUserProductEntity.setNameCode(orderDetailResultEntity.getNameCode()); + invUserProductEntity.setBatchNo(orderDetailResultEntity.getBatchNo()); + invUserProductEntity.setProductionDate(orderDetailResultEntity.getProductDate()); + invUserProductEntity.setExpireDate(orderDetailResultEntity.getExpireDate()); + invUserProductEntity.setInCount(0); + invUserProductEntity.setType(ConstantStatus.ACTION_TYPE_NORMAL); + invUserProductEntity.setOutCount(0); + invUserProductEntity.setSupId(orderDetailResultEntity.getSupId()); + invUserProductEntity.setDeptCode(orderEntity.getDeptCode()); + invUserProductEntity.setInvCode(orderEntity.getInvCode()); + invUserProductEntity.setCreateTime(new Date()); + invUserProductEntity.setUpdateTime(new Date()); + invUserProductService.addInvUserProduct(invUserProductEntity); + } + + if (orderEntity.getMainAction().equals(ConstantType.TYPE_OUT)) { + invUserProductEntity.setOutCount(invUserProductEntity.getOutCount() + orderDetailResultEntity.getReCount()); + } else if (orderEntity.getMainAction().equals(ConstantType.TYPE_PUT)) { + invUserProductEntity.setInCount(invUserProductEntity.getInCount() + orderDetailResultEntity.getReCount()); + } + invUserProductEntity.setReCount(invUserProductEntity.getInCount() - invUserProductEntity.getOutCount()); + invUserProductEntity.setUpdateTime(new Date()); + invUserProductService.updateInvUserProduct(invUserProductEntity); + } + + //生成库存码详情 + List invUserProductDetailEntityList = new ArrayList<>(); + for (IoCodeEntity codeEntity : codeEnttities) { + InvUserProductDetailEntity invUserProductDetailEntity = new InvUserProductDetailEntity(); + BeanUtils.copyProperties(codeEntity, invUserProductDetailEntity); + invUserProductDetailEntity.setRelId(codeEntity.getRelId()); + invUserProductDetailEntity.setUpdateTime(new Date()); + invUserProductDetailEntity.setId(null); + invUserProductDetailEntity.setInvSpaceCode(codeEntity.getWarehouseCode()); + invUserProductDetailEntity.setPurchaseType(ConstantStatus.PRUCHASE_COMMON); + if (invUserProductDetailEntity.getMainAction().equals(ConstantType.TYPE_PUT)) { + invUserProductDetailEntity.setInCount(invUserProductDetailEntity.getReCount()); + } else if (invUserProductDetailEntity.getMainAction().equals(ConstantType.TYPE_OUT)) { + invUserProductDetailEntity.setOutCount(invUserProductDetailEntity.getReCount()); + } + invUserProductDetailEntityList.add(invUserProductDetailEntity); + } + + invUserProductDetailService.addInvUserProductDetailList(invUserProductDetailEntityList); + } + @Resource InvPreProductService invPreProductService; @@ -189,6 +251,67 @@ public class IoGenInvService { } + //生成用户寄售库存 + public void genUserPreInv(String orderId) { + IoOrderEntity orderEntity = orderService.findByBillNo(orderId); + List orderDetailResultEntities = orderDetailResultService.findByOrderId(orderId); + List codeEnttities = codeService.findByOrderId(orderId); + + //生成库存产品表 + for (IoOrderDetailResultEntity orderDetailResultEntity : orderDetailResultEntities) { + InvUserProductEntity invUserProductEntity = invUserProductService.selectByUnique(orderDetailResultEntity.getBindRlFk(), orderDetailResultEntity.getBatchNo(), orderDetailResultEntity.getSupId(), orderEntity.getDeptCode(), orderEntity.getInvCode(),orderEntity.getCreateUser(),ConstantStatus.ACTION_TYPE_PREIN); + if (invUserProductEntity == null) { + invUserProductEntity = new InvUserProductEntity(); + invUserProductEntity.setRelIdFk(orderDetailResultEntity.getBindRlFk()); + invUserProductEntity.setNameCode(orderDetailResultEntity.getNameCode()); + invUserProductEntity.setBatchNo(orderDetailResultEntity.getBatchNo()); + invUserProductEntity.setProductionDate(orderDetailResultEntity.getProductDate()); + invUserProductEntity.setExpireDate(orderDetailResultEntity.getExpireDate()); + invUserProductEntity.setInCount(0); + invUserProductEntity.setType(ConstantStatus.ACTION_TYPE_PREIN); + invUserProductEntity.setOutCount(0); + invUserProductEntity.setSupId(orderDetailResultEntity.getSupId()); + invUserProductEntity.setDeptCode(orderEntity.getDeptCode()); + invUserProductEntity.setInvCode(orderEntity.getInvCode()); + invUserProductEntity.setCreateTime(new Date()); + invUserProductEntity.setUpdateTime(new Date()); + invUserProductService.addInvUserProduct(invUserProductEntity); + } + + if (orderEntity.getMainAction().equals(ConstantType.TYPE_OUT)) { + invUserProductEntity.setOutCount(invUserProductEntity.getOutCount() + orderDetailResultEntity.getReCount()); + } else if (orderEntity.getMainAction().equals(ConstantType.TYPE_PUT)) { + invUserProductEntity.setInCount(invUserProductEntity.getInCount() + orderDetailResultEntity.getReCount()); + } + invUserProductEntity.setReCount(invUserProductEntity.getInCount() - invUserProductEntity.getOutCount()); + invUserProductEntity.setUpdateTime(new Date()); + invUserProductService.updateInvUserProduct(invUserProductEntity); + } + + //生成库存码详情 + List invUserProductDetailEntityList = new ArrayList<>(); + for (IoCodeEntity codeEntity : codeEnttities) { + InvUserProductDetailEntity invUserProductDetailEntity = new InvUserProductDetailEntity(); + BeanUtils.copyProperties(codeEntity, invUserProductDetailEntity); + invUserProductDetailEntity.setRelId(codeEntity.getRelId()); + invUserProductDetailEntity.setUpdateTime(new Date()); + invUserProductDetailEntity.setId(null); + invUserProductDetailEntity.setInvSpaceCode(codeEntity.getWarehouseCode()); + invUserProductDetailEntity.setPurchaseType(ConstantStatus.PRUCHASE_COMMON); + if (invUserProductDetailEntity.getMainAction().equals(ConstantType.TYPE_PUT)) { + invUserProductDetailEntity.setInCount(invUserProductDetailEntity.getReCount()); + } else if (invUserProductDetailEntity.getMainAction().equals(ConstantType.TYPE_OUT)) { + invUserProductDetailEntity.setOutCount(invUserProductDetailEntity.getReCount()); + } + invUserProductDetailEntityList.add(invUserProductDetailEntity); + } + + invUserProductDetailService.addInvUserProductDetailList(invUserProductDetailEntityList); + + } + + + @Resource InvPreinProductService invPreinProductService; @@ -272,5 +395,66 @@ public class IoGenInvService { } + //生成用户预验收库存 + public void genUserPreInInv(String orderId) { + + + IoOrderEntity orderEntity = orderService.findByBillNo(orderId); + List orderDetailResultEntities = orderDetailResultService.findByOrderId(orderId); + List codeEnttities = codeService.findByOrderId(orderId); + //生成库存产品表 + for (IoOrderDetailResultEntity orderDetailResultEntity : orderDetailResultEntities) { + InvUserProductEntity invUserProductEntity = invUserProductService.selectByUnique(orderDetailResultEntity.getBindRlFk(), orderDetailResultEntity.getBatchNo(), orderDetailResultEntity.getSupId(), orderEntity.getDeptCode(), orderEntity.getInvCode(),orderEntity.getCreateUser(),ConstantStatus.ACTION_TYPE_ADVANCE); + if (invUserProductEntity == null) { + invUserProductEntity = new InvUserProductEntity(); + invUserProductEntity.setRelIdFk(orderDetailResultEntity.getBindRlFk()); + invUserProductEntity.setNameCode(orderDetailResultEntity.getNameCode()); + invUserProductEntity.setBatchNo(orderDetailResultEntity.getBatchNo()); + invUserProductEntity.setProductionDate(orderDetailResultEntity.getProductDate()); + invUserProductEntity.setExpireDate(orderDetailResultEntity.getExpireDate()); + invUserProductEntity.setInCount(0); + invUserProductEntity.setType(ConstantStatus.ACTION_TYPE_ADVANCE); + invUserProductEntity.setOutCount(0); + invUserProductEntity.setSupId(orderDetailResultEntity.getSupId()); + invUserProductEntity.setDeptCode(orderEntity.getDeptCode()); + invUserProductEntity.setInvCode(orderEntity.getInvCode()); + invUserProductEntity.setCreateTime(new Date()); + invUserProductEntity.setUpdateTime(new Date()); + invUserProductService.addInvUserProduct(invUserProductEntity); + } + + if (orderEntity.getMainAction().equals(ConstantType.TYPE_OUT)) { + invUserProductEntity.setOutCount(invUserProductEntity.getOutCount() + orderDetailResultEntity.getReCount()); + } else if (orderEntity.getMainAction().equals(ConstantType.TYPE_PUT)) { + invUserProductEntity.setInCount(invUserProductEntity.getInCount() + orderDetailResultEntity.getReCount()); + } + invUserProductEntity.setReCount(invUserProductEntity.getInCount() - invUserProductEntity.getOutCount()); + invUserProductEntity.setUpdateTime(new Date()); + invUserProductService.updateInvUserProduct(invUserProductEntity); + } + + //生成库存码详情 + List invUserProductDetailEntityList = new ArrayList<>(); + for (IoCodeEntity codeEntity : codeEnttities) { + InvUserProductDetailEntity invUserProductDetailEntity = new InvUserProductDetailEntity(); + BeanUtils.copyProperties(codeEntity, invUserProductDetailEntity); + invUserProductDetailEntity.setRelId(codeEntity.getRelId()); + invUserProductDetailEntity.setUpdateTime(new Date()); + invUserProductDetailEntity.setId(null); + invUserProductDetailEntity.setInvSpaceCode(codeEntity.getWarehouseCode()); + invUserProductDetailEntity.setPurchaseType(ConstantStatus.PRUCHASE_COMMON); + if (invUserProductDetailEntity.getMainAction().equals(ConstantType.TYPE_PUT)) { + invUserProductDetailEntity.setInCount(invUserProductDetailEntity.getReCount()); + } else if (invUserProductDetailEntity.getMainAction().equals(ConstantType.TYPE_OUT)) { + invUserProductDetailEntity.setOutCount(invUserProductDetailEntity.getReCount()); + } + invUserProductDetailEntityList.add(invUserProductDetailEntity); + } + + invUserProductDetailService.addInvUserProductDetailList(invUserProductDetailEntityList); + + + } + } diff --git a/src/main/java/com/glxp/api/service/inv/InvUserProductDetailService.java b/src/main/java/com/glxp/api/service/inv/InvUserProductDetailService.java index b53cb7258..a1f59a3d6 100644 --- a/src/main/java/com/glxp/api/service/inv/InvUserProductDetailService.java +++ b/src/main/java/com/glxp/api/service/inv/InvUserProductDetailService.java @@ -17,6 +17,8 @@ public interface InvUserProductDetailService{ Boolean addInvUserProductDetail(InvUserProductDetailEntity invUserProductDetailEntity); + Boolean addInvUserProductDetailList(List invUserProductDetailEntityList); + Boolean updateInvUserProductDetail(InvUserProductDetailEntity invUserProductDetailEntity); Boolean delectInvUserProductDetail(InvUserProductDetailEntity invUserProductDetailEntity); diff --git a/src/main/java/com/glxp/api/service/inv/InvUserProductService.java b/src/main/java/com/glxp/api/service/inv/InvUserProductService.java index dca979be3..c7989b3b6 100644 --- a/src/main/java/com/glxp/api/service/inv/InvUserProductService.java +++ b/src/main/java/com/glxp/api/service/inv/InvUserProductService.java @@ -2,6 +2,7 @@ package com.glxp.api.service.inv; import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.entity.inv.InvProductEntity; import com.glxp.api.entity.inv.InvUserProductEntity; import java.util.List; @@ -21,5 +22,7 @@ public interface InvUserProductService{ Boolean delectInvUserProduct(InvUserProductEntity invUserProductEntity); + InvUserProductEntity selectByUnique(Long relId, String batchNo, String supId, String deptCode, String invCode,String userId,Integer type); + } diff --git a/src/main/java/com/glxp/api/service/inv/impl/InvUserProductDetailServiceImpl.java b/src/main/java/com/glxp/api/service/inv/impl/InvUserProductDetailServiceImpl.java index fede624fe..750b9a40e 100644 --- a/src/main/java/com/glxp/api/service/inv/impl/InvUserProductDetailServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inv/impl/InvUserProductDetailServiceImpl.java @@ -30,6 +30,11 @@ public class InvUserProductDetailServiceImpl implements InvUserProductDetailServ return invUserProductDetailDao.insert(invUserProductDetailEntity) == 1 ? true : false; } + @Override + public Boolean addInvUserProductDetailList(List invUserProductDetailEntityList) { + return invUserProductDetailDao.insertBatch(invUserProductDetailEntityList); + } + @Override public Boolean updateInvUserProductDetail(InvUserProductDetailEntity invUserProductDetailEntity) { return invUserProductDetailDao.updateById(invUserProductDetailEntity) == 1 ? true : false; diff --git a/src/main/java/com/glxp/api/service/inv/impl/InvUserProductServiceImpl.java b/src/main/java/com/glxp/api/service/inv/impl/InvUserProductServiceImpl.java index 78cc0dfc8..248cf0a06 100644 --- a/src/main/java/com/glxp/api/service/inv/impl/InvUserProductServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inv/impl/InvUserProductServiceImpl.java @@ -1,7 +1,10 @@ package com.glxp.api.service.inv.impl; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.glxp.api.dao.inv.InvUserProductDao; +import com.glxp.api.entity.inv.InvProductEntity; import com.glxp.api.entity.inv.InvUserProductEntity; import com.glxp.api.service.inv.InvUserProductService; import org.springframework.stereotype.Service; @@ -39,4 +42,11 @@ public class InvUserProductServiceImpl implements InvUserProductService { public Boolean delectInvUserProduct(InvUserProductEntity invUserProductEntity) { return invUserProductDao.deleteById(invUserProductEntity) == 1 ? true : false; } + + @Override + public InvUserProductEntity selectByUnique(Long relId, String batchNo, String supId, String deptCode, String invCode,String userId,Integer type) { + return invUserProductDao.selectOne(new QueryWrapper().eq("relIdFk", relId).eq(StrUtil.isNotEmpty(batchNo), "batchNo", batchNo) + .isNull(StrUtil.isEmpty(batchNo), "batchNo").eq("supId", supId).eq("deptCode", deptCode) + .eq("invCode", invCode).eq("userId",userId).eq("type",type)); + } } From 7b3f63f85d64af9713cf3a012199baef07c26a5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91=E6=98=8E=E6=A2=81?= <2429105222@qq.com> Date: Fri, 12 May 2023 17:11:16 +0800 Subject: [PATCH 05/17] =?UTF-8?q?=E7=94=A8=E6=88=B7=E5=BA=93=E5=AD=98?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inv/impl/InvPlaceOrderServiceImpl.java | 2 +- .../service/inv/impl/InvPlaceServiceImpl.java | 17 +++++++++++++---- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/glxp/api/service/inv/impl/InvPlaceOrderServiceImpl.java b/src/main/java/com/glxp/api/service/inv/impl/InvPlaceOrderServiceImpl.java index 37b909ada..d59bbaa82 100644 --- a/src/main/java/com/glxp/api/service/inv/impl/InvPlaceOrderServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inv/impl/InvPlaceOrderServiceImpl.java @@ -189,7 +189,7 @@ public class InvPlaceOrderServiceImpl implements InvPlaceOrderService { InvPlaceOrderEntity orderEntity = new InvPlaceOrderEntity(); orderEntity.setId(IdUtil.getSnowflakeNextId()); orderEntity.setRecordId(recordId); - orderEntity.setType(1); + orderEntity.setType(3); // orderEntity.setOrderId(addInvPlaceOrderRequest.getOrderId()); orderEntity.setCreateUser(userId); orderEntity.setCreateTime(new Date()); diff --git a/src/main/java/com/glxp/api/service/inv/impl/InvPlaceServiceImpl.java b/src/main/java/com/glxp/api/service/inv/impl/InvPlaceServiceImpl.java index d6b34aa12..8269df22d 100644 --- a/src/main/java/com/glxp/api/service/inv/impl/InvPlaceServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inv/impl/InvPlaceServiceImpl.java @@ -510,6 +510,9 @@ public class InvPlaceServiceImpl implements InvPlaceService { ew.eq("invSpaceCode", bindInvSpaceRequest.getInvSpaceCode()); InvPreInProductDetailEntity invPreInProductDetailEntity = invPreInProductDetailDao.selectOne(ew); count = invPreInProductDetailEntity.getInCount(); + if (invPreInProductDetailEntity == null) { + return "该产品库存不足!"; + } } else { count = invPreInProductDetailDao.getInventoryQuantity(bindInvSpaceRequest.getCode()); } @@ -535,6 +538,9 @@ public class InvPlaceServiceImpl implements InvPlaceService { ew.eq("code", bindInvSpaceRequest.getCode()); ew.eq("invSpaceCode", bindInvSpaceRequest.getInvSpaceCode()); InvPreProductDetailEntity invPreProductDetailEntity = invPreProductDetailDao.selectOne(ew); + if (invPreProductDetailEntity == null) { + return "该产品库存不足!"; + } count = invPreProductDetailEntity.getInCount(); } else { count = invPreProductDetailDao.getInventoryQuantity(bindInvSpaceRequest.getCode()); @@ -562,6 +568,9 @@ public class InvPlaceServiceImpl implements InvPlaceService { ew.eq("code", bindInvSpaceRequest.getCode()); ew.eq("invSpaceCode", bindInvSpaceRequest.getInvSpaceCode()); InvProductDetailEntity invProductDetailEntity = invProductDetailDao.selectOne(ew); + if (invProductDetailEntity == null) { + return "该产品库存不足!"; + } count = invProductDetailEntity.getInCount(); } else { count = invProductDetailDao.getInventoryQuantity(bindInvSpaceRequest.getCode()); @@ -729,7 +738,7 @@ public class InvPlaceServiceImpl implements InvPlaceService { ew.eq("invSpaceCode", bindInvSpaceRequest.getInvSpaceCode()); ew.last("limit 1"); invPreInProductDetailEntity = invPreInProductDetailDao.selectOne(ew); - if (invPreInProductDetailEntity != null && invPreInProductDetailEntity.getInCount() == 0 && invPreInProductDetailEntity.getOutCount() == 0 + if (invPreInProductDetailEntity != null && invPreInProductDetailEntity.getInCount() == 0 && (invPreInProductDetailEntity.getOutCount() == null || invPreInProductDetailEntity.getOutCount() == 0) && invPreInProductDetailEntity.getCount() == 0 && invPreInProductDetailEntity.getReCount() == 0) { invPreInProductDetailDao.deleteById(invPreInProductDetailEntity); } @@ -767,7 +776,7 @@ public class InvPlaceServiceImpl implements InvPlaceService { ew.eq("invSpaceCode", bindInvSpaceRequest.getInvSpaceCode()); ew.last("limit 1"); invPreInProductDetailEntity = invPreInProductDetailDao.selectOne(ew); - if (invPreInProductDetailEntity != null && invPreInProductDetailEntity.getInCount() == 0 && invPreInProductDetailEntity.getOutCount() == 0 + if (invPreInProductDetailEntity != null && invPreInProductDetailEntity.getInCount() == 0 && (invPreInProductDetailEntity.getOutCount() == null || invPreInProductDetailEntity.getOutCount() == 0) && invPreInProductDetailEntity.getCount() == 0 && invPreInProductDetailEntity.getReCount() == 0) { invPreInProductDetailDao.deleteById(invPreInProductDetailEntity); } @@ -832,7 +841,7 @@ public class InvPlaceServiceImpl implements InvPlaceService { ew.eq("invSpaceCode", bindInvSpaceRequest.getInvSpaceCode()); ew.last("limit 1"); invPreProductDetailEntity = invPreProductDetailDao.selectOne(ew); - if (invPreProductDetailEntity != null && invPreProductDetailEntity.getInCount() == 0 && invPreProductDetailEntity.getOutCount() == 0 + if (invPreProductDetailEntity != null && invPreProductDetailEntity.getInCount() == 0 && (invPreProductDetailEntity.getOutCount() == null || invPreProductDetailEntity.getOutCount() == 0) && invPreProductDetailEntity.getCount() == 0 && invPreProductDetailEntity.getReCount() == 0) { invPreProductDetailDao.deleteById(invPreProductDetailEntity); } @@ -900,7 +909,7 @@ public class InvPlaceServiceImpl implements InvPlaceService { ew.eq("invSpaceCode", bindInvSpaceRequest.getInvSpaceCode()); ew.last("limit 1"); invProductDetailEntity = invProductDetailDao.selectOne(ew); - if (invProductDetailEntity != null && invProductDetailEntity.getInCount() == 0 && invProductDetailEntity.getOutCount() == 0 + if (invProductDetailEntity != null && invProductDetailEntity.getInCount() == 0 && (invProductDetailEntity.getOutCount() == null || invProductDetailEntity.getOutCount() == 0) && invProductDetailEntity.getCount() == 0 && invProductDetailEntity.getReCount() == 0) { invProductDetailDao.deleteById(invProductDetailEntity); } From 385b9075ac127b4a85862220b5d7116d3fe74b7c Mon Sep 17 00:00:00 2001 From: anthonywj Date: Fri, 12 May 2023 21:19:01 +0800 Subject: [PATCH 06/17] =?UTF-8?q?bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inout/IoCodeTempController.java | 17 +++++++++++++++- .../inout/IoOrderDetailBizController.java | 3 +++ .../inout/IoOrderReviewController.java | 9 +++------ .../system/SysParamConfigController.java | 3 +++ .../api/service/inout/IoAddInoutService.java | 1 - .../service/inout/IoChangeInoutService.java | 5 +++++ .../service/inout/IoCheckInoutService.java | 20 +++++++++++-------- .../api/service/inout/IoGenInvService.java | 1 + .../inout/impl/IoOrderServiceImpl.java | 20 +++++++++---------- .../purchase/impl/PurOrderServiceImpl.java | 3 +++ .../mapper/purchase/PurOrderDetailDao.xml | 8 ++++---- 11 files changed, 60 insertions(+), 30 deletions(-) diff --git a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java index d273d21e0..8d87f11a7 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java @@ -1219,10 +1219,25 @@ public class IoCodeTempController extends BaseController { } } if (codeTempEntity.getMyCount() <= 0) { - return ResultVOUtils.error(500, "数量不能小于0"); + return ResultVOUtils.error(500, "数量需要大于0"); } + + IoCodeTempEntity tempEntity = codeTempService.selectById(codeTempEntity.getId()); codeTempEntity.setReCount(codeTempEntity.getMyCount() * udiCalCountUtil.getActCount(codeTempEntity.getNameCode())); + int count = tempEntity.getCount() - codeTempEntity.getCount(); + + //更新扫码详情 + IoOrderDetailCodeEntity orderDetailCodeEntity = ioOrderDetailCodeService.findByUnique(codeTempEntity.getOrderId(), codeTempEntity.getRelId(), codeTempEntity.getBatchNo()); + if (orderDetailCodeEntity != null) { + //扫码数量-1 + int orderCount = orderDetailCodeEntity.getCount(); + orderDetailCodeEntity.setCount(orderCount - count); + orderDetailCodeEntity.setReCount(orderDetailCodeEntity.getCount() * udiCalCountUtil.getActCount(codeTempEntity.getNameCode())); + ioOrderDetailCodeService.update(orderDetailCodeEntity); + } int b = codeTempService.updateById(codeTempEntity); + + if (b > 0) return ResultVOUtils.success("修改成功"); else return ResultVOUtils.error(500, "修改失败!"); diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderDetailBizController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderDetailBizController.java index a64b72d80..225d616aa 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderDetailBizController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderDetailBizController.java @@ -427,6 +427,9 @@ public class IoOrderDetailBizController extends BaseController { purOrderEntity = purOrderService.selectById(purOrderEntity.getId()); List purOrderDetailEntities = purOrderDetailService.findByOrderId(purOrderEntity.getId() + ""); BasicBusTypeChangeEntity basicBusTypeChangeEntity = basicBusTypeChangeService.selectByOriginAction(purOrderEntity.getBillType()); + if (basicBusTypeChangeEntity == null) { + return ResultVOUtils.error(500, "采购订单未配置转换单据类型!"); + } BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(basicBusTypeChangeEntity.getTargetAction()); AuthAdmin authAdmin = getUser(); diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderReviewController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderReviewController.java index e0c505218..886fb55c6 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderReviewController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderReviewController.java @@ -36,10 +36,7 @@ import com.glxp.api.service.basic.IBasicBussinessTypeService; import com.glxp.api.service.inout.*; import com.glxp.api.service.sync.HeartService; import com.glxp.api.service.system.SystemParamConfigService; -import com.glxp.api.util.CustomUtil; -import com.glxp.api.util.GennerOrderUtils; -import com.glxp.api.util.OrderNoTypeBean; -import com.glxp.api.util.RedisUtil; +import com.glxp.api.util.*; import com.glxp.api.util.udi.UdiCalCountUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.BindingResult; @@ -354,11 +351,11 @@ public class IoOrderReviewController extends BaseController { for (IoCodeEntity checkOrderCodesBean : codesList) { if (checkOrderCodesBean.getCode().toUpperCase(Locale.ROOT).equals(code.toUpperCase(Locale.ROOT))) { if (checkOrderCodesBean.getStatus() == Constant.DB_CHECK_ED - && checkOrderCodesBean.getMyCount() == checkOrderCodesBean.getScanCount()) { + && IntUtil.value(checkOrderCodesBean.getReCount()) == checkOrderCodesBean.getScanCount()) { return Constant.CHECK_REPEAT; } int curCount = checkOrderCodesBean.getScanCount() + calCountUtil.getActCount(checkOrderCodesBean.getNameCode()); - if (curCount == checkOrderCodesBean.getMyCount()) { + if (curCount == IntUtil.value(checkOrderCodesBean.getReCount())) { checkOrderCodesBean.setStatus(Constant.DB_CHECK_ED); } checkOrderCodesBean.setScanCount(curCount); diff --git a/src/main/java/com/glxp/api/controller/system/SysParamConfigController.java b/src/main/java/com/glxp/api/controller/system/SysParamConfigController.java index 8b298d5d6..fdc181594 100644 --- a/src/main/java/com/glxp/api/controller/system/SysParamConfigController.java +++ b/src/main/java/com/glxp/api/controller/system/SysParamConfigController.java @@ -26,6 +26,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import javax.validation.Valid; +import java.util.Comparator; import java.util.List; import java.util.stream.Collectors; @@ -186,6 +187,8 @@ public class SysParamConfigController { filterParamConfigRequest.setParamType(2); filterParamConfigRequest.setParamStatus(1); List systemParamConfigEntities = systemParamConfigService.queryPage(filterParamConfigRequest); + systemParamConfigEntities = systemParamConfigEntities.stream().sorted(Comparator.comparing(SystemParamConfigEntity::getParamKey)) + .collect(Collectors.toList()); ProductRemarkSetEntity productRemarkSetEntity = new ProductRemarkSetEntity(); if (CollUtil.isNotEmpty(systemParamConfigEntities) && systemParamConfigEntities.size() == 8) { diff --git a/src/main/java/com/glxp/api/service/inout/IoAddInoutService.java b/src/main/java/com/glxp/api/service/inout/IoAddInoutService.java index 9d52b75b7..1717a55f4 100644 --- a/src/main/java/com/glxp/api/service/inout/IoAddInoutService.java +++ b/src/main/java/com/glxp/api/service/inout/IoAddInoutService.java @@ -313,7 +313,6 @@ public class IoAddInoutService { List ioOrderDetailCodeEntities = orderDetailCodeDao.selectList(new QueryWrapper().select("id", "count", "reCount", "bindRlFk", "batchNo").eq("orderIdFk", orderEntity.getBillNo())); UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectSupGroupById(codeTempEntity.getRelId(), codeTempEntity.getSupId()); -// UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectGroupById(codeTempEntity.getRelId()); if (CollUtil.isEmpty(ioOrderDetailCodeEntities)) { orderDetailCodeService.insert(buildEntity(orderEntity, codeTempEntity, udiRelevanceResponse)); } else { diff --git a/src/main/java/com/glxp/api/service/inout/IoChangeInoutService.java b/src/main/java/com/glxp/api/service/inout/IoChangeInoutService.java index 042809d2c..4edc166ab 100644 --- a/src/main/java/com/glxp/api/service/inout/IoChangeInoutService.java +++ b/src/main/java/com/glxp/api/service/inout/IoChangeInoutService.java @@ -257,6 +257,11 @@ public class IoChangeInoutService { codeTempEntities.add(codeTempEntity); } codeTempService.insertBatch(codeTempEntities); + +// 生成业务单 + + + if (isGenInovice) { //生成发票信息 List invoiceEntities = ioOrderInvoiceService.findByBillNo(orderEntity.getBillNo()); diff --git a/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java b/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java index 34127e5b7..7d6c8858f 100644 --- a/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java +++ b/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java @@ -285,16 +285,20 @@ public class IoCheckInoutService { if (orderEntity.getFromType() != ConstantStatus.FROM_UDISP) { orderDetailBizService.deleteByOrderId(orderEntity.getBillNo()); orderDetailResultService.deleteByOrderId(orderEntity.getBillNo()); + if (!orderDetailBizService.isExit(orderEntity.getBillNo())) { + orderDetailCodeEntities.forEach(orderDetailCodeEntity -> + { + //生成业务单据 + IoOrderDetailBizEntity orderDetailBizEntity = new IoOrderDetailBizEntity(); + BeanUtils.copyProperties(orderDetailCodeEntity, orderDetailBizEntity); + orderDetailBizEntity.setCount(orderDetailCodeEntity.getReCount()); + orderDetailBizEntity.setId(null); + orderDetailBizService.insert(orderDetailBizEntity); + }); + + } orderDetailCodeEntities.forEach(orderDetailCodeEntity -> { - //生成业务单据 - IoOrderDetailBizEntity orderDetailBizEntity = new IoOrderDetailBizEntity(); - BeanUtils.copyProperties(orderDetailCodeEntity, orderDetailBizEntity); - orderDetailBizEntity.setCount(orderDetailCodeEntity.getReCount()); - orderDetailBizEntity.setId(null); - orderDetailBizService.insert(orderDetailBizEntity); - - //生成单据结果 IoOrderDetailResultEntity orderDetailResultEntity = new IoOrderDetailResultEntity(); BeanUtils.copyProperties(orderDetailCodeEntity, orderDetailResultEntity); diff --git a/src/main/java/com/glxp/api/service/inout/IoGenInvService.java b/src/main/java/com/glxp/api/service/inout/IoGenInvService.java index 553903ad8..c35f1b330 100644 --- a/src/main/java/com/glxp/api/service/inout/IoGenInvService.java +++ b/src/main/java/com/glxp/api/service/inout/IoGenInvService.java @@ -185,6 +185,7 @@ public class IoGenInvService { } + @Resource InvPreProductService invPreProductService; @Resource diff --git a/src/main/java/com/glxp/api/service/inout/impl/IoOrderServiceImpl.java b/src/main/java/com/glxp/api/service/inout/impl/IoOrderServiceImpl.java index 8d0d264ca..f3a13da72 100644 --- a/src/main/java/com/glxp/api/service/inout/impl/IoOrderServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inout/impl/IoOrderServiceImpl.java @@ -299,7 +299,7 @@ public class IoOrderServiceImpl implements IoOrderService { //查询条码 IoOrderEntity orderEntity = findByBillNo(billNo); if (orderEntity.getStatus() == ConstantStatus.ORDER_STATUS_AUDITED - || orderEntity.getStatus() == ConstantStatus.ORDER_STATUS_CHECK_SUCCESS) { + || orderEntity.getStatus() == ConstantStatus.ORDER_STATUS_CHECK_SUCCESS || orderEntity.getStatus() == ConstantStatus.ORDER_STATUS_CHECK_REW) { //更新正式表 IoCodeEntity ioCodeEntity = codeService.findByUnique(billNo, code); if (ioCodeEntity.getMyCount() > 1) { @@ -331,12 +331,12 @@ public class IoOrderServiceImpl implements IoOrderService { InvPreInProductDetailEntity invProductDetailEntity = invPreinProductDetailService.selectByCode(billNo, code); int count = invProductDetailEntity.getCount() - 1; + int reCount = udiCalCountUtil.getActCount(invProductDetailEntity.getNameCode()); if (count == 0) { invPreinProductDetailService.deleteById(invProductDetailEntity.getId() + ""); } else { //更新详情表 invProductDetailEntity.setCount(count); - int reCount = udiCalCountUtil.getActCount(invProductDetailEntity.getNameCode()); invProductDetailEntity.setReCount(invProductDetailEntity.getReCount() - reCount); invPreinProductDetailService.update(invProductDetailEntity); } @@ -344,10 +344,10 @@ public class IoOrderServiceImpl implements IoOrderService { InvPreinProductEntity invProductEntity = invPreinProductService.selectByUnique(invProductDetailEntity.getRelId(), invProductDetailEntity.getBatchNo(), invProductDetailEntity.getSupId(), invProductDetailEntity.getDeptCode(), invProductDetailEntity.getInvCode()); if (invProductEntity != null) { if (ConstantType.TYPE_PUT.equals(invProductDetailEntity.getMainAction())) { - int inCount = invProductEntity.getInCount() - invProductDetailEntity.getReCount(); + int inCount = invProductEntity.getInCount() - reCount; invProductEntity.setInCount(inCount); } else if (ConstantType.TYPE_OUT.equals(invProductDetailEntity.getMainAction())) { - int outCount = invProductEntity.getOutCount() - invProductDetailEntity.getReCount(); + int outCount = invProductEntity.getOutCount() - reCount; invProductEntity.setOutCount(outCount); } invProductEntity.setReCount(invProductEntity.getInCount() - invProductEntity.getOutCount()); @@ -357,12 +357,12 @@ public class IoOrderServiceImpl implements IoOrderService { } else if (basicBussinessTypeEntity.getActionType() == ConstantStatus.ACTION_TYPE_ADVANCE) { //寄售库存 InvPreProductDetailEntity invProductDetailEntity = invPreProductDetailService.selectByCode(billNo, code); int count = invProductDetailEntity.getCount() - 1; + int reCount = udiCalCountUtil.getActCount(invProductDetailEntity.getNameCode()); if (count == 0) { invPreProductService.deleteById(invProductDetailEntity.getId()); } else { //更新详情表 invProductDetailEntity.setCount(count); - int reCount = udiCalCountUtil.getActCount(invProductDetailEntity.getNameCode()); invProductDetailEntity.setReCount(invProductDetailEntity.getReCount() - reCount); invPreProductDetailService.update(invProductDetailEntity); } @@ -370,10 +370,10 @@ public class IoOrderServiceImpl implements IoOrderService { InvPreProductEntity invProductEntity = invPreProductService.selectByUnique(invProductDetailEntity.getRelId(), invProductDetailEntity.getBatchNo(), invProductDetailEntity.getSupId(), invProductDetailEntity.getDeptCode(), invProductDetailEntity.getInvCode()); if (invProductEntity != null) { if (ConstantType.TYPE_PUT.equals(invProductDetailEntity.getMainAction())) { - int inCount = invProductEntity.getInCount() - invProductDetailEntity.getReCount(); + int inCount = invProductEntity.getInCount() - reCount; invProductEntity.setInCount(inCount); } else if (ConstantType.TYPE_OUT.equals(invProductDetailEntity.getMainAction())) { - int outCount = invProductEntity.getOutCount() - invProductDetailEntity.getReCount(); + int outCount = invProductEntity.getOutCount() - reCount; invProductEntity.setOutCount(outCount); } invProductEntity.setReCount(invProductEntity.getInCount() - invProductEntity.getOutCount()); @@ -382,12 +382,12 @@ public class IoOrderServiceImpl implements IoOrderService { } else { //普通库存 InvProductDetailEntity invProductDetailEntity = invProductDetailService.selectByCode(billNo, code); int count = invProductDetailEntity.getCount() - 1; + int reCount = udiCalCountUtil.getActCount(invProductDetailEntity.getNameCode()); if (count == 0) { invProductDetailService.deleteById(invProductDetailEntity.getId()); } else { //更新详情表 invProductDetailEntity.setCount(count); - int reCount = udiCalCountUtil.getActCount(invProductDetailEntity.getNameCode()); invProductDetailEntity.setReCount(invProductDetailEntity.getReCount() - reCount); invProductDetailService.update(invProductDetailEntity); } @@ -395,10 +395,10 @@ public class IoOrderServiceImpl implements IoOrderService { InvProductEntity invProductEntity = invProductService.selectByUnique(invProductDetailEntity.getRelId(), invProductDetailEntity.getBatchNo(), invProductDetailEntity.getSupId(), invProductDetailEntity.getDeptCode(), invProductDetailEntity.getInvCode()); if (invProductEntity != null) { if (ConstantType.TYPE_PUT.equals(invProductDetailEntity.getMainAction())) { - int inCount = invProductEntity.getInCount() - invProductDetailEntity.getReCount(); + int inCount = invProductEntity.getInCount() - reCount; invProductEntity.setInCount(inCount); } else if (ConstantType.TYPE_OUT.equals(invProductDetailEntity.getMainAction())) { - int outCount = invProductEntity.getOutCount() - invProductDetailEntity.getReCount(); + int outCount = invProductEntity.getOutCount() - reCount; invProductEntity.setOutCount(outCount); } invProductEntity.setReCount(invProductEntity.getInCount() - invProductEntity.getOutCount()); diff --git a/src/main/java/com/glxp/api/service/purchase/impl/PurOrderServiceImpl.java b/src/main/java/com/glxp/api/service/purchase/impl/PurOrderServiceImpl.java index d5195b1c5..b21e07a65 100644 --- a/src/main/java/com/glxp/api/service/purchase/impl/PurOrderServiceImpl.java +++ b/src/main/java/com/glxp/api/service/purchase/impl/PurOrderServiceImpl.java @@ -1,6 +1,7 @@ package com.glxp.api.service.purchase.impl; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.IdUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.github.pagehelper.PageHelper; @@ -64,6 +65,8 @@ public class PurOrderServiceImpl implements PurOrderService { @Override public Boolean insert(PurOrderEntity purOrderEntity) { + if (purOrderEntity.getId() == null) + purOrderEntity.setId(IdUtil.getSnowflakeNextId()); return purOrderDao.insert(purOrderEntity) > 0 ? true : false; } diff --git a/src/main/resources/mybatis/mapper/purchase/PurOrderDetailDao.xml b/src/main/resources/mybatis/mapper/purchase/PurOrderDetailDao.xml index 0e4c4ece9..fcab2bda2 100644 --- a/src/main/resources/mybatis/mapper/purchase/PurOrderDetailDao.xml +++ b/src/main/resources/mybatis/mapper/purchase/PurOrderDetailDao.xml @@ -48,9 +48,9 @@ basic_corp.`name` supName FROM pur_order_detail - INNER JOIN basic_udirel ON pur_order_detail.productId = basic_udirel.id - INNER JOIN basic_products ON basic_udirel.uuid = basic_products.uuid - INNER JOIN basic_corp ON pur_order_detail.supId = basic_corp.erpId + left JOIN basic_udirel ON pur_order_detail.productId = basic_udirel.id + left JOIN basic_products ON basic_udirel.uuid = basic_products.uuid + left JOIN basic_corp ON pur_order_detail.supId = basic_corp.erpId AND orderIdFk = #{orderIdFk} @@ -174,4 +174,4 @@ and pur_order.status=3 - \ No newline at end of file + From 1fa526349234f99a50b60b6029c88aba233e28f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91=E6=98=8E=E6=A2=81?= <2429105222@qq.com> Date: Mon, 15 May 2023 14:32:25 +0800 Subject: [PATCH 07/17] =?UTF-8?q?=E5=BA=93=E5=AD=98=E6=98=8E=E7=BB=86?= =?UTF-8?q?=E6=89=93=E5=8D=B0=E4=BB=A3=E7=A0=81=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inout/IoOrderDetailResultController.java | 123 +++++++++++++++++- .../inout/FilterOrderDetailResultRequest.java | 3 + 2 files changed, 123 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java index 8328cff81..78d23e851 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java @@ -2,30 +2,49 @@ package com.glxp.api.controller.inout; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSON; import com.github.pagehelper.PageInfo; import com.glxp.api.annotation.AuthRuleAnnotation; import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.constant.ConstantType; +import com.glxp.api.constant.FileConstant; import com.glxp.api.controller.BaseController; import com.glxp.api.entity.basic.BasicBussinessTypeEntity; import com.glxp.api.entity.inout.IoOrderDetailBizEntity; import com.glxp.api.entity.inout.IoOrderDetailCodeEntity; import com.glxp.api.entity.inout.IoOrderEntity; -import com.glxp.api.req.inout.FilterCodeRequest; -import com.glxp.api.req.inout.FilterOrderDetailResultRequest; -import com.glxp.api.req.inout.FilterOrderRequest; +import com.glxp.api.entity.system.SysPdfTemplateRelevanceCodeEntity; +import com.glxp.api.entity.system.SysPdfTemplateRelevanceStatemenEntity; +import com.glxp.api.entity.system.SystemPDFTemplateEntity; +import com.glxp.api.req.basic.FilterOrderPrintRequest; +import com.glxp.api.req.inout.*; +import com.glxp.api.req.purchase.purPlanPrintRequest; import com.glxp.api.res.inout.IoCodeResponse; import com.glxp.api.res.inout.IoOrderDetailResultResponse; import com.glxp.api.service.basic.IBasicBussinessTypeService; import com.glxp.api.service.inout.*; +import com.glxp.api.service.system.SystemPDFModuleService; +import com.glxp.api.service.system.SystemPDFTemplateService; +import com.glxp.api.util.JasperUtils; +import net.sf.jasperreports.engine.JRException; +import org.springframework.beans.factory.annotation.Value; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** * 单据扫码明细查询接口 @@ -40,6 +59,12 @@ public class IoOrderDetailResultController extends BaseController { IBasicBussinessTypeService basicBussinessTypeService; @Resource IoCodeService codeService; + @Resource + private SystemPDFTemplateService systemPDFTemplateService; + @Resource + private SystemPDFModuleService systemPDFModuleService; + @Value("${file_path}") + private String filePath; /** * 查询单据扫码明细列表 @@ -135,5 +160,97 @@ public class IoOrderDetailResultController extends BaseController { return ResultVOUtils.success(orderDetailBizEntities); } + //校验模板是否正确 + @AuthRuleAnnotation("") + @PostMapping("/udiwms/pdf/template/order/result/file") + public BaseResponse inspectionStockOrderPDFFromTemplateFile(@RequestBody InspectionPDFTemplateRequest inspectionPDFTemplateRequest) { + + //查询模板文件是否存在 + SysPdfTemplateRelevanceStatemenEntity sysPdfTemplateRelevanceStatemenEntity = systemPDFModuleService.selectByStatemenId(inspectionPDFTemplateRequest.getId()); + if (null == sysPdfTemplateRelevanceStatemenEntity) { + return ResultVOUtils.error(ResultEnum.DATA_NOT, "所属模块错误"); + } + + SystemPDFTemplateEntity systemPDFTemplateEntity = systemPDFTemplateService.selectById(String.valueOf(sysPdfTemplateRelevanceStatemenEntity.getTemplateId())); + if (null == systemPDFTemplateEntity) { + return ResultVOUtils.error(ResultEnum.DATA_NOT, "模板错误"); + } + return ResultVOUtils.success(sysPdfTemplateRelevanceStatemenEntity.getTemplateId()); + } + + + /** + * 出入库明细打印 + * + * @param filterOrderDetailResultRequest + * @return + */ + @AuthRuleAnnotation("") + @PostMapping("/udiwms/inout/resultDetail/filterOrderPrint") + public BaseResponse filterOrderPrint(@RequestBody FilterOrderDetailResultRequest filterOrderDetailResultRequest, HttpServletRequest request, HttpServletResponse response) throws JRException, IOException { + List ioOrderDetailResultResponseList=new ArrayList<>(); + SystemPDFTemplateEntity systemPDFTemplateEntity = systemPDFTemplateService.selectById(filterOrderDetailResultRequest.getTemplateId()); + //打印单号标签 + Map data = new HashMap<>(1); + List list = new ArrayList<>(); + SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");//定义新的日期格式 + + //按选入打印 + if(filterOrderDetailResultRequest.getList() != null && filterOrderDetailResultRequest.getList().size()>0){ + ioOrderDetailResultResponseList =filterOrderDetailResultRequest.getList(); + }else{ + //按查询打印 + FilterOrderRequest filterOrderRequest = new FilterOrderRequest(); + filterOrderRequest.setVueType(filterOrderDetailResultRequest.getActionType()); + List actions = orderService.setActions(filterOrderRequest); + if (CollUtil.isEmpty(actions)) { + return ResultVOUtils.success(""); + } + filterOrderDetailResultRequest.setActions(actions); + ioOrderDetailResultResponseList = orderDetailResultService.filterOrderList(filterOrderDetailResultRequest); + for (IoOrderDetailResultResponse orderDetailResultResponse : ioOrderDetailResultResponseList) { + if (orderDetailResultResponse.getMainAction().equals(ConstantType.TYPE_OUT)) { + orderDetailResultResponse.setOutCount(orderDetailResultResponse.getReCount()); + orderDetailResultResponse.setInCount(0); + } else { + orderDetailResultResponse.setOutCount(0); + orderDetailResultResponse.setInCount(orderDetailResultResponse.getReCount()); + } + } + } + int i=1; + for (IoOrderDetailResultResponse ioOrderDetailResultResponse : ioOrderDetailResultResponseList) { + //组装数据 + Map ioOrderDetailResultData = new HashMap<>(); + ioOrderDetailResultData.put("index", String.valueOf(i)); + ioOrderDetailResultData.put("nameCode", ioOrderDetailResultResponse.getNameCode() == null ? ' ' : ioOrderDetailResultResponse.getNameCode()); + ioOrderDetailResultData.put("batchNo", ioOrderDetailResultResponse.getBatchNo() == null ? ' ' : ioOrderDetailResultResponse.getBatchNo()); + ioOrderDetailResultData.put("productDate", ioOrderDetailResultResponse.getProductDate() == null ? ' ' : ioOrderDetailResultResponse.getProductDate()); + ioOrderDetailResultData.put("expireDate", ioOrderDetailResultResponse.getExpireDate() == null ? ' ' : ioOrderDetailResultResponse.getExpireDate()); + ioOrderDetailResultData.put("coName", ioOrderDetailResultResponse.getCoName() == null ? ' ' : ioOrderDetailResultResponse.getCoName()); + ioOrderDetailResultData.put("certCode", ioOrderDetailResultResponse.getCertCode() == null ? ' ' : ioOrderDetailResultResponse.getCertCode()); + ioOrderDetailResultData.put("ylqxzcrbarmc", ioOrderDetailResultResponse.getYlqxzcrbarmc() == null ? ' ' : ioOrderDetailResultResponse.getYlqxzcrbarmc()); + ioOrderDetailResultData.put("manufacturer", ioOrderDetailResultResponse.getManufacturer() == null ? ' ' : ioOrderDetailResultResponse.getManufacturer()); + ioOrderDetailResultData.put("measname", ioOrderDetailResultResponse.getMeasname() == null ? ' ' : ioOrderDetailResultResponse.getMeasname()); + ioOrderDetailResultData.put("spec", ioOrderDetailResultResponse.getSpec() == null ? ' ' : ioOrderDetailResultResponse.getSpec()); + ioOrderDetailResultData.put("price", ioOrderDetailResultResponse.getPrice() == null ? ' ' : ioOrderDetailResultResponse.getPrice()); + ioOrderDetailResultData.put("count", ioOrderDetailResultResponse.getCount()); + ioOrderDetailResultData.put("reCount",ioOrderDetailResultResponse.getReCount()); + ioOrderDetailResultData.put("inCount", ioOrderDetailResultResponse.getInCount()); + ioOrderDetailResultData.put("acceptCount", ioOrderDetailResultResponse.getAcceptCount()); + ioOrderDetailResultData.put("fromCorpName", ioOrderDetailResultResponse.getFromCorpName() == null ? ' ' : ioOrderDetailResultResponse.getFromCorpName()); + ioOrderDetailResultData.put("billTypeName", ioOrderDetailResultResponse.getBillTypeName() == null ? ' ' : ioOrderDetailResultResponse.getBillTypeName()); + ioOrderDetailResultData.put("mainAction", ioOrderDetailResultResponse.getMainAction() == null ? ' ' : ioOrderDetailResultResponse.getMainAction()); + ioOrderDetailResultData.put("auditTime", ioOrderDetailResultResponse.getAuditTime() == null ? ' ' : formatter.format(ioOrderDetailResultResponse.getAuditTime())); + list.add(ioOrderDetailResultData); + i++; + } + + String param = JSON.toJSONString(list); + JasperUtils.jasperReport(request, response, param, filePath+"pdf/template/"+systemPDFTemplateEntity.getPath(), "pdf"); + return ResultVOUtils.success(); + } + + } diff --git a/src/main/java/com/glxp/api/req/inout/FilterOrderDetailResultRequest.java b/src/main/java/com/glxp/api/req/inout/FilterOrderDetailResultRequest.java index 700c315c0..208f0af26 100644 --- a/src/main/java/com/glxp/api/req/inout/FilterOrderDetailResultRequest.java +++ b/src/main/java/com/glxp/api/req/inout/FilterOrderDetailResultRequest.java @@ -1,5 +1,6 @@ package com.glxp.api.req.inout; +import com.glxp.api.res.inout.IoOrderDetailResultResponse; import com.glxp.api.util.page.ListPageRequest; import lombok.Data; @@ -45,5 +46,7 @@ public class FilterOrderDetailResultRequest extends ListPageRequest { private String actionType; private String manufacturer; private String zczbhhzbapzbh; + private String templateId; private List actions; + private List list; } From 0c3aa052fb89a5408cc85ca06a92f64424307b13 Mon Sep 17 00:00:00 2001 From: wj <1285151836@qq.com> Date: Mon, 15 May 2023 14:50:24 +0800 Subject: [PATCH 08/17] =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/glxp/api/common/enums/ResultEnum.java | 2 +- src/main/java/com/glxp/api/common/util/ResultVOUtils.java | 2 +- src/main/java/com/glxp/api/config/Knife4jConfiguration.java | 6 ++---- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/glxp/api/common/enums/ResultEnum.java b/src/main/java/com/glxp/api/common/enums/ResultEnum.java index 7889eef6c..f19fc0ed6 100644 --- a/src/main/java/com/glxp/api/common/enums/ResultEnum.java +++ b/src/main/java/com/glxp/api/common/enums/ResultEnum.java @@ -8,7 +8,7 @@ import lombok.Getter; @Getter public enum ResultEnum { - SUCCESS(0, "success"), + SUCCESS(20000, "success"), NOT_NETWORK(1, "系统繁忙,请稍后再试。"), LOGIN_VERIFY_FALL(2, "登录失效"), PARAM_VERIFY_FALL(3, "参数验证错误"), diff --git a/src/main/java/com/glxp/api/common/util/ResultVOUtils.java b/src/main/java/com/glxp/api/common/util/ResultVOUtils.java index f9d6a1f72..2f89f2866 100644 --- a/src/main/java/com/glxp/api/common/util/ResultVOUtils.java +++ b/src/main/java/com/glxp/api/common/util/ResultVOUtils.java @@ -21,7 +21,7 @@ public class ResultVOUtils { */ public static BaseResponse success(Object data) { BaseResponse baseResponse = new BaseResponse<>(); - baseResponse.setCode(20000); + baseResponse.setCode(ResultEnum.SUCCESS.getCode()); baseResponse.setMessage("success"); baseResponse.setData(data); return baseResponse; diff --git a/src/main/java/com/glxp/api/config/Knife4jConfiguration.java b/src/main/java/com/glxp/api/config/Knife4jConfiguration.java index 3b7d48c1c..6a4958f5c 100644 --- a/src/main/java/com/glxp/api/config/Knife4jConfiguration.java +++ b/src/main/java/com/glxp/api/config/Knife4jConfiguration.java @@ -1,9 +1,9 @@ package com.glxp.api.config; -import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Profile; import springfox.documentation.builders.ApiInfoBuilder; import springfox.documentation.builders.PathSelectors; import springfox.documentation.builders.RequestHandlerSelectors; @@ -11,12 +11,11 @@ import springfox.documentation.spi.DocumentationType; import springfox.documentation.spring.web.plugins.Docket; import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc; +@Profile({"dev","test"}) @Configuration @EnableSwagger2WebMvc public class Knife4jConfiguration { - @Value("${knife4j.enable:false}") - private boolean enable; @Bean(value = "defaultApi2") public Docket defaultApi2() { @@ -26,7 +25,6 @@ public class Knife4jConfiguration { .description("UDI管理系统后台 - APIS") .version("1.0") .build()) - .enable(enable) .select() //这里指定Controller扫描包路径 .apis(RequestHandlerSelectors.basePackage("com.glxp.api.controller")) From fd5aca89d9bb2ccd20bc677486e6dccb066b5b92 Mon Sep 17 00:00:00 2001 From: wj <1285151836@qq.com> Date: Mon, 15 May 2023 14:51:14 +0800 Subject: [PATCH 09/17] =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/glxp/api/config/Knife4jConfiguration.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/glxp/api/config/Knife4jConfiguration.java b/src/main/java/com/glxp/api/config/Knife4jConfiguration.java index 6a4958f5c..e90d2ce85 100644 --- a/src/main/java/com/glxp/api/config/Knife4jConfiguration.java +++ b/src/main/java/com/glxp/api/config/Knife4jConfiguration.java @@ -1,6 +1,7 @@ package com.glxp.api.config; +import com.glxp.api.common.enums.ResultEnum; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Profile; @@ -16,7 +17,6 @@ import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc; @EnableSwagger2WebMvc public class Knife4jConfiguration { - @Bean(value = "defaultApi2") public Docket defaultApi2() { Docket docket = new Docket(DocumentationType.SWAGGER_2) From b517963a084849f8437bbbb7e4d70e919f913273 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91=E6=98=8E=E6=A2=81?= <2429105222@qq.com> Date: Mon, 15 May 2023 15:33:07 +0800 Subject: [PATCH 10/17] =?UTF-8?q?=E5=86=85=E9=83=A8=E7=A0=81=E6=8A=A5?= =?UTF-8?q?=E8=A1=A8=E6=89=93=E5=8D=B0=E4=BB=A3=E7=A0=81=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inv/InvInnerOrderPrintController.java | 105 ++++++++++++++++-- 1 file changed, 98 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/glxp/api/controller/inv/InvInnerOrderPrintController.java b/src/main/java/com/glxp/api/controller/inv/InvInnerOrderPrintController.java index 307894371..9e281291e 100644 --- a/src/main/java/com/glxp/api/controller/inv/InvInnerOrderPrintController.java +++ b/src/main/java/com/glxp/api/controller/inv/InvInnerOrderPrintController.java @@ -1,5 +1,6 @@ package com.glxp.api.controller.inv; +import com.alibaba.fastjson.JSON; import com.github.pagehelper.PageInfo; import com.glxp.api.annotation.AuthRuleAnnotation; import com.glxp.api.annotation.Log; @@ -12,6 +13,7 @@ import com.glxp.api.entity.inv.InnerOrderEntity; import com.glxp.api.entity.inv.InvInnerOrderPdfTempEntity; import com.glxp.api.entity.inv.InvInnerOrderPrintEntity; import com.glxp.api.entity.system.SysPdfTemplateRelevanceLabelEntity; +import com.glxp.api.entity.system.SysPdfTemplateRelevanceStatemenEntity; import com.glxp.api.entity.system.SystemPDFTemplateEntity; import com.glxp.api.req.inout.InspectionPDFTemplateRequest; import com.glxp.api.req.inv.*; @@ -186,34 +188,34 @@ public class InvInnerOrderPrintController { } else { Map data = new HashMap(); data.put("data", printEntities); - JasperUtils.jasperReport(request, response, data, filePath + "/pdf/template/"+systemPDFTemplateEntity.getPath(), "pdf"); + JasperUtils.jasperReport(request, response, data, filePath + "/pdf/template/" + systemPDFTemplateEntity.getPath(), "pdf"); } - String orderId=""; + String orderId = ""; for (InnerOrderPrintResponse InnerOrderPrintResponse : mStockPrintEntities) { InvInnerOrderPrintEntity innerOrderPrintEntity = new InvInnerOrderPrintEntity(); innerOrderPrintEntity.setStatus(1); innerOrderPrintEntity.setId(InnerOrderPrintResponse.getId()); invInnerOrderPrintService.updateOrder(innerOrderPrintEntity); - orderId=InnerOrderPrintResponse.getId()+""; + orderId = InnerOrderPrintResponse.getId() + ""; } //查询订单id - InvInnerOrderPrintEntity innerOrderPrintEntity=invInnerOrderPrintService.selectById(orderId); + InvInnerOrderPrintEntity innerOrderPrintEntity = invInnerOrderPrintService.selectById(orderId); //更新内部码状态 - InnerOrderEntity innerOrderEntity=innerOrderService.findByRecordKey(innerOrderPrintEntity.getOrderIdFk()); - if(innerOrderEntity!=null){ + InnerOrderEntity innerOrderEntity = innerOrderService.findByRecordKey(innerOrderPrintEntity.getOrderIdFk()); + if (innerOrderEntity != null) { innerOrderEntity.setGenStatus(2); innerOrderEntity.setId(innerOrderEntity.getId()); innerOrderService.update(innerOrderEntity); } - IoOrderEntity ioOrderEntity=new IoOrderEntity(); + IoOrderEntity ioOrderEntity = new IoOrderEntity(); ioOrderEntity.setInCodeStatus(1); ioOrderEntity.setBillNo(innerOrderPrintEntity.getOrderIdFk()); ioOrderService.updateByBillNo(ioOrderEntity); @@ -221,6 +223,95 @@ public class InvInnerOrderPrintController { } + + //-----------打印码 + @AuthRuleAnnotation("") + @PostMapping("/udiwms/pdf/template/inspection/stock/qrcode/text/statement/file") + public BaseResponse inspectionStockQRCodeTextPDFFromTemplateStatementFile( + @RequestBody InspectionPDFTemplateRequest inspectionPDFTemplateRequest) throws Exception { + + //查询模板文件是否存在 + SysPdfTemplateRelevanceStatemenEntity sysPdfTemplateRelevanceStatemenEntity = systemPDFModuleService.selectByStatemenId(inspectionPDFTemplateRequest.getLabelId()+""); + if (null == sysPdfTemplateRelevanceStatemenEntity) { + return ResultVOUtils.error(ResultEnum.DATA_NOT, "所属模块错误"); + } + + SystemPDFTemplateEntity systemPDFTemplateEntity = systemPDFTemplateService.selectById(String.valueOf(sysPdfTemplateRelevanceStatemenEntity.getTemplateId())); + if (null == systemPDFTemplateEntity) { + return ResultVOUtils.error(ResultEnum.DATA_NOT, "模板错误"); + } + return ResultVOUtils.success(sysPdfTemplateRelevanceStatemenEntity.getTemplateId()); + } + + @AuthRuleAnnotation("") + @PostMapping("/udiwms/pdf/template/stock/qrcode/text/statement/file") + public BaseResponse stockQRCodeTextPDFFromTemplateStatementFile( + @RequestBody InnerOrderQRCodeTextPDFTemplateRequest stockQRCodeTextPDFTemplateRequest, + HttpServletRequest request, HttpServletResponse response) throws Exception { + + SysPdfTemplateRelevanceStatemenEntity sysPdfTemplateRelevanceStatemenEntity = systemPDFModuleService.selectByStatemenId(stockQRCodeTextPDFTemplateRequest.getLabelId()+""); + if (sysPdfTemplateRelevanceStatemenEntity == null) return ResultVOUtils.error(500, "未找到单据模板模块设置,请检查"); + + SystemPDFTemplateEntity systemPDFTemplateEntity = + systemPDFTemplateService.selectById(String.valueOf(sysPdfTemplateRelevanceStatemenEntity.getTemplateId())); + if (systemPDFTemplateEntity == null) return ResultVOUtils.error(ResultEnum.DATA_NOT, "模板错误"); + + List printEntities = new ArrayList<>(); + List mStockPrintEntities = new ArrayList<>(); + FilterinnerOrderprintRequest filterinnerOrderprintRequest = new FilterinnerOrderprintRequest(); + if (stockQRCodeTextPDFTemplateRequest.getOrderId() != null) { + filterinnerOrderprintRequest.setSOrderId(stockQRCodeTextPDFTemplateRequest.getOrderId()); + } else { + filterinnerOrderprintRequest.setId(stockQRCodeTextPDFTemplateRequest.getQueryId()); + } + List stockPrintEntities = invInnerOrderPrintService.filterJoinInnerPrint(filterinnerOrderprintRequest); + if (stockPrintEntities != null && stockPrintEntities.size() > 0) { + mStockPrintEntities.addAll(stockPrintEntities); + } + for (InnerOrderPrintResponse InnerOrderPrintResponse : mStockPrintEntities) { + PdfPrintCountEntity pdfPrintCount = getCount(stockQRCodeTextPDFTemplateRequest.getCountList(), InnerOrderPrintResponse); + if (pdfPrintCount != null && pdfPrintCount.getRowCount() > 0) { + for (int i = 0; i < pdfPrintCount.getRowCount(); i++) { + InnerOrderPrintResponse clone = new InnerOrderPrintResponse(); + BeanUtils.copyProperties(InnerOrderPrintResponse, clone); + printEntities.add(clone); + } + } else { + printEntities.add(InnerOrderPrintResponse); + } + } + + + String param = JSON.toJSONString(printEntities); + JasperUtils.jasperReport(request, response, param, filePath + "/pdf/template/" + systemPDFTemplateEntity.getPath(), "pdf"); + + String orderId = ""; + for (InnerOrderPrintResponse InnerOrderPrintResponse : mStockPrintEntities) { + InvInnerOrderPrintEntity innerOrderPrintEntity = new InvInnerOrderPrintEntity(); + innerOrderPrintEntity.setStatus(1); + innerOrderPrintEntity.setId(InnerOrderPrintResponse.getId()); + invInnerOrderPrintService.updateOrder(innerOrderPrintEntity); + orderId = InnerOrderPrintResponse.getId() + ""; + } + + //查询订单id + InvInnerOrderPrintEntity innerOrderPrintEntity = invInnerOrderPrintService.selectById(orderId); + //更新内部码状态 + InnerOrderEntity innerOrderEntity = innerOrderService.findByRecordKey(innerOrderPrintEntity.getOrderIdFk()); + if (innerOrderEntity != null) { + innerOrderEntity.setGenStatus(2); + innerOrderEntity.setId(innerOrderEntity.getId()); + innerOrderService.update(innerOrderEntity); + } + IoOrderEntity ioOrderEntity = new IoOrderEntity(); + ioOrderEntity.setInCodeStatus(1); + ioOrderEntity.setBillNo(innerOrderPrintEntity.getOrderIdFk()); + ioOrderService.updateByBillNo(ioOrderEntity); + return null; + + } + + public PdfPrintCountEntity getCount(List countList, InnerOrderPrintResponse InnerOrderPrintResponse) { for (PdfPrintCountEntity pdfPrintCount : countList) { if (pdfPrintCount.getQueryId().equals(InnerOrderPrintResponse.getId() + "")) { From d166dd09d79ec809d931802bb17acf8390f02149 Mon Sep 17 00:00:00 2001 From: anthonywj Date: Mon, 15 May 2023 16:28:11 +0800 Subject: [PATCH 11/17] =?UTF-8?q?=E9=87=87=E8=B4=AD=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E6=8C=89=E4=BE=9B=E5=BA=94=E5=95=86=E5=88=9B=E5=BB=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/entity/purchase/PurOrderEntity.java | 3 + .../api/res/purchase/PurOrderResponse.java | 2 + .../mybatis/mapper/purchase/PurOrderDao.xml | 184 +++++++++--------- 3 files changed, 99 insertions(+), 90 deletions(-) diff --git a/src/main/java/com/glxp/api/entity/purchase/PurOrderEntity.java b/src/main/java/com/glxp/api/entity/purchase/PurOrderEntity.java index 1c725d34c..573a981c9 100644 --- a/src/main/java/com/glxp/api/entity/purchase/PurOrderEntity.java +++ b/src/main/java/com/glxp/api/entity/purchase/PurOrderEntity.java @@ -132,6 +132,9 @@ public class PurOrderEntity { @TableField(value = "emergency") private Integer emergency; + @TableField(value = "supId") + private String supId; + /** * 是否已生成采购计划 */ diff --git a/src/main/java/com/glxp/api/res/purchase/PurOrderResponse.java b/src/main/java/com/glxp/api/res/purchase/PurOrderResponse.java index 1e3ce05c6..01be33715 100644 --- a/src/main/java/com/glxp/api/res/purchase/PurOrderResponse.java +++ b/src/main/java/com/glxp/api/res/purchase/PurOrderResponse.java @@ -73,4 +73,6 @@ public class PurOrderResponse { private String auditUserName; private Integer emergency; private Date arrivalTime; + private String supId; + private String supName; } diff --git a/src/main/resources/mybatis/mapper/purchase/PurOrderDao.xml b/src/main/resources/mybatis/mapper/purchase/PurOrderDao.xml index 7501b5a37..2679e956b 100644 --- a/src/main/resources/mybatis/mapper/purchase/PurOrderDao.xml +++ b/src/main/resources/mybatis/mapper/purchase/PurOrderDao.xml @@ -1,97 +1,101 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - id, billNo, billDate, `status`, billType, remark, invCode, deptCode, `createUser`, - createTime, auditUser, auditTime, auditRemark, updateTime, updateUser, applyCreateUser, - applyAuditUser, applyRemark, applyBillNo, stockOrderNo - + + + + + + + + + + + + + + + + + + + + + + + + + + + id, billNo, billDate, `status`, billType, remark, invCode, deptCode, `createUser`, + createTime, auditUser, auditTime, auditRemark, updateTime, updateUser, applyCreateUser, + applyAuditUser, applyRemark, applyBillNo, stockOrderNo + - - + From 4b917f22fdd13f4e036d98f21f13196302477654 Mon Sep 17 00:00:00 2001 From: wangwei <1610949092@qq.com> Date: Mon, 15 May 2023 17:59:20 +0800 Subject: [PATCH 12/17] =?UTF-8?q?=E5=86=B7=E9=93=BE=E6=8A=A5=E5=91=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inout/IoOrderDetailBizController.java | 21 ++++++++++++++++++- .../entity/inout/IoOrderDetailBizEntity.java | 9 ++++++++ .../res/inout/IoOrderDetailBizResponse.java | 5 +++++ src/main/resources/schemas/schema_v2.1.sql | 6 ++++++ 4 files changed, 40 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderDetailBizController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderDetailBizController.java index 225d616aa..1c09557ad 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderDetailBizController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderDetailBizController.java @@ -591,11 +591,30 @@ public class IoOrderDetailBizController extends BaseController { @PostMapping("/udiwms/inout/biz/updateById") @Log(title = "发票管理", businessType = BusinessType.UPDATE) public BaseResponse deleteById(@RequestBody IoOrderInvoiceRequest ioOrderInvoiceRequest) { - + IoOrderEntity orderEntity = orderService.findByBillNo(ioOrderInvoiceRequest.getOrderIdFk()); + if (orderEntity != null) { + orderEntity.setUpdateTime(new Date()); + orderService.update(orderEntity); + } return ResultVOUtils.success(ioOrderInvoiceService.updateByInvId(ioOrderInvoiceRequest)); } + @PostMapping("/udiwms/inout/bizDetail/updateById") + @Log(title = "发票管理", businessType = BusinessType.UPDATE) + public BaseResponse updateBizById(@RequestBody IoOrderDetailBizEntity ioOrderDetailBizEntity) { + IoOrderEntity orderEntity = orderService.findByBillNo(ioOrderDetailBizEntity.getOrderIdFk()); + if (orderEntity != null) { + orderEntity.setUpdateTime(new Date()); + orderService.update(orderEntity); + } + ioOrderDetailBizEntity.setCheckFileName(ioOrderDetailBizEntity.getFilePath()); + ioOrderDetailBizEntity.setCheckColdFileName(ioOrderDetailBizEntity.getColdFilePath()); + boolean b = orderDetailBizService.updateOrderDetailBiz(ioOrderDetailBizEntity); + return ResultVOUtils.success("修改成功!"); + } + + @PostMapping("/udiwms/inout/biz/insertInvoice") @Log(title = "发票管理", businessType = BusinessType.INSERT) diff --git a/src/main/java/com/glxp/api/entity/inout/IoOrderDetailBizEntity.java b/src/main/java/com/glxp/api/entity/inout/IoOrderDetailBizEntity.java index e0ad1e9b4..79128e31d 100644 --- a/src/main/java/com/glxp/api/entity/inout/IoOrderDetailBizEntity.java +++ b/src/main/java/com/glxp/api/entity/inout/IoOrderDetailBizEntity.java @@ -179,12 +179,21 @@ public class IoOrderDetailBizEntity { @TableField(value = "filePath") private String filePath; + @TableField(value = "coldFilePath") + private String coldFilePath; + /** * 检验报告名称 */ @TableField(value = "checkFileName") private String checkFileName; + /** + * 冷链报告名称 + */ + @TableField(value = "checkColdFileName") + private String checkColdFileName; + @TableField(exist = false) private boolean checkSuccess; diff --git a/src/main/java/com/glxp/api/res/inout/IoOrderDetailBizResponse.java b/src/main/java/com/glxp/api/res/inout/IoOrderDetailBizResponse.java index cee26d94e..8f79efd2a 100644 --- a/src/main/java/com/glxp/api/res/inout/IoOrderDetailBizResponse.java +++ b/src/main/java/com/glxp/api/res/inout/IoOrderDetailBizResponse.java @@ -167,6 +167,11 @@ public class IoOrderDetailBizResponse { private boolean regStatus; + private String coldFilePath; + + private String checkColdFileName; + + diff --git a/src/main/resources/schemas/schema_v2.1.sql b/src/main/resources/schemas/schema_v2.1.sql index c0d242e0c..a08100bc1 100644 --- a/src/main/resources/schemas/schema_v2.1.sql +++ b/src/main/resources/schemas/schema_v2.1.sql @@ -37,6 +37,12 @@ CALL Pro_Temp_ColumnWork('thr_system_bus_api', 'thirdBuyName', 'varchar(255) ', CALL Pro_Temp_ColumnWork('io_order_detail_biz', 'bindRlIds', 'varchar(255) ', 1); CALL Pro_Temp_ColumnWork('io_order_detail_biz', 'checkFileName', 'varchar(255) ', 1); + + +CALL Pro_Temp_ColumnWork('io_order_detail_biz', 'coldFilePath', 'varchar(255)', 1); + +CALL Pro_Temp_ColumnWork('io_order_detail_biz', 'checkColdFileName', 'varchar(255)', 1); + CALL Pro_Temp_ColumnWork('io_order_invoice', 'bizIdFk', 'int ', 1); CALL Pro_Temp_ColumnWork('thr_products', 'updateUser', 'varchar(255) ', 1); From aaff1b1d7f3a31b80c72043285e224f2a4faa16a Mon Sep 17 00:00:00 2001 From: anthonywj Date: Mon, 15 May 2023 20:45:19 +0800 Subject: [PATCH 13/17] =?UTF-8?q?=E5=8F=91=E7=A5=A8=E7=B3=BB=E7=BB=9F?= =?UTF-8?q?=E7=B9=81=E5=BF=99=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inout/IoOrderInvoiceController.java | 2 +- .../mapper/inout/InvUserProductDao.xml | 9 +++-- .../mapper/inout/IoOrderDetailBizDao.xml | 34 ++++++++++--------- 3 files changed, 23 insertions(+), 22 deletions(-) diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderInvoiceController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderInvoiceController.java index 3a4e50908..a22eed8d1 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderInvoiceController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderInvoiceController.java @@ -39,7 +39,7 @@ public class IoOrderInvoiceController { @AuthRuleAnnotation("") @PostMapping("/udiwms/inout/order/refrshInvoice") @Log(title = "发票", businessType = BusinessType.INSERT) - public BaseResponse addBizProduct(@RequestBody RefreshInoiceRequest refreshInoiceRequest) { + public BaseResponse refrshInvoice(@RequestBody RefreshInoiceRequest refreshInoiceRequest) { BaseResponse baseResponse = spGetHttpClient.getIoOrderInvoices(refreshInoiceRequest); if (baseResponse.getCode() == 20000) { RefreshInoiceResponse refreshInoiceResponse = baseResponse.getData(); diff --git a/src/main/resources/mybatis/mapper/inout/InvUserProductDao.xml b/src/main/resources/mybatis/mapper/inout/InvUserProductDao.xml index 2984b40cd..45072669e 100644 --- a/src/main/resources/mybatis/mapper/inout/InvUserProductDao.xml +++ b/src/main/resources/mybatis/mapper/inout/InvUserProductDao.xml @@ -13,11 +13,11 @@ diff --git a/src/main/resources/mybatis/mapper/inout/IoOrderDetailBizDao.xml b/src/main/resources/mybatis/mapper/inout/IoOrderDetailBizDao.xml index bc473e0ab..3519d3172 100644 --- a/src/main/resources/mybatis/mapper/inout/IoOrderDetailBizDao.xml +++ b/src/main/resources/mybatis/mapper/inout/IoOrderDetailBizDao.xml @@ -4,8 +4,8 @@ - + select * + from io_order_invoice + where id = #{id} - SELECT ic.*, - (select cpmctymc from basic_products where basic_products.uuid = bu.uuid) cpmctymc, - (select ggxh from basic_products where basic_products.uuid = bu.uuid) ggxh + bp.cpmctymc, + bp.ggxh FROM io_order_invoice ic - LEFT JOIN basic_udirel bu ON bu.id = ic.bindRlFk - LEFT JOIN basic_products bp ON bu.uuid = bp.uuid + LEFT JOIN basic_udirel bu ON bu.id = ic.bindRlFk + LEFT JOIN basic_products bp ON bu.uuid = bp.uuid AND ic.orderIdFk = #{orderIdFk} @@ -77,13 +79,13 @@ AND (ic.batchNo is null or ic.batchNo = '') - GROUP BY ic.id