diff --git a/src/main/java/com/glxp/api/controller/inv/InvPreProductController.java b/src/main/java/com/glxp/api/controller/inv/InvPreProductController.java new file mode 100644 index 000000000..f86e8d572 --- /dev/null +++ b/src/main/java/com/glxp/api/controller/inv/InvPreProductController.java @@ -0,0 +1,106 @@ +package com.glxp.api.controller.inv; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.StrUtil; +import com.github.pagehelper.PageInfo; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; +import com.glxp.api.entity.inv.InvPreProductDetailEntity; +import com.glxp.api.req.inv.FilterInvPreProductDetailRequest; +import com.glxp.api.req.inv.FilterInvPreProductRequest; +import com.glxp.api.res.PageSimpleResponse; +import com.glxp.api.res.inv.InvPreProductDetailResponse; +import com.glxp.api.res.inv.InvPreProductPageResponse; +import com.glxp.api.res.inv.InvPreProductResponse; +import com.glxp.api.service.auth.CustomerService; +import com.glxp.api.service.auth.WarehouseUserService; +import com.glxp.api.service.inv.InvPreProductDetailService; +import com.glxp.api.service.inv.InvPreProductService; +import com.glxp.api.util.udi.FilterUdiUtils; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; + +/** + * 寄售库存接口 + */ +@Slf4j +@RestController +public class InvPreProductController { + + @Resource + private InvPreProductService invPreProductService; + @Resource + private InvPreProductDetailService invPreProductDetailService; + @Resource + private WarehouseUserService warehouseUserService; + @Resource + private CustomerService customerService; + + /** + * 寄售库存查询接口 + * + * @param filterInvPreProductRequest + * @return + */ + @GetMapping("/spms/inv/pre/product/filterList") + public BaseResponse filterList(FilterInvPreProductRequest filterInvPreProductRequest) { + boolean showSup = false; //前端控制表格显示字段 + if (StrUtil.isNotBlank(filterInvPreProductRequest.getUdiCode())) { + filterInvPreProductRequest.setNameCode(FilterUdiUtils.getDiStr(filterInvPreProductRequest.getUdiCode())); + } + + if (StrUtil.isBlank(filterInvPreProductRequest.getInvCode())) { + List invCodes = warehouseUserService.selectCodeByUser(customerService.getUserIdStr()); + if (CollUtil.isNotEmpty(invCodes)) { + filterInvPreProductRequest.setInvCodes(invCodes); + } + } + + List list = invPreProductService.filterList(filterInvPreProductRequest); + PageInfo pageInfo = new PageInfo<>(list); + InvPreProductPageResponse pageResponse = new InvPreProductPageResponse<>(); + pageResponse.setList(pageInfo.getList()); + pageResponse.setTotal(pageInfo.getTotal()); + pageResponse.setShowSup(showSup); + return ResultVOUtils.success(pageResponse); + } + + /** + * 查询寄售库存详情 + * + * @param detailRequest + * @return + */ + @GetMapping("/spms/inv/pre/product/filterDetail") + public BaseResponse filterInvPreProductDetail(FilterInvPreProductDetailRequest detailRequest) { + if (StrUtil.isBlank(detailRequest.getBatchNo())) { + detailRequest.setBatchNo("empty"); + } + + List invPreProductDetailEntities = invPreProductDetailService.filterPreProductDetailList(detailRequest); + PageInfo pageInfo = new PageInfo<>(invPreProductDetailEntities); + + List list = new ArrayList<>(); + if (CollUtil.isNotEmpty(invPreProductDetailEntities)) { + invPreProductDetailEntities.forEach(invPreProductDetailEntity -> { + InvPreProductDetailResponse response = new InvPreProductDetailResponse(); + BeanUtil.copyProperties(invPreProductDetailEntity, response); + //设置单据类型名称等单据相关参数 + invPreProductDetailService.setOrderInfo(response); + list.add(response); + }); + } + + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setList(list); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + return ResultVOUtils.success(pageSimpleResponse); + } + +} diff --git a/src/main/java/com/glxp/api/controller/inv/InvProductController.java b/src/main/java/com/glxp/api/controller/inv/InvProductController.java index d5dece44f..146d9dadc 100644 --- a/src/main/java/com/glxp/api/controller/inv/InvProductController.java +++ b/src/main/java/com/glxp/api/controller/inv/InvProductController.java @@ -18,7 +18,6 @@ import com.glxp.api.res.inv.InvProductPageResponse; import com.glxp.api.res.inv.InvProductResponse; import com.glxp.api.service.auth.CustomerService; import com.glxp.api.service.auth.WarehouseUserService; -import com.glxp.api.service.basic.IBasicBussinessTypeService; import com.glxp.api.service.inv.InvProductDetailService; import com.glxp.api.service.inv.InvProductService; import com.glxp.api.util.udi.FilterUdiUtils; @@ -48,8 +47,6 @@ public class InvProductController { private WarehouseUserService warehouseUserService; @Resource private CustomerService customerService; - @Resource - private IBasicBussinessTypeService bussinessTypeService; /** * 库存列表查询接口 diff --git a/src/main/java/com/glxp/api/dao/inv/InvPreProductDao.java b/src/main/java/com/glxp/api/dao/inv/InvPreProductDao.java new file mode 100644 index 000000000..4893331a6 --- /dev/null +++ b/src/main/java/com/glxp/api/dao/inv/InvPreProductDao.java @@ -0,0 +1,31 @@ +package com.glxp.api.dao.inv; + +import com.glxp.api.dao.BaseMapperPlus; +import com.glxp.api.entity.inv.InvPreProductEntity; +import com.glxp.api.req.inv.FilterInvPreProductRequest; +import com.glxp.api.res.inv.InvPreProductResponse; + +import java.util.List; + +/** + * 寄售库存Dao + */ +public interface InvPreProductDao extends BaseMapperPlus { + + /** + * 查询寄售库存VO列表 + * + * @param invPreProductRequest + * @return + */ + List filterList(FilterInvPreProductRequest invPreProductRequest); + + /** + * 查询寄售库存实体列表 + * + * @param invPreProductRequest + * @return + */ + List filterPreProductList(FilterInvPreProductRequest invPreProductRequest); + +} \ No newline at end of file diff --git a/src/main/java/com/glxp/api/dao/inv/InvPreProductDetailDao.java b/src/main/java/com/glxp/api/dao/inv/InvPreProductDetailDao.java new file mode 100644 index 000000000..23f294e6a --- /dev/null +++ b/src/main/java/com/glxp/api/dao/inv/InvPreProductDetailDao.java @@ -0,0 +1,21 @@ +package com.glxp.api.dao.inv; + +import com.glxp.api.dao.BaseMapperPlus; +import com.glxp.api.entity.inv.InvPreProductDetailEntity; +import com.glxp.api.req.inv.FilterInvPreProductDetailRequest; + +import java.util.List; + +/** + * 寄售库存详情Dao + */ +public interface InvPreProductDetailDao extends BaseMapperPlus { + + /** + * 查询库存详情实体列表 + * + * @param invPreProductDetailRequest + * @return + */ + List filterPreProductDetailList(FilterInvPreProductDetailRequest invPreProductDetailRequest); +} \ No newline at end of file diff --git a/src/main/java/com/glxp/api/entity/inv/InvPreProductDetailEntity.java b/src/main/java/com/glxp/api/entity/inv/InvPreProductDetailEntity.java new file mode 100644 index 000000000..b9f8d68ee --- /dev/null +++ b/src/main/java/com/glxp/api/entity/inv/InvPreProductDetailEntity.java @@ -0,0 +1,165 @@ +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.util.Date; + +/** + * 寄售库存详情表 + */ +@Data +@TableName(value = "inv_pre_product_detail") +public class InvPreProductDetailEntity { + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + /** + * UDI码 + */ + @TableField(value = "code") + private String code; + + /** + * 出入单据类型 + */ + @TableField(value = "mainAction") + private String mainAction; + + /** + * 单据类型 + */ + @TableField(value = "`action`") + private String action; + + /** + * 订单号外键 + */ + @TableField(value = "orderId") + private String orderId; + + /** + * 耗材字典ID + */ + @TableField(value = "relId") + private Integer 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 = "deptCode") + private String deptCode; + + /** + * 仓库编码 + */ + @TableField(value = "invCode") + private String invCode; + + /** + * 货位编码 + */ + @TableField(value = "invSpaceCode") + private String invSpaceCode; + + /** + * 采购类型 + */ + @TableField(value = "purchaseType") + private Byte purchaseType; + + /** + * 更新时间 + */ + @TableField(value = "updateTime") + private Date updateTime; + + public static final String COL_ID = "id"; + + public static final String COL_CODE = "code"; + + public static final String COL_MAINACTION = "mainAction"; + + public static final String COL_ACTION = "action"; + + public static final String COL_ORDERID = "orderId"; + + public static final String COL_RELID = "relId"; + + public static final String COL_NAMECODE = "nameCode"; + + public static final String COL_BATCHNO = "batchNo"; + + public static final String COL_PRODUCEDATE = "produceDate"; + + public static final String COL_EXPIREDATE = "expireDate"; + + public static final String COL_SERIALNO = "serialNo"; + + public static final String COL_SUPID = "supId"; + + public static final String COL_COUNT = "count"; + + public static final String COL_RECOUNT = "reCount"; + + public static final String COL_DEPTCODE = "deptCode"; + + public static final String COL_INVCODE = "invCode"; + + public static final String COL_INVSPACECODE = "invSpaceCode"; + + public static final String COL_PURCHASETYPE = "purchaseType"; + + public static final String COL_UPDATETIME = "updateTime"; +} \ No newline at end of file diff --git a/src/main/java/com/glxp/api/entity/inv/InvPreProductEntity.java b/src/main/java/com/glxp/api/entity/inv/InvPreProductEntity.java new file mode 100644 index 000000000..70ad2b7bf --- /dev/null +++ b/src/main/java/com/glxp/api/entity/inv/InvPreProductEntity.java @@ -0,0 +1,133 @@ +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.util.Date; + +/** + * 寄售库存表 + */ +@Data +@TableName(value = "inv_pre_product") +public class InvPreProductEntity { + @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 Integer outCount; + + /** + * 实际数量 + */ + @TableField(value = "reCount") + private String 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 = "createTime") + private Date createTime; + + /** + * 更新时间 + */ + @TableField(value = "updateTime") + private Date updateTime; + + public static final String COL_ID = "id"; + + public static final String COL_RELIDFK = "relIdFk"; + + public static final String COL_NAMECODE = "nameCode"; + + public static final String COL_BATCHNO = "batchNo"; + + public static final String COL_PRODUCTIONDATE = "productionDate"; + + public static final String COL_EXPIREDATE = "expireDate"; + + public static final String COL_INCOUNT = "inCount"; + + public static final String COL_OUTCOUNT = "outCount"; + + public static final String COL_RECOUNT = "reCount"; + + public static final String COL_CUSTOMERID = "customerId"; + + public static final String COL_SUPID = "supId"; + + public static final String COL_DEPTCODE = "deptCode"; + + public static final String COL_INVCODE = "invCode"; + + public static final String COL_CREATETIME = "createTime"; + + public static final String COL_UPDATETIME = "updateTime"; +} \ No newline at end of file diff --git a/src/main/java/com/glxp/api/req/inv/FilterInvPreProductDetailRequest.java b/src/main/java/com/glxp/api/req/inv/FilterInvPreProductDetailRequest.java new file mode 100644 index 000000000..45ccf4c84 --- /dev/null +++ b/src/main/java/com/glxp/api/req/inv/FilterInvPreProductDetailRequest.java @@ -0,0 +1,79 @@ +package com.glxp.api.req.inv; + +import com.glxp.api.util.page.ListPageRequest; +import lombok.Data; + +import java.util.List; + +/** + * 寄售库存详情查询参数 + */ +@Data +public class FilterInvPreProductDetailRequest extends ListPageRequest { + + /** + * UDI码 + */ + private String code; + + /** + * 出入库单据类型 + */ + private String mainAction; + + /** + * 单据类型 + */ + private String action; + + /** + * 供应商ID + */ + private String supId; + + /** + * 耗材字典ID + */ + private String relId; + + /** + * 最小销售标识 + */ + private String nameCode; + + /** + * 单据号 + */ + private String orderId; + + /** + * 部门编码 + */ + private String deptCode; + + /** + * 仓库编码 + */ + private String invCode; + + /** + * 货位编码 + */ + private String invSpaceCode; + + /** + * 批次号 + */ + private String batchNo; + + /** + * 产品ID集合 + */ + private List productIdList; + + /** + * 更新时间 + */ + private String updateTime; + +} diff --git a/src/main/java/com/glxp/api/req/inv/FilterInvPreProductRequest.java b/src/main/java/com/glxp/api/req/inv/FilterInvPreProductRequest.java new file mode 100644 index 000000000..dc38bd6f5 --- /dev/null +++ b/src/main/java/com/glxp/api/req/inv/FilterInvPreProductRequest.java @@ -0,0 +1,101 @@ +package com.glxp.api.req.inv; + +import com.glxp.api.util.page.ListPageRequest; +import lombok.Data; + +import java.util.List; + +/** + * 寄售库存查询参数 + */ +@Data +public class FilterInvPreProductRequest extends ListPageRequest { + + private String id; + + /** + * 产品名称 + */ + private String cpmctymc; + + /** + * 产品标识DI + */ + private String nameCode; + + /** + * UDI码 + */ + private String udiCode; + + /** + * 耗材字典ID + */ + private String relIdFk; + + /** + * 规格型号 + */ + private String ggxh; + + /** + * 批次号 + */ + private String batchNo; + + /** + * 生产日期 + */ + private String productionDate; + + /** + * 失效日期 + */ + private String expireDate; + + /** + * 生产厂家 + */ + private String ylqxzcrbarmc; + + /** + * 批准文号 + */ + private String zczbhhzbapzbh; + + /** + * 客户ID + */ + private String customerId; + + /** + * 供应商ID + */ + private String supId; + + /** + * 供应商名称 + */ + private String supName; + + /** + * 部门编码 + */ + private String deptCode; + + /** + * 仓库编码 + */ + private String invCode; + + /** + * 仓库数组 + */ + private List invCodes; + + /** + * 产品类别 + */ + private String cplb; + +} diff --git a/src/main/java/com/glxp/api/res/inv/InvPreProductDetailResponse.java b/src/main/java/com/glxp/api/res/inv/InvPreProductDetailResponse.java new file mode 100644 index 000000000..8dffff768 --- /dev/null +++ b/src/main/java/com/glxp/api/res/inv/InvPreProductDetailResponse.java @@ -0,0 +1,130 @@ +package com.glxp.api.res.inv; + +import lombok.Data; + +import java.util.Date; + +/** + * 寄售库存详情VO + */ +@Data +public class InvPreProductDetailResponse { + + private Integer id; + + /** + * UDI码 + */ + private String code; + + /** + * 订单号外键 + */ + private String orderId; + + /** + * 耗材字典ID + */ + private Long relId; + + /** + * 最小销售标识 + */ + private String nameCode; + + /** + * 批次号 + */ + private String batchNo; + + /** + * 生产日期 + */ + private String produceDate; + + /** + * 失效日期 + */ + private String expireDate; + + /** + * 序列号 + */ + private String serialNo; + + /** + * 供应商 + */ + private String supId; + + /** + * 扫码数量 + */ + private Integer count; + + /** + * 实际数量 + */ + private Integer reCount; + + /** + * 部门编码 + */ + private String deptCode; + + /** + * 仓库编码 + */ + private String invCode; + + /** + * 货位编码 + */ + private String invSpaceCode; + + /** + * 采购类型 + */ + private Integer purchaseType; + + /** + * 更新时间 + */ + private Date updateTime; + + /** + * 单据出入库类型 + */ + private String mainAction; + + /** + * 单据类型编码 + */ + private String action; + + /** + * 单据类型名称 + */ + private String actionName; + + /** + * 出入库类型中文字符串 + */ + private String mainActionStr; + + /** + * 入库数量 + */ + private Integer inCount; + + /** + * 出库数量 + */ + private Integer outCount; + + /** + * 单据日期 + */ + private String orderTime; + +} diff --git a/src/main/java/com/glxp/api/res/inv/InvPreProductPageResponse.java b/src/main/java/com/glxp/api/res/inv/InvPreProductPageResponse.java new file mode 100644 index 000000000..aaae8d2aa --- /dev/null +++ b/src/main/java/com/glxp/api/res/inv/InvPreProductPageResponse.java @@ -0,0 +1,17 @@ +package com.glxp.api.res.inv; + +import com.glxp.api.res.PageSimpleResponse; +import lombok.Data; + +/** + * 寄售库存查询分页对象 + */ +@Data +public class InvPreProductPageResponse extends PageSimpleResponse { + + /** + * 前端页面控制字段 + */ + private boolean showSup; + +} diff --git a/src/main/java/com/glxp/api/res/inv/InvPreProductResponse.java b/src/main/java/com/glxp/api/res/inv/InvPreProductResponse.java new file mode 100644 index 000000000..131408f70 --- /dev/null +++ b/src/main/java/com/glxp/api/res/inv/InvPreProductResponse.java @@ -0,0 +1,108 @@ +package com.glxp.api.res.inv; + +import lombok.Data; + +/** + * 寄售库存VO + */ +@Data +public class InvPreProductResponse { + + private Integer id; + + /** + * 产品标识DI + */ + private String nameCode; + + /** + * 产品名称 + */ + private String cpmctymc; + + /** + * 耗材字典ID + */ + private String relIdFk; + + /** + * 规格型号 + */ + private String ggxh; + + /** + * 批次号 + */ + private String batchNo; + + /** + * 生产日期 + */ + private String productionDate; + + /** + * 过期时间 + */ + private String expireDate; + + /** + * 生产厂家名称 + */ + private String ylqxzcrbarmc; + + /** + * 批准文号 + */ + private String zczbhhzbapzbh; + + /** + * 入库数量 + */ + private Integer inCount; + + /** + * 出库数量 + */ + private Integer outCount; + + /** + * 实际数量 + */ + private Integer reCount; + + /** + * 客户ID + */ + private String customerId; + + /** + * 供应商名称 + */ + private String supName; + + /** + * 供应商ID + */ + private String supId; + + /** + * 部门名称 + */ + private String deptName; + + /** + * 仓库名称 + */ + private String invName; + + /** + * 部门编码 + */ + private String deptCode; + + /** + * 仓库编码 + */ + private String invCode; + +} diff --git a/src/main/java/com/glxp/api/service/inv/InvPreProductDetailService.java b/src/main/java/com/glxp/api/service/inv/InvPreProductDetailService.java new file mode 100644 index 000000000..87d631d7a --- /dev/null +++ b/src/main/java/com/glxp/api/service/inv/InvPreProductDetailService.java @@ -0,0 +1,34 @@ +package com.glxp.api.service.inv; + +import com.glxp.api.entity.inv.InvPreProductDetailEntity; +import com.glxp.api.req.inv.FilterInvPreProductDetailRequest; +import com.glxp.api.res.inv.InvPreProductDetailResponse; + +import java.util.List; + +/** + * 寄售库存详情Service + */ +public interface InvPreProductDetailService { + + int insert(InvPreProductDetailEntity invPreProductDetailEntity); + + boolean update(InvPreProductDetailEntity invPreProductDetailEntity); + + boolean deleteById(String id); + + /** + * 查询寄售库存详情列表 + * + * @param invPreProductDetailRequest + * @return + */ + List filterPreProductDetailList(FilterInvPreProductDetailRequest invPreProductDetailRequest); + + /** + * 设置单据类型名称等单据相关参数 + * + * @param response + */ + void setOrderInfo(InvPreProductDetailResponse response); +} diff --git a/src/main/java/com/glxp/api/service/inv/InvPreProductService.java b/src/main/java/com/glxp/api/service/inv/InvPreProductService.java new file mode 100644 index 000000000..b042859a1 --- /dev/null +++ b/src/main/java/com/glxp/api/service/inv/InvPreProductService.java @@ -0,0 +1,36 @@ +package com.glxp.api.service.inv; + +import com.glxp.api.entity.inv.InvPreProductEntity; +import com.glxp.api.req.inv.FilterInvPreProductRequest; +import com.glxp.api.res.inv.InvPreProductResponse; + +import java.util.List; + +/** + * 寄售库存Service + */ +public interface InvPreProductService { + + int insert(InvPreProductEntity invPreProductEntity); + + boolean update(InvPreProductEntity invPreProductEntity); + + boolean deleteById(String id); + + /** + * 查询寄售库存VO + * + * @param invPreProductRequest + * @return + */ + List filterList(FilterInvPreProductRequest invPreProductRequest); + + /** + * 查询寄售库存列表 + * + * @param invPreProductRequest + * @return + */ + List filterPreProductList(FilterInvPreProductRequest invPreProductRequest); + +} diff --git a/src/main/java/com/glxp/api/service/inv/impl/InvPreProductDetailServiceImpl.java b/src/main/java/com/glxp/api/service/inv/impl/InvPreProductDetailServiceImpl.java new file mode 100644 index 000000000..dcd096a71 --- /dev/null +++ b/src/main/java/com/glxp/api/service/inv/impl/InvPreProductDetailServiceImpl.java @@ -0,0 +1,79 @@ +package com.glxp.api.service.inv.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.github.pagehelper.PageHelper; +import com.glxp.api.constant.ConstantType; +import com.glxp.api.dao.basic.BasicBussinessTypeDao; +import com.glxp.api.dao.inout.IoOrderDao; +import com.glxp.api.dao.inv.InvPreProductDetailDao; +import com.glxp.api.entity.basic.BasicBussinessTypeEntity; +import com.glxp.api.entity.inout.IoOrderEntity; +import com.glxp.api.entity.inv.InvPreProductDetailEntity; +import com.glxp.api.req.inv.FilterInvPreProductDetailRequest; +import com.glxp.api.res.inv.InvPreProductDetailResponse; +import com.glxp.api.service.inv.InvPreProductDetailService; +import com.glxp.api.util.DateUtil; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.Collections; +import java.util.List; + +@Slf4j +@Service +@Transactional(rollbackFor = Exception.class) +public class InvPreProductDetailServiceImpl implements InvPreProductDetailService { + + @Resource + private InvPreProductDetailDao invPreProductDetailDao; + @Resource + private BasicBussinessTypeDao bussinessTypeDao; + @Resource + private IoOrderDao orderDao; + + @Override + public int insert(InvPreProductDetailEntity invPreProductDetailEntity) { + return invPreProductDetailDao.insert(invPreProductDetailEntity); + } + + @Override + public boolean update(InvPreProductDetailEntity invPreProductDetailEntity) { + return invPreProductDetailDao.updateById(invPreProductDetailEntity) == 1 ? true : false; + } + + @Override + public boolean deleteById(String id) { + return invPreProductDetailDao.deleteById(id) == 1 ? true : false; + } + + @Override + public List filterPreProductDetailList(FilterInvPreProductDetailRequest invPreProductDetailRequest) { + if (null == invPreProductDetailRequest) { + return Collections.emptyList(); + } + if (null != invPreProductDetailRequest.getPage() && null != invPreProductDetailRequest.getLimit()) { + PageHelper.offsetPage((invPreProductDetailRequest.getPage() - 1) * invPreProductDetailRequest.getLimit(), invPreProductDetailRequest.getLimit()); + } + return invPreProductDetailDao.filterPreProductDetailList(invPreProductDetailRequest); + } + + @Override + public void setOrderInfo(InvPreProductDetailResponse response) { + //设置出入库中文及出入库数量 + if (response.getMainAction().equals(ConstantType.TYPE_OUT)) { + response.setMainActionStr("出库"); + response.setOutCount(response.getCount()); + } else { + response.setMainActionStr("入库"); + response.setInCount(response.getCount()); + } + //设置单据类型名称 + BasicBussinessTypeEntity busType = bussinessTypeDao.selectOne(new QueryWrapper().select("name").eq("action", response.getAction())); + response.setActionName(busType.getName()); + //设置单据日期 + IoOrderEntity order = orderDao.selectOne(new QueryWrapper().select("createTime").eq("billNo", response.getOrderId())); + response.setOrderTime(DateUtil.toDateStr(order.getCreateTime(), "yyyy-MM-dd HH:mm:ss")); + } +} diff --git a/src/main/java/com/glxp/api/service/inv/impl/InvPreProductServiceImpl.java b/src/main/java/com/glxp/api/service/inv/impl/InvPreProductServiceImpl.java new file mode 100644 index 000000000..64e98b3dd --- /dev/null +++ b/src/main/java/com/glxp/api/service/inv/impl/InvPreProductServiceImpl.java @@ -0,0 +1,61 @@ +package com.glxp.api.service.inv.impl; + +import com.github.pagehelper.PageHelper; +import com.glxp.api.dao.inv.InvPreProductDao; +import com.glxp.api.entity.inv.InvPreProductEntity; +import com.glxp.api.req.inv.FilterInvPreProductRequest; +import com.glxp.api.res.inv.InvPreProductResponse; +import com.glxp.api.service.inv.InvPreProductService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.Collections; +import java.util.List; + +@Slf4j +@Service +@Transactional(rollbackFor = Exception.class) +public class InvPreProductServiceImpl implements InvPreProductService { + + @Resource + private InvPreProductDao invPreProductDao; + + @Override + public int insert(InvPreProductEntity invPreProductEntity) { + return invPreProductDao.insert(invPreProductEntity); + } + + @Override + public boolean update(InvPreProductEntity invPreProductEntity) { + return invPreProductDao.updateById(invPreProductEntity) == 1 ? true : false; + } + + @Override + public boolean deleteById(String id) { + return invPreProductDao.deleteById(id) == 1 ? true : false; + } + + @Override + public List filterList(FilterInvPreProductRequest invPreProductRequest) { + if (null == invPreProductRequest) { + return Collections.emptyList(); + } + if (null != invPreProductRequest.getProductionDate() && null != invPreProductRequest.getLimit()) { + PageHelper.offsetPage((invPreProductRequest.getPage() - 1) * invPreProductRequest.getLimit(), invPreProductRequest.getLimit()); + } + return invPreProductDao.filterList(invPreProductRequest); + } + + @Override + public List filterPreProductList(FilterInvPreProductRequest invPreProductRequest) { + if (null == invPreProductRequest) { + return Collections.emptyList(); + } + if (null != invPreProductRequest.getProductionDate() && null != invPreProductRequest.getLimit()) { + PageHelper.offsetPage((invPreProductRequest.getPage() - 1) * invPreProductRequest.getLimit(), invPreProductRequest.getLimit()); + } + return invPreProductDao.filterPreProductList(invPreProductRequest); + } +} diff --git a/src/main/resources/mybatis/mapper/inv/InvPreProductDao.xml b/src/main/resources/mybatis/mapper/inv/InvPreProductDao.xml new file mode 100644 index 000000000..8c337f5b3 --- /dev/null +++ b/src/main/resources/mybatis/mapper/inv/InvPreProductDao.xml @@ -0,0 +1,138 @@ + + + + + + + \ No newline at end of file diff --git a/src/main/resources/mybatis/mapper/inv/InvPreProductDetailDao.xml b/src/main/resources/mybatis/mapper/inv/InvPreProductDetailDao.xml new file mode 100644 index 000000000..e5b60a42c --- /dev/null +++ b/src/main/resources/mybatis/mapper/inv/InvPreProductDetailDao.xml @@ -0,0 +1,56 @@ + + + + + + \ No newline at end of file