Browse Source

Merge remote-tracking branch 'origin/main' into main

main
xbw 1 year ago
parent
commit
d32b823b7a
  1. 2
      jnpf-gateway/src/main/resources/bootstrap-dev.yml
  2. 40
      jnpf-library/jnpf-library-biz/src/main/java/jnpf/config/RedisConfig.java
  3. 18
      jnpf-library/jnpf-library-biz/src/main/java/jnpf/mapper/TBookInventoryMapper.java
  4. 18
      jnpf-library/jnpf-library-biz/src/main/java/jnpf/mapper/TRemovalManagementMapper.java
  5. 3
      jnpf-library/jnpf-library-biz/src/main/java/jnpf/mapper/TSelectionOrderingBooksMapper.java
  6. 6
      jnpf-library/jnpf-library-biz/src/main/java/jnpf/mapper/TSelectionOrderingMainMapper.java
  7. 18
      jnpf-library/jnpf-library-biz/src/main/java/jnpf/mapper/TShelfOperationMapper.java
  8. 4
      jnpf-library/jnpf-library-biz/src/main/java/jnpf/service/ILibraryService.java
  9. 16
      jnpf-library/jnpf-library-biz/src/main/java/jnpf/service/TBookInventoryService.java
  10. 9
      jnpf-library/jnpf-library-biz/src/main/java/jnpf/service/TCommonRelationService.java
  11. 18
      jnpf-library/jnpf-library-biz/src/main/java/jnpf/service/TReceiveGoodsMainService.java
  12. 16
      jnpf-library/jnpf-library-biz/src/main/java/jnpf/service/TRemovalManagementService.java
  13. 2
      jnpf-library/jnpf-library-biz/src/main/java/jnpf/service/TSelectionOrderingBooksService.java
  14. 19
      jnpf-library/jnpf-library-biz/src/main/java/jnpf/service/TSelectionOrderingMainService.java
  15. 16
      jnpf-library/jnpf-library-biz/src/main/java/jnpf/service/TShelfOperationService.java
  16. 32
      jnpf-library/jnpf-library-biz/src/main/java/jnpf/service/impl/LibraryServiceImpl.java
  17. 23
      jnpf-library/jnpf-library-biz/src/main/java/jnpf/service/impl/TBookInventoryServiceImpl.java
  18. 2
      jnpf-library/jnpf-library-biz/src/main/java/jnpf/service/impl/TReceiveGoodsBooksServiceImpl.java
  19. 423
      jnpf-library/jnpf-library-biz/src/main/java/jnpf/service/impl/TReceiveGoodsMainServiceImpl.java
  20. 23
      jnpf-library/jnpf-library-biz/src/main/java/jnpf/service/impl/TRemovalManagementServiceImpl.java
  21. 6
      jnpf-library/jnpf-library-biz/src/main/java/jnpf/service/impl/TSelectionOrderingBooksServiceImpl.java
  22. 310
      jnpf-library/jnpf-library-biz/src/main/java/jnpf/service/impl/TSelectionOrderingMainServiceImpl.java
  23. 23
      jnpf-library/jnpf-library-biz/src/main/java/jnpf/service/impl/TShelfOperationServiceImpl.java
  24. 69
      jnpf-library/jnpf-library-biz/src/main/java/jnpf/task/SybVersionLibraryTask.java
  25. 68
      jnpf-library/jnpf-library-biz/src/main/resources/mapper/TBookGoWhereMapper.xml
  26. 129
      jnpf-library/jnpf-library-biz/src/main/resources/mapper/TBookInventoryMapper.xml
  27. 64
      jnpf-library/jnpf-library-biz/src/main/resources/mapper/TCommonRelationMapper.xml
  28. 58
      jnpf-library/jnpf-library-biz/src/main/resources/mapper/TReceiveGoodsBooksMapper.xml
  29. 86
      jnpf-library/jnpf-library-biz/src/main/resources/mapper/TReceiveGoodsMainMapper.xml
  30. 105
      jnpf-library/jnpf-library-biz/src/main/resources/mapper/TRemovalManagementMapper.xml
  31. 79
      jnpf-library/jnpf-library-biz/src/main/resources/mapper/TSelectionOrderingBooksMapper.xml
  32. 106
      jnpf-library/jnpf-library-biz/src/main/resources/mapper/TSelectionOrderingMainMapper.xml
  33. 97
      jnpf-library/jnpf-library-biz/src/main/resources/mapper/TShelfOperationMapper.xml
  34. 22
      jnpf-library/jnpf-library-controller/src/main/java/jnpf/controller/ReceiveGoodsMainController.java
  35. 43
      jnpf-library/jnpf-library-controller/src/main/java/jnpf/controller/RemovalManagementController.java
  36. 63
      jnpf-library/jnpf-library-controller/src/main/java/jnpf/controller/SelectionOrderingMainController.java
  37. 40
      jnpf-library/jnpf-library-entity/src/main/java/jnpf/entity/TBookGoWhere.java
  38. 137
      jnpf-library/jnpf-library-entity/src/main/java/jnpf/entity/TBookInventory.java
  39. 22
      jnpf-library/jnpf-library-entity/src/main/java/jnpf/entity/TCommonRelation.java
  40. 83
      jnpf-library/jnpf-library-entity/src/main/java/jnpf/entity/TReceiveGoodsBooks.java
  41. 54
      jnpf-library/jnpf-library-entity/src/main/java/jnpf/entity/TReceiveGoodsMain.java
  42. 114
      jnpf-library/jnpf-library-entity/src/main/java/jnpf/entity/TRemovalManagement.java
  43. 83
      jnpf-library/jnpf-library-entity/src/main/java/jnpf/entity/TSelectionOrderingBooks.java
  44. 38
      jnpf-library/jnpf-library-entity/src/main/java/jnpf/entity/TSelectionOrderingMain.java
  45. 110
      jnpf-library/jnpf-library-entity/src/main/java/jnpf/entity/TShelfOperation.java
  46. 30
      jnpf-library/jnpf-library-entity/src/main/java/jnpf/enump/ReceiveGoodsMainEnum.java
  47. 53
      jnpf-library/jnpf-library-entity/src/main/java/jnpf/enump/RemovalManagementEnum.java
  48. 63
      jnpf-library/jnpf-library-entity/src/main/java/jnpf/enump/ShelfOperationEnum.java
  49. 70
      jnpf-library/jnpf-library-entity/src/main/java/jnpf/model/dto/ReceiveGoodsMainDto.java
  50. 48
      jnpf-library/jnpf-library-entity/src/main/java/jnpf/model/dto/RemovalManagementEnum.java
  51. 79
      jnpf-library/jnpf-library-entity/src/main/java/jnpf/model/dto/SelectionOrderingMainDto.java
  52. 2
      jnpf-library/jnpf-library-server/src/main/java/jnpf/JnpfLibraryApplication.java

2
jnpf-gateway/src/main/resources/bootstrap-dev.yml

@ -12,7 +12,7 @@ spring:
password: nacos password: nacos
discovery: discovery:
# 服务注册地址 # 服务注册地址
server-addr: ${nacos.hostname:192.168.200.130}:${nacos.port:8848} server-addr: ${nacos.hostname:192.168.200.132}:${nacos.port:8848}
namespace: 69c4eecb-05bd-4041-81fe-1473f95f578c namespace: 69c4eecb-05bd-4041-81fe-1473f95f578c
config: config:
server-addr: ${spring.cloud.nacos.discovery.server-addr} server-addr: ${spring.cloud.nacos.discovery.server-addr}

40
jnpf-library/jnpf-library-biz/src/main/java/jnpf/config/RedisConfig.java

@ -0,0 +1,40 @@
//package jnpf.config;
//
//import org.redisson.Redisson;
//import org.redisson.config.Config;
//import org.springframework.beans.factory.annotation.Value;
//import org.springframework.cache.annotation.CachingConfigurerSupport;
//import org.springframework.cache.annotation.EnableCaching;
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//import org.springframework.data.redis.connection.RedisConnectionFactory;
//import org.springframework.data.redis.core.RedisTemplate;
//import org.springframework.data.redis.core.script.DefaultRedisScript;
//import org.springframework.data.redis.serializer.StringRedisSerializer;
//
///**
// * redis配置
// *
// */
//@Configuration
//@EnableCaching
//public class RedisConfig extends CachingConfigurerSupport {
// @Value("${spring.redis.host}")
// private String redisHost;
// @Value("${spring.redis.password}")
// private String redisPassword;
// @Value("${spring.redis.port}")
// private String redisPort;
//
// //redisson
// @Bean
// public Redisson redisson() {
// Config config = new Config();
// config.useSingleServer().setAddress("redis://"+redisHost+":"+redisPort).setPassword(redisPassword);
//// config.useSingleServer().setAddress("redis://localhost:6379").setPassword("root");
// //默认30 秒
// config.setLockWatchdogTimeout(60000L);
// // 创建 Redisson 客户端实例
// return (Redisson) Redisson.create(config);
// }
//}

18
jnpf-library/jnpf-library-biz/src/main/java/jnpf/mapper/TBookInventoryMapper.java

@ -0,0 +1,18 @@
package jnpf.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import jnpf.entity.TBookInventory;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
import java.util.Map;
/**
* 图书库存表(TBookInventory)表数据库访问层
*
* @author common
* @since 2024-10-29 15:59:26
*/
public interface TBookInventoryMapper extends BaseMapper<TBookInventory> {
IPage<TBookInventory> selectPage(IPage<TBookInventory> iPage, @Param("params") Map<String, Object> params);
}

18
jnpf-library/jnpf-library-biz/src/main/java/jnpf/mapper/TRemovalManagementMapper.java

@ -0,0 +1,18 @@
package jnpf.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import jnpf.entity.TRemovalManagement;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
import java.util.Map;
/**
* 下架管理表(TRemovalManagement)表数据库访问层
*
* @author common
* @since 2024-11-06 17:53:14
*/
public interface TRemovalManagementMapper extends BaseMapper<TRemovalManagement> {
IPage<TRemovalManagement> selectPage(IPage<TRemovalManagement> iPage, @Param("params") Map<String, Object> params);
}

3
jnpf-library/jnpf-library-biz/src/main/java/jnpf/mapper/TSelectionOrderingBooksMapper.java

@ -1,6 +1,7 @@
package jnpf.mapper; package jnpf.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import jnpf.entity.TSelectionOrderingBooks; import jnpf.entity.TSelectionOrderingBooks;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@ -17,5 +18,7 @@ public interface TSelectionOrderingBooksMapper extends BaseMapper<TSelectionOrde
IPage<TSelectionOrderingBooks> selectPage(IPage<TSelectionOrderingBooks> iPage, @Param("params") Map<String, Object> params); IPage<TSelectionOrderingBooks> selectPage(IPage<TSelectionOrderingBooks> iPage, @Param("params") Map<String, Object> params);
List<TSelectionOrderingBooks> getListByIds(@Param("relationIdList")List<Long> bdIdList); List<TSelectionOrderingBooks> getListByIds(@Param("relationIdList")List<Long> bdIdList);
Page<TSelectionOrderingBooks> pageListByIds(@Param("page") IPage<TSelectionOrderingBooks> page, @Param("relationIdList")List<Long> bdIdList);
} }

6
jnpf-library/jnpf-library-biz/src/main/java/jnpf/mapper/TSelectionOrderingMainMapper.java

@ -2,10 +2,13 @@ package jnpf.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import jnpf.entity.TSelectionOrderingBooks;
import jnpf.entity.TSelectionOrderingMain; import jnpf.entity.TSelectionOrderingMain;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import jnpf.model.dto.SelectionOrderingMainDto; import jnpf.model.dto.SelectionOrderingMainDto;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
* 选品下单主单信息表(TSelectionOrderingMain)表数据库访问层 * 选品下单主单信息表(TSelectionOrderingMain)表数据库访问层
@ -19,5 +22,8 @@ public interface TSelectionOrderingMainMapper extends BaseMapper<TSelectionOrder
IPage<SelectionOrderingMainDto.CommonTSelectionOrderingMain> queryOrderingListByOrderType(@Param("page") Page<Object> objectPage, @Param("params")SelectionOrderingMainDto.QueryOrderingListByOrderTypeParam param); IPage<SelectionOrderingMainDto.CommonTSelectionOrderingMain> queryOrderingListByOrderType(@Param("page") Page<Object> objectPage, @Param("params")SelectionOrderingMainDto.QueryOrderingListByOrderTypeParam param);
SelectionOrderingMainDto.CommonTSelectionOrderingMain getInfoById(@Param("id") Long id); SelectionOrderingMainDto.CommonTSelectionOrderingMain getInfoById(@Param("id") Long id);
List<SelectionOrderingMainDto.QueryOrderingListForLeaderResponse> queryOrderingListForLeader();
} }

18
jnpf-library/jnpf-library-biz/src/main/java/jnpf/mapper/TShelfOperationMapper.java

@ -0,0 +1,18 @@
package jnpf.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import jnpf.entity.TShelfOperation;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
import java.util.Map;
/**
* 上下架操作表(TShelfOperation)表数据库访问层
*
* @author common
* @since 2024-10-29 16:00:29
*/
public interface TShelfOperationMapper extends BaseMapper<TShelfOperation> {
IPage<TShelfOperation> selectPage(IPage<TShelfOperation> iPage, @Param("params") Map<String, Object> params);
}

4
jnpf-library/jnpf-library-biz/src/main/java/jnpf/service/ILibraryService.java

@ -21,8 +21,10 @@ import java.util.Set;
public interface ILibraryService extends IService<TLibrary>{ public interface ILibraryService extends IService<TLibrary>{
IPage<TLibrary> getLibraryList(SelectionOrderingMainDto.GetLibraryListParam param); IPage<TLibrary> getLibraryList(SelectionOrderingMainDto.GetLibraryListParam param);
ReceiveGoodsMainDto.BunchingInfo getBunchingInfoByBookNumber(String bookNumber); TLibrary getBunchingInfoByBookNumber(String bookNumber);
List<TLibrary> getListByBookNumberList(Set<String> queryBookInfoNumberList); List<TLibrary> getListByBookNumberList(Set<String> queryBookInfoNumberList);
List<TLibrary> synVersionLibraryData();
} }

16
jnpf-library/jnpf-library-biz/src/main/java/jnpf/service/TBookInventoryService.java

@ -0,0 +1,16 @@
package jnpf.service;
import jnpf.entity.TBookInventory;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.Map;
/**
* 图书库存表(TBookInventory)表服务接口
*
* @author common
* @since 2024-10-29 15:59:26
*/
public interface TBookInventoryService extends IService<TBookInventory> {
IPage<TBookInventory> selectPage(IPage<TBookInventory> iPage, Map<String, Object> params);
}

9
jnpf-library/jnpf-library-biz/src/main/java/jnpf/service/TCommonRelationService.java

@ -15,6 +15,15 @@ public interface TCommonRelationService extends IService<TCommonRelation> {
enum Type { enum Type {
//样书去向 //样书去向
SAMPLE_BOOK_DESTINATION("SAMPLE_BOOK_DESTINATION"), SAMPLE_BOOK_DESTINATION("SAMPLE_BOOK_DESTINATION"),
//库存图书剩余数量预警字段
WARNING_NUMBER_FIELD("WARNING_NUMBER_FIELD"),
//社长所选书籍id
BOOKS_CHOSEN_BY_THE_PRESIDENT("BOOKS_CHOSEN_BY_THE_PRESIDENT"),
//领导选书标记
LEADER_SELECTION_BOOK_MARK("LEADER_SELECTION_BOOK_MARK"),
//领导所选书籍id
BOOKS_CHOSEN_BY_THE_LEADER("BOOKS_CHOSEN_BY_THE_LEADER"),
; ;
public final String type; public final String type;

18
jnpf-library/jnpf-library-biz/src/main/java/jnpf/service/TReceiveGoodsMainService.java

@ -1,5 +1,7 @@
package jnpf.service; package jnpf.service;
import jnpf.base.vo.DownloadVO;
import jnpf.entity.TLibrary;
import jnpf.entity.TReceiveGoodsMain; import jnpf.entity.TReceiveGoodsMain;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
@ -28,7 +30,7 @@ public interface TReceiveGoodsMainService extends IService<TReceiveGoodsMain> {
* @param bookNumber * @param bookNumber
* @return * @return
*/ */
ReceiveGoodsMainDto.BunchingInfo getBunchingInfoByBookNumber(String bookNumber); ReceiveGoodsMainDto.TLibraryEntity getBunchingInfoByBookNumber(String bookNumber);
/** /**
* @param id * @param id
@ -78,5 +80,19 @@ public interface TReceiveGoodsMainService extends IService<TReceiveGoodsMain> {
* @param param * @param param
*/ */
void saveStackingInformationByReceiveId(ReceiveGoodsMainDto.SaveStackingInformationByReceiveIdParam param); void saveStackingInformationByReceiveId(ReceiveGoodsMainDto.SaveStackingInformationByReceiveIdParam param);
/**
* 根据收货单获取跳转到h5上架链接的二维码
* @param id
* @return
*/
DownloadVO getQrByReceiptId(Long id);
/**
* h5页面上架接口
* @param param
*/
void h5ShelfInterface(ReceiveGoodsMainDto.H5ShelfInterfaceParam param);
} }

16
jnpf-library/jnpf-library-biz/src/main/java/jnpf/service/TRemovalManagementService.java

@ -0,0 +1,16 @@
package jnpf.service;
import jnpf.entity.TRemovalManagement;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.Map;
/**
* 下架管理表(TRemovalManagement)表服务接口
*
* @author common
* @since 2024-11-06 17:53:14
*/
public interface TRemovalManagementService extends IService<TRemovalManagement> {
IPage<TRemovalManagement> selectPage(IPage<TRemovalManagement> iPage, Map<String, Object> params);
}

2
jnpf-library/jnpf-library-biz/src/main/java/jnpf/service/TSelectionOrderingBooksService.java

@ -1,5 +1,6 @@
package jnpf.service; package jnpf.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import jnpf.entity.TSelectionOrderingBooks; import jnpf.entity.TSelectionOrderingBooks;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
@ -23,5 +24,6 @@ public interface TSelectionOrderingBooksService extends IService<TSelectionOrder
* @return * @return
*/ */
List<TSelectionOrderingBooks> getListByIds(List<Long> bdIdList); List<TSelectionOrderingBooks> getListByIds(List<Long> bdIdList);
Page<TSelectionOrderingBooks> pageListByIds(IPage<TSelectionOrderingBooks> page, List<Long> bdIdList);
} }

19
jnpf-library/jnpf-library-biz/src/main/java/jnpf/service/TSelectionOrderingMainService.java

@ -1,11 +1,13 @@
package jnpf.service; package jnpf.service;
import jnpf.base.vo.DownloadVO; import jnpf.base.vo.DownloadVO;
import jnpf.entity.TSelectionOrderingBooks;
import jnpf.entity.TSelectionOrderingMain; import jnpf.entity.TSelectionOrderingMain;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import jnpf.model.dto.SelectionOrderingMainDto; import jnpf.model.dto.SelectionOrderingMainDto;
import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
* 选品下单主单信息表(TSelectionOrderingMain)表服务接口 * 选品下单主单信息表(TSelectionOrderingMain)表服务接口
@ -53,5 +55,22 @@ public interface TSelectionOrderingMainService extends IService<TSelectionOrderi
*/ */
void delete(String id,Boolean checkUser); void delete(String id,Boolean checkUser);
/**
* 社长选书
* @param param
*/
void presidentSelection(SelectionOrderingMainDto.PresidentSelectionParam param);
IPage<TSelectionOrderingBooks> aggregateQuery(SelectionOrderingMainDto.AggregateQuery param);
IPage<TSelectionOrderingBooks> pageSelectedBooks(SelectionOrderingMainDto.PageSelectedBooks param);
IPage<TSelectionOrderingBooks> queryBooksFromPresident(SelectionOrderingMainDto.QueryBooksFromPresident param);
List<SelectionOrderingMainDto.QueryOrderingListForLeaderResponse> queryOrderingListForLeader();
void leaderSelection(SelectionOrderingMainDto.PresidentSelectionParam param);
List<TSelectionOrderingBooks> queryBooksFromLeader(SelectionOrderingMainDto.QueryBooksFromPresident param);
} }

16
jnpf-library/jnpf-library-biz/src/main/java/jnpf/service/TShelfOperationService.java

@ -0,0 +1,16 @@
package jnpf.service;
import jnpf.entity.TShelfOperation;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.Map;
/**
* 上下架操作表(TShelfOperation)表服务接口
*
* @author common
* @since 2024-10-29 16:00:29
*/
public interface TShelfOperationService extends IService<TShelfOperation> {
IPage<TShelfOperation> selectPage(IPage<TShelfOperation> iPage, Map<String, Object> params);
}

32
jnpf-library/jnpf-library-biz/src/main/java/jnpf/service/impl/LibraryServiceImpl.java

@ -21,10 +21,7 @@ import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Collections; import java.util.*;
import java.util.List;
import java.util.Optional;
import java.util.Set;
/** /**
* 图书去向表(TBookGoWhere)表服务实现类 * 图书去向表(TBookGoWhere)表服务实现类
@ -42,7 +39,8 @@ public class LibraryServiceImpl extends ServiceImpl<LibraryMapper, TLibrary> imp
} }
@Override @Override
public ReceiveGoodsMainDto.BunchingInfo getBunchingInfoByBookNumber(String bookNumber) { @Transactional(propagation = Propagation.REQUIRES_NEW, rollbackFor = Exception.class)
public TLibrary getBunchingInfoByBookNumber(String bookNumber) {
// List<TSelectionOrderingBooks> libraryList = this.baseMapper.getLibraryList(); // List<TSelectionOrderingBooks> libraryList = this.baseMapper.getLibraryList();
// Optional<TSelectionOrderingBooks> bookInfo = libraryList.stream().findFirst(); // Optional<TSelectionOrderingBooks> bookInfo = libraryList.stream().findFirst();
//查询图书信息 //查询图书信息
@ -52,14 +50,15 @@ public class LibraryServiceImpl extends ServiceImpl<LibraryMapper, TLibrary> imp
if (!bookInfo.isPresent()) { if (!bookInfo.isPresent()) {
throw new DataException("未查询到图书信息"); throw new DataException("未查询到图书信息");
} }
TLibrary library = bookInfo.get(); return bookInfo.get();
ReceiveGoodsMainDto.BunchingInfo bunchingInfo = new ReceiveGoodsMainDto.BunchingInfo(); // TLibrary library = bookInfo.get();
bunchingInfo.setBookNumber(bookNumber); // ReceiveGoodsMainDto.BunchingInfo bunchingInfo = new ReceiveGoodsMainDto.BunchingInfo();
bunchingInfo.setBookName(library.getBookName()); // bunchingInfo.setBookNumber(bookNumber);
bunchingInfo.setCoverImage(library.getCoverImage()); // bunchingInfo.setBookName(library.getBookName());
bunchingInfo.setPress(library.getPress()); // bunchingInfo.setCoverImage(library.getCoverImage());
bunchingInfo.setPrice(library.getPrice()); // bunchingInfo.setPress(library.getPress());
return bunchingInfo; // bunchingInfo.setPrice(library.getPrice());
// return bunchingInfo;
} }
@Override @Override
@ -69,4 +68,11 @@ public class LibraryServiceImpl extends ServiceImpl<LibraryMapper, TLibrary> imp
.in(TLibrary::getBookNumber, queryBookInfoNumberList) .in(TLibrary::getBookNumber, queryBookInfoNumberList)
.list(); .list();
} }
@Override
public List<TLibrary> synVersionLibraryData() {
return this.lambdaQuery()
.in(TLibrary::getBookNumber, Arrays.asList("123456781","123456792","123456763","123456765"))
.list();
}
} }

23
jnpf-library/jnpf-library-biz/src/main/java/jnpf/service/impl/TBookInventoryServiceImpl.java

@ -0,0 +1,23 @@
package jnpf.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import jnpf.mapper.TBookInventoryMapper;
import jnpf.entity.TBookInventory;
import jnpf.service.TBookInventoryService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import java.util.Map;
/**
* 图书库存表(TBookInventory)表服务实现类
*
* @author common
* @since 2024-10-29 15:59:26
*/
@Service("tBookInventoryService")
public class TBookInventoryServiceImpl extends ServiceImpl<TBookInventoryMapper, TBookInventory> implements TBookInventoryService {
@Override
public IPage<TBookInventory> selectPage(IPage<TBookInventory> iPage, Map<String, Object> params){
return this.baseMapper.selectPage(iPage, params);
}
}

2
jnpf-library/jnpf-library-biz/src/main/java/jnpf/service/impl/TReceiveGoodsBooksServiceImpl.java

@ -27,6 +27,6 @@ public class TReceiveGoodsBooksServiceImpl extends ServiceImpl<TReceiveGoodsBook
@Override @Override
public IPage<ReceiveGoodsMainDto.TReceiveGoodsBooksEntity> getBookListByRelationId(ReceiveGoodsMainDto.GetBookListByIdParam param) { public IPage<ReceiveGoodsMainDto.TReceiveGoodsBooksEntity> getBookListByRelationId(ReceiveGoodsMainDto.GetBookListByIdParam param) {
return this.baseMapper.getBookListByRelationId(new Page<ReceiveGoodsMainDto.TReceiveGoodsBooksEntity>(param.getCurrent(),param.getSize()),param); return this.baseMapper.getBookListByRelationId(new Page<>(param.getCurrent(), param.getSize()),param);
} }
} }

423
jnpf-library/jnpf-library-biz/src/main/java/jnpf/service/impl/TReceiveGoodsMainServiceImpl.java

