Răsfoiți Sursa

杰生重构

home 2 ani în urmă
părinte
comite
d5cace3b4c

+ 18 - 13
hx-service/storage-restructure/src/main/java/com/fjhx/controller/water/WaterTransferController.java

@@ -1,6 +1,7 @@
 package com.fjhx.controller.water;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.base.Condition;
 import com.fjhx.entity.water.WaterTransfer;
 import com.fjhx.params.water.WaterTransferVo;
 import com.fjhx.service.water.WaterTransferService;
@@ -29,18 +30,6 @@ public class WaterTransferController {
     @Autowired
     private WaterTransferService waterTransferService;
 
-    @PostMapping("/page")
-    public R page(@RequestBody Map<String, String> condition) {
-        Page<WaterTransfer> result = waterTransferService.getPage(condition);
-        return R.success(result);
-    }
-
-    @PostMapping("/edit")
-    public R edit(@RequestBody WaterTransferVo waterTransferVo) {
-        waterTransferService.edit(waterTransferVo);
-        return R.success();
-    }
-
     /**
      * 添加面料转仓
      */
@@ -68,7 +57,6 @@ public class WaterTransferController {
         return R.success(result);
     }
 
-
     /**
      * 删除
      */
@@ -87,6 +75,23 @@ public class WaterTransferController {
         return R.success();
     }
 
+    /**
+     * 转仓看板统计
+     */
+    @PostMapping("/statistics")
+    public R statistics(@RequestBody Condition condition) {
+        Map<String, Object> result = waterTransferService.statistics(condition);
+        return R.success(result);
+    }
+
+    /**
+     * 转仓看板分页
+     */
+    @PostMapping("/page")
+    public R page(@RequestBody Condition condition) {
+        Page<Map<String, Object>> result = waterTransferService.getPage(condition);
+        return R.success(result);
+    }
 
 }
 

+ 1 - 2
hx-service/storage-restructure/src/main/java/com/fjhx/mapper/water/WaterBackMapper.xml

@@ -7,8 +7,7 @@
                ifnull(sum(wbd.quantity), 0)                            quantity,
                ifnull(format(sum(wbd.quantity * m.width / 100), 2), 0) area,
                ifnull(format(sum(wbd.quantity * m.price), 2), 0)       price
-        from water_back wb
-                 left join water_back_details wbd on wb.id = wbd.water_back_id
+        from water_back_details wbd
                  left join material m on wbd.material_id = m.id
             ${ew.customSqlSegment}
     </select>

+ 9 - 0
hx-service/storage-restructure/src/main/java/com/fjhx/mapper/water/WaterTransferMapper.java

@@ -1,7 +1,12 @@
 package com.fjhx.mapper.water;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fjhx.entity.water.WaterTransfer;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.Map;
 
 /**
  * <p>
@@ -13,4 +18,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface WaterTransferMapper extends BaseMapper<WaterTransfer> {
 
+    Map<String, Object> getStatistics(@Param("ew") QueryWrapper<Object> wrapper);
+
+    Page<Map<String, Object>> getPage(@Param("page") Page<Object> page, @Param("ew") QueryWrapper<Object> wrapper);
+
 }

+ 22 - 0
hx-service/storage-restructure/src/main/java/com/fjhx/mapper/water/WaterTransferMapper.xml

@@ -2,4 +2,26 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.fjhx.mapper.water.WaterTransferMapper">
 
+    <select id="getStatistics" resultType="java.util.Map">
+        select count(0)                                                count,
+               ifnull(sum(wtd.quantity), 0)                            quantity,
+               ifnull(format(sum(wtd.quantity * m.width / 100), 2), 0) area,
+               ifnull(format(sum(wtd.quantity * m.price), 2), 0)       price
+        from water_transfer_details wtd
+                 left join material m on wtd.material_id = m.id
+            ${ew.customSqlSegment}
+    </select>
+
+    <select id="getPage" resultType="java.util.Map">
+        select wtd.create_user,
+               wtd.receive_id,
+               wtd.create_time,
+               m.name                                             materialName,
+               wtd.quantity,
+               ifnull(format(wtd.quantity * m.width / 100, 2), 0) area
+        from water_transfer_details wtd
+                 left join material m on wtd.material_id = m.id
+            ${ew.customSqlSegment}
+    </select>
+
 </mapper>

+ 5 - 4
hx-service/storage-restructure/src/main/java/com/fjhx/service/water/WaterTransferService.java

@@ -1,6 +1,7 @@
 package com.fjhx.service.water;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.base.Condition;
 import com.fjhx.base.StorageBaseService;
 import com.fjhx.entity.water.WaterTransfer;
 import com.fjhx.params.water.WaterTransferVo;
@@ -18,10 +19,6 @@ import java.util.Map;
  */
 public interface WaterTransferService extends StorageBaseService<WaterTransfer> {
 
-    Page<WaterTransfer> getPage(Map<String, String> condition);
-
-    void edit(WaterTransferVo waterTransferVo);
-
     void add(List<WaterTransferVo> waterTransferVoList);
 
     List<Map<String, Object>> toBeReviewedList();
@@ -32,4 +29,8 @@ public interface WaterTransferService extends StorageBaseService<WaterTransfer>
 
     void submit(WaterTransferVo waterTransferVo);
 
+    Map<String, Object> statistics(Condition condition);
+
+    Page<Map<String, Object>> getPage(Condition condition);
+
 }

