3254194295 před 2 roky
rodič
revize
7f38a588ee
17 změnil soubory, kde provedl 174 přidání a 54 odebrání
  1. 3 0
      platform-dao/src/main/java/com/platform/dao/mapper/sqarepartmanage/SpareTypeMapper.java
  2. 4 0
      platform-dao/src/main/java/com/platform/dao/mapper/store/InStoreFormMapper.java
  3. 4 0
      platform-dao/src/main/java/com/platform/dao/mapper/store/OutStoreFormMapper.java
  4. 8 1
      platform-dao/src/main/java/com/platform/dao/mapper/store/SpareStoreMapper.java
  5. 4 0
      platform-dao/src/main/java/com/platform/dao/mapper/store/StoreMapper.java
  6. 6 5
      platform-dao/src/main/java/com/platform/dao/vo/spare/SpareStoreInfoVO.java
  7. 6 2
      platform-dao/src/main/java/com/platform/dao/vo/spare/SpareTypeVO.java
  8. 8 0
      platform-dao/src/main/resources/mapper/sqarepartmanage/SparePartInfoMapper.xml
  9. 17 0
      platform-dao/src/main/resources/mapper/sqarepartmanage/SpareTypeMapper.xml
  10. 7 0
      platform-dao/src/main/resources/mapper/store/InStoreFormMapper.xml
  11. 6 0
      platform-dao/src/main/resources/mapper/store/OutStoreFormMapper.xml
  12. 13 8
      platform-dao/src/main/resources/mapper/store/SpareStoreMapper.xml
  13. 8 0
      platform-dao/src/main/resources/mapper/store/StoreMapper.xml
  14. 6 5
      platform-rest/src/main/java/com/platform/rest/controller/store/SpareStoreController.java
  15. 7 0
      platform-rest/src/main/java/com/platform/rest/controller/store/StoreController.java
  16. 8 4
      platform-service/src/main/java/com/platform/service/store/SpareStoreService.java
  17. 59 29
      platform-service/src/main/java/com/platform/service/store/impl/SpareStoreServiceImpl.java

+ 3 - 0
platform-dao/src/main/java/com/platform/dao/mapper/sqarepartmanage/SpareTypeMapper.java

@@ -41,6 +41,9 @@ public interface SpareTypeMapper extends MyMapper<SpareType> {
     String selectNameById(Object id);
 
     List<SpareTypeVO> getSpareTypeVo(SpareStoreDTO spareStoreDTO);
+    SpareType getById(SpareTypeDTO spareTypeDTO);
+
+
 
 
 }

+ 4 - 0
platform-dao/src/main/java/com/platform/dao/mapper/store/InStoreFormMapper.java

@@ -8,6 +8,8 @@ import com.platform.dao.vo.query.store.InStoreDetailVO;
 import com.platform.dao.vo.query.store.InStoreFormVO;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Component;
+
+import java.math.BigDecimal;
 import java.util.List;
 
 
@@ -35,6 +37,8 @@ public interface InStoreFormMapper extends MyMapper<InStoreForm> {
      */
     List<InStoreDetailVO> selectDetailList(@Param("id") Object id);
 
+    BigDecimal getInStoreFormCount(String storeId);
+
 
 
 }

+ 4 - 0
platform-dao/src/main/java/com/platform/dao/mapper/store/OutStoreFormMapper.java

@@ -10,6 +10,8 @@ import com.platform.dao.vo.query.store.OutStoreDetailVO;
 import com.platform.dao.vo.query.store.OutStoreFormVO;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Component;
+
+import java.math.BigDecimal;
 import java.util.List;
 
 
@@ -37,6 +39,8 @@ public interface OutStoreFormMapper extends MyMapper<OutStoreForm> {
      */
     List<OutStoreDetailVO> selectDetailList(@Param("id") Object id);
 
+    BigDecimal getOutStoreFormCount(String storeId);
+
 
 
 }