@ -12,10 +12,12 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import jnpf.base.DictionaryDataApi; import jnpf.base.DictionaryDataApi;
import jnpf.base.UserInfo; import jnpf.base.UserInfo;
import jnpf.base.entity.DictionaryDataEntity; import jnpf.base.entity.DictionaryDataEntity;
import jnpf.base.vo.DownloadVO;
import jnpf.constant.FileTypeConstant; import jnpf.constant.FileTypeConstant;
import jnpf.constant.PermissionConst; import jnpf.constant.PermissionConst;
import jnpf.entity.*; import jnpf.entity.*;
import jnpf.enump.ReceiveGoodsMainEnum; import jnpf.enump.ReceiveGoodsMainEnum;
import jnpf.enump.ShelfOperationEnum;
import jnpf.exception.DataException; import jnpf.exception.DataException;
import jnpf.file.FileApi; import jnpf.file.FileApi;
import jnpf.file.FileUploadApi; import jnpf.file.FileUploadApi;
@ -23,13 +25,17 @@ import jnpf.mapper.TReceiveGoodsMainMapper;
import jnpf.model.dto.ReceiveGoodsMainDto; import jnpf.model.dto.ReceiveGoodsMainDto;
import jnpf.permission.entity.OrganizeEntity; import jnpf.permission.entity.OrganizeEntity;
import jnpf.permission.service.OrganizeService; import jnpf.permission.service.OrganizeService;
import jnpf.service.ILibraryService; import jnpf.service.*;
import jnpf.service.TBookGoWhereService; import jnpf.util.RedisUtil;
import jnpf.service.TReceiveGoodsBooksService; import jnpf.util.UploaderUtil;
import jnpf.service.TReceiveGoodsMainService;
import jnpf.util.UserProvider; import jnpf.util.UserProvider;
import jnpf.utils.SnowFlake; import jnpf.utils.SnowFlake;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.apache.catalina.User;
import org.jetbrains.annotations.NotNull;
import org.redisson.Redisson;
import org.redisson.api.RLock;
import org.redisson.redisnode.RedissonSingleNode;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -42,6 +48,7 @@ import java.nio.file.Paths;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.*; import java.util.*;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
@ -61,6 +68,12 @@ public class TReceiveGoodsMainServiceImpl extends ServiceImpl<TReceiveGoodsMainM
private final FileUploadApi fileUploadApi; private final FileUploadApi fileUploadApi;
private final DictionaryDataApi dictionaryDataApi; private final DictionaryDataApi dictionaryDataApi;
private final FileApi fileApi; private final FileApi fileApi;
private final Redisson redisson;
private final TCommonRelationService commonRelationService;
private final TShelfOperationService shelfOperationService;
private final TBookInventoryService bookInventoryService;
//上架锁
private final static String UP_LOCK = "UP_LOCK:";
@Override @Override
public IPage<TReceiveGoodsMain> selectPage(IPage<TReceiveGoodsMain> iPage, Map<String, Object> params) { public IPage<TReceiveGoodsMain> selectPage(IPage<TReceiveGoodsMain> iPage, Map<String, Object> params) {
@ -210,6 +223,8 @@ public class TReceiveGoodsMainServiceImpl extends ServiceImpl<TReceiveGoodsMainM
.stream().mapToInt(TBookGoWhere::getShouldSend).sum(); .stream().mapToInt(TBookGoWhere::getShouldSend).sum();
//应发数量 //应发数量
tReceiveGoodsBooks.setShouldSend(sum); tReceiveGoodsBooks.setShouldSend(sum);
//应上架数量(即应入库数量)
tReceiveGoodsBooks.setShouldUpNumber(bunchingInfo.getSignedQuantity() - sum);
//实发数量默认与应发数量相同 //实发数量默认与应发数量相同
tReceiveGoodsBooks.setActualSend(sum); tReceiveGoodsBooks.setActualSend(sum);
tReceiveGoodsBooks.setCreateId(user.getUserId()); tReceiveGoodsBooks.setCreateId(user.getUserId());
@ -239,13 +254,36 @@ public class TReceiveGoodsMainServiceImpl extends ServiceImpl<TReceiveGoodsMainM
} }
@Override @Override
public ReceiveGoodsMainDto.BunchingInfo getBunchingInfoByBookNumber(String bookNumber) { public ReceiveGoodsMainDto.TLibraryEntity getBunchingInfoByBookNumber(String bookNumber) {
if (StrUtil.isBlank(bookNumber)) { if (StrUtil.isBlank(bookNumber)) {
throw new DataException("请输入图书编号"); throw new DataException("请输入图书编号");
} }
//todo 新增下印册书 //todo 新增下印册书
//查询图书信息 //查询图书信息
return libraryService.getBunchingInfoByBookNumber(bookNumber); TLibrary library = libraryService.getBunchingInfoByBookNumber(bookNumber);
ReceiveGoodsMainDto.TLibraryEntity libraryEntity = BeanUtil.copyProperties(library, ReceiveGoodsMainDto.TLibraryEntity.class);
try {
if (StrUtil.isNotBlank(UserProvider.getUser().getOrganizeId())) {
Optional<OrganizeEntity> deptOptional = organizeService.lambdaQuery()
.eq(OrganizeEntity::getId, UserProvider.getUser().getOrganizeId())
.eq(OrganizeEntity::getEnabledMark, "1").list().stream().findFirst();
if (deptOptional.isPresent()) {
OrganizeEntity dept = deptOptional.get();
OrganizeEntity corp = getCorp(dept);
Optional<TCommonRelation> commonRelationOptional = commonRelationService.lambdaQuery()
.eq(TCommonRelation::getSourceId, bookNumber)
.eq(TCommonRelation::getType, TCommonRelationService.Type.WARNING_NUMBER_FIELD.type)
.eq(TCommonRelation::getTargetId, corp.getId())
.list().stream().findFirst();
commonRelationOptional.ifPresent(tCommonRelation -> libraryEntity.setWarningQuantity(Integer.parseInt(tCommonRelation.getExt())));
}
}
} catch (Exception e) {
log.error("获取用户信息失败");
}
return libraryEntity;
} }
@Override @Override
@ -350,7 +388,24 @@ public class TReceiveGoodsMainServiceImpl extends ServiceImpl<TReceiveGoodsMainM
@Override @Override
public IPage<ReceiveGoodsMainDto.TReceiveGoodsBooksEntity> getBookListById(ReceiveGoodsMainDto.GetBookListByIdParam param) { public IPage<ReceiveGoodsMainDto.TReceiveGoodsBooksEntity> getBookListById(ReceiveGoodsMainDto.GetBookListByIdParam param) {
return receiveGoodsBooksService.getBookListByRelationId(param); IPage<ReceiveGoodsMainDto.TReceiveGoodsBooksEntity> receiveGoodsBooksEntityIPage = receiveGoodsBooksService.getBookListByRelationId(param);
//赋予库存数
Optional<OrganizeEntity> deptOptional = organizeService.lambdaQuery()
.eq(OrganizeEntity::getId, UserProvider.getUser().getOrganizeId())
.eq(OrganizeEntity::getEnabledMark, "1").list().stream().findFirst();
if (deptOptional.isPresent()) {
OrganizeEntity dept = deptOptional.get();
OrganizeEntity corp = getCorp(dept);
for (ReceiveGoodsMainDto.TReceiveGoodsBooksEntity receiveGoodsBooksEntity : receiveGoodsBooksEntityIPage.getRecords()) {
receiveGoodsBooksEntity.setInventoryNumber(bookInventoryService.lambdaQuery()
.eq(TBookInventory::getBookName, receiveGoodsBooksEntity.getBookName())
.eq(TBookInventory::getDelFlag, "0")
.eq(TBookInventory::getType, param.getOrderType())
.eq(TBookInventory::getCreateCorpId, corp.getId())
.list().stream().map(TBookInventory::getQuantity).mapToInt(Integer::intValue).sum());
}
}
return receiveGoodsBooksEntityIPage;
} }
@Override @Override
@ -374,7 +429,10 @@ public class TReceiveGoodsMainServiceImpl extends ServiceImpl<TReceiveGoodsMainM
.eq(TBookGoWhere::getBookNumber, receiveGoodsBooks.getBookNumber()) .eq(TBookGoWhere::getBookNumber, receiveGoodsBooks.getBookNumber())
.eq(TBookGoWhere::getRelationId, receiveGoodsBooks.getId()) .eq(TBookGoWhere::getRelationId, receiveGoodsBooks.getId())
.remove(); .remove();
//重新计算应上架数量数量
Integer shouldSendNumber = 0;
for (TBookGoWhere bookGoWhere : param.getBookGoWhereList()) { for (TBookGoWhere bookGoWhere : param.getBookGoWhereList()) {
shouldSendNumber += bookGoWhere.getActualSend();
bookGoWhere.setId(SnowFlake.nextId()); bookGoWhere.setId(SnowFlake.nextId());
bookGoWhere.setCreateTime(LocalDateTime.now()); bookGoWhere.setCreateTime(LocalDateTime.now());
bookGoWhere.setBookNumber(receiveGoodsBooks.getBookNumber()); bookGoWhere.setBookNumber(receiveGoodsBooks.getBookNumber());
@ -384,7 +442,7 @@ public class TReceiveGoodsMainServiceImpl extends ServiceImpl<TReceiveGoodsMainM
bookGoWhere.setUpdateBy(UserProvider.getUser().getUserId()); bookGoWhere.setUpdateBy(UserProvider.getUser().getUserId());
bookGoWhere.setUpdateName(UserProvider.getUser().getUserName()); bookGoWhere.setUpdateName(UserProvider.getUser().getUserName());
bookGoWhere.setOrderType(orderTypeEnum.getCode()); bookGoWhere.setOrderType(orderTypeEnum.getCode());
bookGoWhere.setWarehouseEntryFlag("0"); bookGoWhere.setWarehouseEntryFlag("1");
bookGoWhere.setType("1"); bookGoWhere.setType("1");
bookGoWhere.setRelationId(receiveGoodsBooks.getId() + ""); bookGoWhere.setRelationId(receiveGoodsBooks.getId() + "");
Optional<OrganizeEntity> deptOptional = organizeService.lambdaQuery() Optional<OrganizeEntity> deptOptional = organizeService.lambdaQuery()
@ -400,9 +458,41 @@ public class TReceiveGoodsMainServiceImpl extends ServiceImpl<TReceiveGoodsMainM
} }
bookGoWhereService.save(bookGoWhere); bookGoWhereService.save(bookGoWhere);
} }
receiveGoodsBooksService.lambdaUpdate()
.set(TReceiveGoodsBooks::getShouldUpNumber, receiveGoodsBooks.getSignedQuantity() - shouldSendNumber)
.eq(TReceiveGoodsBooks::getId, receiveGoodsBooks.getId())
.update();
} }
@Override
public DownloadVO getQrByReceiptId(Long id) {
//校验收货单是否存在
TReceiveGoodsMain tReceiveGoodsMain = this.getById(id);
if (null == tReceiveGoodsMain) {
throw new DataException("该收货单不存在");
}
//生成二维码
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
DictionaryDataEntity data = dictionaryDataApi.getByTypeDataCode("SampleLibrary", "xtaddr").getData();
String systemUrl = "http://61.169.37.106:9172";
if (null != data) {
systemUrl = data.getDescription();
}
String targetUrl = StrUtil.format("{}/home?id={}&token={}", systemUrl, id, UserProvider.getToken());
String fileName = "上架";
DownloadVO vo = DownloadVO.builder().build();
QrCodeUtil.generate(targetUrl, 100, 100, "", byteArrayOutputStream);
MockMultipartFile multipartFile = new MockMultipartFile("上架.png", "上架.png", "image/png", byteArrayOutputStream.toByteArray());
String temporaryFilePath = fileApi.getPath(FileTypeConstant.TEMPORARY);
FileInfo fileInfo = fileUploadApi.uploadFile(multipartFile, temporaryFilePath, fileName);
vo.setName(fileInfo.getFilename());
vo.setUrl(UploaderUtil.uploaderFile(fileInfo.getFilename() + "#" + "Temporary") + "&name=" + "上架.png");
// FileInfo preview = fileUploadApi.uploadFile(mockMultipartFile, fileApi.getPath(FileTypeConstant.BIVISUALPATH), "preview", "上架.png");
return vo;
}
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void saveStackingInformationByReceiveId(ReceiveGoodsMainDto.SaveStackingInformationByReceiveIdParam param) { public void saveStackingInformationByReceiveId(ReceiveGoodsMainDto.SaveStackingInformationByReceiveIdParam param) {
@ -482,6 +572,15 @@ public class TReceiveGoodsMainServiceImpl extends ServiceImpl<TReceiveGoodsMainM
.eq(TReceiveGoodsBooks::getDelFlag, "0") .eq(TReceiveGoodsBooks::getDelFlag, "0")
.list() .list()
.stream().map(TReceiveGoodsBooks::getBookNumber).collect(Collectors.toSet()); .stream().map(TReceiveGoodsBooks::getBookNumber).collect(Collectors.toSet());
//查询是否具有送往版本馆及业务部的数据,有的话就创建收货单
Set<String> otherSH = bookGoWhereService.lambdaQuery()
.eq(TBookGoWhere::getType, "0")
.eq(TBookGoWhere::getDelFlag, "0")
.eq(TBookGoWhere::getWarehouseEntryFlag, "0")
.in(TBookGoWhere::getTargetName, Arrays.asList(ReceiveGoodsMainEnum.OrderTypeEnum.BUSINESS_DEPARTMENT.getDescribe(), ReceiveGoodsMainEnum.OrderTypeEnum.VERSION_LIBRARY.getDescribe()))
.in(TBookGoWhere::getBookNumber, bookNumberList)
.eq(TBookGoWhere::getCreateCorpId, corpId)
.list().stream().map(TBookGoWhere::getTargetName).collect(Collectors.toSet());
if (CollUtil.isNotEmpty(bookNumberList)) { if (CollUtil.isNotEmpty(bookNumberList)) {
//修改图书去向 即之后样书室新建后进行分堆不会再查到老数据 //修改图书去向 即之后样书室新建后进行分堆不会再查到老数据
bookGoWhereService.lambdaUpdate() bookGoWhereService.lambdaUpdate()
@ -495,31 +594,23 @@ public class TReceiveGoodsMainServiceImpl extends ServiceImpl<TReceiveGoodsMainM
.eq(TBookGoWhere::getOrderType, orderTypeEnum.getCode()) .eq(TBookGoWhere::getOrderType, orderTypeEnum.getCode())
.update(); .update();
} }
//查询是否具有送往版本馆及业务部的数据,有的话就创建收货单
Set<String> otherSH = bookGoWhereService.lambdaQuery()
.eq(TBookGoWhere::getType, "0")
.eq(TBookGoWhere::getDelFlag, "0")
.eq(TBookGoWhere::getWarehouseEntryFlag, "0")
.in(TBookGoWhere::getTargetName, Arrays.asList(ReceiveGoodsMainEnum.OrderTypeEnum.BUSINESS_DEPARTMENT.getDescribe(), ReceiveGoodsMainEnum.OrderTypeEnum.VERSION_LIBRARY.getDescribe()))
.in(TBookGoWhere::getBookNumber, bookNumberList)
.eq(TBookGoWhere::getCreateCorpId, corpId)
.list().stream().map(TBookGoWhere::getTargetName).collect(Collectors.toSet());
if (CollUtil.isNotEmpty(otherSH)) { if (CollUtil.isNotEmpty(otherSH)) {
for (String sh : otherSH) { for (String sh : otherSH) {
String orderType =""; ReceiveGoodsMainEnum.OrderTypeEnum orderType = null;
if (StrUtil.equals(ReceiveGoodsMainEnum.OrderTypeEnum.BUSINESS_DEPARTMENT.getDescribe(),sh)){ // String orderType = "";
orderType=ReceiveGoodsMainEnum.OrderTypeEnum.BUSINESS_DEPARTMENT.getCode(); if (StrUtil.equals(ReceiveGoodsMainEnum.OrderTypeEnum.BUSINESS_DEPARTMENT.getDescribe(), sh)) {
orderType = ReceiveGoodsMainEnum.OrderTypeEnum.BUSINESS_DEPARTMENT;
} }
if (StrUtil.equals(ReceiveGoodsMainEnum.OrderTypeEnum.VERSION_LIBRARY.getDescribe(),sh)){ if (StrUtil.equals(ReceiveGoodsMainEnum.OrderTypeEnum.VERSION_LIBRARY.getDescribe(), sh)) {
orderType=ReceiveGoodsMainEnum.OrderTypeEnum.VERSION_LIBRARY.getCode(); orderType = ReceiveGoodsMainEnum.OrderTypeEnum.VERSION_LIBRARY;
} }
if (StrUtil.isBlank(orderType)){ if (null == orderType) {
continue; continue;
} }
//生成版本馆/业务部收货单 //生成版本馆/业务部收货单
ReceiveGoodsMainDto.NewReceiptParam newReceiptParam = new ReceiveGoodsMainDto.NewReceiptParam(); ReceiveGoodsMainDto.NewReceiptParam newReceiptParam = new ReceiveGoodsMainDto.NewReceiptParam();
newReceiptParam.setOrderType(orderType); newReceiptParam.setOrderType(orderType.getCode());
newReceiptParam.setReceiptNumber(tReceiveGoodsMain.getReceiptNumber()); newReceiptParam.setReceiptNumber(tReceiveGoodsMain.getReceiptNumber());
newReceiptParam.setPackageQuantity(tReceiveGoodsMain.getPackageQuantity()); newReceiptParam.setPackageQuantity(tReceiveGoodsMain.getPackageQuantity());
newReceiptParam.setDeliveryParty(tReceiveGoodsMain.getDeliveryParty()); newReceiptParam.setDeliveryParty(tReceiveGoodsMain.getDeliveryParty());
@ -527,42 +618,79 @@ public class TReceiveGoodsMainServiceImpl extends ServiceImpl<TReceiveGoodsMainM
newReceiptParam.setSaveType("1"); newReceiptParam.setSaveType("1");
newReceiptParam.setPackageSituation(tReceiveGoodsMain.getPackageSituation()); newReceiptParam.setPackageSituation(tReceiveGoodsMain.getPackageSituation());
List<ReceiveGoodsMainDto.BunchingInfo> bunchingInfoList = new ArrayList<>(); List<ReceiveGoodsMainDto.BunchingInfo> bunchingInfoList = new ArrayList<>();
//查询图书编号
Set<String> queryBookInfoNumberList = bookGoWhereService.lambdaQuery() Set<Long> receiveGoodsBookIdList = receiveGoodsBooksService.lambdaQuery()
.eq(TBookGoWhere::getType, "0") .eq(TReceiveGoodsBooks::getRelationId, tReceiveGoodsMain.getId())
.eq(TReceiveGoodsBooks::getDelFlag, "0")
.list()
.stream().map(TReceiveGoodsBooks::getId).collect(Collectors.toSet());
//查询该图书向业务部应送多少
for (TBookGoWhere tBookGoWhere : bookGoWhereService.lambdaQuery()
.eq(TBookGoWhere::getType, "1")
.eq(TBookGoWhere::getDelFlag, "0") .eq(TBookGoWhere::getDelFlag, "0")
.eq(TBookGoWhere::getWarehouseEntryFlag, "0") .eq(TBookGoWhere::getWarehouseEntryFlag, "1")
// .in(TBookGoWhere::getTargetName, Arrays.asList(ReceiveGoodsMainEnum.OrderTypeEnum.BUSINESS_DEPARTMENT.getDescribe(), ReceiveGoodsMainEnum.OrderTypeEnum.VERSION_LIBRARY.getDescribe())) .eq(TBookGoWhere::getTargetName, orderType.getDescribe())
.in(TBookGoWhere::getBookNumber, bookNumberList) // .in(TBookGoWhere::getTargetName, Arrays.asList(ReceiveGoodsMainEnum.OrderTypeEnum.BUSINESS_DEPARTMENT.getDescribe(), ReceiveGoodsMainEnum.OrderTypeEnum.VERSION_LIBRARY.getDescribe()))
.in(TBookGoWhere::getRelationId, receiveGoodsBookIdList)
.eq(TBookGoWhere::getCreateCorpId, corpId) .eq(TBookGoWhere::getCreateCorpId, corpId)
.eq(TBookGoWhere::getOrderType, orderType) .eq(TBookGoWhere::getOrderType, param.getOrderType())
.list().stream().map(TBookGoWhere::getBookNumber).collect(Collectors.toSet()); .list()) {
List<TLibrary> libraryList = libraryService.getListByBookNumberList(queryBookInfoNumberList); TLibrary library = libraryService.getBunchingInfoByBookNumber(tBookGoWhere.getBookNumber());
//创建收货单 ReceiveGoodsMainDto.BunchingInfo bunchingInfo = BeanUtil.copyProperties(library, ReceiveGoodsMainDto.BunchingInfo.class);
if (CollUtil.isNotEmpty(libraryList)) { //校验业务部/版本馆应签收数量签收数量
for (TLibrary tLibrary : libraryList) { if (StrUtil.equals(ReceiveGoodsMainEnum.OrderTypeEnum.BUSINESS_DEPARTMENT.getDescribe(), sh)) {
bunchingInfoList.add(BeanUtil.copyProperties(tLibrary, ReceiveGoodsMainDto.BunchingInfo.class)); //查询该图书向业务部应送多少
bunchingInfo.setSignedQuantity(tBookGoWhere.getActualSend());
}
if (StrUtil.equals(ReceiveGoodsMainEnum.OrderTypeEnum.VERSION_LIBRARY.getDescribe(), sh)) {
//版本馆送往数量默认为1
bunchingInfo.setSignedQuantity(1);
} }
newReceiptParam.setBunchingInfoList(bunchingInfoList); bunchingInfoList.add(bunchingInfo);
this.newReceipt(newReceiptParam);
} }
} newReceiptParam.setBunchingInfoList(bunchingInfoList);
this.newReceipt(newReceiptParam);
//
// //查询图书编号
// Set<String> queryBookInfoNumberList = bookGoWhereService.lambdaQuery()
// .eq(TBookGoWhere::getType, "0")
// .eq(TBookGoWhere::getDelFlag, "0")
// .eq(TBookGoWhere::getWarehouseEntryFlag, "0")
//// .in(TBookGoWhere::getTargetName, Arrays.asList(ReceiveGoodsMainEnum.OrderTypeEnum.BUSINESS_DEPARTMENT.getDescribe(), ReceiveGoodsMainEnum.OrderTypeEnum.VERSION_LIBRARY.getDescribe()))
// .in(TBookGoWhere::getBookNumber, bookNumberList)
// .eq(TBookGoWhere::getCreateCorpId, corpId)
// .eq(TBookGoWhere::getOrderType, orderType)
// .list().stream().map(TBookGoWhere::getBookNumber).collect(Collectors.toSet());
// List<TLibrary> libraryList = libraryService.getListByBookNumberList(queryBookInfoNumberList);
// //创建收货单
// if (CollUtil.isNotEmpty(libraryList)) {
// for (TLibrary tLibrary : libraryList) {
// ReceiveGoodsMainDto.BunchingInfo bunchingInfo = BeanUtil.copyProperties(tLibrary, ReceiveGoodsMainDto.BunchingInfo.class);
// //校验业务部/版本馆应签收数量签收数量
// if (StrUtil.equals(ReceiveGoodsMainEnum.OrderTypeEnum.BUSINESS_DEPARTMENT.getDescribe(), sh)) {
// //查询该图书向业务部应送多少
// receiveGoodsBooksService.lambdaQuery()
// .eq(TReceiveGoodsBooks::getRelationId,tReceiveGoodsMain.getId())
// .eq(TReceiveGoodsBooks::getBookNumber,tLibrary.getBookNumber())
// .li
// }
// if (StrUtil.equals(ReceiveGoodsMainEnum.OrderTypeEnum.VERSION_LIBRARY.getDescribe(), sh)) {
// bunchingInfo.setSignedQuantity(1);
// }
// bunchingInfoList.add(bunchingInfo);
//
// }
}
} }
//生成二维码
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
DictionaryDataEntity data = dictionaryDataApi.getByTypeDataCode("SampleLibrary", "xtaddr").getData();
String systemUrl = "http://61.169.37.106:9172/api/file/Image/preview/";
if (null != data) {
systemUrl = data.getDescription();
}
QrCodeUtil.generate(systemUrl, 1000, 1000, "", byteArrayOutputStream);
MockMultipartFile mockMultipartFile = new MockMultipartFile("上架.png", "上架.png", "text/plain", byteArrayOutputStream.toByteArray());
FileInfo preview = fileUploadApi.uploadFile(mockMultipartFile, fileApi.getPath(FileTypeConstant.BIVISUALPATH), "preview", "上架.png");
//修改状态为上架中 //修改状态为上架中
this.lambdaUpdate() this.lambdaUpdate()
.set(TReceiveGoodsMain::getListingQrCode, preview.getFilename()) // .set(TReceiveGoodsMain::getListingQrCode, preview.getFilename())
.set(TReceiveGoodsMain::getMainStatus, mainStatusEnum.getCode()) .set(TReceiveGoodsMain::getMainStatus, mainStatusEnum.getCode())
.set(TReceiveGoodsMain::getMainStatusName, mainStatusEnum.getDescribe()) .set(TReceiveGoodsMain::getMainStatusName, mainStatusEnum.getDescribe())
.set(TReceiveGoodsMain::getUpdateId, UserProvider.getLoginUserId()) .set(TReceiveGoodsMain::getUpdateId, UserProvider.getLoginUserId())
@ -572,5 +700,198 @@ public class TReceiveGoodsMainServiceImpl extends ServiceImpl<TReceiveGoodsMainM
.update(); .update();
} }
@Override
@Transactional
public void h5ShelfInterface(ReceiveGoodsMainDto.H5ShelfInterfaceParam param) {
RLock lock = redisson.getLock(UP_LOCK + param.getId());
try {
//3秒内获取不到锁返回false
boolean getLock = lock.tryLock(5L, TimeUnit.SECONDS);
if (!getLock) throw new DataException("系统繁忙,请稍后再试");
if (StrUtil.isBlank(param.getId())) {
throw new DataException("请输入收货单");
}
TReceiveGoodsMain receiveGoodsMain = this.getById(param.getId());
if (null == receiveGoodsMain) {
throw new DataException("该收货单不存在,不可对该收货单进行上架");
}
if (StrUtil.isBlank(param.getType())) {
throw new DataException("请传入操作人员所属类型");
}
OrganizeEntity corp = null;
OrganizeEntity dept = null;
//查询创建人单位及部门
if (StrUtil.isNotBlank(UserProvider.getUser().getOrganizeId())) {
Optional<OrganizeEntity> deptOptional = organizeService.lambdaQuery()
.eq(OrganizeEntity::getId, UserProvider.getUser().getOrganizeId())
.eq(OrganizeEntity::getEnabledMark, "1").list().stream().findFirst();
if (deptOptional.isPresent()) {
dept = deptOptional.get();
corp = getCorp(dept);
}
}
if (null == corp) {
throw new DataException("请先加入组织");
}
//校验图书状态
checkBookStatus(param);
//校验该图书预警信息
checkWaring(param, corp.getId());
//校验库存保存
Long bookInventoryId = checkBookInventory(param, dept, corp);
//校验保存上架记录
checkShelf(param, bookInventoryId, dept, corp);
//最后校验是否所有图书已上架
if (receiveGoodsBooksService.lambdaQuery()
.eq(TReceiveGoodsBooks::getRelationId, receiveGoodsMain.getId())
.eq(TReceiveGoodsBooks::getDelFlag, "0")
.in(TReceiveGoodsBooks::getListingStatus, Arrays.asList(ReceiveGoodsMainEnum.BookStatusEnum.PENDING_LISTING.getCode(), ReceiveGoodsMainEnum.BookStatusEnum.LISTING.getCode()))
.exists()) {
return;
}
this.lambdaUpdate()
.set(TReceiveGoodsMain::getMainStatus, ReceiveGoodsMainEnum.MainStatusEnum.ALREADY_LISTED.getCode())
.set(TReceiveGoodsMain::getMainStatusName, ReceiveGoodsMainEnum.MainStatusEnum.ALREADY_LISTED.getDescribe())
.set(TReceiveGoodsMain::getUpdateId, UserProvider.getLoginUserId())
.set(TReceiveGoodsMain::getUpdateTime, LocalDateTime.now())
.set(TReceiveGoodsMain::getUpdateName, UserProvider.getUser().getUserName())
.eq(TReceiveGoodsMain::getId, receiveGoodsMain.getId())
.update();
} catch (InterruptedException e) {
log.error("上架失败:" + e);
throw new DataException("上架失败");
} finally {
//释放锁 默认30秒后自动释放
if (lock.isHeldByCurrentThread()) {
lock.unlock();
}
}
}
private void checkShelf(ReceiveGoodsMainDto.H5ShelfInterfaceParam param, Long bookInventoryId, OrganizeEntity dept, OrganizeEntity corp) {
UserInfo user = UserProvider.getUser();
TShelfOperation shelfOperation = new TShelfOperation();
shelfOperation.setSaveType(param.getType());
shelfOperation.setType(ShelfOperationEnum.TypeEnum.LISTING.getCode());
shelfOperation.setOperationType(ShelfOperationEnum.OperationTypeEnum.WAREHOUSE_ENTRY.getCode());
shelfOperation.setOperationTypeName(ShelfOperationEnum.OperationTypeEnum.WAREHOUSE_ENTRY.getDescribe());
shelfOperation.setId(SnowFlake.nextId());
shelfOperation.setBookInventoryId(bookInventoryId.toString());
shelfOperation.setListingNumber(param.getListingNumber());
shelfOperation.setCreateId(user.getUserId());
shelfOperation.setCreateDeptName(dept.getFullName());
shelfOperation.setCreateCorpName(corp.getFullName());
shelfOperation.setCreateDeptId(dept.getId());
shelfOperation.setCreateCorpId(corp.getId());
shelfOperation.setUpdateId(user.getUserId());
shelfOperation.setUpdateTime(LocalDateTime.now());
shelfOperation.setUpdateName(user.getUserName());
shelfOperationService.save(shelfOperation);
}
private Long checkBookInventory(ReceiveGoodsMainDto.H5ShelfInterfaceParam param, OrganizeEntity dept, OrganizeEntity corp) {
UserInfo user = UserProvider.getUser();
TBookInventory bookInventory;
//校验该书架是否已有该图书库存信息
Optional<TBookInventory> bookInventoryOptional = bookInventoryService.lambdaQuery()
.eq(TBookInventory::getBookNumber, param.getBookNumber())
.eq(TBookInventory::getType, param.getType())
.eq(TBookInventory::getCreateCorpId, corp.getId())
.list().stream().findFirst();
if (bookInventoryOptional.isPresent()) {
bookInventory = bookInventoryOptional.get();
bookInventory.setQuantity(bookInventory.getQuantity() + param.getListingNumber());
} else {
TLibrary library = libraryService.getBunchingInfoByBookNumber(param.getBookNumber());
bookInventory = BeanUtil.copyProperties(param, TBookInventory.class);
bookInventory.setId(SnowFlake.nextId());
bookInventory.setAuthor(library.getAuthor());
bookInventory.setCoverImage(library.getCoverImage());
bookInventory.setPublicationTime(library.getPublicationTime());
bookInventory.setContentSummary(library.getContentSummary());
bookInventory.setRemark(library.getRemark());
bookInventory.setVarietyNumber(library.getVarietyNumber());
bookInventory.setQuantity(param.getListingNumber());
bookInventory.setBookNumber(param.getBookNumber());
bookInventory.setRackNumber(param.getRackNumber());
bookInventory.setType(param.getType());
bookInventory.setCreateId(user.getUserId());
bookInventory.setCreateDeptName(dept.getFullName());
bookInventory.setCreateCorpName(corp.getFullName());
bookInventory.setCreateDeptId(dept.getId());
bookInventory.setCreateCorpId(corp.getId());
}
bookInventory.setUpdateId(user.getUserId());
bookInventory.setUpdateTime(LocalDateTime.now());
bookInventory.setUpdateName(user.getUserName());
bookInventoryService.saveOrUpdate(bookInventory);
return bookInventory.getId();
}
private void checkWaring(ReceiveGoodsMainDto.H5ShelfInterfaceParam param, String corpId) {
boolean exists = commonRelationService.lambdaQuery()
.eq(TCommonRelation::getSourceId, param.getBookNumber())
.eq(TCommonRelation::getType, TCommonRelationService.Type.WARNING_NUMBER_FIELD.type)
.eq(TCommonRelation::getTargetId, corpId)
.exists();
if (exists) {
return;
}
TCommonRelation commonRelation = new TCommonRelation();
commonRelation.setSourceId(param.getBookNumber());
commonRelation.setType(TCommonRelationService.Type.WARNING_NUMBER_FIELD.type);
commonRelation.setTargetId(corpId);
commonRelation.setExt(param.getWarningInventory().toString());
commonRelation.setCreateBy(UserProvider.getUser().getUserName());
commonRelation.setCreateTime(LocalDateTime.now());
commonRelation.setCreateName(UserProvider.getUser().getUserName());
commonRelationService.save(commonRelation);
}
private void checkBookStatus(ReceiveGoodsMainDto.H5ShelfInterfaceParam param) {
//查询该书号对应待上架的图书
Optional<TReceiveGoodsBooks> receiveGoodsBooksOptional = receiveGoodsBooksService.lambdaQuery()
.eq(TReceiveGoodsBooks::getRelationId, param.getId())
.eq(TReceiveGoodsBooks::getBookNumber, param.getBookNumber())
.eq(TReceiveGoodsBooks::getDelFlag, "0")
.list().stream().findFirst();
if (!receiveGoodsBooksOptional.isPresent()) {
throw new DataException("该图书不在本次收货记录中,请核对");
}
//校验已入库多少本
TReceiveGoodsBooks receiveGoodsBooks = receiveGoodsBooksOptional.get();
Integer alreadyUpNumber = receiveGoodsBooks.getAlreadyUpNumber();
//本次上架册书数>(应上架册数-已上架册数) 即已超过系统所记录本图书的数量 报错
if (param.getListingNumber() > (receiveGoodsBooks.getShouldUpNumber() - alreadyUpNumber)) {
throw new DataException("上架数量多于未上架数量,上架失败");
}
//应上架册数=(本次上架册书数+已上架册数) 即本图书已完成上架 修改状态
if (receiveGoodsBooks.getShouldUpNumber() == (param.getListingNumber() + alreadyUpNumber)) {
receiveGoodsBooks.setListingStatus(ReceiveGoodsMainEnum.BookStatusEnum.ALREADY_LISTED.getCode());
receiveGoodsBooks.setListingStatusName(ReceiveGoodsMainEnum.BookStatusEnum.ALREADY_LISTED.getDescribe());
}
//如果第一次上架修改状态为上架中
if (StrUtil.equals(receiveGoodsBooks.getListingStatus(), ReceiveGoodsMainEnum.BookStatusEnum.PENDING_LISTING.getCode())) {
receiveGoodsBooks.setListingStatus(ReceiveGoodsMainEnum.BookStatusEnum.LISTING.getCode());
receiveGoodsBooks.setListingStatusName(ReceiveGoodsMainEnum.BookStatusEnum.LISTING.getDescribe());
}
//修改已上架多少本
receiveGoodsBooks.setAlreadyUpNumber(receiveGoodsBooks.getAlreadyUpNumber() + param.getListingNumber());
receiveGoodsBooks.setListingTime(LocalDateTime.now());
receiveGoodsBooks.setListingId(UserProvider.getUser().getUserId());
receiveGoodsBooks.setListingName(UserProvider.getUser().getUserName());
//配置书架 多个用逗号拼接
if (StrUtil.isNotBlank(param.getRackNumber())) {
if (!StrUtil.contains(receiveGoodsBooks.getRackNumber(), param.getRackNumber())) {
receiveGoodsBooks.setRackNumber(StrUtil.join(",", receiveGoodsBooks.getRackNumber(), param.getRackNumber()));
}
} else {
receiveGoodsBooks.setRackNumber(param.getRackNumber());
}
receiveGoodsBooksService.saveOrUpdate(receiveGoodsBooks);
}
} }

