Browse Source

出入库

2 năm trước cách đây
mục cha
commit
d7f62aa1b9

+ 1 - 0
platform-dao/src/main/java/com/platform/dao/dto/sqarepartmanage/SparePartInfoDTO.java

@@ -27,6 +27,7 @@ import java.util.List;
 @Accessors(chain = true)
 @EqualsAndHashCode(callSuper = true)
 public class SparePartInfoDTO extends BaseDTO implements Serializable {
+    private String searchTime;
     /**
      * 品牌
      */

+ 2 - 0
platform-dao/src/main/java/com/platform/dao/dto/store/InStoreFormDTO.java

@@ -24,6 +24,8 @@ import java.util.List;
 @Accessors(chain = true)
 @EqualsAndHashCode(callSuper = true)
 public class InStoreFormDTO extends BaseDTO implements Serializable {
+    private LocalDateTime searchTimeStart;
+    private LocalDateTime searchTimeEnd;
     private Integer inNum;
     private String spareId;
     /**

+ 1 - 0
platform-dao/src/main/java/com/platform/dao/entity/store/InStoreForm.java

@@ -22,6 +22,7 @@ import javax.persistence.Transient;
 @Accessors(chain = true)
 @Table(name = "t_in_store_form")
 public class InStoreForm implements Serializable{
+    private Integer inNum;
     private String spareId;
     /**
      * 总价

+ 1 - 0
platform-dao/src/main/java/com/platform/dao/entity/store/OutStoreForm.java

@@ -22,6 +22,7 @@ import javax.persistence.Transient;
 @Accessors(chain = true)
 @Table(name = "t_out_store_form")
 public class OutStoreForm implements Serializable{
+    private Integer outNum;
     /**
      * 备件id
      */

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

@@ -1,11 +1,13 @@
 package com.platform.dao.mapper.store;
 
+import com.platform.dao.dto.sqarepartmanage.SparePartInfoDTO;
 import com.platform.dao.dto.store.InStoreFormDTO;
 import com.platform.dao.config.MyMapper;
 import com.platform.dao.entity.store.InStoreDetail;
 import com.platform.dao.entity.store.InStoreForm;
 import com.platform.dao.vo.query.store.InStoreDetailVO;
 import com.platform.dao.vo.query.store.InStoreFormVO;
+import com.platform.dao.vo.report.InAndOutStoretReportVO;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Component;
 import java.util.List;
@@ -19,6 +21,7 @@ import java.util.List;
  */
 @Component
 public interface InStoreFormMapper extends MyMapper<InStoreForm> {
+    List<InAndOutStoretReportVO> getInAndOutNum(InStoreFormDTO dto);
     /**
      * 分页查询
      * @param dto

+ 3 - 0
platform-dao/src/main/java/com/platform/dao/vo/query/store/InStoreFormVO.java

@@ -25,6 +25,9 @@ import java.util.List;
 @Accessors(chain = true)
 @EqualsAndHashCode(callSuper = true)
 public class InStoreFormVO extends BaseVO implements Serializable {
+    private Integer inNum;
+    private String spareName;
+
     private String spareId;
 
     /**

+ 1 - 0
platform-dao/src/main/java/com/platform/dao/vo/query/store/OutStoreFormVO.java

@@ -25,6 +25,7 @@ import java.util.List;
 @Accessors(chain = true)
 @EqualsAndHashCode(callSuper = true)
 public class OutStoreFormVO extends BaseVO implements Serializable {
+    private Integer outNum;
     private String spareId;
 
     /**

+ 24 - 0
platform-dao/src/main/java/com/platform/dao/vo/report/InAndOutStoretReportVO.java

@@ -0,0 +1,24 @@
+package com.platform.dao.vo.report;
+
+
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * @author cyz
+ */
+@Data
+@Accessors(chain = true)
+public class InAndOutStoretReportVO implements Serializable {
+    private static final long serialVersionUID = 1L;
+    private String spareName;
+    private Integer inNum;
+    private Integer outNum;
+
+}
+

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

@@ -145,4 +145,42 @@
         left join t_spare_part_info spareinfo on spareinfo.id = detail.spare_id
         where form.id = #{id}
     </select>
+
+    <select id="getInAndOutNum" parameterType="com.platform.dao.dto.store.InStoreFormDTO"
+            resultType="com.platform.dao.vo.report.InAndOutStoretReportVO">
+        SELECT info.name ,t1.inNum,t2.outNum
+        FROM t_spare_part_info info
+        LEFT JOIN (SELECT info.id spare_id,SUM(inform.in_num) inNum FROM  t_spare_part_info info LEFT JOIN t_in_store_form inform ON info.id=inform.spare_id
+        <where>
+            <if test="searchTimeStart!=null and searchTimeStart!=null">
+                and inform.created_time <![CDATA[>=]]> #{searchTimeStart}
+            </if>
+            <if test="searchTimeEnd!=null and searchTimeEnd!=null">
+                and inform.created_time <![CDATA[>=]]> #{searchTimeEnd}
+            </if>
+            <if test="spareName!=null and spareName@=''">
+                and info.name like concat('%',#{spareName},'%')
+            </if>
+        </where>
+        GROUP BY info.id) AS t1
+        ON info.id=t1.spare_id
+        LEFT JOIN
+        (SELECT info.id spare_id,SUM(outform.out_num) outNum FROM  t_spare_part_info info LEFT JOIN t_out_store_form outform ON info.id=outform.spare_id
+        <where>
+            <if test="searchTimeStart!=null and searchTimeStart!=null">
+                and outform.created_time <![CDATA[>=]]> #{searchTimeStart}
+            </if>
+            <if test="searchTimeEnd!=null and searchTimeEnd!=null">
+                and outform.created_time <![CDATA[>=]]> #{searchTimeEnd}
+            </if>
+            <if test="spareName!=null and spareName@=''">
+                and info.name like concat('%',#{spareName},'%')
+            </if>
+        </where>
+        GROUP BY info.id) AS t2
+        ON info.id=t2.spare_id
+
+    </select>
+
+
 </mapper>

+ 2 - 6
platform-service/src/main/java/com/platform/service/sqarepartmanage/SparePartInfoService.java

@@ -1,15 +1,11 @@
 package com.platform.service.sqarepartmanage;
 
 import com.platform.common.bean.AbstractPageResultBean;
-import com.platform.dao.bean.MyPage;
 import com.platform.dao.dto.sqarepartmanage.SparePartInfoDTO;
-import com.platform.dao.dto.store.SpareStoreDTO;
 import com.platform.dao.entity.sqarepartmanage.SparePartInfo;
 import com.platform.dao.vo.query.sparepartmanage.SparePartInfoVO;
-import com.platform.dao.vo.report.InAndOutReportVO;
-import com.platform.dao.vo.sb.SbInfoVO;
+import com.platform.dao.vo.report.InAndOutStoretReportVO;
 import com.platform.service.base.IBaseService;
-import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.util.List;
@@ -21,7 +17,7 @@ import java.util.List;
  * @Version Copyright (c) 2019,北京乾元坤和科技有限公司 All rights reserved.
  */
 public interface SparePartInfoService extends IBaseService<SparePartInfo, SparePartInfoDTO> {
-    List<InAndOutReportVO> getInAndOutReport(SparePartInfoDTO dto);
+    List<InAndOutStoretReportVO> getInAndOutReport(SparePartInfoDTO dto);
 
     AbstractPageResultBean<SparePartInfoVO> getInOrOut(SparePartInfoDTO dto,Integer pageNum,Integer pageSize);
 

+ 14 - 4
platform-service/src/main/java/com/platform/service/sqarepartmanage/impl/SparePartInfoServiceImpl.java

@@ -15,6 +15,7 @@ import com.platform.dao.dto.check.CheckStandardSpareDTO;
 import com.platform.dao.dto.sb.SbModelSpareBomDTO;
 import com.platform.dao.dto.sqarepartmanage.SparePartInfoDTO;
 import com.platform.dao.dto.sqarepartmanage.SparePartUsedDTO;
+import com.platform.dao.dto.store.InStoreFormDTO;
 import com.platform.dao.entity.check.CheckJob;
 import com.platform.dao.entity.sb.SbModel;
 import com.platform.dao.entity.sb.SbModelSpareBom;
@@ -32,6 +33,8 @@ import com.platform.dao.mapper.sb.SbModelSpareBomMapper;
 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.mapper.store.StoreMapper;
 import com.platform.dao.mapper.upms.SysFileMapper;
@@ -39,7 +42,8 @@ import com.platform.dao.util.CustomExcelImportUtil;
 import com.platform.dao.util.MessageTemplateUtil;
 import com.platform.dao.vo.query.check.CheckStandardSpareVO;
 import com.platform.dao.vo.query.sparepartmanage.SparePartInfoVO;
-import com.platform.dao.vo.report.InAndOutReportVO;
+import com.platform.dao.vo.query.store.InStoreFormVO;
+import com.platform.dao.vo.report.InAndOutStoretReportVO;
 import com.platform.dao.vo.sb.SbInfoVO;
 import com.platform.dao.vo.sb.SbModelSpareBomVO;
 import com.platform.dao.vo.spare.SparePartUsedVO;
@@ -62,6 +66,7 @@ import tk.mybatis.mapper.weekend.WeekendCriteria;
 import java.math.BigDecimal;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
 import java.time.temporal.ChronoUnit;
 import java.util.*;
 import java.util.stream.Collectors;
@@ -89,12 +94,17 @@ public class SparePartInfoServiceImpl extends BaseServiceImpl<SparePartInfoMappe
     private CheckJobMapper checkJobMapper;
     private CheckStandardSpareMapper checkStandardSpareMapper;
     private CheckStandardService checkStandardService;
+    private InStoreFormMapper inStoreFormMapper;
+    private OutStoreFormMapper outStoreFormMapper;
 
 
     @Override
-    public List<InAndOutReportVO> getInAndOutReport(SparePartInfoDTO dto) {
-
-        return null;
+    public List<InAndOutStoretReportVO> getInAndOutReport(SparePartInfoDTO dto) {
+        InStoreFormDTO inStoreFormDTO = new InStoreFormDTO();
+        inStoreFormDTO.setSearchTimeStart(LocalDateTime.parse(dto.getSearchTime(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+        inStoreFormDTO.setSearchTimeEnd(LocalDateTime.parse(dto.getSearchTime(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+        List<InAndOutStoretReportVO> result = inStoreFormMapper.getInAndOutNum(inStoreFormDTO);
+        return result;
     }
 
     @Override