+ 8 - 1
platform-dao/src/main/java/com/platform/dao/mapper/store/SpareStoreMapper.java

@@ -5,6 +5,8 @@ import com.platform.dao.config.MyMapper;
 import com.platform.dao.entity.store.SpareStore;
 import com.platform.dao.vo.query.store.SpareStoreVO;
 import com.platform.dao.vo.sb.SbInfoVO;
+import com.platform.dao.vo.spare.SpareStoreInfoVO;
+import com.platform.dao.vo.spare.SpareTypeVO;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Component;
 
@@ -73,5 +75,10 @@ public interface SpareStoreMapper extends MyMapper<SpareStore> {
      */
     void updateBatchByStoreChange(List<SpareStore> list);
 
-    BigDecimal getTotalPrice(SpareStoreDTO spareStoreDTO);
+
+//获取当前仓库备件总价值(不包括子仓库)
+    BigDecimal getTotalPrice(String storeId);
+
+    BigDecimal getTotalNum(String storeId);
+
 }

+ 4 - 0
platform-dao/src/main/java/com/platform/dao/mapper/store/StoreMapper.java

@@ -3,6 +3,7 @@ package com.platform.dao.mapper.store;
 import com.platform.dao.dto.store.StoreDTO;
 import com.platform.dao.config.MyMapper;
 import com.platform.dao.entity.store.Store;
+import com.platform.dao.vo.query.store.StoreTreeVO;
 import com.platform.dao.vo.query.store.StoreVO;
 import org.springframework.stereotype.Component;
 import java.util.List;
@@ -26,4 +27,7 @@ public interface StoreMapper extends MyMapper<Store> {
     List<StoreVO> selectVOList(StoreDTO model);
 
     Integer getStoreNums(StoreDTO storeDTO);
+
+    List<StoreVO> getSubStore(StoreDTO storeDTO);
+    StoreVO getStoreById(String id);
 }

+ 6 - 5
platform-dao/src/main/java/com/platform/dao/vo/spare/SpareStoreInfoVO.java

@@ -23,14 +23,15 @@ import java.util.List;
 public class SpareStoreInfoVO extends BaseVO implements Serializable {
 
     private BigDecimal totalPrice;
+    private BigDecimal spareTotalNum;
+    private BigDecimal inStoreCount;
+    private BigDecimal outStoreCount;
 
-//    private List<SpareTypeVO> spareTypeVO;
-    private BigDecimal bigClassNum;
-    private BigDecimal smallClassNum;
+    public SpareStoreInfoVO(){
+        this.totalPrice=this.inStoreCount=this.outStoreCount=this.spareTotalNum=new BigDecimal(0);
+    }
 
-    private List<InStoreFormVO> inStoreFormVOS;
 
-    private List<OutStoreFormVO> outStoreFormVOS;
 
 
 

+ 6 - 2
platform-dao/src/main/java/com/platform/dao/vo/spare/SpareTypeVO.java

@@ -19,8 +19,12 @@ import java.math.BigDecimal;
 @EqualsAndHashCode(callSuper = true)
 public class SpareTypeVO extends BaseVO implements Serializable {
 
-    private Integer num;
-    private Integer type;
+    private String id;
+
+    private BigDecimal num;
+
+    private String typeName;
+
 
 
 }

+ 8 - 0
platform-dao/src/main/resources/mapper/sqarepartmanage/SparePartInfoMapper.xml

@@ -355,4 +355,12 @@ ON store.id=spareStore.store_id
 
 GROUP BY partInfo.type_id) t join t_spare_type spareType on t.type_id = spareType.id
     </select>
+
+    <select id="getSparePartInfoIds" parameterType="com.platform.dao.dto.sqarepartmanage.SparePartInfoDTO"
+            resultType="com.platform.dao.vo.query.sparepartmanage.SparePartInfoVO">
+        SELECT info.`type_id` FROM t_spare_store store JOIN t_spare_part_info info ON
+store.`spare_id`=info.`id`
+WHERE  info.`parent_id`=#{typeId}
+and store.store_id=#{storeId}
+    </select>
 </mapper>