23
jnpf-library/jnpf-library-biz/src/main/java/jnpf/service/impl/TRemovalManagementServiceImpl.java

@ -0,0 +1,23 @@
package jnpf.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import jnpf.mapper.TRemovalManagementMapper;
import jnpf.entity.TRemovalManagement;
import jnpf.service.TRemovalManagementService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import java.util.Map;
/**
* 下架管理表(TRemovalManagement)表服务实现类
*
* @author common
* @since 2024-11-06 17:53:14
*/
@Service("tRemovalManagementService")
public class TRemovalManagementServiceImpl extends ServiceImpl<TRemovalManagementMapper, TRemovalManagement> implements TRemovalManagementService {
@Override
public IPage<TRemovalManagement> selectPage(IPage<TRemovalManagement> iPage, Map<String, Object> params){
return this.baseMapper.selectPage(iPage, params);
}
}

6
jnpf-library/jnpf-library-biz/src/main/java/jnpf/service/impl/TSelectionOrderingBooksServiceImpl.java

@ -1,5 +1,6 @@
package jnpf.service.impl; package jnpf.service.impl;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import jnpf.mapper.TSelectionOrderingBooksMapper; import jnpf.mapper.TSelectionOrderingBooksMapper;
import jnpf.entity.TSelectionOrderingBooks; import jnpf.entity.TSelectionOrderingBooks;
@ -28,4 +29,9 @@ public class TSelectionOrderingBooksServiceImpl extends ServiceImpl<TSelectionOr
public List<TSelectionOrderingBooks> getListByIds(List<Long> bdIdList) { public List<TSelectionOrderingBooks> getListByIds(List<Long> bdIdList) {
return this.baseMapper.getListByIds(bdIdList); return this.baseMapper.getListByIds(bdIdList);
} }
@Override
public Page<TSelectionOrderingBooks> pageListByIds(IPage<TSelectionOrderingBooks> page, List<Long> bdIdList) {
return this.baseMapper.pageListByIds(page,bdIdList);
}
} }

310
jnpf-library/jnpf-library-biz/src/main/java/jnpf/service/impl/TSelectionOrderingMainServiceImpl.java

@ -15,6 +15,7 @@ import jnpf.config.ConfigValueUtil;
import jnpf.constant.FileTypeConstant; import jnpf.constant.FileTypeConstant;
import jnpf.constant.PermissionConst; import jnpf.constant.PermissionConst;
import jnpf.entity.*; import jnpf.entity.*;
import jnpf.enump.RemovalManagementEnum;
import jnpf.enump.SelectionOrderingMainEnum; import jnpf.enump.SelectionOrderingMainEnum;
import jnpf.exception.DataException; import jnpf.exception.DataException;
import jnpf.file.FileApi; import jnpf.file.FileApi;
@ -23,14 +24,12 @@ import jnpf.mapper.TSelectionOrderingMainMapper;
import jnpf.model.dto.SelectionOrderingMainDto; import jnpf.model.dto.SelectionOrderingMainDto;
import jnpf.permission.entity.OrganizeEntity; import jnpf.permission.entity.OrganizeEntity;
import jnpf.permission.service.OrganizeService; import jnpf.permission.service.OrganizeService;
import jnpf.service.TBookGoWhereService; import jnpf.service.*;
import jnpf.service.TCommonRelationService;
import jnpf.service.TSelectionOrderingBooksService;
import jnpf.service.TSelectionOrderingMainService;
import jnpf.util.*; import jnpf.util.*;
import jnpf.utils.EasyPoiUtils; import jnpf.utils.EasyPoiUtils;
import jnpf.utils.SnowFlake; import jnpf.utils.SnowFlake;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.apache.catalina.User;
import org.apache.poi.ss.formula.functions.T; import org.apache.poi.ss.formula.functions.T;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -62,6 +61,7 @@ public class TSelectionOrderingMainServiceImpl extends ServiceImpl<TSelectionOrd
private final TBookGoWhereService tBookGoWhereService; private final TBookGoWhereService tBookGoWhereService;
private final FileUploadApi fileUploadApi; private final FileUploadApi fileUploadApi;
private final FileApi fileApi; private final FileApi fileApi;
private final TRemovalManagementService removalManagementService;
@Override @Override
@ -113,7 +113,7 @@ public class TSelectionOrderingMainServiceImpl extends ServiceImpl<TSelectionOrd
user.setUserName("系统"); user.setUserName("系统");
user.setOrganizeId(""); user.setOrganizeId("");
//跟出版社名称获取单位名称-传入的必须为统一出版社的数据 //跟出版社名称获取单位名称-传入的必须为统一出版社的数据
String press = param.getSelectionOrderingBooksList().stream().map(TLibrary::getPress).filter(StrUtil::isNotBlank).findFirst().orElse(""); String press = param.getSelectionOrderingBooksList().stream().map(SelectionOrderingMainDto.TLibraryParam::getPress).filter(StrUtil::isNotBlank).findFirst().orElse("");
if (StrUtil.isBlank(press)) return 0L; if (StrUtil.isBlank(press)) return 0L;
Optional<OrganizeEntity> optionalOrganizeEntity = organizeService.lambdaQuery() Optional<OrganizeEntity> optionalOrganizeEntity = organizeService.lambdaQuery()
.eq(OrganizeEntity::getFullName, press) .eq(OrganizeEntity::getFullName, press)
@ -202,8 +202,16 @@ public class TSelectionOrderingMainServiceImpl extends ServiceImpl<TSelectionOrd
} }
} }
break;
case KEY_BOOKS: case KEY_BOOKS:
user = UserProvider.getUser(); user = UserProvider.getUser();
//配置默认数量
for (SelectionOrderingMainDto.TLibraryParam tLibraryParam : param.getSelectionOrderingBooksList()) {
if (null==tLibraryParam.getSelfReserved()||tLibraryParam.getSelfReserved()==0){
//重点书默认一本
tLibraryParam.setSelfReserved(1);
}
}
break; break;
default: default:
throw new DataException("请选择正确的下单类型"); throw new DataException("请选择正确的下单类型");
@ -257,9 +265,9 @@ public class TSelectionOrderingMainServiceImpl extends ServiceImpl<TSelectionOrd
//保存选书 //保存选书
private void checkBooks(SelectionOrderingMainDto.SelectionOrderingParam param, TSelectionOrderingMain tSelectionOrderingMain) { private void checkBooks(SelectionOrderingMainDto.SelectionOrderingParam param, TSelectionOrderingMain tSelectionOrderingMain) {
List<TLibrary> librarylist = param.getSelectionOrderingBooksList(); List<SelectionOrderingMainDto.TLibraryParam> librarylist = param.getSelectionOrderingBooksList();
if (CollUtil.isEmpty(librarylist)) return; if (CollUtil.isEmpty(librarylist)) return;
for (TLibrary library : librarylist) { for (SelectionOrderingMainDto.TLibraryParam library : librarylist) {
TSelectionOrderingBooks tSelectionOrderingBooks; TSelectionOrderingBooks tSelectionOrderingBooks;
List<SelectionOrderingMainDto.BookTurnoverInfo> bookTurnoverInfoList = library.getBookTurnoverInfoList(); List<SelectionOrderingMainDto.BookTurnoverInfo> bookTurnoverInfoList = library.getBookTurnoverInfoList();
//先校验是否为更改还是新增 //先校验是否为更改还是新增
@ -271,7 +279,7 @@ public class TSelectionOrderingMainServiceImpl extends ServiceImpl<TSelectionOrd
saveRelation(bookTurnoverInfoList, tSelectionOrderingBooks, param, tSelectionOrderingMain); saveRelation(bookTurnoverInfoList, tSelectionOrderingBooks, param, tSelectionOrderingMain);
continue; continue;
} }
//到这里就是为更改了 //到这里就是为(wei二声)更改了
//校验是否为新增 //校验是否为新增
tSelectionOrderingBooks = selectionOrderingBooksService.lambdaQuery().eq(TSelectionOrderingBooks::getId, library.getId()) tSelectionOrderingBooks = selectionOrderingBooksService.lambdaQuery().eq(TSelectionOrderingBooks::getId, library.getId())
.eq(TSelectionOrderingBooks::getDelFlag, "0").one(); .eq(TSelectionOrderingBooks::getDelFlag, "0").one();
@ -291,7 +299,7 @@ public class TSelectionOrderingMainServiceImpl extends ServiceImpl<TSelectionOrd
} }
@NotNull @NotNull
private TSelectionOrderingBooks saveSelectionOrderingBooks(TLibrary library, TSelectionOrderingMain tSelectionOrderingMain) { private TSelectionOrderingBooks saveSelectionOrderingBooks(SelectionOrderingMainDto.TLibraryParam library, TSelectionOrderingMain tSelectionOrderingMain) {
TSelectionOrderingBooks tSelectionOrderingBooks; TSelectionOrderingBooks tSelectionOrderingBooks;
tSelectionOrderingBooks = BeanUtil.copyProperties(library, TSelectionOrderingBooks.class); tSelectionOrderingBooks = BeanUtil.copyProperties(library, TSelectionOrderingBooks.class);
tSelectionOrderingBooks.setId(SnowFlake.nextId()); tSelectionOrderingBooks.setId(SnowFlake.nextId());
@ -394,6 +402,10 @@ public class TSelectionOrderingMainServiceImpl extends ServiceImpl<TSelectionOrd
if (orderTypeEnum != SelectionOrderingMainEnum.OrderTypeEnum.VERSION_LIBRARY) { if (orderTypeEnum != SelectionOrderingMainEnum.OrderTypeEnum.VERSION_LIBRARY) {
param.setUserId(UserProvider.getUser().getUserId()); param.setUserId(UserProvider.getUser().getUserId());
} }
if (orderTypeEnum != SelectionOrderingMainEnum.OrderTypeEnum.KEY_BOOKS) {
param.setCorpId(getCorp(organizeService.getInfo(UserProvider.getUser().getOrganizeId())).getId());
}
try { try {
LocalDateTimeUtil.parse(param.getStartTime(), "yyyy-MM-dd HH:mm:ss"); LocalDateTimeUtil.parse(param.getStartTime(), "yyyy-MM-dd HH:mm:ss");
LocalDateTimeUtil.parse(param.getEndTime(), "yyyy-MM-dd HH:mm:ss"); LocalDateTimeUtil.parse(param.getEndTime(), "yyyy-MM-dd HH:mm:ss");
@ -435,33 +447,33 @@ public class TSelectionOrderingMainServiceImpl extends ServiceImpl<TSelectionOrd
SelectionOrderingMainDto.CommonTSelectionOrderingMain tSelectionOrderingMain = this.baseMapper.getInfoById(id); SelectionOrderingMainDto.CommonTSelectionOrderingMain tSelectionOrderingMain = this.baseMapper.getInfoById(id);
if (!queryOther) return tSelectionOrderingMain; if (!queryOther) return tSelectionOrderingMain;
OrganizeEntity corp = getCorp(organizeService.getInfo(UserProvider.getUser().getOrganizeId())); // OrganizeEntity corp = getCorp(organizeService.getInfo(UserProvider.getUser().getOrganizeId()));
//查询本单位所有已提交未下单的选品 // //查询本单位所有已提交未下单的选品
List<TSelectionOrderingMain> tSelectionOrderingMainList = this.lambdaQuery() // List<TSelectionOrderingMain> tSelectionOrderingMainList = this.lambdaQuery()
.eq(TSelectionOrderingMain::getDelFlag, "0") // .eq(TSelectionOrderingMain::getDelFlag, "0")
.eq(TSelectionOrderingMain::getMainStatus, SelectionOrderingMainEnum.MainStatusEnum.PENDING_ORDER.getCode()) // .eq(TSelectionOrderingMain::getMainStatus, SelectionOrderingMainEnum.MainStatusEnum.PENDING_ORDER.getCode())
.ne(TSelectionOrderingMain::getType, SelectionOrderingMainEnum.OrderTypeEnum.KEY_BOOKS.getCode()) // .ne(TSelectionOrderingMain::getType, SelectionOrderingMainEnum.OrderTypeEnum.KEY_BOOKS.getCode())
.eq(TSelectionOrderingMain::getCreateCorpId, corp.getId()) // .eq(TSelectionOrderingMain::getCreateCorpId, corp.getId())
.list(); // .list();
if (CollUtil.isEmpty(tSelectionOrderingMainList)) return tSelectionOrderingMain; // if (CollUtil.isEmpty(tSelectionOrderingMainList)) return tSelectionOrderingMain;
//根据下单类型进行分类 // //根据下单类型进行分类
Map<String, List<TSelectionOrderingMain>> orderTypeResult = tSelectionOrderingMainList.stream().collect(Collectors.groupingBy(TSelectionOrderingMain::getType)); // Map<String, List<TSelectionOrderingMain>> orderTypeResult = tSelectionOrderingMainList.stream().collect(Collectors.groupingBy(TSelectionOrderingMain::getType));
for (String orderTypeCode : orderTypeResult.keySet()) { // for (String orderTypeCode : orderTypeResult.keySet()) {
//业务部汇总 // //业务部汇总
if (StrUtil.equals(orderTypeCode, SelectionOrderingMainEnum.OrderTypeEnum.BUSINESS_DEPARTMENT.getCode())) { // if (StrUtil.equals(orderTypeCode, SelectionOrderingMainEnum.OrderTypeEnum.BUSINESS_DEPARTMENT.getCode())) {
List<Long> bdIdList = orderTypeResult.get(SelectionOrderingMainEnum.OrderTypeEnum.BUSINESS_DEPARTMENT.getCode()).stream().map(TSelectionOrderingMain::getId).collect(Collectors.toList()); // List<Long> bdIdList = orderTypeResult.get(SelectionOrderingMainEnum.OrderTypeEnum.BUSINESS_DEPARTMENT.getCode()).stream().map(TSelectionOrderingMain::getId).collect(Collectors.toList());
if (CollUtil.isNotEmpty(bdIdList)) { // if (CollUtil.isNotEmpty(bdIdList)) {
tSelectionOrderingMain.setBusinessDepartmentBooksList(selectionOrderingBooksService.getListByIds(bdIdList)); // tSelectionOrderingMain.setBusinessDepartmentBooksList(selectionOrderingBooksService.getListByIds(bdIdList));
} // }
} // }
//版本馆汇总 // //版本馆汇总
if (StrUtil.equals(orderTypeCode, SelectionOrderingMainEnum.OrderTypeEnum.VERSION_LIBRARY.getCode())) { // if (StrUtil.equals(orderTypeCode, SelectionOrderingMainEnum.OrderTypeEnum.VERSION_LIBRARY.getCode())) {
List<Long> bbIdList = orderTypeResult.get(SelectionOrderingMainEnum.OrderTypeEnum.VERSION_LIBRARY.getCode()).stream().map(TSelectionOrderingMain::getId).collect(Collectors.toList()); // List<Long> bbIdList = orderTypeResult.get(SelectionOrderingMainEnum.OrderTypeEnum.VERSION_LIBRARY.getCode()).stream().map(TSelectionOrderingMain::getId).collect(Collectors.toList());
if (CollUtil.isNotEmpty(bbIdList)) { // if (CollUtil.isNotEmpty(bbIdList)) {
tSelectionOrderingMain.setVersionLibraryBooksList(selectionOrderingBooksService.getListByIds(bbIdList)); // tSelectionOrderingMain.setVersionLibraryBooksList(selectionOrderingBooksService.getListByIds(bbIdList));
} // }
} // }
} // }
return tSelectionOrderingMain; return tSelectionOrderingMain;
} }
@ -516,4 +528,230 @@ public class TSelectionOrderingMainServiceImpl extends ServiceImpl<TSelectionOrd
} }
@Override
public void presidentSelection(SelectionOrderingMainDto.PresidentSelectionParam param) {
if (null==param.getSaveType()){
throw new DataException("请选择保存类型");
}
//校验该重点选品单是否存在
if (null==param.getId()){
throw new DataException("请选择选品单");
}
TSelectionOrderingMain selectionOrderingMain = this.getById(param.getId());
if (null==selectionOrderingMain){
throw new DataException("该选品单已删除");
}
//校验是否已选过
if (!StrUtil.equals(SelectionOrderingMainEnum.MainStatusEnum.PENDING_VERIFICATION.getCode(),selectionOrderingMain.getMainStatus())){
throw new DataException("该选品重点书籍已进行过筛选");
}
//删除所有社长所选书籍
tCommonRelationService.lambdaUpdate()
.eq(TCommonRelation::getSourceId,param.getId())
.eq(TCommonRelation::getType,TCommonRelationService.Type.BOOKS_CHOSEN_BY_THE_PRESIDENT.type)
.remove();
if (CollUtil.isEmpty(param.getBookId())){
return;
}
for (Long bookId : param.getBookId()) {
TCommonRelation commonRelation=new TCommonRelation();
commonRelation.setId(SnowFlake.nextId());
commonRelation.setSourceId(param.getId().toString());
commonRelation.setType(TCommonRelationService.Type.BOOKS_CHOSEN_BY_THE_PRESIDENT.type);
commonRelation.setTargetId(bookId.toString());
commonRelation.setCreateTime(LocalDateTime.now());
commonRelation.setCreateBy(UserProvider.getUser().getUserId());
commonRelation.setCreateName(UserProvider.getUser().getUserName());
tCommonRelationService.save(commonRelation);
}
if (StrUtil.equals(param.getSaveType(),"1")){
return;
}
this.lambdaUpdate()
.set(TSelectionOrderingMain::getMainStatus,SelectionOrderingMainEnum.MainStatusEnum.RECOMMENDED.getCode())
.set(TSelectionOrderingMain::getMainStatusName,SelectionOrderingMainEnum.MainStatusEnum.RECOMMENDED.getDescribe())
.eq(TSelectionOrderingMain::getId, param.getId())
.update();
//添加该单号对应的领导是否选书标记
TCommonRelation commonRelation=new TCommonRelation();
commonRelation.setId(SnowFlake.nextId());
commonRelation.setSourceId(param.getId().toString());
commonRelation.setType(TCommonRelationService.Type.LEADER_SELECTION_BOOK_MARK.type);
commonRelation.setExt("false");
commonRelation.setCreateTime(LocalDateTime.now());
commonRelation.setCreateBy(UserProvider.getUser().getUserId());
commonRelation.setCreateName(UserProvider.getUser().getUserName());
tCommonRelationService.save(commonRelation);
}
@Override
public IPage<TSelectionOrderingBooks> aggregateQuery(SelectionOrderingMainDto.AggregateQuery param) {
if (StrUtil.isBlank(param.getOrderType())){
throw new DataException("请选择查询类型");
}
OrganizeEntity corp = getCorp(organizeService.getInfo(UserProvider.getUser().getOrganizeId()));
//查询本单位所有已提交未下单的选品
List<TSelectionOrderingMain> tSelectionOrderingMainList = this.lambdaQuery()
.eq(TSelectionOrderingMain::getDelFlag, "0")
.eq(TSelectionOrderingMain::getMainStatus, SelectionOrderingMainEnum.MainStatusEnum.PENDING_ORDER.getCode())
.eq(TSelectionOrderingMain::getType, param.getOrderType())
.ne(TSelectionOrderingMain::getType, SelectionOrderingMainEnum.OrderTypeEnum.KEY_BOOKS.getCode())
.eq(TSelectionOrderingMain::getCreateCorpId, corp.getId())
.list();
if (CollUtil.isEmpty(tSelectionOrderingMainList)){
return new Page<>();
}
return selectionOrderingBooksService.pageListByIds(new Page<>(param.getCurrent(),param.getSize()),tSelectionOrderingMainList.stream().map(TSelectionOrderingMain::getId).collect(Collectors.toList()));
}
@Override
public IPage<TSelectionOrderingBooks> pageSelectedBooks(SelectionOrderingMainDto.PageSelectedBooks param) {
if (null==param.getId()){
throw new DataException("请选择选品单");
}
TSelectionOrderingMain selectionOrderingMain = this.getById(param.getId());
if (null==selectionOrderingMain){
throw new DataException("该选品单已删除");
}
return selectionOrderingBooksService.pageListByIds(new Page<>(param.getCurrent(),param.getSize()), Collections.singletonList(param.getId()));
}
@Override
public IPage<TSelectionOrderingBooks> queryBooksFromPresident(SelectionOrderingMainDto.QueryBooksFromPresident param) {
if (null==param.getId()){
throw new DataException("请选择选品单");
}
TSelectionOrderingMain selectionOrderingMain = this.getById(param.getId());
if (null==selectionOrderingMain){
throw new DataException("该选品单已删除");
}
List<Long> bookIdList = tCommonRelationService.lambdaQuery()
.eq(TCommonRelation::getSourceId, param.getId())
.eq(TCommonRelation::getType, TCommonRelationService.Type.BOOKS_CHOSEN_BY_THE_PRESIDENT.type)
.list().stream().map(TCommonRelation::getTargetId).map(Long::parseLong).collect(Collectors.toList());
if (CollUtil.isEmpty(bookIdList)){
return new Page<>();
}
return selectionOrderingBooksService.lambdaQuery()
.in(TSelectionOrderingBooks::getId,bookIdList)
.eq(TSelectionOrderingBooks::getDelFlag,"0")
.page(new Page<>(param.getCurrent(),param.getSize()));
}
@Override
public List<SelectionOrderingMainDto.QueryOrderingListForLeaderResponse> queryOrderingListForLeader() {
//查询所有
// List<Long> orderingList = tCommonRelationService.lambdaQuery()
// .eq(TCommonRelation::getType, TCommonRelationService.Type.BOOKS_CHOSEN_BY_THE_PRESIDENT.type)
// .eq(TCommonRelation::getExt,"false")
// .list().stream().map(TCommonRelation::getSourceId).map(Long::parseLong).collect(Collectors.toList());
//查询所有重点数选品列表
return this.baseMapper.queryOrderingListForLeader();
// return Collections.emptyList();
}
@Override
public void leaderSelection(SelectionOrderingMainDto.PresidentSelectionParam param) {
if (null==param.getSaveType()){
throw new DataException("请选择保存类型");
}
//校验该重点选品单是否存在
if (null==param.getId()){
throw new DataException("请选择选品单");
}
TSelectionOrderingMain selectionOrderingMain = this.getById(param.getId());
if (null==selectionOrderingMain){
throw new DataException("该选品单已删除");
}
//删除所有领导所选书籍
tCommonRelationService.lambdaUpdate()
.eq(TCommonRelation::getSourceId,param.getId())
.eq(TCommonRelation::getType,TCommonRelationService.Type.BOOKS_CHOSEN_BY_THE_LEADER.type)
.remove();
if (CollUtil.isEmpty(param.getBookId())){
return;
}
for (Long bookId : param.getBookId()) {
TCommonRelation commonRelation=new TCommonRelation();
commonRelation.setId(SnowFlake.nextId());
commonRelation.setSourceId(param.getId().toString());
commonRelation.setType(TCommonRelationService.Type.BOOKS_CHOSEN_BY_THE_LEADER.type);
commonRelation.setTargetId(bookId.toString());
commonRelation.setCreateTime(LocalDateTime.now());
commonRelation.setCreateBy(UserProvider.getUser().getUserId());
commonRelation.setCreateName(UserProvider.getUser().getUserName());
tCommonRelationService.save(commonRelation);
}
if (StrUtil.equals(param.getSaveType(),"1")){
return;
}
//添加该单号对应的领导是否选书标记
tCommonRelationService.lambdaUpdate()
.set(TCommonRelation::getExt,"true")
.eq(TCommonRelation::getSourceId,param.getId().toString())
.eq(TCommonRelation::getType,TCommonRelationService.Type.LEADER_SELECTION_BOOK_MARK.type)
.update();
//生成重点书下架单
generateOrder(param);
}
private void generateOrder(SelectionOrderingMainDto.PresidentSelectionParam param) {
TRemovalManagement removalManagement=new TRemovalManagement();
//新增单号
String idPrefix = "ZD" + LocalDateTimeUtil.format(LocalDateTime.now(), "yyyyMMdd");
removalManagement.setId(String.format("%s%03d", idPrefix, redisSerialNumberUtils.generateSerialNumber(idPrefix)));
removalManagement.setCreateTime(LocalDateTime.now());
removalManagement.setCreateName("领导");
removalManagement.setUpdateTime(LocalDateTime.now());
removalManagement.setUpdateName("领导");
removalManagement.setSaveType(SelectionOrderingMainEnum.OrderTypeEnum.SAMPLE_BOOKSTORE.getCode());
removalManagement.setType(RemovalManagementEnum.TypeEnum.ZD.getCode());
removalManagement.setMainStatus(RemovalManagementEnum.MainStatusEnum.TO_BE_TAKEN_DOWN.getCode());
removalManagement.setMainStatusName(RemovalManagementEnum.MainStatusEnum.TO_BE_TAKEN_DOWN.getDescribe());
//查询册数
int quantity = selectionOrderingBooksService.lambdaQuery()
.in(TSelectionOrderingBooks::getId, param.getBookId())
.eq(TSelectionOrderingBooks::getDelFlag, "0")
.list()
.stream().mapToInt(TSelectionOrderingBooks::getQuantity).sum();
removalManagement.setRemoveNumber(quantity);
//查询部门 因为是领导免登陆选书 所以只能根据选品单获取单位信息
TSelectionOrderingMain selectionOrderingMain = this.getById(param.getId());
if (null!=selectionOrderingMain){
removalManagement.setCreateCorpId(selectionOrderingMain.getCreateCorpId());
removalManagement.setCreateCorpName(selectionOrderingMain.getCreateCorpName());
}
removalManagementService.save(removalManagement);
}
@Override
public List<TSelectionOrderingBooks> queryBooksFromLeader(SelectionOrderingMainDto.QueryBooksFromPresident param) {
if (null==param.getId()){
throw new DataException("请选择选品单");
}
TSelectionOrderingMain selectionOrderingMain = this.getById(param.getId());
if (null==selectionOrderingMain){
throw new DataException("该选品单已删除");
}
List<Long> bookIdList = tCommonRelationService.lambdaQuery()
.eq(TCommonRelation::getSourceId, param.getId())
.eq(TCommonRelation::getType, TCommonRelationService.Type.BOOKS_CHOSEN_BY_THE_LEADER.type)
.list().stream().map(TCommonRelation::getTargetId).map(Long::parseLong).collect(Collectors.toList());
if (CollUtil.isEmpty(bookIdList)){
return new ArrayList<>();
}
return selectionOrderingBooksService.lambdaQuery()
.in(TSelectionOrderingBooks::getId,bookIdList)
.eq(TSelectionOrderingBooks::getDelFlag,"0")
.list();
}
} }

