From a2299a6d4a6f99e9c11132138f5d3e9ec68f03ea Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期五, 06 六月 2025 19:19:34 +0800
Subject: [PATCH] 开发更新

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwOutinboundServiceImpl.java |   40 ++++++++++++++++++++++++++--------------
 1 files changed, 26 insertions(+), 14 deletions(-)

diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwOutinboundServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwOutinboundServiceImpl.java
index 21d53b2..42437cd 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwOutinboundServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwOutinboundServiceImpl.java
@@ -80,6 +80,7 @@
         ywOutinbound.setOrigin(Constants.ZERO);
         ywOutinboundMapper.insert(ywOutinbound);
         for (YwOutinboundRecord ywOutinboundRecord:recordList) {
+                ywOutinboundRecord.setOutInBoundId(ywOutinbound.getId());
             ywOutinboundRecord.setCreator(loginUserInfo.getId());
             ywOutinboundRecord.setCreateDate(new Date());
             ywOutinboundRecord.setIsdeleted(Constants.ZERO);
@@ -94,7 +95,7 @@
     public List<YwOutinboundRecord> verifyData(YwOutinbound ywOutinbound){
         if(Objects.isNull(ywOutinbound)
                 || Objects.isNull(ywOutinbound.getType())
-                || (Objects.nonNull(ywOutinbound.getType()) && (!(ywOutinbound.getType() == Constants.ZERO || ywOutinbound.getType() == Constants.ONE)))
+                || ((ywOutinbound.getType() >= 5 && ywOutinbound.getType() <= 9 ) && Objects.isNull(ywOutinbound.getOutUserId()) )
                 || Objects.isNull(ywOutinbound.getWarehouseId())
                 || Objects.isNull(ywOutinbound.getDoneDate())
                 || com.github.xiaoymin.knife4j.core.util.CollectionUtils.isEmpty(ywOutinbound.getRecordList())
@@ -110,6 +111,7 @@
             ){
                 throw new BusinessException(ResponseStatus.BAD_REQUEST);
             }
+            ywOutinboundRecord.setId(null);
         }
         //鍒ゆ柇褰撳墠鏄惁瀛樺湪杩涜涓殑鐩樼偣鍗�
         if(ywStocktakingMapper.selectCount(new QueryWrapper<YwStocktaking>().lambda().eq(YwStocktaking::getIsdeleted,Constants.ZERO)
@@ -130,10 +132,13 @@
 
     public void dealStockData(YwOutinbound ywOutinbound,List<YwOutinboundRecord> recordList,Integer inOut){
         for (YwOutinboundRecord ywOutinboundRecord:recordList) {
-            YwStock ywStock = ywStockMapper.selectOne(new QueryWrapper<YwStock>().lambda().eq(YwStock::getIsdeleted,Constants.ZERO).eq(YwStock::getWarehouseId,ywOutinbound.getWarehouseId()).eq(YwStock::getMaterialId,ywOutinboundRecord.getMaterialId()));
+            YwStock ywStock = ywStockMapper.selectOne(new QueryWrapper<YwStock>().lambda().eq(YwStock::getIsdeleted,Constants.ZERO)
+                    .eq(YwStock::getWarehouseId,ywOutinbound.getWarehouseId()).eq(YwStock::getMaterialId,ywOutinboundRecord.getMaterialId()));
             if(Constants.equalsInteger(inOut,Constants.ZERO)){
                 //鍏ュ簱
                 if(Objects.isNull(ywStock)){
+                    ywStock = new YwStock();
+                    ywStock.setIsdeleted(Constants.ZERO);
                     ywStock.setStock(ywOutinboundRecord.getStock());
                     ywStock.setWarehouseId(ywOutinbound.getWarehouseId());
                     ywStock.setMaterialId(ywOutinboundRecord.getMaterialId());
@@ -142,7 +147,7 @@
                     ywStockMapper.insert(ywStock);
                 }else{
                     ywStockMapper.update(new UpdateWrapper<YwStock>().lambda()
-                            .set(YwStock::getStock," ( stock + " + ywStock.getStock() + " )")
+                                .setSql(" stock = ( stock + "+ywOutinboundRecord.getStock()+") ")
                             .set(YwStock::getEditDate, DateUtil.getCurrDateTime())
                             .set(YwStock::getEditor, ywOutinbound.getCreator())
                             .eq(YwStock::getId,ywStock.getId())
@@ -153,11 +158,11 @@
                 //鍑哄簱
                 if(Objects.isNull(ywStock) || ywStock.getStock().compareTo(ywOutinboundRecord.getStock()) < Constants.ZERO){
                     throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), ywMaterial.getName() + "搴撳瓨涓嶈冻锛岃鍒锋柊閲嶈瘯");
-                }else if(ywStock.getStock().compareTo(ywOutinboundRecord.getStock()) == Constants.ZERO){
+                }/*else if(ywStock.getStock().compareTo(ywOutinboundRecord.getStock()) == Constants.ZERO){
                     ywStockMapper.deleteById(ywStock.getId());
-                }else{
+                }*/else{
                     ywStockMapper.update(new UpdateWrapper<YwStock>().lambda()
-                            .set(YwStock::getStock," ( stock  - " + ywStock.getStock() + " )")
+                            .setSql(" stock = ( stock - "+ywOutinboundRecord.getStock()+") ")
                             .set(YwStock::getEditDate, DateUtil.getCurrDateTime())
                             .set(YwStock::getEditor, ywOutinbound.getCreator())
                             .eq(YwStock::getId,ywStock.getId())
@@ -247,22 +252,29 @@
         }
         List<Integer> typeList  = Constants.ywOutInType.getAllTypeKey(model.getInOut());
         queryWrapper.selectAll(YwOutinbound.class)
-                .selectAs(SystemUser::getRealname,YwOutinbound::getCreateUserName)
+                .select(" s1.realname  ",YwOutinbound::getCreateUserName)
+                .select(" s2.realname  ",YwOutinbound::getOutUserName)
                 .selectAs(YwWarehouse::getName,YwOutinbound::getWarehouseName)
-                .leftJoin(SystemUser.class,SystemUser::getId,YwOutinbound::getCreator)
                 .leftJoin(YwWarehouse.class,YwWarehouse::getId,YwOutinbound::getWarehouseId)
+                .leftJoin("system_user s1 on t.creator = s1.id")
+                .leftJoin("system_user s2 on t.out_user_id = s2.id")
                 .like(StringUtils.isNotBlank(model.getCode()),YwOutinbound::getCode,model.getCode())
                 .eq(Objects.nonNull(model.getType()),YwOutinbound::getType,model.getType())
                 .eq(Objects.nonNull(model.getWarehouseId()),YwOutinbound::getWarehouseId,model.getWarehouseId())
                 .in(Objects.nonNull(model.getInOut()),YwOutinbound::getType,typeList)
         ;
-        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
-            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
-                queryWrapper.orderByDesc(sortData.getProperty());
-            } else {
-                queryWrapper.orderByAsc(sortData.getProperty());
+        if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(pageWrap.getSorts())){
+            for(PageWrap.SortData sortData: pageWrap.getSorts()) {
+                if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
+                    queryWrapper.orderByDesc(sortData.getProperty());
+                } else {
+                    queryWrapper.orderByAsc(sortData.getProperty());
+                }
             }
+        }else{
+            queryWrapper.orderByDesc(YwOutinbound::getCode);
         }
+
         IPage iPage = ywOutinboundMapper.selectJoinPage(page,YwOutinbound.class,queryWrapper);
         if(Objects.nonNull(iPage.getRecords())){
             iPage.setRecords(this.getDetailData(iPage.getRecords()));
@@ -376,7 +388,7 @@
 
 
     public synchronized String  getNextInOutCode(Integer inOut){
-        String prefix =  Constants.equalsInteger(inOut,0)?"RK-":"CK-" + DateUtil.getDate(new Date(),"yyyyMMdd") +"-";
+        String prefix =  (Constants.equalsInteger(inOut,0)?"RK-":"CK-") + DateUtil.getDate(new Date(),"yyyyMMdd") +"-";
         Integer countNum  = RedisUtil.getObject(redisTemplate,
                 Constants.equalsInteger(inOut,0)?Constants.RedisKeys.COM_OUTBOUND_OUT_KEY:Constants.RedisKeys.COM_OUTBOUND_IN_KEY,
                 Integer.class);

--
Gitblit v1.9.3