+ 17 - 0
platform-dao/src/main/resources/mapper/sqarepartmanage/SpareTypeMapper.xml

@@ -71,4 +71,21 @@ store.`spare_id`=info.`id`
 </where>
 GROUP BY type.type
     </select>
+
+    <select id="getSpareTypeIds" parameterType="com.platform.dao.dto.store.SpareStoreDTO"
+            resultType="com.platform.dao.vo.spare.SpareTypeVO">
+        SELECT type.`id`
+FROM t_spare_type TYPE
+JOIN t_spare_part_info info
+ON type.id=info.`type_id`
+JOIN t_spare_store store ON
+info.id=store.`spare_id`
+WHERE type.parent_id=#{parentId} AND store.store_id=#{storeId}
+    </select>
+
+    <select id="getById" parameterType="com.platform.dao.dto.part.PartTypeDTO"
+            resultType="com.platform.dao.vo.spare.SpareTypeVO">
+        select * from t_spare_type
+        where id=#{id}
+    </select>
 </mapper>

+ 7 - 0
platform-dao/src/main/resources/mapper/store/InStoreFormMapper.xml

@@ -183,5 +183,12 @@ GROUP BY
 
     </select>
 
+    <select id="getInStoreFormCount" resultType="BigDecimal"
+    parameterType="String"
+    >
+        select count(0) from t_in_store_form form join t_spare_store store on form.store_id=store.store_id
+        where store.store_id=#{storeId}
+    </select>
+
 
 </mapper>

+ 6 - 0
platform-dao/src/main/resources/mapper/store/OutStoreFormMapper.xml

@@ -161,4 +161,10 @@
     form.type
     </select>
 
+    <select id="getOutStoreFormCount" parameterType="String"
+            resultType="BigDecimal">
+        select count(0) from t_out_store_form form join t_spare_store store on form.store_id=store.store_id
+        where store.store_id=#{storeId}
+    </select>
+
 </mapper>

+ 13 - 8
platform-dao/src/main/resources/mapper/store/SpareStoreMapper.xml

@@ -264,15 +264,20 @@
         </foreach>
     </update>
 
-    <select id="getTotalPrice" parameterType="com.platform.dao.dto.store.SpareStoreDTO"
+
+
+    <select id="getTotalPrice" parameterType="String"
+            resultType="BigDecimal">
+        select sum(num*price) as totalPrice
+        from t_spare_store
+        where store_id=#{storeId}
+    </select>
+
+    <select id="getTotalNum" parameterType="String"
             resultType="BigDecimal">
-        SELECT SUM(store.num*store.price) AS totalPrice
-FROM t_spare_store store
-<where>
-    <if test="storeId!=null">
-        store.store_id=#{storeId}
-    </if>
-</where>
+        SELECT SUM(store.num) num FROM t_spare_type TYPE JOIN t_spare_part_info info ON type.id=info.`type_id`
+        JOIN t_spare_store store ON store.`spare_id`=info.`id`
+        WHERE store.`store_id`=#{storeId}
     </select>
 
 </mapper>

+ 8 - 0
platform-dao/src/main/resources/mapper/store/StoreMapper.xml

@@ -131,4 +131,12 @@
 
     </select>
 
+    <select id="getSubStore" parameterType="com.platform.dao.dto.store.StoreDTO"
+            resultType="com.platform.dao.vo.query.store.StoreVO">
+        select id from t_store
+        where parent_id=#{id}
+    </select>
+
+
+
 </mapper>

+ 6 - 5
platform-rest/src/main/java/com/platform/rest/controller/store/SpareStoreController.java