23
jnpf-library/jnpf-library-biz/src/main/java/jnpf/service/impl/TShelfOperationServiceImpl.java

@ -0,0 +1,23 @@
package jnpf.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import jnpf.mapper.TShelfOperationMapper;
import jnpf.entity.TShelfOperation;
import jnpf.service.TShelfOperationService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import java.util.Map;
/**
* 上下架操作表(TShelfOperation)表服务实现类
*
* @author common
* @since 2024-10-29 16:00:29
*/
@Service("tShelfOperationService")
public class TShelfOperationServiceImpl extends ServiceImpl<TShelfOperationMapper, TShelfOperation> implements TShelfOperationService {
@Override
public IPage<TShelfOperation> selectPage(IPage<TShelfOperation> iPage, Map<String, Object> params){
return this.baseMapper.selectPage(iPage, params);
}
}

69
jnpf-library/jnpf-library-biz/src/main/java/jnpf/task/SybVersionLibraryTask.java

@ -0,0 +1,69 @@
package jnpf.task;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import jnpf.entity.TLibrary;
import jnpf.entity.TReceiveGoodsMain;
import jnpf.entity.TSelectionOrderingMain;
import jnpf.enump.SelectionOrderingMainEnum;
import jnpf.exception.DataException;
import jnpf.model.dto.SelectionOrderingMainDto;
import jnpf.service.ILibraryService;
import jnpf.service.TReceiveGoodsBooksService;
import jnpf.service.TReceiveGoodsMainService;
import jnpf.service.TSelectionOrderingMainService;
import jnpf.service.impl.TSelectionOrderingMainServiceImpl;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.redisson.Redisson;
import org.redisson.api.RLock;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.util.List;
import java.util.concurrent.TimeUnit;
@Component
@AllArgsConstructor
@Slf4j
public class SybVersionLibraryTask {
private final TSelectionOrderingMainService selectionOrderingMainService;
private final ILibraryService libraryService;
private final Redisson redisson;
private final TReceiveGoodsMainService receiveGoodsMainService;
private final TReceiveGoodsBooksService receiveGoodsBooksService;
/**
* 每月1号去同步最新图书数据
*/
// @Scheduled(initialDelay = 10000L,fixedDelay = 60*1000)
@Scheduled(cron = "0 0 1 1 * ?")
public void synVersionLibraryData() {
RLock lock = redisson.getLock("SYN_VERSION_LIBRARY_DATA_LOCK");
try {
//3秒内获取不到锁返回false
boolean getLock = lock.tryLock(5L, TimeUnit.SECONDS);
if (!getLock) return;
List<SelectionOrderingMainDto.TLibraryParam> libraryList = BeanUtil.copyToList(libraryService.synVersionLibraryData(), SelectionOrderingMainDto.TLibraryParam.class);
if (CollUtil.isEmpty(libraryList)) return;
for (TLibrary library : libraryList) {
library.setSelfReserved(1);
}
SelectionOrderingMainDto.SelectionOrderingParam param = new SelectionOrderingMainDto.SelectionOrderingParam();
param.setOrderType(SelectionOrderingMainEnum.OrderTypeEnum.VERSION_LIBRARY.getCode());
param.setSaveType("2");
param.setSelectionOrderingBooksList(libraryList);
selectionOrderingMainService.selectionOrdering(param);
} catch (Exception e) {
log.error("同步图书执行失败:{}", e);
} finally {
if (lock.isHeldByCurrentThread()) {
lock.unlock();
}
}
}
}

68
jnpf-library/jnpf-library-biz/src/main/resources/mapper/TBookGoWhereMapper.xml

@ -25,70 +25,70 @@
</resultMap> </resultMap>
<sql id="Base_Column_List" > <sql id="Base_Column_List" >
ID,book_number,target_name,should_send,actual_send,warehouse_entry_flag,del_flag,create_by,create_name,create_time,update_by,update_name,update_time,create_corp_name,create_corp_id,create_dept_name,create_dept_id,type,relation_id </sql> f_ID as ID, f_book_number as book_number, f_target_name as target_name, f_order_type as order_type, f_type as type, f_relation_id as relation_id, f_should_send as should_send, f_actual_send as actual_send, f_warehouse_entry_flag as warehouse_entry_flag, f_del_flag as del_flag, f_create_by as create_by, f_create_name as create_name, f_create_time as create_time, f_update_by as update_by, f_update_name as update_name, f_update_time as update_time, f_create_corp_name as create_corp_name, f_create_corp_id as create_corp_id, f_create_dept_name as create_dept_name, f_create_dept_id as create_dept_id </sql>
<!--查询指定行数据--> <!--查询指定行数据-->
<select id="selectPage" resultMap="TBookGoWhereMap"> <select id="selectPage" resultMap="TBookGoWhereMap">
select select
ID,book_number,target_name,should_send,actual_send,warehouse_entry_flag,del_flag,create_by,create_name,create_time,update_by,update_name,update_time,create_corp_name,create_corp_id,create_dept_name,create_dept_id,type,relation_id from t_book_go_where f_ID as ID, f_book_number as book_number, f_target_name as target_name, f_order_type as order_type, f_type as type, f_relation_id as relation_id, f_should_send as should_send, f_actual_send as actual_send, f_warehouse_entry_flag as warehouse_entry_flag, f_del_flag as del_flag, f_create_by as create_by, f_create_name as create_name, f_create_time as create_time, f_update_by as update_by, f_update_name as update_name, f_update_time as update_time, f_create_corp_name as create_corp_name, f_create_corp_id as create_corp_id, f_create_dept_name as create_dept_name, f_create_dept_id as create_dept_id from t_book_go_where
<where> <where>
<if test="params.id != null"> <if test="params.id != null">
and ID = #{params.id} and f_ID = #{params.id}
</if> </if>
<if test="params.bookNumber != null and params.bookNumber != ''"> <if test="params.bookNumber != null and params.bookNumber != ''">
and book_number = #{params.bookNumber} and f_book_number = #{params.bookNumber}
</if> </if>
<if test="params.targetName != null and params.targetName != ''"> <if test="params.targetName != null and params.targetName != ''">
and target_name = #{params.targetName} and f_target_name = #{params.targetName}
</if> </if>
<if test="params.shouldSend != null"> <if test="params.shouldSend != null">
and should_send = #{params.shouldSend} and f_should_send = #{params.shouldSend}
</if> </if>
<if test="params.actualSend != null"> <if test="params.actualSend != null">
and actual_send = #{params.actualSend} and f_actual_send = #{params.actualSend}
</if> </if>
<if test="params.warehouseEntryFlag != null and params.warehouseEntryFlag != ''"> <if test="params.warehouseEntryFlag != null and params.warehouseEntryFlag != ''">
and warehouse_entry_flag = #{params.warehouseEntryFlag} and f_warehouse_entry_flag = #{params.warehouseEntryFlag}
</if> </if>
<if test="params.delFlag != null and params.delFlag != ''"> <if test="params.delFlag != null and params.delFlag != ''">
and del_flag = #{params.delFlag} and f_del_flag = #{params.delFlag}
</if> </if>
<if test="params.createBy != null and params.createBy != ''"> <if test="params.createBy != null and params.createBy != ''">
and create_by = #{params.createBy} and create_by = #{params.createBy}
</if> </if>
<if test="params.createName != null and params.createName != ''"> <if test="params.createName != null and params.createName != ''">
and create_name = #{params.createName} and f_create_name = #{params.createName}
</if> </if>
<if test="params.createTime != null"> <if test="params.createTime != null">
and create_time = #{params.createTime} and f_create_time = #{params.createTime}
</if> </if>
<if test="params.updateBy != null and params.updateBy != ''"> <if test="params.updateBy != null and params.updateBy != ''">
and update_by = #{params.updateBy} and f_update_by = #{params.updateBy}
</if> </if>
<if test="params.updateName != null and params.updateName != ''"> <if test="params.updateName != null and params.updateName != ''">
and update_name = #{params.updateName} and f_update_name = #{params.updateName}
</if> </if>
<if test="params.updateTime != null"> <if test="params.updateTime != null">
and update_time = #{params.updateTime} and f_update_time = #{params.updateTime}
</if> </if>
<if test="params.createCorpName != null and params.createCorpName != ''"> <if test="params.createCorpName != null and params.createCorpName != ''">
and create_corp_name = #{params.createCorpName} and f_create_corp_name = #{params.createCorpName}
</if> </if>
<if test="params.createCorpId != null and params.createCorpId != ''"> <if test="params.createCorpId != null and params.createCorpId != ''">
and create_corp_id = #{params.createCorpId} and f_create_corp_id = #{params.createCorpId}
</if> </if>
<if test="params.createDeptName != null and params.createDeptName != ''"> <if test="params.createDeptName != null and params.createDeptName != ''">
and create_dept_name = #{params.createDeptName} and f_create_dept_name = #{params.createDeptName}
</if> </if>
<if test="params.createDeptId != null and params.createDeptId != ''"> <if test="params.createDeptId != null and params.createDeptId != ''">
and create_dept_id = #{params.createDeptId} and f_create_dept_id = #{params.createDeptId}
</if> </if>
<if test="params.createTimes != null"> <if test="params.createTimes != null">
and create_time &gt;= #{params.createTimes[0]} and f_create_time &gt;= #{params.createTimes[0]}
and create_time &lt;= #{params.createTimes[1]} and f_create_time &lt;= #{params.createTimes[1]}
</if> </if>
<if test="params.updateTimes != null"> <if test="params.updateTimes != null">
and update_time &gt;= #{params.updateTimes[0]} and f_update_time &gt;= #{params.updateTimes[0]}
and update_time &lt;= #{params.updateTimes[1]} and f_update_time &lt;= #{params.updateTimes[1]}
</if> </if>
</where> </where>
</select> </select>
@ -115,24 +115,24 @@ ID,book_number,target_name,should_send,actual_send,warehouse_entry_flag,del_flag
<result property="createDeptId" column="create_dept_id" jdbcType="VARCHAR"/> <result property="createDeptId" column="create_dept_id" jdbcType="VARCHAR"/>
</resultMap> </resultMap>
<select id="getStackingInformation" resultMap="TBookGoWhereStackingInformationMap"> <select id="getStackingInformation" resultMap="TBookGoWhereStackingInformationMap">
select target_name,sum(should_send) should_send,sum(actual_send) actual_send select f_target_name as target_name,sum(f_should_send) should_send,sum(f_actual_send) actual_send
from t_book_go_where from t_book_go_where
where book_number = #{bookNumber} where f_book_number = #{bookNumber}
and warehouse_entry_flag = '0' and f_warehouse_entry_flag = '0'
and del_flag = '0' and f_del_flag = '0'
and type = '0' and f_type = '0'
and create_corp_id=#{corpId} and f_create_corp_id=#{corpId}
group by target_name group by f_target_name
</select> </select>
<select id="getStackingInformationByRelationId" resultMap="TBookGoWhereStackingInformationMap"> <select id="getStackingInformationByRelationId" resultMap="TBookGoWhereStackingInformationMap">
select <include refid="Base_Column_List"/> select <include refid="Base_Column_List"/>
from t_book_go_where from t_book_go_where
where relation_id = #{id} where f_relation_id = #{id}
and book_number = #{bookNumber} and f_book_number = #{bookNumber}
and warehouse_entry_flag = '0' and f_warehouse_entry_flag = '1'
and del_flag = '0' and f_del_flag = '0'
and type = '1' and f_type = '1'
</select> </select>
</mapper> </mapper>

129
jnpf-library/jnpf-library-biz/src/main/resources/mapper/TBookInventoryMapper.xml

@ -0,0 +1,129 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="jnpf.mapper.TBookInventoryMapper">
<resultMap type="jnpf.entity.TBookInventory" id="TBookInventoryMap">
<result property="id" column="id" jdbcType="INTEGER"/>
<result property="type" column="type" jdbcType="VARCHAR"/>
<result property="bookNumber" column="book_number" jdbcType="VARCHAR"/>
<result property="bookName" column="book_name" jdbcType="VARCHAR"/>
<result property="author" column="author" jdbcType="VARCHAR"/>
<result property="rackNumber" column="rack_number" jdbcType="VARCHAR"/>
<result property="coverImage" column="cover_image" jdbcType="VARCHAR"/>
<result property="price" column="price" jdbcType="VARCHAR"/>
<result property="edition" column="edition" jdbcType="VARCHAR"/>
<result property="impression" column="impression" jdbcType="VARCHAR"/>
<result property="publicationTime" column="publication_time" jdbcType="VARCHAR"/>
<result property="contentSummary" column="content_summary" jdbcType="VARCHAR"/>
<result property="remark" column="remark" jdbcType="VARCHAR"/>
<result property="quantity" column="quantity" jdbcType="INTEGER"/>
<result property="varietyNumber" column="variety_number" jdbcType="VARCHAR"/>
<result property="delFlag" column="del_flag" jdbcType="VARCHAR"/>
<result property="createId" column="create_id" jdbcType="VARCHAR"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="createName" column="create_name" jdbcType="VARCHAR"/>
<result property="updateId" column="update_id" jdbcType="VARCHAR"/>
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
<result property="updateName" column="update_name" jdbcType="VARCHAR"/>
<result property="createCorpName" column="create_corp_name" jdbcType="VARCHAR"/>
<result property="createCorpId" column="create_corp_id" jdbcType="VARCHAR"/>
<result property="createDeptName" column="create_dept_name" jdbcType="VARCHAR"/>
<result property="createDeptId" column="create_dept_id" jdbcType="VARCHAR"/>
</resultMap>
<sql id="Base_Column_List" >
f_id as id, f_type as type, f_book_number as book_number, f_book_name as book_name, f_author as author, f_rack_number as rack_number, f_cover_image as cover_image, f_price as price, f_edition as edition, f_impression as impression, f_publication_time as publication_time, f_content_summary as content_summary, f_remark as remark, f_quantity as quantity, f_variety_number as variety_number, f_del_flag as del_flag, f_create_id as create_id, f_create_time as create_time, f_create_name as create_name, f_update_id as update_id, f_update_time as update_time, f_update_name as update_name, f_create_corp_name as create_corp_name, f_create_corp_id as create_corp_id, f_create_dept_name as create_dept_name, f_create_dept_id as create_dept_id </sql>
<!--查询指定行数据-->
<select id="selectPage" resultMap="TBookInventoryMap">
select
f_id as id, f_type as type, f_book_number as book_number, f_book_name as book_name, f_author as author, f_rack_number as rack_number, f_cover_image as cover_image, f_price as price, f_edition as edition, f_impression as impression, f_publication_time as publication_time, f_content_summary as content_summary, f_remark as remark, f_quantity as quantity, f_variety_number as variety_number, f_del_flag as del_flag, f_create_id as create_id, f_create_time as create_time, f_create_name as create_name, f_update_id as update_id, f_update_time as update_time, f_update_name as update_name, f_create_corp_name as create_corp_name, f_create_corp_id as create_corp_id, f_create_dept_name as create_dept_name, f_create_dept_id as create_dept_id from t_book_inventory
<where>
<if test="params.id != null">
and f_id = #{params.id}
</if>
<if test="params.type != null and params.type != ''">
and f_type = #{params.type}
</if>
<if test="params.bookNumber != null and params.bookNumber != ''">
and f_book_number = #{params.bookNumber}
</if>
<if test="params.bookName != null and params.bookName != ''">
and f_book_name = #{params.bookName}
</if>
<if test="params.author != null and params.author != ''">
and f_author = #{params.author}
</if>
<if test="params.rackNumber != null and params.rackNumber != ''">
and f_rack_number = #{params.rackNumber}
</if>
<if test="params.coverImage != null and params.coverImage != ''">
and f_cover_image = #{params.coverImage}
</if>
<if test="params.price != null and params.price != ''">
and f_price = #{params.price}
</if>
<if test="params.edition != null and params.edition != ''">
and f_edition = #{params.edition}
</if>
<if test="params.impression != null and params.impression != ''">
and f_impression = #{params.impression}
</if>
<if test="params.publicationTime != null and params.publicationTime != ''">
and f_publication_time = #{params.publicationTime}
</if>
<if test="params.contentSummary != null and params.contentSummary != ''">
and f_content_summary = #{params.contentSummary}
</if>
<if test="params.remark != null and params.remark != ''">
and f_remark = #{params.remark}
</if>
<if test="params.quantity != null">
and f_quantity = #{params.quantity}
</if>
<if test="params.varietyNumber != null and params.varietyNumber != ''">
and f_variety_number = #{params.varietyNumber}
</if>
<if test="params.delFlag != null and params.delFlag != ''">
and f_del_flag = #{params.delFlag}
</if>
<if test="params.createId != null and params.createId != ''">
and f_create_id = #{params.createId}
</if>
<if test="params.createTime != null">
and f_create_time = #{params.createTime}
</if>
<if test="params.createName != null and params.createName != ''">
and f_create_name = #{params.createName}
</if>
<if test="params.updateId != null and params.updateId != ''">
and f_update_id = #{params.updateId}
</if>
<if test="params.updateTime != null">
and f_update_time = #{params.updateTime}
</if>
<if test="params.updateName != null and params.updateName != ''">
and f_update_name = #{params.updateName}
</if>
<if test="params.createCorpName != null and params.createCorpName != ''">
and f_create_corp_name = #{params.createCorpName}
</if>
<if test="params.createCorpId != null and params.createCorpId != ''">
and f_create_corp_id = #{params.createCorpId}
</if>
<if test="params.createDeptName != null and params.createDeptName != ''">
and f_create_dept_name = #{params.createDeptName}
</if>
<if test="params.createDeptId != null and params.createDeptId != ''">
and f_create_dept_id = #{params.createDeptId}
</if>
<if test="params.createTimes != null">
and f_create_time &gt;= #{params.createTimes[0]}
and f_create_time &lt;= #{params.createTimes[1]}
</if>
<if test="params.updateTimes != null">
and f_update_time &gt;= #{params.updateTimes[0]}
and f_update_time &lt;= #{params.updateTimes[1]}
</if>
</where>
</select>
</mapper>

64
jnpf-library/jnpf-library-biz/src/main/resources/mapper/TCommonRelationMapper.xml

@ -2,68 +2,4 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="jnpf.mapper.TCommonRelationMapper"> <mapper namespace="jnpf.mapper.TCommonRelationMapper">
<resultMap type="jnpf.entity.TCommonRelation" id="TCommonRelationMap">
<result property="id" column="ID" jdbcType="INTEGER"/>
<result property="sourceId" column="source_id" jdbcType="VARCHAR"/>
<result property="targetId" column="target_id" jdbcType="VARCHAR"/>
<result property="type" column="type" jdbcType="VARCHAR"/>
<result property="ext" column="ext" jdbcType="VARCHAR"/>
<result property="createBy" column="create_by" jdbcType="VARCHAR"/>
<result property="createName" column="create_name" jdbcType="VARCHAR"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="updateBy" column="update_by" jdbcType="VARCHAR"/>
<result property="updateName" column="update_name" jdbcType="VARCHAR"/>
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
</resultMap>
<sql id="Base_Column_List" >
ID,source_id,target_id,type,ext,create_by,create_name,create_time,update_by,update_name,update_time </sql>
<!--查询指定行数据-->
<select id="selectPage" resultMap="TCommonRelationMap">
select
ID,source_id,target_id,type,ext,create_by,create_name,create_time,update_by,update_name,update_time from t_common_relation
<where>
<if test="params.id != null">
and ID = #{params.id}
</if>
<if test="params.sourceId != null and params.sourceId != ''">
and source_id = #{params.sourceId}
</if>
<if test="params.targetId != null and params.targetId != ''">
and target_id = #{params.targetId}
</if>
<if test="params.type != null and params.type != ''">
and type = #{params.type}
</if>
<if test="params.ext != null and params.ext != ''">
and ext = #{params.ext}
</if>
<if test="params.createBy != null and params.createBy != ''">
and create_by = #{params.createBy}
</if>
<if test="params.createName != null and params.createName != ''">
and create_name = #{params.createName}
</if>
<if test="params.createTime != null">
and create_time = #{params.createTime}
</if>
<if test="params.updateBy != null and params.updateBy != ''">
and update_by = #{params.updateBy}
</if>
<if test="params.updateName != null and params.updateName != ''">
and update_name = #{params.updateName}
</if>
<if test="params.updateTime != null">
and update_time = #{params.updateTime}
</if>
<if test="params.createTimes != null">
and create_time &gt;= #{params.createTimes[0]}
and create_time &lt;= #{params.createTimes[1]}
</if>
<if test="params.updateTimes != null">
and update_time &gt;= #{params.updateTimes[0]}
and update_time &lt;= #{params.updateTimes[1]}
</if>
</where>
</select>
</mapper> </mapper>

58
jnpf-library/jnpf-library-biz/src/main/resources/mapper/TReceiveGoodsBooksMapper.xml

