3254194295 2 gadi atpakaļ
vecāks
revīzija
54c90254e7

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

@@ -2,8 +2,10 @@ package com.platform.dao.mapper.sqarepartmanage;
 
 import com.platform.dao.config.MyMapper;
 import com.platform.dao.dto.sqarepartmanage.SpareTypeDTO;
+import com.platform.dao.dto.store.SpareStoreDTO;
 import com.platform.dao.entity.sqarepartmanage.SpareType;
 import com.platform.dao.entity.sqarepartmanage.SpareType;
+import com.platform.dao.vo.spare.SpareTypeVO;
 import org.springframework.stereotype.Component;
 
 import java.util.List;
@@ -37,4 +39,8 @@ public interface SpareTypeMapper extends MyMapper<SpareType> {
      * @return
      */
     String selectNameById(Object id);
+
+    List<SpareTypeVO> getSpareTypeVo(SpareStoreDTO spareStoreDTO);
+
+
 }

+ 5 - 0
platform-dao/src/main/java/com/platform/dao/mapper/store/SpareStoreMapper.java

@@ -7,6 +7,9 @@ import com.platform.dao.vo.query.store.SpareStoreVO;
 import com.platform.dao.vo.sb.SbInfoVO;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Component;
+
+import java.math.BigDecimal;
+import java.math.BigInteger;
 import java.util.List;
 
 
@@ -69,4 +72,6 @@ public interface SpareStoreMapper extends MyMapper<SpareStore> {
      * @return
      */
     void updateBatchByStoreChange(List<SpareStore> list);
+
+    BigDecimal getTotalPrice(SpareStoreDTO spareStoreDTO);
 }

+ 38 - 0
platform-dao/src/main/java/com/platform/dao/vo/spare/SpareStoreInfoVO.java

@@ -0,0 +1,38 @@
+package com.platform.dao.vo.spare;
+
+import com.platform.common.bean.BaseVO;
+import com.platform.dao.vo.query.store.InStoreFormVO;
+import com.platform.dao.vo.query.store.OutStoreFormVO;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * @Description
+ * @Author future
+ * @Date 2020/6/30
+ * @Version Copyright (c) 2019,安徽阡陌网络科技有限公司 All rights reserved.
+ */
+@Data
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = true)
+public class SpareStoreInfoVO extends BaseVO implements Serializable {
+
+    private BigDecimal totalPrice;
+
+//    private List<SpareTypeVO> spareTypeVO;
+    private BigDecimal bigClassNum;
+    private BigDecimal smallClassNum;
+
+    private List<InStoreFormVO> inStoreFormVOS;
+
+    private List<OutStoreFormVO> outStoreFormVOS;
+
+
+
+
+}

+ 26 - 0
platform-dao/src/main/java/com/platform/dao/vo/spare/SpareTypeVO.java

@@ -0,0 +1,26 @@
+package com.platform.dao.vo.spare;
+
+import com.platform.common.bean.BaseVO;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * @Description
+ * @Author future
+ * @Date 2020/6/30
+ * @Version Copyright (c) 2019,安徽阡陌网络科技有限公司 All rights reserved.
+ */
+@Data
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = true)
+public class SpareTypeVO extends BaseVO implements Serializable {
+
+    private Integer num;
+    private Integer type;
+
+
+}

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

@@ -56,4 +56,19 @@
         from t_spare_type
         where id = #{value}
     </select>
+
+    <select id="getSpareTypeVo" parameterType="com.platform.dao.dto.store.SpareStoreDTO"
+            resultType="com.platform.dao.vo.spare.SpareTypeVO">
+        SELECT type.type, COUNT(DISTINCT type.id) 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>
+    <if test="storeId!=null">
+        store.store_id=#{storeId}
+    </if>
+</where>
+GROUP BY type.type
+    </select>
 </mapper>

+ 12 - 0
platform-dao/src/main/resources/mapper/store/SpareStoreMapper.xml

@@ -215,6 +215,7 @@
             <if test="isSpecial != null">
                 and spareinfo.is_special = #{isSpecial}
             </if>
+
         </where>
     </select>
     <select id="selectDetail" parameterType="com.platform.dao.dto.store.SpareStoreDTO"