@@ -5,6 +5,7 @@ import com.platform.dao.dto.store.SpareStoreDTO;
 import com.platform.dao.entity.sqarepartmanage.SparePartInfo;
 import com.platform.dao.entity.store.SpareStore;
 import com.platform.dao.vo.export.sqarepartmanage.ExportSparePartInfoVO;
+import com.platform.dao.vo.spare.SpareStoreInfoVO;
 import com.platform.rest.controller.sqarepartmanage.SpareInfo;
 import com.platform.rest.controller.sqarepartmanage.SpareStoreTest;
 import com.platform.rest.controller.sqarepartmanage.TransferForm;
@@ -178,12 +179,12 @@ public class SpareStoreController {
     ExcelUtil.exportResponseDict(response, ExportSpareStoreVO.class, BeanConverterUtil.copyListProperties(list, ExportSpareStoreVO.class), storeName +"-备件库存导出");
   }
 
-  @GetMapping("/info")
-  @SysLog("仓库备件相关信息")
-  public R getSpareStoreInfo(HttpServletResponse response, SpareStoreDTO spareStoreDTO) {
-    return new R<>(spareStoreService.getSpareStoreInfo(spareStoreDTO));
-  }
 
 
+  @GetMapping("/spareInfo")
+  public R getSpareInfoVO(String id) {
+    SpareStoreInfoVO spareStoreInfoVO=spareStoreService.getAllSpareStoreInfoVO(id);
+    return new R(spareStoreInfoVO);
+  }
 
 }

+ 7 - 0
platform-rest/src/main/java/com/platform/rest/controller/store/StoreController.java

@@ -11,12 +11,15 @@ import com.platform.dao.util.TreeUtil;
 import com.platform.dao.vo.query.store.InStoreFormVO;
 import com.platform.dao.vo.query.store.StoreVO;
 import com.platform.dao.vo.sb.SbTypeVO;
+import com.platform.dao.vo.spare.SpareStoreInfoVO;
+import com.platform.service.store.SpareStoreService;
 import com.platform.service.store.StoreService;
 import com.platform.dao.util.ExcelUtil;
 import com.platform.dao.vo.export.store.ExportStoreVO;
 import com.platform.common.util.BeanConverterUtil;
 import com.platform.common.validation.group.AddGroup;
 import com.platform.common.validation.group.UpdateGroup;
+import com.platform.service.store.impl.SpareStoreServiceImpl;
 import org.springframework.scheduling.annotation.EnableAsync;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.validation.annotation.Validated;
@@ -30,6 +33,7 @@ import java.util.ArrayList;
 import java.util.List;
 import javax.servlet.http.HttpServletResponse;
 
+
 /**
  * @Description 仓库信息 控制器
  * @Author liuyu
@@ -45,6 +49,7 @@ public class StoreController {
 
 
 
+
     /**
    * 通过id查询单条记录
    *
@@ -233,4 +238,6 @@ public class StoreController {
         }
         return new R<>(parentList);
     }
+
+
 }

+ 8 - 4
platform-service/src/main/java/com/platform/service/store/SpareStoreService.java

@@ -72,8 +72,12 @@ public interface SpareStoreService extends IBaseService<SpareStore, SpareStoreDT
 
     List<SpareStoreVO> selectFinanceReportList(String projectId, SpareStoreDTO spareStoreDTO, int type);
 
- /**
-  * 根据仓库id查询备件类型数,备件总价值,入库单和出库单等
-  */
- SpareStoreInfoVO getSpareStoreInfo(SpareStoreDTO spareStoreDTO);
+
+
+
+ SpareStoreInfoVO getSpareStoreInfoVO(String storeId,SpareStoreInfoVO spareStoreInfoVO);
+
+ public SpareStoreInfoVO getAllSpareStoreInfoVO(String storeId);
+
+
 }

+ 59 - 29
platform-service/src/main/java/com/platform/service/store/impl/SpareStoreServiceImpl.java