@ -22,67 +22,67 @@
</resultMap> </resultMap>
<sql id="Base_Column_List" > <sql id="Base_Column_List" >
id,book_number,relation_id,cover_image,book_name,price,press,printing_books,signed_quantity,should_send,actual_send,remark,del_flag,create_id,create_time,create_name </sql> f_id as id, f_book_number as book_number, f_relation_id as relation_id, f_cover_image as cover_image, f_book_name as book_name, f_rack_number as rack_number, f_author as author, f_price as price, f_press as press, f_edition as edition, f_impression as impression, f_printing_books as printing_books, f_signed_quantity as signed_quantity, f_should_send as should_send, f_actual_send as actual_send, f_remark as remark, f_del_flag as del_flag, f_create_id as create_id, f_create_time as create_time, f_create_name as create_name, f_should_up_number as should_up_number, f_already_up_number as already_up_number, f_listing_time as listing_time, f_listing_id as listing_id, f_listing_name as listing_name, f_listing_status as listing_status, f_listing_status_name as listing_status_name </sql>
<!--查询指定行数据--> <!--查询指定行数据-->
<select id="selectPage" resultMap="TReceiveGoodsBooksMap"> <select id="selectPage" resultMap="TReceiveGoodsBooksMap">
select select
id,book_number,relation_id,cover_image,book_name,price,press,printing_books,signed_quantity,should_send,actual_send,remark,del_flag,create_id,create_time,create_name from t_receive_goods_books f_id as id, f_book_number as book_number, f_relation_id as relation_id, f_cover_image as cover_image, f_book_name as book_name, f_rack_number as rack_number, f_author as author, f_price as price, f_press as press, f_edition as edition, f_impression as impression, f_printing_books as printing_books, f_signed_quantity as signed_quantity, f_should_send as should_send, f_actual_send as actual_send, f_remark as remark, f_del_flag as del_flag, f_create_id as create_id, f_create_time as create_time, f_create_name as create_name, f_should_up_number as should_up_number, f_already_up_number as already_up_number, f_listing_time as listing_time, f_listing_id as listing_id, f_listing_name as listing_name, f_listing_status as listing_status, f_listing_status_name as listing_status_name from t_receive_goods_books
<where> <where>
<if test="params.id != null"> <if test="params.id != null">
and id = #{params.id} and f_id = #{params.id}
</if> </if>
<if test="params.bookNumber != null and params.bookNumber != ''"> <if test="params.bookNumber != null and params.bookNumber != ''">
and book_number = #{params.bookNumber} and f_book_number = #{params.bookNumber}
</if> </if>
<if test="params.relationId != null and params.relationId != ''"> <if test="params.relationId != null and params.relationId != ''">
and relation_id = #{params.relationId} and f_relation_id = #{params.relationId}
</if> </if>
<if test="params.coverImage != null and params.coverImage != ''"> <if test="params.coverImage != null and params.coverImage != ''">
and cover_image = #{params.coverImage} and f_cover_image = #{params.coverImage}
</if> </if>
<if test="params.bookName != null and params.bookName != ''"> <if test="params.bookName != null and params.bookName != ''">
and book_name = #{params.bookName} and f_book_name = #{params.bookName}
</if> </if>
<if test="params.price != null and params.price != ''"> <if test="params.price != null and params.price != ''">
and price = #{params.price} and f_price = #{params.price}
</if> </if>
<if test="params.press != null and params.press != ''"> <if test="params.press != null and params.press != ''">
and press = #{params.press} and f_press = #{params.press}
</if> </if>
<if test="params.printingBooks != null"> <if test="params.printingBooks != null">
and printing_books = #{params.printingBooks} and f_printing_books = #{params.printingBooks}
</if> </if>
<if test="params.signedQuantity != null"> <if test="params.signedQuantity != null">
and signed_quantity = #{params.signedQuantity} and f_signed_quantity = #{params.signedQuantity}
</if> </if>
<if test="params.shouldSend != null"> <if test="params.shouldSend != null">
and should_send = #{params.shouldSend} and f_should_send = #{params.shouldSend}
</if> </if>
<if test="params.actualSend != null"> <if test="params.actualSend != null">
and actual_send = #{params.actualSend} and f_actual_send = #{params.actualSend}
</if> </if>
<if test="params.remark != null and params.remark != ''"> <if test="params.remark != null and params.remark != ''">
and remark = #{params.remark} and f_remark = #{params.remark}
</if> </if>
<if test="params.delFlag != null and params.delFlag != ''"> <if test="params.delFlag != null and params.delFlag != ''">
and del_flag = #{params.delFlag} and f_del_flag = #{params.delFlag}
</if> </if>
<if test="params.createId != null and params.createId != ''"> <if test="params.createId != null and params.createId != ''">
and create_id = #{params.createId} and f_create_id = #{params.createId}
</if> </if>
<if test="params.createTime != null"> <if test="params.createTime != null">
and create_time = #{params.createTime} and f_create_time = #{params.createTime}
</if> </if>
<if test="params.createName != null and params.createName != ''"> <if test="params.createName != null and params.createName != ''">
and create_name = #{params.createName} and f_create_name = #{params.createName}
</if> </if>
<if test="params.createTimes != null"> <if test="params.createTimes != null">
and create_time &gt;= #{params.createTimes[0]} and f_create_time &gt;= #{params.createTimes[0]}
and create_time &lt;= #{params.createTimes[1]} and f_create_time &lt;= #{params.createTimes[1]}
</if> </if>
<if test="params.updateTimes != null"> <if test="params.updateTimes != null">
and update_time &gt;= #{params.updateTimes[0]} and f_update_time &gt;= #{params.updateTimes[0]}
and update_time &lt;= #{params.updateTimes[1]} and f_update_time &lt;= #{params.updateTimes[1]}
</if> </if>
</where> </where>
</select> </select>
@ -91,7 +91,7 @@ id,book_number,relation_id,cover_image,book_name,price,press,printing_books,sign
select select
<include refid="Base_Column_List"/> <include refid="Base_Column_List"/>
from t_receive_goods_books from t_receive_goods_books
where relation_id=#{params.id} and del_flag='0' where f_relation_id=#{params.id} and f_del_flag='0'
</select> </select>
@ -101,7 +101,11 @@ id,book_number,relation_id,cover_image,book_name,price,press,printing_books,sign
<result property="relationId" column="relation_id" jdbcType="VARCHAR"/> <result property="relationId" column="relation_id" jdbcType="VARCHAR"/>
<result property="coverImage" column="cover_image" jdbcType="VARCHAR"/> <result property="coverImage" column="cover_image" jdbcType="VARCHAR"/>
<result property="bookName" column="book_name" jdbcType="VARCHAR"/> <result property="bookName" column="book_name" jdbcType="VARCHAR"/>
<result property="rackNumber" column="rack_number" jdbcType="VARCHAR"/>
<result property="author" column="author" jdbcType="VARCHAR"/>
<result property="price" column="price" jdbcType="VARCHAR"/> <result property="price" column="price" jdbcType="VARCHAR"/>
<result property="edition" column="edition" jdbcType="VARCHAR"/>
<result property="impression" column="impression" jdbcType="VARCHAR"/>
<result property="press" column="press" jdbcType="VARCHAR"/> <result property="press" column="press" jdbcType="VARCHAR"/>
<result property="printingBooks" column="printing_books" jdbcType="INTEGER"/> <result property="printingBooks" column="printing_books" jdbcType="INTEGER"/>
<result property="signedQuantity" column="signed_quantity" jdbcType="INTEGER"/> <result property="signedQuantity" column="signed_quantity" jdbcType="INTEGER"/>
@ -112,5 +116,13 @@ id,book_number,relation_id,cover_image,book_name,price,press,printing_books,sign
<result property="createId" column="create_id" jdbcType="VARCHAR"/> <result property="createId" column="create_id" jdbcType="VARCHAR"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/> <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="createName" column="create_name" jdbcType="VARCHAR"/> <result property="createName" column="create_name" jdbcType="VARCHAR"/>
<result property="shouldUpNumber" column="should_up_number" jdbcType="INTEGER"/>
<result property="alreadyUpNumber" column="already_up_number" jdbcType="INTEGER"/>
<result property="listingTime" column="listing_time" jdbcType="TIMESTAMP"/>
<result property="listingId" column="listing_id" jdbcType="VARCHAR"/>
<result property="listingName" column="listing_name" jdbcType="VARCHAR"/>
<result property="listingStatus" column="listing_status" jdbcType="VARCHAR"/>
<result property="listingStatusName" column="listing_status_name" jdbcType="VARCHAR"/>
</resultMap> </resultMap>
</mapper> </mapper>

86
jnpf-library/jnpf-library-biz/src/main/resources/mapper/TReceiveGoodsMainMapper.xml

@ -32,94 +32,94 @@
</resultMap> </resultMap>
<sql id="Base_Column_List" > <sql id="Base_Column_List" >
id,receipt_number,type,main_status,main_status_name,package_situation,package_situation_name,quantity_received,package_quantity,delivery_party,remark,del_flag,receive_time,sign_person_id,sign_person_time,sign_person_name,create_id,create_time,create_name,update_id,update_time,update_name,create_corp_name,create_corp_id,create_dept_name,create_dept_id </sql> f_id as id, f_receipt_number as receipt_number, f_type as type, f_main_status as main_status, f_main_status_name as main_status_name, f_package_situation as package_situation, f_package_situation_name as package_situation_name, f_quantity_received as quantity_received, f_package_quantity as package_quantity, f_delivery_party as delivery_party, f_remark as remark, f_listing_qr_code as listing_qr_code, f_del_flag as del_flag, f_receive_time as receive_time, f_sign_person_id as sign_person_id, f_sign_person_time as sign_person_time, f_sign_person_name as sign_person_name, f_create_id as create_id, f_create_time as create_time, f_create_name as create_name, f_update_id as update_id, f_update_time as update_time, f_update_name as update_name, f_create_corp_name as create_corp_name, f_create_corp_id as create_corp_id, f_create_dept_name as create_dept_name, f_create_dept_id as create_dept_id</sql>
<!--查询指定行数据--> <!--查询指定行数据-->
<select id="selectPage" resultMap="TReceiveGoodsMainMap"> <select id="selectPage" resultMap="TReceiveGoodsMainMap">
select select
id,type,main_status,main_status_name,package_situation,package_situation_name,quantity_received,package_quantity,delivery_party,remark,del_flag,receive_time,sign_person_id,sign_person_time,sign_person_name,create_id,create_time,create_name,update_id,update_time,update_name,create_corp_name,create_corp_id,create_dept_name,create_dept_id from t_receive_goods_main f_id as id, f_receipt_number as receipt_number, f_type as type, f_main_status as main_status, f_main_status_name as main_status_name, f_package_situation as package_situation, f_package_situation_name as package_situation_name, f_quantity_received as quantity_received, f_package_quantity as package_quantity, f_delivery_party as delivery_party, f_remark as remark, f_listing_qr_code as listing_qr_code, f_del_flag as del_flag, f_receive_time as receive_time, f_sign_person_id as sign_person_id, f_sign_person_time as sign_person_time, f_sign_person_name as sign_person_name, f_create_id as create_id, f_create_time as create_time, f_create_name as create_name, f_update_id as update_id, f_update_time as update_time, f_update_name as update_name, f_create_corp_name as create_corp_name, f_create_corp_id as create_corp_id, f_create_dept_name as create_dept_name, f_create_dept_id as create_dept_id from t_receive_goods_main
<where> <where>
<if test="params.id != null and params.id != ''"> <if test="params.id != null and params.id != ''">
and id = #{params.id} and f_id = #{params.id}
</if> </if>
<if test="params.type != null and params.type != ''"> <if test="params.type != null and params.type != ''">
and type = #{params.type} and f_type = #{params.type}
</if> </if>
<if test="params.mainStatus != null and params.mainStatus != ''"> <if test="params.mainStatus != null and params.mainStatus != ''">
and main_status = #{params.mainStatus} and f_main_status = #{params.mainStatus}
</if> </if>
<if test="params.mainStatusName != null and params.mainStatusName != ''"> <if test="params.mainStatusName != null and params.mainStatusName != ''">
and main_status_name = #{params.mainStatusName} and f_main_status_name = #{params.mainStatusName}
</if> </if>
<if test="params.packageSituation != null and params.packageSituation != ''"> <if test="params.packageSituation != null and params.packageSituation != ''">
and package_situation = #{params.packageSituation} and f_package_situation = #{params.packageSituation}
</if> </if>
<if test="params.packageSituationName != null and params.packageSituationName != ''"> <if test="params.packageSituationName != null and params.packageSituationName != ''">
and package_situation_name = #{params.packageSituationName} and f_package_situation_name = #{params.packageSituationName}
</if> </if>
<if test="params.quantityReceived != null"> <if test="params.quantityReceived != null">
and quantity_received = #{params.quantityReceived} and f_quantity_received = #{params.quantityReceived}
</if> </if>
<if test="params.packageQuantity != null"> <if test="params.packageQuantity != null">
and package_quantity = #{params.packageQuantity} and f_package_quantity = #{params.packageQuantity}
</if> </if>
<if test="params.deliveryParty != null and params.deliveryParty != ''"> <if test="params.deliveryParty != null and params.deliveryParty != ''">
and delivery_party = #{params.deliveryParty} and f_delivery_party = #{params.deliveryParty}
</if> </if>
<if test="params.remark != null and params.remark != ''"> <if test="params.remark != null and params.remark != ''">
and remark = #{params.remark} and f_remark = #{params.remark}
</if> </if>
<if test="params.delFlag != null and params.delFlag != ''"> <if test="params.delFlag != null and params.delFlag != ''">
and del_flag = #{params.delFlag} and f_del_flag = #{params.delFlag}
</if> </if>
<if test="params.receiveTime != null"> <if test="params.receiveTime != null">
and receive_time = #{params.receiveTime} and f_receive_time = #{params.receiveTime}
</if> </if>
<if test="params.signPersonId != null and params.signPersonId != ''"> <if test="params.signPersonId != null and params.signPersonId != ''">
and sign_person_id = #{params.signPersonId} and f_sign_person_id = #{params.signPersonId}
</if> </if>
<if test="params.signPersonTime != null"> <if test="params.signPersonTime != null">
and sign_person_time = #{params.signPersonTime} and f_sign_person_time = #{params.signPersonTime}
</if> </if>
<if test="params.signPersonName != null and params.signPersonName != ''"> <if test="params.signPersonName != null and params.signPersonName != ''">
and sign_person_name = #{params.signPersonName} and f_sign_person_name = #{params.signPersonName}
</if> </if>
<if test="params.createId != null and params.createId != ''"> <if test="params.createId != null and params.createId != ''">
and create_id = #{params.createId} and f_create_id = #{params.createId}
</if> </if>
<if test="params.createTime != null"> <if test="params.createTime != null">
and create_time = #{params.createTime} and f_create_time = #{params.createTime}
</if> </if>
<if test="params.createName != null and params.createName != ''"> <if test="params.createName != null and params.createName != ''">
and create_name = #{params.createName} and f_create_name = #{params.createName}
</if> </if>
<if test="params.updateId != null and params.updateId != ''"> <if test="params.updateId != null and params.updateId != ''">
and update_id = #{params.updateId} and f_update_id = #{params.updateId}
</if> </if>
<if test="params.updateTime != null"> <if test="params.updateTime != null">
and update_time = #{params.updateTime} and f_update_time = #{params.updateTime}
</if> </if>
<if test="params.updateName != null and params.updateName != ''"> <if test="params.updateName != null and params.updateName != ''">
and update_name = #{params.updateName} and f_update_name = #{params.updateName}
</if> </if>
<if test="params.createCorpName != null and params.createCorpName != ''"> <if test="params.createCorpName != null and params.createCorpName != ''">
and create_corp_name = #{params.createCorpName} and f_create_corp_name = #{params.createCorpName}
</if> </if>
<if test="params.createCorpId != null and params.createCorpId != ''"> <if test="params.createCorpId != null and params.createCorpId != ''">
and create_corp_id = #{params.createCorpId} and f_create_corp_id = #{params.createCorpId}
</if> </if>
<if test="params.createDeptName != null and params.createDeptName != ''"> <if test="params.createDeptName != null and params.createDeptName != ''">
and create_dept_name = #{params.createDeptName} and f_create_dept_name = #{params.createDeptName}
</if> </if>
<if test="params.createDeptId != null and params.createDeptId != ''"> <if test="params.createDeptId != null and params.createDeptId != ''">
and create_dept_id = #{params.createDeptId} and f_create_dept_id = #{params.createDeptId}
</if> </if>
<if test="params.createTimes != null"> <if test="params.createTimes != null">
and create_time &gt;= #{params.createTimes[0]} and f_create_time &gt;= #{params.createTimes[0]}
and create_time &lt;= #{params.createTimes[1]} and f_create_time &lt;= #{params.createTimes[1]}
</if> </if>
<if test="params.updateTimes != null"> <if test="params.updateTimes != null">
and update_time &gt;= #{params.updateTimes[0]} and f_update_time &gt;= #{params.updateTimes[0]}
and update_time &lt;= #{params.updateTimes[1]} and f_update_time &lt;= #{params.updateTimes[1]}
</if> </if>
</where> </where>
</select> </select>
@ -147,28 +147,28 @@ id,type,main_status,main_status_name,package_situation,package_situation_name,qu
select <include refid="Base_Column_List"/> select <include refid="Base_Column_List"/>
from t_receive_goods_main from t_receive_goods_main
<where> <where>
del_flag='0' f_del_flag='0'
<if test="params.receiptNumber != null and params.receiptNumber != ''"> <if test="params.receiptNumber != null and params.receiptNumber != ''">
and receipt_number = #{params.receiptNumber} and f_receipt_number = #{params.receiptNumber}
</if> </if>
<if test="params.orderType != null and params.orderType != ''"> <if test="params.orderType != null and params.orderType != ''">
and type = #{params.orderType} and f_type = #{params.orderType}
</if> </if>
<if test="params.mainStatus != null and params.mainStatus != ''"> <if test="params.mainStatus != null and params.mainStatus != ''">
and main_status = #{params.mainStatus} and f_main_status = #{params.mainStatus}
</if> </if>
<if test="params.userId != null and params.userId != ''"> <if test="params.userId != null and params.userId != ''">
and create_id = #{params.userId} and f_create_id = #{params.userId}
</if> </if>
<if test="params.corpId != null and params.corpId != ''"> <if test="params.corpId != null and params.corpId != ''">
and create_corp_id = #{params.corpId} and f_create_corp_id = #{params.corpId}
</if> </if>
<if test="params.startTime != null and params.endTime!=null"> <if test="params.startTime != null and params.endTime!=null">
and receive_time &gt;= #{params.startTime} and f_receive_time &gt;= #{params.startTime}
and receive_time &lt;= #{params.endTime} and f_receive_time &lt;= #{params.endTime}
</if> </if>
</where> </where>
order by receive_time desc order by f_receive_time desc
</select> </select>
@ -205,12 +205,12 @@ id,type,main_status,main_status_name,package_situation,package_situation_name,qu
<select id="queryBookTurnoverInfoList" resultMap="TReceiveGoodsBooksMap"> <select id="queryBookTurnoverInfoList" resultMap="TReceiveGoodsBooksMap">
select select
<include refid="Books_Column_List"/> <include refid="Books_Column_List"/>
from t_receive_goods_books where relation_id=#{id} and del_flag='0' from t_receive_goods_books where f_relation_id=#{id} and f_del_flag='0'
</select> </select>
<sql id="Books_Column_List" > <sql id="Books_Column_List" >
id,book_number,relation_id,cover_image,book_name,price,press,printing_books,signed_quantity,should_send,actual_send,remark,del_flag,create_id,create_time,create_name </sql> f_id as id, f_book_number as book_number, f_relation_id as relation_id, f_cover_image as cover_image, f_book_name as book_name, f_rack_number as rack_number, f_author as author, f_price as price, f_press as press, f_edition as edition, f_impression as impression, f_printing_books as printing_books, f_signed_quantity as signed_quantity, f_should_send as should_send, f_actual_send as actual_send, f_remark as remark, f_del_flag as del_flag, f_create_id as create_id, f_create_time as create_time, f_create_name as create_name, f_should_up_number as should_up_number, f_already_up_number as already_up_number, f_listing_time as listing_time, f_listing_id as listing_id, f_listing_name as listing_name, f_listing_status as listing_status, f_listing_status_name as listing_status_name </sql>
<resultMap type="jnpf.entity.TReceiveGoodsBooks" id="TReceiveGoodsBooksMap"> <resultMap type="jnpf.entity.TReceiveGoodsBooks" id="TReceiveGoodsBooksMap">
<result property="id" column="id" jdbcType="INTEGER"/> <result property="id" column="id" jdbcType="INTEGER"/>
@ -240,6 +240,6 @@ id,type,main_status,main_status_name,package_situation,package_situation_name,qu
<select id="getInfoById" resultMap="TReceiveGoodsMainInfoMap"> <select id="getInfoById" resultMap="TReceiveGoodsMainInfoMap">
select <include refid="Base_Column_List"/> select <include refid="Base_Column_List"/>
from t_receive_goods_main from t_receive_goods_main
where id=#{id} and del_flag='0' where f_id=#{id} and f_del_flag='0'
</select> </select>
</mapper> </mapper>

105
jnpf-library/jnpf-library-biz/src/main/resources/mapper/TRemovalManagementMapper.xml

@ -0,0 +1,105 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="jnpf.mapper.TRemovalManagementMapper">
<resultMap type="jnpf.entity.TRemovalManagement" id="TRemovalManagementMap">
<result property="id" column="id" jdbcType="VARCHAR"/>
<result property="saveType" column="save_type" jdbcType="VARCHAR"/>
<result property="type" column="type" jdbcType="VARCHAR"/>
<result property="mainStatus" column="main_status" jdbcType="VARCHAR"/>
<result property="mainStatusName" column="main_status_name" jdbcType="VARCHAR"/>
<result property="removeNumber" column="remove_number" jdbcType="INTEGER"/>
<result property="delFlag" column="del_flag" jdbcType="VARCHAR"/>
<result property="createId" column="create_id" jdbcType="VARCHAR"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="createName" column="create_name" jdbcType="VARCHAR"/>
<result property="updateId" column="update_id" jdbcType="VARCHAR"/>
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
<result property="updateName" column="update_name" jdbcType="VARCHAR"/>
<result property="bookRemovalTime" column="book_removal_time" jdbcType="TIMESTAMP"/>
<result property="bookRemovalId" column="book_removal_id" jdbcType="VARCHAR"/>
<result property="bookRemovalName" column="book_removal_name" jdbcType="VARCHAR"/>
<result property="createCorpName" column="create_corp_name" jdbcType="VARCHAR"/>
<result property="createCorpId" column="create_corp_id" jdbcType="VARCHAR"/>
<result property="createDeptName" column="create_dept_name" jdbcType="VARCHAR"/>
<result property="createDeptId" column="create_dept_id" jdbcType="VARCHAR"/>
</resultMap>
<sql id="Base_Column_List" >
f_id as id, f_save_type as save_type, f_type as type, f_main_status as main_status, f_main_status_name as main_status_name, f_remove_number as remove_number, f_del_flag as del_flag, f_create_id as create_id, f_create_time as create_time, f_create_name as create_name, f_update_id as update_id, f_update_time as update_time, f_update_name as update_name, f_book_removal_time as book_removal_time, f_book_removal_id as book_removal_id, f_book_removal_name as book_removal_name, f_create_corp_name as create_corp_name, f_create_corp_id as create_corp_id, f_create_dept_name as create_dept_name, f_create_dept_id as create_dept_id </sql>
<!--查询指定行数据-->
<select id="selectPage" resultMap="TRemovalManagementMap">
select
f_id as id, f_save_type as save_type, f_type as type, f_main_status as main_status, f_main_status_name as main_status_name, f_remove_number as remove_number, f_del_flag as del_flag, f_create_id as create_id, f_create_time as create_time, f_create_name as create_name, f_update_id as update_id, f_update_time as update_time, f_update_name as update_name, f_book_removal_time as book_removal_time, f_book_removal_id as book_removal_id, f_book_removal_name as book_removal_name, f_create_corp_name as create_corp_name, f_create_corp_id as create_corp_id, f_create_dept_name as create_dept_name, f_create_dept_id as create_dept_id from t_removal_management
<where>
<if test="params.id != null and params.id != ''">
and f_id = #{params.id}
</if>
<if test="params.saveType != null and params.saveType != ''">
and f_save_type = #{params.saveType}
</if>
<if test="params.type != null and params.type != ''">
and f_type = #{params.type}
</if>
<if test="params.mainStatus != null and params.mainStatus != ''">
and f_main_status = #{params.mainStatus}
</if>
<if test="params.mainStatusName != null and params.mainStatusName != ''">
and f_main_status_name = #{params.mainStatusName}
</if>
<if test="params.removeNumber != null">
and f_remove_number = #{params.removeNumber}
</if>
<if test="params.delFlag != null and params.delFlag != ''">
and f_del_flag = #{params.delFlag}
</if>
<if test="params.createId != null and params.createId != ''">
and f_create_id = #{params.createId}
</if>
<if test="params.createTime != null">
and f_create_time = #{params.createTime}
</if>
<if test="params.createName != null and params.createName != ''">
and f_create_name = #{params.createName}
</if>
<if test="params.updateId != null and params.updateId != ''">
and f_update_id = #{params.updateId}
</if>
<if test="params.updateTime != null">
and f_update_time = #{params.updateTime}
</if>
<if test="params.updateName != null and params.updateName != ''">
and f_update_name = #{params.updateName}
</if>
<if test="params.bookRemovalTime != null">
and f_book_removal_time = #{params.bookRemovalTime}
</if>
<if test="params.bookRemovalId != null and params.bookRemovalId != ''">
and f_book_removal_id = #{params.bookRemovalId}
</if>
<if test="params.bookRemovalName != null and params.bookRemovalName != ''">
and f_book_removal_name = #{params.bookRemovalName}
</if>
<if test="params.createCorpName != null and params.createCorpName != ''">
and f_create_corp_name = #{params.createCorpName}
</if>
<if test="params.createCorpId != null and params.createCorpId != ''">
and f_create_corp_id = #{params.createCorpId}
</if>
<if test="params.createDeptName != null and params.createDeptName != ''">
and f_create_dept_name = #{params.createDeptName}
</if>
<if test="params.createDeptId != null and params.createDeptId != ''">
and f_create_dept_id = #{params.createDeptId}
</if>
<if test="params.createTimes != null">
and f_create_time &gt;= #{params.createTimes[0]}
and f_create_time &lt;= #{params.createTimes[1]}
</if>
<if test="params.updateTimes != null">
and f_update_time &gt;= #{params.updateTimes[0]}
and f_update_time &lt;= #{params.updateTimes[1]}
</if>
</where>
</select>
</mapper>

79
jnpf-library/jnpf-library-biz/src/main/resources/mapper/TSelectionOrderingBooksMapper.xml

@ -25,78 +25,78 @@
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
id,book_number,relation_id,cover_image,book_name,author,price,edition,impression,publication_time,content_summary,remark,quantity,variety_number,problem_flag,del_flag,create_id,create_time,create_name,self_reserved f_id as id, f_book_number as book_number, f_relation_id as relation_id, f_cover_image as cover_image, f_book_name as book_name, f_author as author, f_price as price, f_edition as edition, f_impression as impression, f_publication_time as publication_time, f_self_reserved as self_reserved, f_content_summary as content_summary, f_remark as remark, f_quantity as quantity, f_variety_number as variety_number, f_problem_flag as problem_flag, f_del_flag as del_flag, f_create_id as create_id, f_create_time as create_time, f_create_name as create_name, f_book_removal_time as book_removal_time, f_book_removal_id as book_removal_id, f_book_removal_name as book_removal_name, f_book_removal_status as book_removal_status, f_book_removal_status_name as book_removal_status_name, f_rack_number as rack_number, f_book_inventory_id as book_inventory_id, f_inventory_number as inventory_number
</sql> </sql>
<!--查询指定行数据--> <!--查询指定行数据-->
<select id="selectPage" resultMap="TSelectionOrderingBooksMap"> <select id="selectPage" resultMap="TSelectionOrderingBooksMap">
select select
id,book_number,relation_id,cover_image,book_name,author,price,edition,impression,publication_time,content_summary,remark,quantity,variety_number,problem_flag,del_flag,create_id,create_time,create_name,self_reserved f_id as id, f_book_number as book_number, f_relation_id as relation_id, f_cover_image as cover_image, f_book_name as book_name, f_author as author, f_price as price, f_edition as edition, f_impression as impression, f_publication_time as publication_time, f_self_reserved as self_reserved, f_content_summary as content_summary, f_remark as remark, f_quantity as quantity, f_variety_number as variety_number, f_problem_flag as problem_flag, f_del_flag as del_flag, f_create_id as create_id, f_create_time as create_time, f_create_name as create_name, f_book_removal_time as book_removal_time, f_book_removal_id as book_removal_id, f_book_removal_name as book_removal_name, f_book_removal_status as book_removal_status, f_book_removal_status_name as book_removal_status_name, f_rack_number as rack_number, f_book_inventory_id as book_inventory_id, f_inventory_number as inventory_number
from t_selection_ordering_books from t_selection_ordering_books
<where> <where>
<if test="params.id != null"> <if test="params.id != null">
and id = #{params.id} and f_id = #{params.id}
</if> </if>
<if test="params.bookNumber != null and params.bookNumber != ''"> <if test="params.bookNumber != null and params.bookNumber != ''">
and book_number = #{params.bookNumber} and f_book_number = #{params.bookNumber}
</if> </if>
<if test="params.relationId != null and params.relationId != ''"> <if test="params.relationId != null and params.relationId != ''">
and relation_id = #{params.relationId} and f_relation_id = #{params.relationId}
</if> </if>
<if test="params.coverImage != null and params.coverImage != ''"> <if test="params.coverImage != null and params.coverImage != ''">
and cover_image = #{params.coverImage} and f_cover_image = #{params.coverImage}
</if> </if>
<if test="params.bookName != null and params.bookName != ''"> <if test="params.bookName != null and params.bookName != ''">
and book_name = #{params.bookName} and f_book_name = #{params.bookName}
</if> </if>
<if test="params.author != null and params.author != ''"> <if test="params.author != null and params.author != ''">
and author = #{params.author} and f_author = #{params.author}
</if> </if>
<if test="params.price != null and params.price != ''"> <if test="params.price != null and params.price != ''">
and price = #{params.price} and f_price = #{params.price}
</if> </if>
<if test="params.edition != null and params.edition != ''"> <if test="params.edition != null and params.edition != ''">
and edition = #{params.edition} and f_edition = #{params.edition}
</if> </if>
<if test="params.impression != null and params.impression != ''"> <if test="params.impression != null and params.impression != ''">
and impression = #{params.impression} and f_impression = #{params.impression}
</if> </if>
<if test="params.publicationTime != null and params.publicationTime != ''"> <if test="params.publicationTime != null and params.publicationTime != ''">
and publication_time = #{params.publicationTime} and f_publication_time = #{params.publicationTime}
</if> </if>
<if test="params.contentSummary != null and params.contentSummary != ''"> <if test="params.contentSummary != null and params.contentSummary != ''">
and content_summary = #{params.contentSummary} and f_content_summary = #{params.contentSummary}
</if> </if>
<if test="params.remark != null and params.remark != ''"> <if test="params.remark != null and params.remark != ''">
and remark = #{params.remark} and f_remark = #{params.remark}
</if> </if>
<if test="params.quantity != null"> <if test="params.quantity != null">
and quantity = #{params.quantity} and f_quantity = #{params.quantity}
</if> </if>
<if test="params.varietyNumber != null and params.varietyNumber != ''"> <if test="params.varietyNumber != null and params.varietyNumber != ''">
and variety_number = #{params.varietyNumber} and f_variety_number = #{params.varietyNumber}
</if> </if>
<if test="params.problemFlag != null and params.problemFlag != ''"> <if test="params.problemFlag != null and params.problemFlag != ''">
and problem_flag = #{params.problemFlag} and f_problem_flag = #{params.problemFlag}
</if> </if>
<if test="params.delFlag != null and params.delFlag != ''"> <if test="params.delFlag != null and params.delFlag != ''">
and del_flag = #{params.delFlag} and f_del_flag = #{params.delFlag}
</if> </if>
<if test="params.createId != null and params.createId != ''"> <if test="params.createId != null and params.createId != ''">
and create_id = #{params.createId} and f_create_id = #{params.createId}
</if> </if>
<if test="params.createTime != null"> <if test="params.createTime != null">
and create_time = #{params.createTime} and f_create_time = #{params.createTime}
</if> </if>
<if test="params.createName != null and params.createName != ''"> <if test="params.createName != null and params.createName != ''">
and create_name = #{params.createName} and f_create_name = #{params.createName}
</if> </if>
<if test="params.createTimes != null"> <if test="params.createTimes != null">
and create_time &gt;= #{params.createTimes[0]} and f_create_time &gt;= #{params.createTimes[0]}
and create_time &lt;= #{params.createTimes[1]} and f_create_time &lt;= #{params.createTimes[1]}
</if> </if>
<if test="params.updateTimes != null"> <if test="params.updateTimes != null">
and update_time &gt;= #{params.updateTimes[0]} and f_update_time &gt;= #{params.updateTimes[0]}
and update_time &lt;= #{params.updateTimes[1]} and f_update_time &lt;= #{params.updateTimes[1]}
</if> </if>
</where> </where>
</select> </select>
@ -123,12 +123,19 @@
<result property="createId" column="create_id" jdbcType="VARCHAR"/> <result property="createId" column="create_id" jdbcType="VARCHAR"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/> <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="createName" column="create_name" jdbcType="VARCHAR"/> <result property="createName" column="create_name" jdbcType="VARCHAR"/>
<result property="bookRemovalTime" column="book_removal_time" jdbcType="TIMESTAMP"/>
<result property="bookRemovalId" column="book_removal_id" jdbcType="VARCHAR"/>
<result property="bookRemovalName" column="book_removal_name" jdbcType="VARCHAR"/>
<result property="bookRemovalStatus" column="book_removal_status" jdbcType="VARCHAR"/>
<result property="bookRemovalStatusName" column="book_removal_status_name" jdbcType="VARCHAR"/>
<result property="rackNumber" column="rack_number" jdbcType="VARCHAR"/>
<result property="bookInventoryId" column="book_inventory_id" jdbcType="VARCHAR"/>
<collection property="bookTurnoverInfoList" select="queryBookTurnoverInfoList" column="id" javaType="list"/> <collection property="bookTurnoverInfoList" select="queryBookTurnoverInfoList" column="id" javaType="list"/>
</resultMap> </resultMap>
<sql id="common_Base_Column_List"> <sql id="common_Base_Column_List">
ID,source_id,target_id,type,ext f_ID as id,f_source_id as source_id,f_target_id as target_id,f_type as type,f_ext as ext
</sql> </sql>
<resultMap type="jnpf.model.dto.SelectionOrderingMainDto$BookTurnoverInfo" id="TCommonRelationMap"> <resultMap type="jnpf.model.dto.SelectionOrderingMainDto$BookTurnoverInfo" id="TCommonRelationMap">
@ -139,7 +146,7 @@
<select id="queryBookTurnoverInfoList" resultMap="TCommonRelationMap"> <select id="queryBookTurnoverInfoList" resultMap="TCommonRelationMap">
select select
<include refid="common_Base_Column_List"/> <include refid="common_Base_Column_List"/>
from t_common_relation where source_id=#{id} and type='SAMPLE_BOOK_DESTINATION' order by ext desc from t_common_relation where f_source_id=#{id} and f_type='SAMPLE_BOOK_DESTINATION' order by f_ext desc
</select> </select>
@ -148,9 +155,23 @@
<include refid="Base_Column_List"/> <include refid="Base_Column_List"/>
from t_selection_ordering_books from t_selection_ordering_books
<where> <where>
del_flag='0' f_del_flag='0'
<if test="relationIdList != null and relationIdList.size()>0"> <if test="relationIdList != null and relationIdList.size()>0">
and relation_id in and f_relation_id in
<foreach collection="relationIdList" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
</where>
</select>
<select id="pageListByIds" resultMap="SelectionOrderingBookInfosMap">
select
<include refid="Base_Column_List"/>
from t_selection_ordering_books
<where>
f_del_flag='0'
<if test="relationIdList != null and relationIdList.size()>0">
and f_relation_id in
<foreach collection="relationIdList" item="item" open="(" separator="," close=")"> <foreach collection="relationIdList" item="item" open="(" separator="," close=")">
#{item} #{item}
</foreach> </foreach>

