Просмотр исходного кода

杰生 库存管理,库存报表

home 2 лет назад
Родитель
Сommit
77829c9a05

+ 10 - 0
hx-serve/storage/src/main/java/com/fjhx/stock/controller/StockWaterController.java

@@ -36,6 +36,16 @@ public class StockWaterController {
         return R.success(result);
     }
 
+
+    /**
+     * 库存报表-》领料序时浦-》分页列表
+     */
+    @PostMapping("getPickingPage")
+    public R getPickingPage(@RequestBody Map<String, String> condition) {
+        Page<Map<String, Object>> result = stockWaterService.getPickingPage(condition);
+        return R.success(result);
+    }
+
     /**
      * 申购管理-》合同付款-》申购金额统计
      */

+ 2 - 0
hx-serve/storage/src/main/java/com/fjhx/stock/mapper/StockWaterMapper.java

@@ -21,6 +21,8 @@ public interface StockWaterMapper extends BaseMapper<StockWater> {
 
     List<Map<String, Object>> getPickingStatistics(@Param("ew") QueryWrapper<?> wrapper);
 
+    Page<Map<String, Object>> getPickingPage(@Param("page") Page<StockWater> page,@Param("ew") QueryWrapper<?> wrapper);
+
     List<Map<String, Object>> contractPaymentStatistics(@Param("ew") QueryWrapper<?> wrapper);
 
     Page<Map<String, Object>> subscriptionAmountPage(@Param("page") Page<StockWater> page, @Param("ew") QueryWrapper<?> wrapper);

+ 19 - 0
hx-serve/storage/src/main/java/com/fjhx/stock/mapper/StockWaterMapper.xml

@@ -15,6 +15,25 @@
             ${ew.customSqlSegment}
     </select>
 
+    <select id="getPickingPage" resultType="java.util.LinkedHashMap">
+        select sw.CreatedTime                                         createdTime,
+               m.TechnologyType                                       materialType,
+               m.code                                                 materialCode,
+               m.name                                                 materialName,
+               m.spec                                                 materialSpec,
+               m.StockUnitID                                          materialUnit,
+               sw.ChangeNum                                           changeNum,
+               sw.Price                                               materialPrice,
+               format(if(m.TechnologyType = 3,
+                         sw.Price * sw.ChangeNum,
+                         sw.Price * sw.ChangeNum * m.Width / 100), 2) money,
+               uu.RealName                                            realName
+        from stock_waterdetial sw
+                 inner join material m on sw.MaterialCode = m.code
+                 inner join u_user uu on uu.ID = sw.OperUserId
+            ${ew.customSqlSegment}
+    </select>
+
     <select id="contractPaymentStatistics" resultType="java.util.Map">
         select ifnull(m.TechnologyType, 4)                                  materialType,
                if(pc.PurContractState = 3, pc.AdjustAmount, pc.TotalAmount) money,

+ 2 - 0
hx-serve/storage/src/main/java/com/fjhx/stock/service/StockWaterService.java

@@ -18,6 +18,8 @@ public interface StockWaterService extends BaseService<StockWater> {
 
     Map<String, Object> getPickingStatistics(Map<String, String> condition);
 
+    Page<Map<String, Object>> getPickingPage(Map<String, String> condition);
+
     Map<String, Object> contractPaymentStatistics(Map<String, String> condition);
 
     Page<Map<String, Object>> subscriptionAmountPage(Map<String, String> condition);

+ 24 - 0
hx-serve/storage/src/main/java/com/fjhx/stock/service/impl/StockWaterServiceImpl.java

@@ -1,6 +1,7 @@
 package com.fjhx.stock.service.impl;
 
 import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -177,6 +178,28 @@ public class StockWaterServiceImpl extends ServiceImpl<StockWaterMapper, StockWa
     }
 
     @Override
+    public Page<Map<String, Object>> getPickingPage(Map<String, String> condition) {
+
+        QueryWrapper<?> wrapper = WrapperUtil.init()
+                .periodOfTime("sw.CreatedTime") // 时间段查询
+                .eq("m.TechnologyType", "materialType") // 物料属性
+                .eq("uu.id", "userId") // 用户
+                .getWrapper();
+
+        wrapper.eq("sw.IsDelete", 0); // 未删除
+
+        // 出入库类型
+        String type = condition.get("type");
+        if (ObjectUtil.isEmpty(type) || type.equals("0")) {
+            wrapper.in("sw.StockChangeType", 15, 20, 23);
+        } else {
+            wrapper.eq("sw.StockChangeType", type);
+        }
+
+        return baseMapper.getPickingPage(createPage(condition), wrapper);
+    }
+
+    @Override
     public Map<String, Object> contractPaymentStatistics(Map<String, String> condition) {
         QueryWrapper<?> wrapper = WrapperUtil.init(condition).periodOfTime("pc.ApprovalTime").getWrapper();
         wrapper.eq("pc.IsDelete", 0);
@@ -314,6 +337,7 @@ public class StockWaterServiceImpl extends ServiceImpl<StockWaterMapper, StockWa
         Page<Map<String, Object>> result = baseMapper.subscriptionAmountPage(createPage(condition), wrapper);
         List<Map<String, Object>> records = result.getRecords();
 
+        // 格式转换
         records.forEach(item -> {
             item.put("purchaseQty", ((BigDecimal) item.get("purchaseQty")).setScale(2, RoundingMode.HALF_UP));
             item.put("totalAmount", ((BigDecimal) item.get("totalAmount")).setScale(2, RoundingMode.HALF_UP));