@@ -2,33 +2,39 @@ package com.platform.service.store.impl;
 
 import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.date.DateUtil;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.github.pagehelper.PageHelper;
 import com.platform.common.bean.AbstractPageResultBean;
 import com.platform.common.constant.CommonConstants;
 import com.platform.common.enums.DataFilterTypeEnum;
 import com.platform.common.exception.BusinessException;
+import com.platform.common.util.BeanConverterUtil;
+import com.platform.common.util.BeanUtils;
 import com.platform.common.util.IdGeneratorUtils;
 import com.platform.common.util.StringUtils;
 import com.platform.dao.bean.MyPage;
 import com.platform.dao.bean.MyVOPage;
 import com.platform.dao.dto.sb.SbModelSpareBomDTO;
+import com.platform.dao.dto.sqarepartmanage.SparePartInfoDTO;
 import com.platform.dao.dto.sqarepartmanage.SpareTypeDTO;
 import com.platform.dao.dto.store.InStoreFormDTO;
 import com.platform.dao.dto.store.OutStoreFormDTO;
 import com.platform.dao.dto.store.SpareStoreDTO;
+import com.platform.dao.dto.store.StoreDTO;
 import com.platform.dao.entity.sqarepartmanage.SpareType;
 import com.platform.dao.entity.store.SpareStore;
 import com.platform.dao.entity.store.Store;
 import com.platform.dao.enums.StoreLevelEnum;
+import com.platform.dao.mapper.sqarepartmanage.SparePartInfoMapper;
 import com.platform.dao.mapper.sqarepartmanage.SparePartUsedMapper;
 import com.platform.dao.mapper.sqarepartmanage.SpareTypeMapper;
 import com.platform.dao.mapper.store.InStoreFormMapper;
 import com.platform.dao.mapper.store.OutStoreFormMapper;
 import com.platform.dao.mapper.store.SpareStoreMapper;
-import com.platform.dao.vo.query.store.InStoreFormVO;
-import com.platform.dao.vo.query.store.OutStoreFormVO;
-import com.platform.dao.vo.query.store.SpareStoreVO;
-import com.platform.dao.vo.query.store.StoreVO;
+import com.platform.dao.mapper.store.StoreMapper;
+import com.platform.dao.vo.query.sparepartmanage.SparePartInfoVO;
+import com.platform.dao.vo.query.store.*;
 import com.platform.dao.vo.sb.SbModelSpareBomVO;
 import com.platform.dao.vo.spare.SparePartUsedVO;
 import com.platform.dao.vo.spare.SpareStoreInfoVO;
@@ -51,6 +57,7 @@ import tk.mybatis.mapper.weekend.WeekendCriteria;
 
 import java.math.BigDecimal;
 import java.text.DecimalFormat;
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 import java.util.stream.Collectors;
@@ -76,6 +83,8 @@ public class SpareStoreServiceImpl extends BaseServiceImpl<SpareStoreMapper, Spa
     private SpareTypeMapper spareTypeMapper;
     private InStoreFormMapper inStoreFormMapper;
     private OutStoreFormMapper outStoreFormMapper;
+    private StoreMapper storeMapper;
+    private SparePartInfoMapper sparePartInfoMapper;
 
     @Override
     public SpareStoreVO getDetail(Object id) {
@@ -336,34 +345,55 @@ public class SpareStoreServiceImpl extends BaseServiceImpl<SpareStoreMapper, Spa
         }
     }
 
+    /**
+     * 获取单个仓库的总备件价值,不同备件类型对应的数量,入库单数,出库单数(不包含子仓库)
+     * @param storeId
+     * @return
+     */
     @Override