106
jnpf-library/jnpf-library-biz/src/main/resources/mapper/TSelectionOrderingMainMapper.xml

@ -20,75 +20,76 @@
<result property="updateName" column="update_name" jdbcType="VARCHAR"/> <result property="updateName" column="update_name" jdbcType="VARCHAR"/>
<result property="createCorpName" column="create_corp_name" jdbcType="VARCHAR"/> <result property="createCorpName" column="create_corp_name" jdbcType="VARCHAR"/>
<result property="createDeptName" column="create_dept_name" jdbcType="VARCHAR"/> <result property="createDeptName" column="create_dept_name" jdbcType="VARCHAR"/>
<result property="createDeptName" column="create_dept_name" jdbcType="VARCHAR"/>
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
id,type,main_status,main_status_name,remark,del_flag,order_person_id,order_person_time,order_person_name,create_id,create_time,create_name,update_id,update_time,update_name,create_corp_name,create_dept_name,create_dept_id,create_dept_name f_id as id, f_type as type, f_main_status as main_status, f_main_status_name as main_status_name, f_remark as remark, f_del_flag as del_flag, f_order_person_id as order_person_id, f_order_person_tim as order_person_tim, f_order_person_nam as order_person_nam, f_create_id as create_id, f_create_time as create_time, f_create_name as create_name, f_update_id as update_id, f_update_time as update_time, f_update_name as update_name, f_create_corp_name as create_corp_name, f_create_corp_id as create_corp_id, f_create_dept_name as create_dept_name, f_create_dept_id as create_dept_id
</sql> </sql>
<!--查询指定行数据--> <!--查询指定行数据-->
<select id="selectPage" resultMap="TSelectionOrderingMainMap"> <select id="selectPage" resultMap="TSelectionOrderingMainMap">
select select
id,type,main_status,main_status_name,remark,del_flag,order_person_id,order_person_time,order_person_name,create_id,create_time,create_name,update_id,update_time,update_name,create_corp_name,create_dept_name f_id as id, f_type as type, f_main_status as main_status, f_main_status_name as main_status_name, f_remark as remark, f_del_flag as del_flag, f_order_person_id as order_person_id, f_order_person_tim as order_person_tim, f_order_person_nam as order_person_nam, f_create_id as create_id, f_create_time as create_time, f_create_name as create_name, f_update_id as update_id, f_update_time as update_time, f_update_name as update_name, f_create_corp_name as create_corp_name, f_create_corp_id as create_corp_id, f_create_dept_name as create_dept_name, f_create_dept_id as create_dept_id
from t_selection_ordering_main from t_selection_ordering_main
<where> <where>
<if test="params.id != null"> <if test="params.id != null">
and id = #{params.id} and f_id = #{params.id}
</if> </if>
<if test="params.type != null and params.type != ''"> <if test="params.type != null and params.type != ''">
and type = #{params.type} and f_type = #{params.type}
</if> </if>
<if test="params.mainStatus != null and params.mainStatus != ''"> <if test="params.mainStatus != null and params.mainStatus != ''">
and main_status = #{params.mainStatus} and f_main_status = #{params.mainStatus}
</if> </if>
<if test="params.mainStatusName != null and params.mainStatusName != ''"> <if test="params.mainStatusName != null and params.mainStatusName != ''">
and main_status_name = #{params.mainStatusName} and f_main_status_name = #{params.mainStatusName}
</if> </if>
<if test="params.remark != null and params.remark != ''"> <if test="params.remark != null and params.remark != ''">
and remark = #{params.remark} and f_remark = #{params.remark}
</if> </if>
<if test="params.delFlag != null and params.delFlag != ''"> <if test="params.delFlag != null and params.delFlag != ''">
and del_flag = #{params.delFlag} and f_del_flag = #{params.delFlag}
</if> </if>
<if test="params.orderPersonId != null and params.orderPersonId != ''"> <if test="params.orderPersonId != null and params.orderPersonId != ''">
and order_person_id = #{params.orderPersonId} and f_order_person_id = #{params.orderPersonId}
</if> </if>
<if test="params.orderPersonTime != null"> <if test="params.orderPersonTime != null">
and order_person_time = #{params.orderPersonTime} and f_order_person_time = #{params.orderPersonTime}
</if> </if>
<if test="params.orderPersonName != null and params.orderPersonName != ''"> <if test="params.orderPersonName != null and params.orderPersonName != ''">
and order_person_name = #{params.orderPersonName} and f_order_person_name = #{params.orderPersonName}
</if> </if>
<if test="params.createId != null and params.createId != ''"> <if test="params.createId != null and params.createId != ''">
and create_id = #{params.createId} and f_create_id = #{params.createId}
</if> </if>
<if test="params.createTime != null"> <if test="params.createTime != null">
and create_time = #{params.createTime} and f_create_time = #{params.createTime}
</if> </if>
<if test="params.createName != null and params.createName != ''"> <if test="params.createName != null and params.createName != ''">
and create_name = #{params.createName} and f_create_name = #{params.createName}
</if> </if>
<if test="params.updateId != null and params.updateId != ''"> <if test="params.updateId != null and params.updateId != ''">
and update_id = #{params.updateId} and f_update_id = #{params.updateId}
</if> </if>
<if test="params.updateTime != null"> <if test="params.updateTime != null">
and update_time = #{params.updateTime} and f_update_time = #{params.updateTime}
</if> </if>
<if test="params.updateName != null and params.updateName != ''"> <if test="params.updateName != null and params.updateName != ''">
and update_name = #{params.updateName} and f_update_name = #{params.updateName}
</if> </if>
<if test="params.createCorpName != null and params.createCorpName != ''"> <if test="params.createCorpName != null and params.createCorpName != ''">
and create_corp_name = #{params.createCorpName} and f_create_corp_name = #{params.createCorpName}
</if> </if>
<if test="params.createDeptName != null and params.createDeptName != ''"> <if test="params.createDeptName != null and params.createDeptName != ''">
and create_dept_name = #{params.createDeptName} and f_create_dept_name = #{params.createDeptName}
</if> </if>
<if test="params.createTimes != null"> <if test="params.createTimes != null">
and create_time &gt;= #{params.createTimes[0]} and f_create_time &gt;= #{params.createTimes[0]}
and create_time &lt;= #{params.createTimes[1]} and f_create_time &lt;= #{params.createTimes[1]}
</if> </if>
<if test="params.updateTimes != null"> <if test="params.updateTimes != null">
and update_time &gt;= #{params.updateTimes[0]} and f_update_time &gt;= #{params.updateTimes[0]}
and update_time &lt;= #{params.updateTimes[1]} and f_update_time &lt;= #{params.updateTimes[1]}
</if> </if>
</where> </where>
</select> </select>
@ -113,6 +114,7 @@
<result property="updateName" column="update_name" jdbcType="VARCHAR"/> <result property="updateName" column="update_name" jdbcType="VARCHAR"/>
<result property="createCorpName" column="create_corp_name" jdbcType="VARCHAR"/> <result property="createCorpName" column="create_corp_name" jdbcType="VARCHAR"/>
<result property="createDeptName" column="create_dept_name" jdbcType="VARCHAR"/> <result property="createDeptName" column="create_dept_name" jdbcType="VARCHAR"/>
<result property="volume" column="volume" jdbcType="INTEGER"/>
</resultMap> </resultMap>
@ -135,8 +137,8 @@
<result property="updateName" column="update_name" jdbcType="VARCHAR"/> <result property="updateName" column="update_name" jdbcType="VARCHAR"/>
<result property="createCorpName" column="create_corp_name" jdbcType="VARCHAR"/> <result property="createCorpName" column="create_corp_name" jdbcType="VARCHAR"/>
<result property="createDeptName" column="create_dept_name" jdbcType="VARCHAR"/> <result property="createDeptName" column="create_dept_name" jdbcType="VARCHAR"/>
<collection property="selectionOrderingBooksList" select="querySelectionOrderingBooksList" column="id" <!-- <collection property="selectionOrderingBooksList" select="querySelectionOrderingBooksList" column="id"-->
javaType="list"/> <!-- javaType="list"/>-->
</resultMap> </resultMap>
@ -169,7 +171,7 @@
<!-- 去向明细 --> <!-- 去向明细 -->
<sql id="common_Base_Column_List"> <sql id="common_Base_Column_List">
ID,source_id,target_id,type,ext f_ID as id,f_source_id as source_id,f_target_id as target_id,f_type as type,f_ext as ext
</sql> </sql>
@ -182,21 +184,21 @@
<select id="queryBookTurnoverInfoList" resultMap="TCommonRelationMap"> <select id="queryBookTurnoverInfoList" resultMap="TCommonRelationMap">
select select
<include refid="common_Base_Column_List"/> <include refid="common_Base_Column_List"/>
from t_common_relation where source_id=#{id} and type='SAMPLE_BOOK_DESTINATION' order by ext desc from t_common_relation where f_source_id=#{id} and f_type='SAMPLE_BOOK_DESTINATION' order by f_ext desc
</select> </select>
<!-- 去向明细 --> <!-- 去向明细 -->
<!-- 选书列表查询--> <!-- 选书列表查询-->
<sql id="Books_Base_Column_List"> <sql id="Books_Base_Column_List">
id,book_number,relation_id,cover_image,book_name,author,price,edition,impression,publication_time,content_summary,remark,quantity,variety_number,problem_flag,del_flag,create_id,create_time,create_name,self_reserved f_id as id, f_book_number as book_number, f_relation_id as relation_id, f_cover_image as cover_image, f_book_name as book_name, f_author as author, f_price as price, f_edition as edition, f_impression as impression, f_publication_time as publication_time, f_self_reserved as self_reserved, f_content_summary as content_summary, f_remark as remark, f_quantity as quantity, f_variety_number as variety_number, f_problem_flag as problem_flag, f_del_flag as del_flag, f_create_id as create_id, f_create_time as create_time, f_create_name as create_name, f_book_removal_time as book_removal_time, f_book_removal_id as book_removal_id, f_book_removal_name as book_removal_name, f_book_removal_status as book_removal_status, f_book_removal_status_name as book_removal_status_name, f_rack_number as rack_number, f_book_inventory_id as book_inventory_id, f_inventory_number as inventory_number
</sql> </sql>
<select id="querySelectionOrderingBooksList" resultMap="TSelectionOrderingBooksMap"> <select id="querySelectionOrderingBooksList" resultMap="TSelectionOrderingBooksMap">
select select
<include refid="Books_Base_Column_List"/> <include refid="Books_Base_Column_List"/>
from t_selection_ordering_books where relation_id=#{id} and del_flag='0' order by create_time desc from t_selection_ordering_books where f_relation_id=#{id} and f_del_flag='0' order by f_create_time desc
</select> </select>
@ -205,29 +207,35 @@
<select id="queryOrderingListByOrderType" <select id="queryOrderingListByOrderType"
resultMap="queryOrderingListByOrderTypeMap"> resultMap="queryOrderingListByOrderTypeMap">
select select
<include refid="Base_Column_List"/> <include refid="Base_Column_List"/>,
(select sum(t_selection_ordering_books.f_quantity) from t_selection_ordering_books where t_selection_ordering_books.f_relation_id=t_selection_ordering_main.f_id ) volume
from t_selection_ordering_main from t_selection_ordering_main
<where> <where>
del_flag='0' f_del_flag='0'
<if test="params.id != null"> <if test="params.id != null">
and id = #{params.id} and f_id = #{params.id}
</if> </if>
<if test="params.userId != null and params.userId != ''"> <if test="params.userId != null and params.userId != ''">
and create_id = #{params.userId} and (f_create_id = #{params.userId}
<if test="params.corpId != null and params.corpId != ''">
or (f_create_corp_id = #{params.corpId} and f_main_status not in ('1'))
</if>
)
</if> </if>
<if test="params.orderType != null and params.orderType != ''"> <if test="params.orderType != null and params.orderType != ''">
and type = #{params.orderType} and f_type = #{params.orderType}
</if> </if>
<if test="params.mainStatus != null and params.mainStatus != ''"> <if test="params.mainStatus != null and params.mainStatus != ''">
and main_status = #{params.mainStatus} and f_main_status = #{params.mainStatus}
</if> </if>
<if test="params.startTime != null and params.endTime!=null"> <if test="params.startTime != null and params.endTime!=null">
and create_time &gt;= #{params.startTime} and f_create_time &gt;= #{params.startTime}
and create_time &lt;= #{params.endTime} and f_create_time &lt;= #{params.endTime}
</if> </if>
order by create_time desc order by f_create_time desc
</where> </where>
</select> </select>
@ -235,6 +243,26 @@
resultMap="OrderingInfoMap"> resultMap="OrderingInfoMap">
select select
<include refid="Base_Column_List"/> <include refid="Base_Column_List"/>
from t_selection_ordering_main where id = #{id} and del_flag='0' from t_selection_ordering_main where f_id = #{id} and f_del_flag='0'
</select>
<resultMap type="jnpf.model.dto.SelectionOrderingMainDto$QueryOrderingListForLeaderResponse"
id="QueryOrderingListForLeaderResponseMap">
<result property="id" column="id" jdbcType="INTEGER"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="createCorpName" column="create_corp_name" jdbcType="VARCHAR"/>
<result property="recommendBook" column="recommend_book" jdbcType="VARCHAR"/>
<result property="recommendTime" column="recommend_time" jdbcType="VARCHAR"/>
<result property="isSelected" column="is_select" jdbcType="BOOLEAN"/>
</resultMap>
<select id="queryOrderingListForLeader"
resultMap="QueryOrderingListForLeaderResponseMap">
select f_id as id,f_create_time as create_time,date_format(f_create_time,'%Y-%m') recommend_time,
f_create_corp_name as create_corp_name,
(select group_concat(f_book_name)from `t_selection_ordering_books` where f_relation_id=t_selection_ordering_main.f_id group by f_relation_id)recommend_book,
(select f_ext from t_common_relation where f_source_id=t_selection_ordering_main.f_id and t_common_relation.f_type='LEADER_SELECTION_BOOK_MARK' limit 1) is_select
from t_selection_ordering_main where MONTH(f_create_time) = MONTH(NOW()) and f_type='4';
</select> </select>
</mapper> </mapper>

97
jnpf-library/jnpf-library-biz/src/main/resources/mapper/TShelfOperationMapper.xml

@ -0,0 +1,97 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="jnpf.mapper.TShelfOperationMapper">
<resultMap type="jnpf.entity.TShelfOperation" id="TShelfOperationMap">
<result property="id" column="id" jdbcType="INTEGER"/>
<result property="type" column="type" jdbcType="VARCHAR"/>
<result property="bookInventoryId" column="book_inventory_id" jdbcType="VARCHAR"/>
<result property="operationType" column="operation_type" jdbcType="VARCHAR"/>
<result property="operationTypeName" column="operation_type_name" jdbcType="VARCHAR"/>
<result property="listingNumber" column="listing_number" jdbcType="INTEGER"/>
<result property="removeNumber" column="remove_number" jdbcType="INTEGER"/>
<result property="delFlag" column="del_flag" jdbcType="VARCHAR"/>
<result property="createId" column="create_id" jdbcType="VARCHAR"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="createName" column="create_name" jdbcType="VARCHAR"/>
<result property="updateId" column="update_id" jdbcType="VARCHAR"/>
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
<result property="updateName" column="update_name" jdbcType="VARCHAR"/>
<result property="createCorpName" column="create_corp_name" jdbcType="VARCHAR"/>
<result property="createCorpId" column="create_corp_id" jdbcType="VARCHAR"/>
<result property="createDeptName" column="create_dept_name" jdbcType="VARCHAR"/>
<result property="createDeptId" column="create_dept_id" jdbcType="VARCHAR"/>
</resultMap>
<sql id="Base_Column_List" >
f_id as id, f_save_type as save_type, f_type as type, f_book_inventory_id as book_inventory_id, f_operation_type as operation_type, f_operation_type_name as operation_type_name, f_listing_number as listing_number, f_remove_number as remove_number, f_del_flag as del_flag, f_create_id as create_id, f_create_time as create_time, f_create_name as create_name, f_update_id as update_id, f_update_time as update_time, f_update_name as update_name, f_create_corp_name as create_corp_name, f_create_corp_id as create_corp_id, f_create_dept_name as create_dept_name, f_create_dept_id as create_dept_id</sql>
<!--查询指定行数据-->
<select id="selectPage" resultMap="TShelfOperationMap">
select
f_id as id, f_save_type as save_type, f_type as type, f_book_inventory_id as book_inventory_id, f_operation_type as operation_type, f_operation_type_name as operation_type_name, f_listing_number as listing_number, f_remove_number as remove_number, f_del_flag as del_flag, f_create_id as create_id, f_create_time as create_time, f_create_name as create_name, f_update_id as update_id, f_update_time as update_time, f_update_name as update_name, f_create_corp_name as create_corp_name, f_create_corp_id as create_corp_id, f_create_dept_name as create_dept_name, f_create_dept_id as create_dept_id from t_shelf_operation
<where>
<if test="params.id != null">
and f_id = #{params.id}
</if>
<if test="params.type != null and params.type != ''">
and f_type = #{params.type}
</if>
<if test="params.bookInventoryId != null and params.bookInventoryId != ''">
and f_book_inventory_id = #{params.bookInventoryId}
</if>
<if test="params.operationType != null and params.operationType != ''">
and f_operation_type = #{params.operationType}
</if>
<if test="params.operationTypeName != null and params.operationTypeName != ''">
and f_operation_type_name = #{params.operationTypeName}
</if>
<if test="params.listingNumber != null">
and f_listing_number = #{params.listingNumber}
</if>
<if test="params.removeNumber != null">
and f_remove_number = #{params.removeNumber}
</if>
<if test="params.delFlag != null and params.delFlag != ''">
and f_del_flag = #{params.delFlag}
</if>
<if test="params.createId != null and params.createId != ''">
and f_create_id = #{params.createId}
</if>
<if test="params.createTime != null">
and f_create_time = #{params.createTime}
</if>
<if test="params.createName != null and params.createName != ''">
and f_create_name = #{params.createName}
</if>
<if test="params.updateId != null and params.updateId != ''">
and f_update_id = #{params.updateId}
</if>
<if test="params.updateTime != null">
and f_update_time = #{params.updateTime}
</if>
<if test="params.updateName != null and params.updateName != ''">
and f_update_name = #{params.updateName}
</if>
<if test="params.createCorpName != null and params.createCorpName != ''">
and f_create_corp_name = #{params.createCorpName}
</if>
<if test="params.createCorpId != null and params.createCorpId != ''">
and f_create_corp_id = #{params.createCorpId}
</if>
<if test="params.createDeptName != null and params.createDeptName != ''">
and f_create_dept_name = #{params.createDeptName}
</if>
<if test="params.createDeptId != null and params.createDeptId != ''">
and f_create_dept_id = #{params.createDeptId}
</if>
<if test="params.createTimes != null">
and f_create_time &gt;= #{params.createTimes[0]}
and f_create_time &lt;= #{params.createTimes[1]}
</if>
<if test="params.updateTimes != null">
and f_update_time &gt;= #{params.updateTimes[0]}
and f_update_time &lt;= #{params.updateTimes[1]}
</if>
</where>
</select>
</mapper>

22
jnpf-library/jnpf-library-controller/src/main/java/jnpf/controller/ReceiveGoodsMainController.java