+ 2 - 2
hx-service/storage-restructure/src/main/java/com/fjhx/service/water/impl/WaterBackServiceImpl.java

@@ -248,8 +248,8 @@ public class WaterBackServiceImpl extends ServiceImpl<WaterBackMapper, WaterBack
 
         return wrapper
                 .eq("wbd.del_flag", StatusConstant.NOT_DELETED)
-                .eq(ObjectUtil.isNotEmpty(userId), "wb.create_user", userId)
-                .between(ObjectUtil.isAllNotEmpty(beginTime, endTime), "wb.create_time", beginTime, endTime);
+                .eq(ObjectUtil.isNotEmpty(userId), "wbd.create_user", userId)
+                .between(ObjectUtil.isAllNotEmpty(beginTime, endTime), "wbd.create_time", beginTime, endTime);
     }
 
 }

+ 46 - 18
hx-service/storage-restructure/src/main/java/com/fjhx/service/water/impl/WaterTransferServiceImpl.java

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fjhx.base.Condition;
 import com.fjhx.base.StorageBaseEntity;
 import com.fjhx.constants.StatusConstant;
 import com.fjhx.entity.water.WaterTransfer;
@@ -16,7 +17,6 @@ import com.fjhx.service.material.MaterialService;
 import com.fjhx.service.water.WaterTransferDetailsService;
 import com.fjhx.service.water.WaterTransferService;
 import com.fjhx.utils.UserClientUtil;
-import com.fjhx.utils.WrapperUtil;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -43,23 +43,6 @@ public class WaterTransferServiceImpl extends ServiceImpl<WaterTransferMapper, W
     @Autowired
     private MaterialService materialService;
 
-    @Override
-    public Page<WaterTransfer> getPage(Map<String, String> condition) {
-
-        QueryWrapper<WaterTransfer> wrapper = Wrappers.query();
-
-        WrapperUtil.init(condition, wrapper)
-                .createTimeDesc();
-
-        Page<WaterTransfer> page = page(condition, wrapper);
-        return page;
-    }
-
-    @Override
-    public void edit(WaterTransferVo waterTransferVo) {
-        updateById(waterTransferVo);
-    }
-
     @Transactional(rollbackFor = Exception.class)
     @Override
     public void add(List<WaterTransferVo> waterTransferVoList) {
@@ -168,4 +151,49 @@ public class WaterTransferServiceImpl extends ServiceImpl<WaterTransferMapper, W
                 .notIn(StorageBaseEntity::getId, waterTransferDetailsIdList));
     }
 
+    @Override
+    public Map<String, Object> statistics(Condition condition) {
+        QueryWrapper<Object> wrapper = getWrapper(condition);
+
+        return baseMapper.getStatistics(wrapper);
+    }
+
+    @Override
+    public Page<Map<String, Object>> getPage(Condition condition) {
+        QueryWrapper<Object> wrapper = getWrapper(condition);
+        Page<Map<String, Object>> page = baseMapper.getPage(condition.getPage(), wrapper);
+        List<Map<String, Object>> records = page.getRecords();
+        if (records.size() == 0) {
+            return page;
+        }
+
+        Set<Long> userIdSet = new HashSet<>();
+        for (Map<String, Object> record : records) {
+            userIdSet.add(Convert.toLong(record.get("createUser")));
+            userIdSet.add(Convert.toLong(record.get("receiveId")));
+        }
+
+        Map<Long, String> userNameMap = UserClientUtil.getUserNameMap(userIdSet);
+
+        for (Map<String, Object> record : records) {
+            record.put("createUserName", userNameMap.get(Convert.toLong(record.get("createUser"))));
+            record.put("receiveUserName", userNameMap.get(Convert.toLong(record.get("receiveId"))));
+        }
+
+        return page;
+    }
+
+    private QueryWrapper<Object> getWrapper(Condition condition) {
+        QueryWrapper<Object> wrapper = Wrappers.query();
+
+        Date beginTime = condition.getBeginTime();
+        Date endTime = condition.getEndTime();
+        Long userId = condition.getUserId();
+
+        return wrapper
+                .eq("wtd.del_flag", StatusConstant.NOT_DELETED)
+                .and(ObjectUtil.isNotEmpty(userId), q -> q.eq("wtd.create_user", userId).or().eq("wtd.receive_id", userId))
+                .between(ObjectUtil.isAllNotEmpty(beginTime, endTime), "wtd.create_time", beginTime, endTime);
+    }
+
 }