@@ -263,4 +264,15 @@
         </foreach>
     </update>
 
+    <select id="getTotalPrice" parameterType="com.platform.dao.dto.store.SpareStoreDTO"
+            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>
+
 </mapper>

+ 8 - 0
platform-rest/src/main/java/com/platform/rest/controller/store/SpareStoreController.java

@@ -178,4 +178,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));
+  }
+
+
+
 }

+ 6 - 0
platform-service/src/main/java/com/platform/service/store/SpareStoreService.java

@@ -4,6 +4,7 @@ import com.platform.dao.vo.query.store.SpareStoreVO;
 import com.platform.dao.dto.store.SpareStoreDTO;
 import com.platform.dao.entity.store.SpareStore;
 import com.platform.common.bean.AbstractPageResultBean;
+import com.platform.dao.vo.spare.SpareStoreInfoVO;
 import com.platform.service.base.IBaseService;
 import org.springframework.web.multipart.MultipartFile;
 
@@ -70,4 +71,9 @@ public interface SpareStoreService extends IBaseService<SpareStore, SpareStoreDT
     void generateStoreReport();
 
     List<SpareStoreVO> selectFinanceReportList(String projectId, SpareStoreDTO spareStoreDTO, int type);
+
+ /**
+  * 根据仓库id查询备件类型数,备件总价值,入库单和出库单等
+  */
+ SpareStoreInfoVO getSpareStoreInfo(SpareStoreDTO spareStoreDTO);
 }

+ 47 - 0
platform-service/src/main/java/com/platform/service/store/impl/SpareStoreServiceImpl.java

@@ -13,17 +13,26 @@ 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.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.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.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.vo.sb.SbModelSpareBomVO;
 import com.platform.dao.vo.spare.SparePartUsedVO;
+import com.platform.dao.vo.spare.SpareStoreInfoVO;
+import com.platform.dao.vo.spare.SpareTypeVO;
 import com.platform.service.base.impl.BaseServiceImpl;
 import com.platform.service.sb.SbModelSpareBomService;
 import com.platform.service.sqarepartmanage.SpareTypeService;
@@ -40,6 +49,8 @@ import org.springframework.web.multipart.MultipartFile;
 import tk.mybatis.mapper.weekend.Weekend;
 import tk.mybatis.mapper.weekend.WeekendCriteria;
 
+import java.math.BigDecimal;
+import java.text.DecimalFormat;
 import java.util.Date;
 import java.util.List;
 import java.util.stream.Collectors;
@@ -61,6 +72,10 @@ public class SpareStoreServiceImpl extends BaseServiceImpl<SpareStoreMapper, Spa
     private SysDeptService sysDeptService;
     private SbModelSpareBomService sbModelSpareBomService;
     private SparePartUsedMapper sparePartUsedMapper;
+    private SpareStoreMapper spareStoreMapper;
+    private SpareTypeMapper spareTypeMapper;
+    private InStoreFormMapper inStoreFormMapper;
+    private OutStoreFormMapper outStoreFormMapper;
 
     @Override
     public SpareStoreVO getDetail(Object id) {
@@ -309,6 +324,7 @@ public class SpareStoreServiceImpl extends BaseServiceImpl<SpareStoreMapper, Spa
         return null;
     }
 
+
     @Override
     public void generateStoreReport() {
         List<Store> storeList = storeService.getModelListByModel(new Store());
@@ -319,4 +335,35 @@ public class SpareStoreServiceImpl extends BaseServiceImpl<SpareStoreMapper, Spa
 
         }
     }
+
+    @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();
+                }
+            }
+        }
+
+        spareStoreInfoVO.setBigClassNum(new BigDecimal(bigNum));
+        spareStoreInfoVO.setSmallClassNum(new BigDecimal(smallNum));
+        spareStoreInfoVO.setTotalPrice(totalPrice);
+        spareStoreInfoVO.setInStoreFormVOS(inStoreFormVOS);
+        spareStoreInfoVO.setOutStoreFormVOS(outStoreFormVOS);
+        return spareStoreInfoVO;
+    }
 }