@ -2,6 +2,9 @@ package jnpf.controller;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.hutool.extra.qrcode.QrCodeUtil;
import cn.xuyanwu.spring.file.storage.FileInfo;
import cn.xuyanwu.spring.file.storage.MockMultipartFile;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiParam;
@ -9,6 +12,9 @@ import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import jnpf.base.ActionResult; import jnpf.base.ActionResult;
import jnpf.base.Page; import jnpf.base.Page;
import jnpf.base.entity.DictionaryDataEntity;
import jnpf.base.vo.DownloadVO;
import jnpf.constant.FileTypeConstant;
import jnpf.constant.MsgCode; import jnpf.constant.MsgCode;
import jnpf.entity.TLibrary; import jnpf.entity.TLibrary;
import jnpf.exception.DataException; import jnpf.exception.DataException;
@ -18,6 +24,7 @@ import jnpf.service.TReceiveGoodsMainService;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.io.ByteArrayOutputStream;
import java.util.List; import java.util.List;
import java.util.Optional; import java.util.Optional;
@ -60,7 +67,7 @@ public class ReceiveGoodsMainController {
@Operation(summary = "通过图书编号查询图书基本信息-(拆包扫图书条码)") @Operation(summary = "通过图书编号查询图书基本信息-(拆包扫图书条码)")
@GetMapping("getBunchingInfoByBookNumber") @GetMapping("getBunchingInfoByBookNumber")
public ActionResult<ReceiveGoodsMainDto.BunchingInfo> getBunchingInfoByBookNumber(@ApiParam("图书编号") @RequestParam String bookNumber) { public ActionResult<ReceiveGoodsMainDto.TLibraryEntity> getBunchingInfoByBookNumber(@ApiParam("图书编号") @RequestParam String bookNumber) {
if (StrUtil.isBlank(bookNumber)) { if (StrUtil.isBlank(bookNumber)) {
throw new DataException("请输入图书编号"); throw new DataException("请输入图书编号");
} }
@ -75,10 +82,14 @@ public class ReceiveGoodsMainController {
return ActionResult.success(); return ActionResult.success();
} }
@Operation(summary = "根据收货单id获取跳转二维码")
@GetMapping("getQrByReceiptId")
public ActionResult<DownloadVO> getQrByReceiptId(@ApiParam("收货单id") @RequestParam Long id) {
return ActionResult.success(tReceiveGoodsMainService.getQrByReceiptId(id));
}
// 分堆 // 分堆
@Operation(summary = "根据选书id查询分堆信息(根据验收类型:1-业务部 2-版本馆 3-样书室)") @Operation(summary = "根据选书id查询分堆信息(根据验收类型:1-业务部 2-版本馆 3-样书室)")
@GetMapping("getStackingInformation") @GetMapping("getStackingInformation")
public ActionResult<List<ReceiveGoodsMainDto.TBookGoWhereEntity>> getStackingInformation(@ApiParam("选书id") @RequestParam Long id, @ApiParam("验收类型:1-业务部 2-版本馆 3-样书室") @RequestParam String orderType) { public ActionResult<List<ReceiveGoodsMainDto.TBookGoWhereEntity>> getStackingInformation(@ApiParam("选书id") @RequestParam Long id, @ApiParam("验收类型:1-业务部 2-版本馆 3-样书室") @RequestParam String orderType) {
@ -105,6 +116,13 @@ public class ReceiveGoodsMainController {
//h5上架使用 //h5上架使用
@Operation(summary = "h5页面上架接口")
@PostMapping("h5ShelfInterface")
public ActionResult<Void> h5ShelfInterface(@RequestBody ReceiveGoodsMainDto.H5ShelfInterfaceParam param) {
tReceiveGoodsMainService.h5ShelfInterface(param);
return ActionResult.success();
}

43
jnpf-library/jnpf-library-controller/src/main/java/jnpf/controller/RemovalManagementController.java

@ -0,0 +1,43 @@
package jnpf.controller;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiParam;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jnpf.base.ActionResult;
import jnpf.base.vo.DownloadVO;
import jnpf.constant.MsgCode;
import jnpf.exception.DataException;
import jnpf.model.dto.ReceiveGoodsMainDto;
import jnpf.service.ILibraryService;
import jnpf.service.TReceiveGoodsMainService;
import jnpf.service.TRemovalManagementService;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@Api("下架管理")
@Tag(name = "下架管理", description = "removalManagement")
@RequestMapping("/removalManagement")
@AllArgsConstructor
public class RemovalManagementController {
private final TRemovalManagementService tRemovalManagementService;
// @Operation(summary = "下架单新建")
// @PostMapping("addRemoval")
// public ActionResult<String> addRemoval(@RequestBody ReceiveGoodsMainDto.NewReceiptParam param) {
// return ActionResult.success(MsgCode.SU000.get(),tReceiveGoodsMainService.newReceipt(param));
// }
}

63
jnpf-library/jnpf-library-controller/src/main/java/jnpf/controller/SelectionOrderingMainController.java

@ -7,6 +7,7 @@ import io.swagger.annotations.ApiParam;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import jnpf.base.ActionResult; import jnpf.base.ActionResult;
import jnpf.base.Page;
import jnpf.base.vo.DownloadVO; import jnpf.base.vo.DownloadVO;
import jnpf.entity.TLibrary; import jnpf.entity.TLibrary;
import jnpf.entity.TSelectionOrderingBooks; import jnpf.entity.TSelectionOrderingBooks;
@ -50,19 +51,77 @@ public class SelectionOrderingMainController {
@Operation(summary = "根据id查询选品详情") @Operation(summary = "根据id查询选品详情")
@GetMapping("getInfoById") @GetMapping("getInfoById")
public ActionResult<SelectionOrderingMainDto.CommonTSelectionOrderingMain> getInfoById(@RequestParam("选品单号") Long id, @ApiParam("是否查询其他部门选品下单即汇总") @RequestParam(required = false) Boolean queryOther) { public ActionResult<SelectionOrderingMainDto.CommonTSelectionOrderingMain> getInfoById(@RequestParam("选品单号") Long id, @ApiParam("是否查询其他部门选品下单即汇总") @RequestParam(required = false) Boolean queryOther) {
return ActionResult.success(tSelectionOrderingMainService.getInfoById(id,queryOther)); return ActionResult.success(tSelectionOrderingMainService.getInfoById(id, queryOther));
} }
@Operation(summary = "根据选品id分页查询选书列表")
@PostMapping("pageSelectedBooks")
public ActionResult<IPage<TSelectionOrderingBooks>> pageSelectedBooks(@RequestBody SelectionOrderingMainDto.PageSelectedBooks param) {
return ActionResult.success(tSelectionOrderingMainService.pageSelectedBooks(param));
}
//样书库统一查询接口
@Operation(summary = "汇总查询业务部/版本馆选书列表")
@PostMapping("aggregateQuery")
public ActionResult<IPage<TSelectionOrderingBooks>> aggregateQuery(@RequestBody SelectionOrderingMainDto.AggregateQuery param) {
return ActionResult.success(tSelectionOrderingMainService.aggregateQuery(param));
}
@Operation(summary = "删除") @Operation(summary = "删除")
@PostMapping("/delete") @PostMapping("/delete")
public ActionResult<Void> delete(@RequestParam String id) { public ActionResult<Void> delete(@RequestParam String id) {
tSelectionOrderingMainService.delete(id,true); tSelectionOrderingMainService.delete(id, true);
return ActionResult.success(); return ActionResult.success();
} }
@Operation(summary = "查询图书列表") @Operation(summary = "查询图书列表")
@PostMapping("getLibraryList") @PostMapping("getLibraryList")
public ActionResult<IPage<TLibrary>> getLibraryList(@RequestBody SelectionOrderingMainDto.GetLibraryListParam param) { public ActionResult<IPage<TLibrary>> getLibraryList(@RequestBody SelectionOrderingMainDto.GetLibraryListParam param) {
return ActionResult.success(libraryService.getLibraryList(param)); return ActionResult.success(libraryService.getLibraryList(param));
} }
//重点书接口
@Operation(summary = "社长选书")
@PostMapping("/presidentSelection")
public ActionResult<Void> presidentSelection(@RequestBody SelectionOrderingMainDto.PresidentSelectionParam param) {
tSelectionOrderingMainService.presidentSelection(param);
return ActionResult.success();
}
@Operation(summary = "分页查询社长所选图书")
@PostMapping("/queryBooksFromPresident")
public ActionResult<IPage<TSelectionOrderingBooks>> queryBooksFromPresident(@RequestBody SelectionOrderingMainDto.QueryBooksFromPresident param) {
return ActionResult.success(tSelectionOrderingMainService.queryBooksFromPresident(param));
}
//领导选书接口
@Operation(summary = "领导查询所有待选书列表")
@GetMapping("/queryOrderingListForLeader")
public ActionResult<List<SelectionOrderingMainDto.QueryOrderingListForLeaderResponse>> queryOrderingListForLeader() {
return ActionResult.success(tSelectionOrderingMainService.queryOrderingListForLeader());
}
@Operation(summary = "领导选书")
@PostMapping("/leaderSelection")
public ActionResult<Void> leaderSelection(@RequestBody SelectionOrderingMainDto.PresidentSelectionParam param) {
tSelectionOrderingMainService.leaderSelection(param);
return ActionResult.success();
}
@Operation(summary = "查询领导所选图书")
@PostMapping("/queryBooksFromLeader")
public ActionResult<List<TSelectionOrderingBooks>> queryBooksFromLeader(@RequestBody SelectionOrderingMainDto.QueryBooksFromPresident param) {
return ActionResult.success(tSelectionOrderingMainService.queryBooksFromLeader(param));
}
} }

40
jnpf-library/jnpf-library-entity/src/main/java/jnpf/entity/TBookGoWhere.java

@ -23,90 +23,90 @@ public class TBookGoWhere implements Serializable {
private static final long serialVersionUID = -65167281438767901L; private static final long serialVersionUID = -65167281438767901L;
@TableId(type = IdType.ASSIGN_ID) @TableId(value = "f_id",type = IdType.ASSIGN_ID)
private Long id; private Long id;
@ApiModelProperty(value = "图书编号") @ApiModelProperty(value = "图书编号")
@TableField(value = "book_number") @TableField(value = "f_book_number")
private String bookNumber; private String bookNumber;
@ApiModelProperty(value = "去向名称") @ApiModelProperty(value = "去向名称")
@TableField(value = "target_name") @TableField(value = "f_target_name")
private String targetName; private String targetName;
@ApiModelProperty(value = "收货单信息类型:1-业务部 2-版本馆 3-样书室") @ApiModelProperty(value = "收货单信息类型:1-业务部 2-版本馆 3-样书室")
@TableField(value = "order_type") @TableField(value = "f_order_type")
private String orderType; private String orderType;
@ApiModelProperty(value = "0-初始化去向 1-签收保存去向(用于区分数据来源)") @ApiModelProperty(value = "0-初始化去向 1-签收保存去向(用于区分数据来源)")
@TableField(value = "type") @TableField(value = "f_type")
private String type; private String type;
@ApiModelProperty(value = "业务关联id") @ApiModelProperty(value = "业务关联id")
@TableField(value = "relation_id") @TableField(value = "f_relation_id")
private String relationId; private String relationId;
@ApiModelProperty(value = "应送数量") @ApiModelProperty(value = "应送数量")
@TableField(value = "should_send") @TableField(value = "f_should_send")
private Integer shouldSend; private Integer shouldSend;
@ApiModelProperty(value = "实送数量") @ApiModelProperty(value = "实送数量")
@TableField(value = "actual_send") @TableField(value = "f_actual_send")
private Integer actualSend; private Integer actualSend;
@ApiModelProperty(value = "入库标记 0-未入库 1-已入库") @ApiModelProperty(value = "入库标记 0-未入库 1-已入库")
@TableField(value = "warehouse_entry_flag") @TableField(value = "f_warehouse_entry_flag")
private String warehouseEntryFlag; private String warehouseEntryFlag;
@ApiModelProperty(value = "删除标记0-正常 1-删除") @ApiModelProperty(value = "删除标记0-正常 1-删除")
@TableField(value = "del_flag") @TableField(value = "f_del_flag")
@TableLogic @TableLogic
private String delFlag; private String delFlag;
@ApiModelProperty(value = "创建者id") @ApiModelProperty(value = "创建者id")
@TableField(value = "create_by") @TableField(value = "f_create_by")
private String createBy; private String createBy;
@ApiModelProperty(value = "创建者名称") @ApiModelProperty(value = "创建者名称")
@TableField(value = "create_name") @TableField(value = "f_create_name")
private String createName; private String createName;
@ApiModelProperty(value = "创建时间") @ApiModelProperty(value = "创建时间")
@TableField(value = "create_time",fill = FieldFill.INSERT) @TableField(value = "f_create_time",fill = FieldFill.INSERT)
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTime; private LocalDateTime createTime;
@ApiModelProperty(value = "更新者id") @ApiModelProperty(value = "更新者id")
@TableField(value = "update_by") @TableField(value = "f_update_by")
private String updateBy; private String updateBy;
@ApiModelProperty(value = "更新者名称") @ApiModelProperty(value = "更新者名称")
@TableField(value = "update_name") @TableField(value = "f_update_name")
private String updateName; private String updateName;
@ApiModelProperty(value = "修改时间") @ApiModelProperty(value = "修改时间")
@TableField(value = "update_time",fill = FieldFill.INSERT_UPDATE) @TableField(value = "f_update_time",fill = FieldFill.INSERT_UPDATE)
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime updateTime; private LocalDateTime updateTime;
@ApiModelProperty(value = "创建人单位名称") @ApiModelProperty(value = "创建人单位名称")
@TableField(value = "create_corp_name") @TableField(value = "f_create_corp_name")
private String createCorpName; private String createCorpName;
@ApiModelProperty(value = "创建人单位id") @ApiModelProperty(value = "创建人单位id")
@TableField(value = "create_corp_id") @TableField(value = "f_create_corp_id")
private String createCorpId; private String createCorpId;
@ApiModelProperty(value = "创建人部门名称") @ApiModelProperty(value = "创建人部门名称")
@TableField(value = "create_dept_name") @TableField(value = "f_create_dept_name")
private String createDeptName; private String createDeptName;
@ApiModelProperty(value = "创建人部门id") @ApiModelProperty(value = "创建人部门id")
@TableField(value = "create_dept_id") @TableField(value = "f_create_dept_id")
private String createDeptId; private String createDeptId;
} }

137
jnpf-library/jnpf-library-entity/src/main/java/jnpf/entity/TBookInventory.java

@ -0,0 +1,137 @@
package jnpf.entity;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.format.annotation.DateTimeFormat;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import java.time.LocalDateTime;
/**
* 图书库存表(TBookInventory)
*
* @author common
* @since 2024-10-29 15:58:48
*/
@Data
@TableName("t_book_inventory")
public class TBookInventory implements Serializable {
private static final long serialVersionUID = 284208972835688225L;
@ApiModelProperty(value = "雪花id")
@TableId(value = "f_id", type = IdType.ASSIGN_ID)
private Long id;
@ApiModelProperty(value = "类型:1-业务部 2-版本馆 3-样书室")
@TableField(value = "f_type")
private String type;
@ApiModelProperty(value = "图书编号")
@TableField(value = "f_book_number")
private String bookNumber;
@ApiModelProperty(value = "图书名称")
@TableField(value = "f_book_name")
private String bookName;
@ApiModelProperty(value = "作者")
@TableField(value = "f_author")
private String author;
@ApiModelProperty(value = "架位号")
@TableField(value = "f_rack_number")
private String rackNumber;
@ApiModelProperty(value = "封面图链接")
@TableField(value = "f_cover_image")
private String coverImage;
@ApiModelProperty(value = "定价")
@TableField(value = "f_price")
private String price;
@ApiModelProperty(value = "版次")
@TableField(value = "f_edition")
private String edition;
@ApiModelProperty(value = "印次")
@TableField(value = "f_impression")
private String impression;
@ApiModelProperty(value = "出版时间")
@TableField(value = "f_publication_time")
private String publicationTime;
@ApiModelProperty(value = "内容概要")
@TableField(value = "f_content_summary")
private String contentSummary;
@ApiModelProperty(value = "备注")
@TableField(value = "f_remark")
private String remark;
@ApiModelProperty(value = "图书数量(该架位库存)")
@TableField(value = "f_quantity")
private Integer quantity;
@ApiModelProperty(value = "品种号")
@TableField(value = "f_variety_number")
private String varietyNumber;
@ApiModelProperty(value = "删除标记 0-正常 1-删除")
@TableField(value = "f_del_flag")
@TableLogic
private String delFlag;
@ApiModelProperty(value = "创建人id")
@TableField(value = "f_create_id")
private String createId;
@ApiModelProperty(value = "创建时间")
@TableField(value = "f_create_time",fill = FieldFill.INSERT)
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTime;
@ApiModelProperty(value = "创建人姓名")
@TableField(value = "f_create_name")
private String createName;
@ApiModelProperty(value = "更新人id")
@TableField(value = "f_update_id")
private String updateId;
@ApiModelProperty(value = "更新时间")
@TableField(value = "f_update_time",fill = FieldFill.INSERT_UPDATE)
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime updateTime;
@ApiModelProperty(value = "更新人名称")
@TableField(value = "f_update_name")
private String updateName;
@ApiModelProperty(value = "创建人单位名称")
@TableField(value = "f_create_corp_name")
private String createCorpName;
@ApiModelProperty(value = "创建人单位id")
@TableField(value = "f_create_corp_id")
private String createCorpId;
@ApiModelProperty(value = "创建人部门名称")
@TableField(value = "f_create_dept_name")
private String createDeptName;
@ApiModelProperty(value = "创建人部门id")
@TableField(value = "f_create_dept_id")
private String createDeptId;
}

22
jnpf-library/jnpf-library-entity/src/main/java/jnpf/entity/TCommonRelation.java

@ -23,49 +23,49 @@ public class TCommonRelation implements Serializable {
private static final long serialVersionUID = -30379046900422387L; private static final long serialVersionUID = -30379046900422387L;
@TableId(type = IdType.ASSIGN_ID) @TableId(value = "f_id", type = IdType.ASSIGN_ID)
private Long id; private Long id;
@ApiModelProperty(value = "当前ID") @ApiModelProperty(value = "当前ID")
@TableField(value = "source_id") @TableField(value = "f_source_id")
private String sourceId; private String sourceId;
@ApiModelProperty(value = "关联ID") @ApiModelProperty(value = "关联ID")
@TableField(value = "target_id") @TableField(value = "f_target_id")
private String targetId; private String targetId;
@ApiModelProperty(value = "关系名称") @ApiModelProperty(value = "关系名称")
@TableField(value = "type") @TableField(value = "f_type")
private String type; private String type;
@ApiModelProperty(value = "扩展") @ApiModelProperty(value = "扩展")
@TableField(value = "ext") @TableField(value = "f_ext")
private String ext; private String ext;
@ApiModelProperty(value = "创建者id") @ApiModelProperty(value = "创建者id")
@TableField(value = "create_by") @TableField(value = "f_create_by")
private String createBy; private String createBy;
@ApiModelProperty(value = "创建者名称") @ApiModelProperty(value = "创建者名称")
@TableField(value = "create_name") @TableField(value = "f_create_name")
private String createName; private String createName;
@ApiModelProperty(value = "创建时间") @ApiModelProperty(value = "创建时间")
@TableField(value = "create_time",fill = FieldFill.INSERT) @TableField(value = "f_create_time",fill = FieldFill.INSERT)
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTime; private LocalDateTime createTime;
@ApiModelProperty(value = "更新者id") @ApiModelProperty(value = "更新者id")
@TableField(value = "update_by") @TableField(value = "f_update_by")
private String updateBy; private String updateBy;
@ApiModelProperty(value = "更新者名称") @ApiModelProperty(value = "更新者名称")
@TableField(value = "update_name") @TableField(value = "f_update_name")
private String updateName; private String updateName;
@ApiModelProperty(value = "修改时间") @ApiModelProperty(value = "修改时间")
@TableField(value = "update_time",fill = FieldFill.INSERT_UPDATE) @TableField(value = "f_update_time",fill = FieldFill.INSERT_UPDATE)
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime updateTime; private LocalDateTime updateTime;

83
jnpf-library/jnpf-library-entity/src/main/java/jnpf/entity/TReceiveGoodsBooks.java

@ -24,71 +24,122 @@ public class TReceiveGoodsBooks implements Serializable {
private static final long serialVersionUID = 303124868700431426L; private static final long serialVersionUID = 303124868700431426L;
@ApiModelProperty(value = "雪花id") @ApiModelProperty(value = "雪花id")
@TableId(type = IdType.ASSIGN_ID) @TableId(value = "f_id", type = IdType.ASSIGN_ID)
private Long id; private Long id;
@ApiModelProperty(value = "上架状态 0-待上架 1-上架中 2-已上架")
@TableField(value = "f_listing_status")
private String listingStatus;
@ApiModelProperty(value = "上架状态名称")
@TableField(value = "f_listing_status_name")
private String listingStatusName;
@ApiModelProperty(value = "图书编号") @ApiModelProperty(value = "图书编号")
@TableField(value = "book_number") @TableField(value = "f_book_number")
private String bookNumber; private String bookNumber;
@ApiModelProperty(value = "关联收货单id") @ApiModelProperty(value = "关联收货单id")
@TableField(value = "relation_id") @TableField(value = "f_relation_id")
private String relationId; private String relationId;
@ApiModelProperty(value = "封面图链接") @ApiModelProperty(value = "封面图链接")
@TableField(value = "cover_image") @TableField(value = "f_cover_image")
private String coverImage; private String coverImage;
@ApiModelProperty(value = "图书名称") @ApiModelProperty(value = "图书名称")
@TableField(value = "book_name") @TableField(value = "f_book_name")
private String bookName; private String bookName;
@ApiModelProperty(value = "架位号")
@TableField(value = "f_rack_number")
private String rackNumber;
@ApiModelProperty(value = "作者")
@TableField(value = "f_author")
private String author;
@ApiModelProperty(value = "定价") @ApiModelProperty(value = "定价")
@TableField(value = "price") @TableField(value = "f_price")
private String price; private String price;
@ApiModelProperty(value = "版次")
@TableField(value = "f_edition")
private String edition;
@ApiModelProperty(value = "印次")
@TableField(value = "f_impression")
private String impression;
@ApiModelProperty(value = "出版社") @ApiModelProperty(value = "出版社")
@TableField(value = "press") @TableField(value = "f_press")
private String press; private String press;
@ApiModelProperty(value = "下印册书") @ApiModelProperty(value = "下印册书")
@TableField(value = "printing_books") @TableField(value = "f_printing_books")
private Integer printingBooks; private Integer printingBooks;
@ApiModelProperty(value = "签收数量") @ApiModelProperty(value = "签收数量")
@TableField(value = "signed_quantity") @TableField(value = "f_signed_quantity")
private Integer signedQuantity; private Integer signedQuantity;
@ApiModelProperty(value = "应送数量") @ApiModelProperty(value = "应送数量")
@TableField(value = "should_send") @TableField(value = "f_should_send")
private Integer shouldSend; private Integer shouldSend;
@ApiModelProperty(value = "应上架数")
@TableField(value = "f_should_up_number")
private Integer shouldUpNumber;
@ApiModelProperty(value = "已上架数-(h5上架使用)")
@TableField(value = "f_already_up_number")
private Integer alreadyUpNumber;
@ApiModelProperty(value = "实发数量") @ApiModelProperty(value = "实发数量")
@TableField(value = "actual_send") @TableField(value = "f_actual_send")
private Integer actualSend; private Integer actualSend;
@ApiModelProperty(value = "备注") @ApiModelProperty(value = "备注")
@TableField(value = "remark") @TableField(value = "f_remark")
private String remark; private String remark;
@ApiModelProperty(value = "删除标记 0-正常 1-删除") @ApiModelProperty(value = "删除标记 0-正常 1-删除")
@TableField(value = "del_flag") @TableField(value = "f_del_flag")
@TableLogic @TableLogic
private String delFlag; private String delFlag;
@ApiModelProperty(value = "创建人id") @ApiModelProperty(value = "创建人id")
@TableField(value = "create_id") @TableField(value = "f_create_id")
private String createId; private String createId;
@ApiModelProperty(value = "创建时间") @ApiModelProperty(value = "创建时间")
@TableField(value = "create_time",fill = FieldFill.INSERT) @TableField(value = "f_create_time",fill = FieldFill.INSERT)
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTime; private LocalDateTime createTime;
@ApiModelProperty(value = "创建人姓名") @ApiModelProperty(value = "创建人姓名")
@TableField(value = "create_name") @TableField(value = "f_create_name")
private String createName; private String createName;
@ApiModelProperty(value = "上架人id")
@TableField(value = "f_listing_id")
private String listingId;
@ApiModelProperty(value = "上架时间")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@TableField(value = "f_listing_time")
private LocalDateTime listingTime;
@ApiModelProperty(value = "上架人名称")
@TableField(value = "f_listing_name")
private String listingName;
} }

54
jnpf-library/jnpf-library-entity/src/main/java/jnpf/entity/TReceiveGoodsMain.java

@ -24,122 +24,122 @@ public class TReceiveGoodsMain implements Serializable {
private static final long serialVersionUID = -91550320791470574L; private static final long serialVersionUID = -91550320791470574L;
@ApiModelProperty(value = "主键id(雪花id)") @ApiModelProperty(value = "主键id(雪花id)")
@TableId(type = IdType.ASSIGN_ID) @TableId(value = "f_id", type = IdType.ASSIGN_ID)
private String id; private String id;
@ApiModelProperty(value = "收货单编号") @ApiModelProperty(value = "收货单编号")
@TableField(value = "receipt_number") @TableField(value = "f_receipt_number")
private String receiptNumber; private String receiptNumber;
@ApiModelProperty(value = "收货单信息类型:1-业务部 2-版本馆 3-样书室") @ApiModelProperty(value = "收货单信息类型:1-业务部 2-版本馆 3-样书室")
@TableField(value = "type") @TableField(value = "f_type")
private String type; private String type;
@ApiModelProperty(value = "主状态 1-待签收 2-待分堆 3-上架中 4-已上架") @ApiModelProperty(value = "主状态 1-待签收 2-待分堆 3-上架中 4-已上架")
@TableField(value = "main_status") @TableField(value = "f_main_status")
private String mainStatus; private String mainStatus;
@ApiModelProperty(value = "主状态名称") @ApiModelProperty(value = "主状态名称")
@TableField(value = "main_status_name") @TableField(value = "f_main_status_name")
private String mainStatusName; private String mainStatusName;
@ApiModelProperty(value = "包件情况-code") @ApiModelProperty(value = "包件情况-code")
@TableField(value = "package_situation") @TableField(value = "f_package_situation")
private String packageSituation; private String packageSituation;
@ApiModelProperty(value = "包件情况-名称") @ApiModelProperty(value = "包件情况-名称")
@TableField(value = "package_situation_name") @TableField(value = "f_package_situation_name")
private String packageSituationName; private String packageSituationName;
@ApiModelProperty(value = "收货数量") @ApiModelProperty(value = "收货数量")
@TableField(value = "quantity_received") @TableField(value = "f_quantity_received")
private Integer quantityReceived; private Integer quantityReceived;
@ApiModelProperty(value = "包件数量") @ApiModelProperty(value = "包件数量")
@TableField(value = "package_quantity") @TableField(value = "f_package_quantity")
private Integer packageQuantity; private Integer packageQuantity;
@ApiModelProperty(value = "送货方") @ApiModelProperty(value = "送货方")
@TableField(value = "delivery_party") @TableField(value = "f_delivery_party")
private String deliveryParty; private String deliveryParty;
@ApiModelProperty(value = "备注") @ApiModelProperty(value = "备注")
@TableField(value = "remark") @TableField(value = "f_remark")
private String remark; private String remark;
@ApiModelProperty(value = "上架二维码链接") @ApiModelProperty(value = "上架二维码链接")
@TableField(value = "listing_qr_code") @TableField(value = "f_listing_qr_code")
private String listingQrCode; private String listingQrCode;
@ApiModelProperty(value = "删除标记 0-正常 1-删除") @ApiModelProperty(value = "删除标记 0-正常 1-删除")
@TableField(value = "del_flag") @TableField(value = "f_del_flag")
@TableLogic @TableLogic
private String delFlag; private String delFlag;
@ApiModelProperty(value = "收货时间") @ApiModelProperty(value = "收货时间")
@TableField(value = "receive_time") @TableField(value = "f_receive_time")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime receiveTime; private LocalDateTime receiveTime;
@ApiModelProperty(value = "签收人id") @ApiModelProperty(value = "签收人id")
@TableField(value = "sign_person_id") @TableField(value = "f_sign_person_id")
private String signPersonId; private String signPersonId;
@ApiModelProperty(value = "签收人日期") @ApiModelProperty(value = "签收人日期")
@TableField(value = "sign_person_time") @TableField(value = "f_sign_person_time")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd")
private LocalDateTime signPersonTime; private LocalDateTime signPersonTime;
@ApiModelProperty(value = "签收人姓名") @ApiModelProperty(value = "签收人姓名")
@TableField(value = "sign_person_name") @TableField(value = "f_sign_person_name")
private String signPersonName; private String signPersonName;
@ApiModelProperty(value = "创建人id") @ApiModelProperty(value = "创建人id")
@TableField(value = "create_id") @TableField(value = "f_create_id")
private String createId; private String createId;
@ApiModelProperty(value = "创建时间") @ApiModelProperty(value = "创建时间")
@TableField(value = "create_time",fill = FieldFill.INSERT) @TableField(value = "f_create_time",fill = FieldFill.INSERT)
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTime; private LocalDateTime createTime;
@ApiModelProperty(value = "创建人姓名") @ApiModelProperty(value = "创建人姓名")
@TableField(value = "create_name") @TableField(value = "f_create_name")
private String createName; private String createName;
@ApiModelProperty(value = "更新人id") @ApiModelProperty(value = "更新人id")
@TableField(value = "update_id") @TableField(value = "f_update_id")
private String updateId; private String updateId;
@ApiModelProperty(value = "更新时间") @ApiModelProperty(value = "更新时间")
@TableField(value = "update_time",fill = FieldFill.INSERT_UPDATE) @TableField(value = "f_update_time",fill = FieldFill.INSERT_UPDATE)
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime updateTime; private LocalDateTime updateTime;
@ApiModelProperty(value = "更新人名称") @ApiModelProperty(value = "更新人名称")
@TableField(value = "update_name") @TableField(value = "f_update_name")
private String updateName; private String updateName;
@ApiModelProperty(value = "创建人单位名称") @ApiModelProperty(value = "创建人单位名称")
@TableField(value = "create_corp_name") @TableField(value = "f_create_corp_name")
private String createCorpName; private String createCorpName;
@ApiModelProperty(value = "创建人单位id") @ApiModelProperty(value = "创建人单位id")
@TableField(value = "create_corp_id") @TableField(value = "f_create_corp_id")
private String createCorpId; private String createCorpId;
@ApiModelProperty(value = "创建人部门名称") @ApiModelProperty(value = "创建人部门名称")
@TableField(value = "create_dept_name") @TableField(value = "f_create_dept_name")
private String createDeptName; private String createDeptName;
@ApiModelProperty(value = "创建人部门id") @ApiModelProperty(value = "创建人部门id")
@TableField(value = "create_dept_id") @TableField(value = "f_create_dept_id")
private String createDeptId; private String createDeptId;
} }

114
jnpf-library/jnpf-library-entity/src/main/java/jnpf/entity/TRemovalManagement.java

@ -0,0 +1,114 @@
package jnpf.entity;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.format.annotation.DateTimeFormat;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* 下架管理表(TRemovalManagement)
*
* @author common
* @since 2024-11-06 17:52:46
*/
@Data
@TableName("t_removal_management")
public class TRemovalManagement implements Serializable {
private static final long serialVersionUID = -74824064073816987L;
@ApiModelProperty(value = "下架单号")
@TableId(value = "f_id", type = IdType.ASSIGN_ID)
private String id;
@ApiModelProperty(value = "类型:1-业务部 2-版本馆 3-样书室")
@TableField(value = "f_save_type")
private String saveType;
@ApiModelProperty(value = "下架类型 0-领用下架 1-报损下架 2-重点书下架")
@TableField(value = "f_type")
private String type;
@ApiModelProperty(value = "状态 0-待提交 1-待下架 2-下架中 3-已完成")
@TableField(value = "f_main_status")
private String mainStatus;
@ApiModelProperty(value = "状态名称 0-待提交 1-待下架 2-下架中 3-已完成")
@TableField(value = "f_main_status_name")
private String mainStatusName;
@ApiModelProperty(value = "下架册数")
@TableField(value = "f_remove_number")
private Integer removeNumber;
@ApiModelProperty(value = "删除标记 0-正常 1-删除")
@TableField(value = "f_del_flag")
@TableLogic
private String delFlag;
@ApiModelProperty(value = "创建人id")
@TableField(value = "f_create_id")
private String createId;
@ApiModelProperty(value = "创建时间")
@TableField(value = "f_create_time",fill = FieldFill.INSERT)
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTime;
@ApiModelProperty(value = "创建人姓名")
@TableField(value = "f_create_name")
private String createName;
@ApiModelProperty(value = "更新人id")
@TableField(value = "f_update_id")
private String updateId;
@ApiModelProperty(value = "更新时间")
@TableField(value = "f_update_time",fill = FieldFill.INSERT_UPDATE)
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime updateTime;
@ApiModelProperty(value = "更新人名称")
@TableField(value = "f_update_name")
private String updateName;
@ApiModelProperty(value = "下架时间")
@TableField(value = "f_book_removal_time")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime bookRemovalTime;
@ApiModelProperty(value = "下架人id")
@TableField(value = "f_book_removal_id")
private String bookRemovalId;
@ApiModelProperty(value = "下架人名称")
@TableField(value = "f_book_removal_name")
private String bookRemovalName;
@ApiModelProperty(value = "创建人单位名称")
@TableField(value = "f_create_corp_name")
private String createCorpName;
@ApiModelProperty(value = "创建人单位id")
@TableField(value = "f_create_corp_id")
private String createCorpId;
@ApiModelProperty(value = "创建人部门名称")
@TableField(value = "f_create_dept_name")
private String createDeptName;
@ApiModelProperty(value = "创建人部门id")
@TableField(value = "f_create_dept_id")
private String createDeptId;
}

83
jnpf-library/jnpf-library-entity/src/main/java/jnpf/entity/TSelectionOrderingBooks.java

@ -23,87 +23,126 @@ public class TSelectionOrderingBooks implements Serializable {
private static final long serialVersionUID = -94497687642986775L; private static final long serialVersionUID = -94497687642986775L;
@ApiModelProperty(value = "雪花id") @ApiModelProperty(value = "雪花id")
@TableId(type = IdType.ASSIGN_ID) @TableId(value = "f_id", type = IdType.ASSIGN_ID)
private Long id; private Long id;
@ApiModelProperty(value = "图书编号") @ApiModelProperty(value = "图书编号")
@TableField(value = "book_number") @TableField(value = "f_book_number")
private String bookNumber; private String bookNumber;
@ApiModelProperty(value = "关联选品下单id") @ApiModelProperty(value = "关联选品下单id")
@TableField(value = "relation_id") @TableField(value = "f_relation_id")
private String relationId; private String relationId;
@ApiModelProperty(value = "封面图链接") @ApiModelProperty(value = "封面图链接")
@TableField(value = "cover_image") @TableField(value = "f_cover_image")
private String coverImage; private String coverImage;
@ApiModelProperty(value = "图书名称") @ApiModelProperty(value = "图书名称")
@TableField(value = "book_name") @TableField(value = "f_book_name")
private String bookName; private String bookName;
@ApiModelProperty(value = "作者") @ApiModelProperty(value = "作者")
@TableField(value = "author") @TableField(value = "f_author")
private String author; private String author;
@ApiModelProperty(value = "定价") @ApiModelProperty(value = "定价")
@TableField(value = "price") @TableField(value = "f_price")
private String price; private String price;
@ApiModelProperty(value = "版次") @ApiModelProperty(value = "版次")
@TableField(value = "edition") @TableField(value = "f_edition")
private String edition; private String edition;
@ApiModelProperty(value = "印次") @ApiModelProperty(value = "印次")
@TableField(value = "impression") @TableField(value = "f_impression")
private String impression; private String impression;
@ApiModelProperty(value = "出版时间") @ApiModelProperty(value = "出版时间")
@TableField(value = "publication_time") @TableField(value = "f_publication_time")
private String publicationTime; private String publicationTime;
@ApiModelProperty(value = "自预留数量") @ApiModelProperty(value = "自预留数量")
@TableField(value = "self_reserved") @TableField(value = "f_self_reserved")
private Integer selfReserved=0; private Integer selfReserved = 0;
@ApiModelProperty(value = "内容概要") @ApiModelProperty(value = "内容概要")
@TableField(value = "content_summary") @TableField(value = "f_content_summary")
private String contentSummary; private String contentSummary;
@ApiModelProperty(value = "备注") @ApiModelProperty(value = "备注")
@TableField(value = "remark") @TableField(value = "f_remark")
private String remark; private String remark;
@ApiModelProperty(value = "图书数量") @ApiModelProperty(value = "下单图书数量")
@TableField(value = "quantity") @TableField(value = "f_quantity")
private Integer quantity; private Integer quantity;
@ApiModelProperty(value = "品种号") @ApiModelProperty(value = "品种号")
@TableField(value = "variety_number") @TableField(value = "f_variety_number")
private String varietyNumber; private String varietyNumber;
@ApiModelProperty(value = "问题标记:0-正常 1-有问题") @ApiModelProperty(value = "问题标记:0-正常 1-有问题")
@TableField(value = "problem_flag") @TableField(value = "f_problem_flag")
private String problemFlag; private String problemFlag;
@ApiModelProperty(value = "删除标记 0-正常 1-删除") @ApiModelProperty(value = "删除标记 0-正常 1-删除")
@TableField(value = "del_flag") @TableField(value = "f_del_flag")
@TableLogic @TableLogic
private String delFlag; private String delFlag;
@ApiModelProperty(value = "创建人id") @ApiModelProperty(value = "创建人id")
@TableField(value = "create_id") @TableField(value = "f_create_id")
private String createId; private String createId;
@ApiModelProperty(value = "创建时间") @ApiModelProperty(value = "创建时间")
@TableField(value = "create_time",fill = FieldFill.INSERT) @TableField(value = "f_create_time", fill = FieldFill.INSERT)
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTime; private LocalDateTime createTime;
@ApiModelProperty(value = "创建人姓名") @ApiModelProperty(value = "创建人姓名")
@TableField(value = "create_name") @TableField(value = "f_create_name")
private String createName; private String createName;
@ApiModelProperty(value = "重点书字段 图书下架人id")
@TableField(value = "f_book_removal_id")
private String bookRemovalId;
@ApiModelProperty(value = "重点书字段 图书下架时间")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@TableField(value = "f_book_removal_time")
private LocalDateTime bookRemovalTime;
@ApiModelProperty(value = "重点书字段 图书下架人名称")
@TableField(value = "f_book_removal_name")
private String bookRemovalName;
@ApiModelProperty(value = "重点书字段 图书下架状态 0-待下架 1-下架中 2-已下架")
@TableField(value = "f_book_removal_status")
private String bookRemovalStatus;
@ApiModelProperty(value = "重点书字段 图书下架状态名称")
@TableField(value = "f_book_removal_status_name")
private String bookRemovalStatusName;
@ApiModelProperty(value = "重点书字段 架位号")
@TableField(value = "f_rack_number")
private String rackNumber;
@ApiModelProperty(value = "重点书字段 库存id")
@TableField(value = "f_book_inventory_id")
private String bookInventoryId;
@ApiModelProperty("图书库存数量")
@TableField(value = "f_inventory_number")
private Integer inventoryNumber;
} }

38
jnpf-library/jnpf-library-entity/src/main/java/jnpf/entity/TSelectionOrderingMain.java

@ -25,92 +25,92 @@ public class TSelectionOrderingMain implements Serializable {
private static final long serialVersionUID = 656693836214828063L; private static final long serialVersionUID = 656693836214828063L;
@ApiModelProperty(value = "主键id(选品单号)") @ApiModelProperty(value = "主键id(选品单号)")
@TableId(type = IdType.ASSIGN_ID) @TableId(value = "f_id", type = IdType.ASSIGN_ID)
@Excel(name = "选品单号",orderNum = "0",width = 15) @Excel(name = "选品单号",orderNum = "0",width = 15)
private Long id; private Long id;
@ApiModelProperty(value = "下单类型:1-业务部 2-版本馆 3-样书室 4-重点书") @ApiModelProperty(value = "下单类型:1-业务部 2-版本馆 3-样书室 4-重点书")
@TableField(value = "type") @TableField(value = "f_type")
private String type; private String type;
@ApiModelProperty(value = "主状态 1-待提交 2-已下单 3-样书室待下单 4-待社长确认 5-已推荐") @ApiModelProperty(value = "主状态 1-待提交 2-已下单 3-样书室待下单 4-待社长确认 5-已推荐")
@TableField(value = "main_status") @TableField(value = "f_main_status")
private String mainStatus; private String mainStatus;
@ApiModelProperty(value = "主状态名称") @ApiModelProperty(value = "主状态名称")
@TableField(value = "main_status_name") @TableField(value = "f_main_status_name")
@Excel(name = "状态",orderNum = "6",width = 15) @Excel(name = "状态",orderNum = "6",width = 15)
private String mainStatusName; private String mainStatusName;
@ApiModelProperty(value = "备注") @ApiModelProperty(value = "备注")
@TableField(value = "remark") @TableField(value = "f_remark")
private String remark; private String remark;
@ApiModelProperty(value = "删除标记 0-正常 1-删除") @ApiModelProperty(value = "删除标记 0-正常 1-删除")
@TableField(value = "del_flag") @TableField(value = "f_del_flag")
@TableLogic @TableLogic
private String delFlag; private String delFlag;
@ApiModelProperty(value = "下单人id") @ApiModelProperty(value = "下单人id")
@TableField(value = "order_person_id") @TableField(value = "f_order_person_id")
private String orderPersonId; private String orderPersonId;
@ApiModelProperty(value = "下单时间") @ApiModelProperty(value = "下单时间")
@TableField(value = "order_person_time") @TableField(value = "f_order_person_time")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "下单时间",exportFormat = "yyyy-MM-dd HH:mm:ss",width = 20,orderNum = "4") @Excel(name = "下单时间",exportFormat = "yyyy-MM-dd HH:mm:ss",width = 20,orderNum = "4")
private LocalDateTime orderPersonTime; private LocalDateTime orderPersonTime;
@ApiModelProperty(value = "下单人姓名") @ApiModelProperty(value = "下单人姓名")
@TableField(value = "order_person_name") @TableField(value = "f_order_person_name")
@Excel(name = "创建人",orderNum = "5") @Excel(name = "创建人",orderNum = "5")
private String orderPersonName; private String orderPersonName;
@ApiModelProperty(value = "创建人id") @ApiModelProperty(value = "创建人id")
@TableField(value = "create_id") @TableField(value = "f_create_id")
private String createId; private String createId;
@ApiModelProperty(value = "创建时间") @ApiModelProperty(value = "创建时间")
@TableField(value = "create_time",fill = FieldFill.INSERT) @TableField(value = "f_create_time",fill = FieldFill.INSERT)
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "创建时间",exportFormat = "yyyy-MM-dd HH:mm:ss",width = 20,orderNum = "2") @Excel(name = "创建时间",exportFormat = "yyyy-MM-dd HH:mm:ss",width = 20,orderNum = "2")
private LocalDateTime createTime; private LocalDateTime createTime;
@ApiModelProperty(value = "创建人姓名") @ApiModelProperty(value = "创建人姓名")
@TableField(value = "create_name") @TableField(value = "f_create_name")
@Excel(name = "创建人",orderNum = "3") @Excel(name = "创建人",orderNum = "3")
private String createName; private String createName;
@ApiModelProperty(value = "更新人id") @ApiModelProperty(value = "更新人id")
@TableField(value = "update_id") @TableField(value = "f_update_id")
private String updateId; private String updateId;
@ApiModelProperty(value = "更新时间") @ApiModelProperty(value = "更新时间")
@TableField(value = "update_time",fill = FieldFill.INSERT_UPDATE) @TableField(value = "f_update_time",fill = FieldFill.INSERT_UPDATE)
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime updateTime; private LocalDateTime updateTime;
@ApiModelProperty(value = "更新人名称") @ApiModelProperty(value = "更新人名称")
@TableField(value = "update_name") @TableField(value = "f_update_name")
private String updateName; private String updateName;
@ApiModelProperty(value = "创建人单位名称") @ApiModelProperty(value = "创建人单位名称")
@TableField(value = "create_corp_name") @TableField(value = "f_create_corp_name")
private String createCorpName; private String createCorpName;
@ApiModelProperty(value = "创建人部门名称") @ApiModelProperty(value = "创建人部门名称")
@TableField(value = "create_dept_name") @TableField(value = "f_create_dept_name")
private String createDeptName; private String createDeptName;
@ApiModelProperty(value = "创建人单位id") @ApiModelProperty(value = "创建人单位id")
@TableField(value = "create_corp_id") @TableField(value = "f_create_corp_id")
private String createCorpId; private String createCorpId;
@ApiModelProperty(value = "创建人部门id") @ApiModelProperty(value = "创建人部门id")
@TableField(value = "create_dept_id") @TableField(value = "f_create_dept_id")
private String createDeptId; private String createDeptId;
} }