-    public SpareStoreInfoVO getSpareStoreInfo(SpareStoreDTO spareStoreDTO) {
-        SpareStoreInfoVO spareStoreInfoVO=new SpareStoreInfoVO();
-        BigDecimal totalPrice= spareStoreMapper.getTotalPrice(spareStoreDTO);
-        List<SpareTypeVO> spareTypeVO=spareTypeMapper.getSpareTypeVo(spareStoreDTO);
-        InStoreFormDTO inQuery=new InStoreFormDTO();
-        inQuery.setStoreId(spareStoreDTO.getStoreId());
-        OutStoreFormDTO outQuery=new OutStoreFormDTO();
-        outQuery.setStoreId(spareStoreDTO.getStoreId());
-        List<InStoreFormVO> inStoreFormVOS= inStoreFormMapper.selectList(inQuery);
-        List<OutStoreFormVO> outStoreFormVOS= outStoreFormMapper.selectList(outQuery);
-        Integer bigNum=0;
-        Integer smallNum=0;
-        if(spareTypeVO!=null){
-            for(SpareTypeVO vo:spareTypeVO){
-                if(vo.getType()==1){
-                    bigNum+=vo.getNum();
-                }else if(vo.getType()==2){
-                    smallNum+=vo.getNum();
-                }
+    public SpareStoreInfoVO getSpareStoreInfoVO(String storeId,SpareStoreInfoVO spareStoreInfoVO) {
+        BigDecimal totalPrice=spareStoreMapper.getTotalPrice(storeId);
+        BigDecimal spareTotalNum=spareStoreMapper.getTotalNum(storeId);
+        BigDecimal inStoreCount=inStoreFormMapper.getInStoreFormCount(storeId);
+        BigDecimal outStoreCount=outStoreFormMapper.getOutStoreFormCount(storeId);
+        if(spareStoreInfoVO == null){
+            spareStoreInfoVO = new SpareStoreInfoVO();
+        }
+        spareStoreInfoVO.setTotalPrice(spareStoreInfoVO.getTotalPrice().add(totalPrice));
+        spareStoreInfoVO.setSpareTotalNum(spareStoreInfoVO.getSpareTotalNum().add(spareTotalNum));
+        spareStoreInfoVO.setInStoreCount(spareStoreInfoVO.getInStoreCount().add(inStoreCount));
+        spareStoreInfoVO.setOutStoreCount(spareStoreInfoVO.getOutStoreCount().add(outStoreCount));
+        StoreDTO storeDTO=new StoreDTO();
+        storeDTO.setId(storeId);
+        List<StoreVO> subStoreTreeVOS=storeMapper.getSubStore(storeDTO);
+        if(subStoreTreeVOS != null && subStoreTreeVOS.size()>0){
+            for(StoreVO voList : subStoreTreeVOS){
+                getSpareStoreInfoVO(voList.getId(),spareStoreInfoVO);
             }
         }
-
-        spareStoreInfoVO.setBigClassNum(new BigDecimal(bigNum));
-        spareStoreInfoVO.setSmallClassNum(new BigDecimal(smallNum));
-        spareStoreInfoVO.setTotalPrice(totalPrice);
-        spareStoreInfoVO.setInStoreFormVOS(inStoreFormVOS);
-        spareStoreInfoVO.setOutStoreFormVOS(outStoreFormVOS);
         return spareStoreInfoVO;
     }
+
+    @Override
+    public SpareStoreInfoVO getAllSpareStoreInfoVO(String storeId){
+        /*SpareStoreInfoVO all=new SpareStoreInfoVO();
+        SpareStoreInfoVO spareStoreInfoVO=getSpareStoreInfoVO(storeId);
+        StoreTreeVO storeTreeVO=new StoreTreeVO();
+        storeTreeVO.setId(storeId);
+        StoreDTO storeDTO=new StoreDTO();
+        storeDTO.setId(storeId);
+        List<StoreVO> subStoreTreeVOS=storeMapper.getSubStore(storeDTO);
+        if(subStoreTreeVOS != null && subStoreTreeVOS.size()>0){
+            for(StoreVO voList : subStoreTreeVOS){
+
+            }
+        }*/
+
+        return getSpareStoreInfoVO(storeId,null);
+    };
+
+
+
+
+
 }