110
jnpf-library/jnpf-library-entity/src/main/java/jnpf/entity/TShelfOperation.java

@ -0,0 +1,110 @@
package jnpf.entity;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.format.annotation.DateTimeFormat;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import java.time.LocalDateTime;
/**
* 上下架操作表(TShelfOperation)
*
* @author common
* @since 2024-10-29 15:58:48
*/
@Data
@TableName("t_shelf_operation")
public class TShelfOperation implements Serializable {
private static final long serialVersionUID = 664988134602037702L;
@ApiModelProperty(value = "雪花id")
@TableId(value = "f_id", type = IdType.ASSIGN_ID)
private Long id;
@ApiModelProperty(value = "类型:1-业务部 2-版本馆 3-样书室")
@TableField(value = "f_save_type")
private String saveType;
@ApiModelProperty(value = "类型 0-上架 1-下架")
@TableField(value = "f_type")
private String type;
@ApiModelProperty(value = "库存id")
@TableField(value = "f_book_inventory_id")
private String bookInventoryId;
@ApiModelProperty(value = "操作类型")
@TableField(value = "f_operation_type")
private String operationType;
@ApiModelProperty(value = "操作类型名称")
@TableField(value = "f_operation_type_name")
private String operationTypeName;
@ApiModelProperty(value = "上架册数")
@TableField(value = "f_listing_number")
private Integer listingNumber;
@ApiModelProperty(value = "下架册数")
@TableField(value = "f_remove_number")
private Integer removeNumber;
@ApiModelProperty(value = "删除标记 0-正常 1-删除")
@TableField(value = "f_del_flag")
@TableLogic
private String delFlag;
@ApiModelProperty(value = "创建人id")
@TableField(value = "f_create_id")
private String createId;
@ApiModelProperty(value = "创建时间")
@TableField(value = "f_create_time",fill = FieldFill.INSERT)
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTime;
@ApiModelProperty(value = "创建人姓名")
@TableField(value = "f_create_name")
private String createName;
@ApiModelProperty(value = "更新人id")
@TableField(value = "f_update_id")
private String updateId;
@ApiModelProperty(value = "更新时间")
@TableField(value = "f_update_time",fill = FieldFill.INSERT_UPDATE)
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime updateTime;
@ApiModelProperty(value = "更新人名称")
@TableField(value = "f_update_name")
private String updateName;
@ApiModelProperty(value = "创建人单位名称")
@TableField(value = "f_create_corp_name")
private String createCorpName;
@ApiModelProperty(value = "创建人单位id")
@TableField(value = "f_create_corp_id")
private String createCorpId;
@ApiModelProperty(value = "创建人部门名称")
@TableField(value = "f_create_dept_name")
private String createDeptName;
@ApiModelProperty(value = "创建人部门id")
@TableField(value = "f_create_dept_id")
private String createDeptId;
}

30
jnpf-library/jnpf-library-entity/src/main/java/jnpf/enump/ReceiveGoodsMainEnum.java

@ -38,7 +38,7 @@ public class ReceiveGoodsMainEnum {
//签收类型:1-业务部 2-版本馆 3-样书室 4-重点书 //签收类型:1-业务部 2-版本馆 3-样书室 4-重点书
@Getter @Getter
public enum OrderTypeEnum { public enum OrderTypeEnum {
BUSINESS_DEPARTMENT("1", "锐雯家"), BUSINESS_DEPARTMENT("1", "业务部"),
VERSION_LIBRARY("2", "版本馆"), VERSION_LIBRARY("2", "版本馆"),
SAMPLE_BOOKSTORE("3", "样书室"); SAMPLE_BOOKSTORE("3", "样书室");
@ -86,4 +86,32 @@ public class ReceiveGoodsMainEnum {
return null; return null;
} }
} }
@Getter
public enum BookStatusEnum {
//公共
PENDING_LISTING("0", "待上架"),
LISTING("1", "上架中"),
ALREADY_LISTED("2", "已上架"),
;
private final String code;
private final String describe;
BookStatusEnum(String code, String describe) {
this.code = code;
this.describe = describe;
}
public static MainStatusEnum getEnumByCode(String code) {
for (MainStatusEnum enm : MainStatusEnum.values()) {
if (enm.getCode().equals(code)) {
return enm;
}
}
return null;
}
}
} }

53
jnpf-library/jnpf-library-entity/src/main/java/jnpf/enump/RemovalManagementEnum.java

@ -0,0 +1,53 @@
package jnpf.enump;
import lombok.Getter;
public class RemovalManagementEnum {
// 1-待提交 2-已下单 3-样书室待下单
@Getter
public enum MainStatusEnum {
//公共
TO_BE_SUBMITTED("0", "待提交"),
TO_BE_TAKEN_DOWN("1", "待下架"),
TAKING_DOWN("2", "下架中"),
COMPLETED("3", "已完成"),
;
private final String code;
private final String describe;
MainStatusEnum(String code, String describe) {
this.code = code;
this.describe = describe;
}
}
//下单类型:1-业务部 2-版本馆 3-样书室 4-重点书
@Getter
public enum TypeEnum {
LY("0", "领用下架"),
BS("1", "报损下架"),
ZD("2", "重点书下架"),
;
private final String code;
private final String describe;
TypeEnum(String code, String describe) {
this.code = code;
this.describe = describe;
}
public static TypeEnum getEnumByCode(String code) {
for (TypeEnum enm : TypeEnum.values()) {
if (enm.getCode().equals(code)) {
return enm;
}
}
return null;
}
}
}

63
jnpf-library/jnpf-library-entity/src/main/java/jnpf/enump/ShelfOperationEnum.java

@ -0,0 +1,63 @@
package jnpf.enump;
import lombok.Getter;
public class ShelfOperationEnum {
@Getter
public enum OperationTypeEnum {
//公共
WAREHOUSE_ENTRY("1", "入库上架"),
COLLECTING("2", "领用下架"),
KEY_BOOKS("3", "重点书下架"),
REPORT_LOSS("4", "报损下架"),
FILL_THE_INVENTORY("5", "盘盈入库"),
INVENTORY_LOSS_OUT("6", "盘亏出库"),
;
private final String code;
private final String describe;
OperationTypeEnum(String code, String describe) {
this.code = code;
this.describe = describe;
}
public static OperationTypeEnum getEnumByCode(String code) {
for (OperationTypeEnum enm : OperationTypeEnum.values()) {
if (enm.getCode().equals(code)) {
return enm;
}
}
return null;
}
}
@Getter
public enum TypeEnum {
//公共
LISTING("0", "上架"),
REMOVE_SHELVES("1", "下架"),
;
private final String code;
private final String describe;
TypeEnum(String code, String describe) {
this.code = code;
this.describe = describe;
}
public static TypeEnum getEnumByCode(String code) {
for (TypeEnum enm : TypeEnum.values()) {
if (enm.getCode().equals(code)) {
return enm;
}
}
return null;
}
}
}

70
jnpf-library/jnpf-library-entity/src/main/java/jnpf/model/dto/ReceiveGoodsMainDto.java

@ -1,5 +1,6 @@
package jnpf.model.dto; package jnpf.model.dto;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
@ -50,7 +51,6 @@ public class ReceiveGoodsMainDto {
} }
@Data @Data
public static class BasePageParam { public static class BasePageParam {
@ApiModelProperty("当前页") @ApiModelProperty("当前页")
@ -60,7 +60,7 @@ public class ReceiveGoodsMainDto {
} }
@Data @Data
public static class GetReceiveGoodsListParam extends BasePageParam{ public static class GetReceiveGoodsListParam extends BasePageParam {
@ApiModelProperty("开始时间") @ApiModelProperty("开始时间")
private String startTime; private String startTime;
@ApiModelProperty("结束时间") @ApiModelProperty("结束时间")
@ -89,34 +89,45 @@ public class ReceiveGoodsMainDto {
@Data @Data
public static class TReceiveGoodsMainEntity extends TReceiveGoodsMain{ public static class TReceiveGoodsMainEntity extends TReceiveGoodsMain {
@ApiModelProperty("收货选书列表") @ApiModelProperty("收货选书列表")
private List<TReceiveGoodsBooks> receiveGoodsBookList; private List<TReceiveGoodsBooks> receiveGoodsBookList;
} }
@Data
public static class TReceiveGoodsBooksEntity extends TReceiveGoodsBooks {
@ApiModelProperty("图书库存数量")
private Integer inventoryNumber;
}
@Data @Data
public static class TReceiveGoodsBooksEntity extends TReceiveGoodsBooks{ public static class TLibraryEntity extends TLibrary {
@ApiModelProperty("图书预警数量")
private Integer warningQuantity;
} }
@Data @Data
public static class GetBookListByIdParam extends BasePageParam{ public static class GetBookListByIdParam extends BasePageParam {
@ApiModelProperty("收货单id") @ApiModelProperty("收货单id")
private String id; private String id;
@ApiModelProperty("类型:1-业务部 2-版本馆 3-样书室")
private String orderType;
} }
@Data @Data
public static class TBookGoWhereEntity extends TBookGoWhere{ public static class TBookGoWhereEntity extends TBookGoWhere {
} }
@Data @Data
public static class SaveStackingInformationParam{ public static class SaveStackingInformationParam {
@ApiModelProperty("图书id") @ApiModelProperty("图书id")
private String id; private String id;
@ApiModelProperty("验收类型:1-业务部 2-版本馆 3-样书室") @ApiModelProperty("验收类型:1-业务部 2-版本馆 3-样书室")
@ -127,8 +138,9 @@ public class ReceiveGoodsMainDto {
private List<TBookGoWhere> bookGoWhereList; private List<TBookGoWhere> bookGoWhereList;
} }
@Data @Data
public static class SaveStackingInformationByReceiveIdParam{ public static class SaveStackingInformationByReceiveIdParam {
@ApiModelProperty("1-保存 2-确定") @ApiModelProperty("1-保存 2-确定")
private String saveType; private String saveType;
@ApiModelProperty("id") @ApiModelProperty("id")
@ -139,11 +151,49 @@ public class ReceiveGoodsMainDto {
} }
@Data @Data
public static class BunchingInfo extends TReceiveGoodsBooks { public static class BunchingInfo extends TReceiveGoodsBooks {
@ApiModelProperty("签收数量") @ApiModelProperty("签收数量")
private Integer signedQuantity=0; private Integer signedQuantity = 0;
}
@Data
public static class H5ShelfInterfaceParam {
@ApiModelProperty("类型:1-业务部 2-版本馆 3-样书室")
private String type;
@ApiModelProperty("收货单id")
private String id;
@ApiModelProperty("书号")
private String bookNumber;
@ApiModelProperty("架位号")
private String rackNumber;
@ApiModelProperty("书名")
private String bookName;
@ApiModelProperty(value = "定价")
private String price;
@ApiModelProperty(value = "版次")
private String edition;
@ApiModelProperty(value = "印次")
private String impression;
@ApiModelProperty(value = "上架册数")
private Integer listingNumber;
@ApiModelProperty(value = "预警库存")
private Integer warningInventory;
} }

48
jnpf-library/jnpf-library-entity/src/main/java/jnpf/model/dto/RemovalManagementEnum.java

@ -0,0 +1,48 @@
package jnpf.model.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
public class RemovalManagementEnum {
@Data
public static class AddRemovalParam {
@ApiModelProperty("1-保存 2-验收")
private String saveType;
@ApiModelProperty("保存后提交时传入id")
private String id;
@ApiModelProperty("验收类型:1-业务部 2-版本馆 3-样书室")
private String orderType;
@ApiModelProperty(value = "包件情况-code")
private String packageSituation;
@ApiModelProperty(value = "包件数量")
private Integer packageQuantity;
@ApiModelProperty(value = "送货方")
private String deliveryParty;
@ApiModelProperty(value = "收货时间")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime receiveTime;
@ApiModelProperty("描述")
private String remark;
@ApiModelProperty("后端使用(新增版本馆/业务部收货单)")
@JsonIgnore
private String receiptNumber;
}
}

79
jnpf-library/jnpf-library-entity/src/main/java/jnpf/model/dto/SelectionOrderingMainDto.java

@ -30,7 +30,7 @@ public class SelectionOrderingMainDto {
@ApiModelProperty("描述") @ApiModelProperty("描述")
private String remark; private String remark;
@ApiModelProperty("选择图书列表") @ApiModelProperty("选择图书列表")
private List<TLibrary> selectionOrderingBooksList; private List<TLibraryParam> selectionOrderingBooksList;
@ApiModelProperty(value = "批量去向信息(除了预自留)") @ApiModelProperty(value = "批量去向信息(除了预自留)")
@ -41,6 +41,20 @@ public class SelectionOrderingMainDto {
} }
@Data
public static class TLibraryParam extends TLibrary {
@ApiModelProperty(value = "重点书字段 架位号")
@TableField(value = "rack_number")
private String rackNumber;
@ApiModelProperty(value = "重点书字段 库存id")
@TableField(value = "book_inventory_id")
private String bookInventoryId;
}
@Data @Data
public static class SelfReservedInfo { public static class SelfReservedInfo {
@ApiModelProperty("编号/id") @ApiModelProperty("编号/id")
@ -87,6 +101,23 @@ public class SelectionOrderingMainDto {
@ApiModelProperty("后端查询使用") @ApiModelProperty("后端查询使用")
@JsonIgnore @JsonIgnore
private String userId; private String userId;
@ApiModelProperty("后端查询使用")
@JsonIgnore
private String corpId;
}
@Data
public static class AggregateQuery extends BasePageParam {
@ApiModelProperty("类型:1-业务部 2-版本馆")
private String orderType;
}
@Data
public static class PageSelectedBooks extends BasePageParam {
@ApiModelProperty("选品id")
private Long id;
} }
@ -181,4 +212,50 @@ public class SelectionOrderingMainDto {
@Data @Data
public static class GetLibraryListParam extends BasePageParam { public static class GetLibraryListParam extends BasePageParam {
} }
@Data
public static class QueryBooksFromPresident extends BasePageParam {
@ApiModelProperty("选品id")
private Long id;
}
@Data
public static class QueryOrderingListForLeaderResponse {
@ApiModelProperty("推荐书籍")
private String recommendBook;
@ApiModelProperty("推荐时间")
private String recommendTime;
@ApiModelProperty("id")
private Long id;
@ApiModelProperty(value = "推荐单位名称")
private String createCorpName;
@ApiModelProperty(value = "推荐单位名称")
private Boolean isSelected;
@ApiModelProperty(value = "推荐时间")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTime;
}
@Data
public static class PresidentSelectionParam{
@ApiModelProperty("1-暂存 2-提交")
private String saveType;
@ApiModelProperty("社长/领导所选图书id")
private List<Long> bookId;
@ApiModelProperty("重点书选品id")
private Long id;
}
} }

2
jnpf-library/jnpf-library-server/src/main/java/jnpf/JnpfLibraryApplication.java

@ -3,9 +3,11 @@ package jnpf;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.openfeign.EnableFeignClients; import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.scheduling.annotation.EnableScheduling;
@SpringBootApplication @SpringBootApplication
@EnableFeignClients @EnableFeignClients
@EnableScheduling
public class JnpfLibraryApplication { public class JnpfLibraryApplication {
public static void main(String[] args) { public static void main(String[] args) {

Loading…
Cancel
Save