home 2 rokov pred
rodič
commit
fdb5596506

+ 10 - 7
hx-service-api/storage-restructure-api/src/main/java/com/fjhx/entity/material/Material.java

@@ -1,17 +1,15 @@
 package com.fjhx.entity.material;
 
-import java.math.BigDecimal;
-import com.baomidou.mybatisplus.annotation.IdType;
-import java.util.Date;
-import com.baomidou.mybatisplus.annotation.Version;
-import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.FieldFill;
-import com.fjhx.base.StorageBaseEntity;
-import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.fjhx.base.StorageBaseEntity;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
+import java.math.BigDecimal;
+import java.util.Date;
+
 /**
  * <p>
  * 物料
@@ -96,6 +94,11 @@ public class Material extends StorageBaseEntity {
     private Integer technologyType;
 
     /**
+     * 标准价格
+     */
+    private BigDecimal price;
+
+    /**
      * 备注
      */
     private String remark;

+ 29 - 0
hx-service/storage/src/main/java/com/fjhx/stock/controller/StockBackController.java

@@ -120,5 +120,34 @@ public class StockBackController {
         return R.success(result);
     }
 
+    /**
+     * 面料退仓看板用户列表
+     */
+    @PostMapping("/getBackUser")
+    public R getBackUser(@RequestBody Map<String, String> condition) {
+        Map<String, List<Map<String, Object>>> result = stockBackService.getUser(condition);
+        return R.success(result);
+    }
+
+    /**
+     * 面料退仓看板统计
+     */
+    @PostMapping("/getBackStatistics")
+    public R getBackStatistics(@RequestBody Map<String, String> condition) {
+        Map<String, Object> result = stockBackService.getBackStatistics(condition);
+        return R.success(result);
+    }
+
+
+    /**
+     * 面料退仓看板统计
+     */
+    @PostMapping("/getBackPage")
+    public R getBackPage(@RequestBody Map<String, String> condition) {
+        Page<Map<String, Object>> result = stockBackService.getBackPage(condition);
+        return R.success(result);
+    }
+
+
 }
 

+ 5 - 0
hx-service/storage/src/main/java/com/fjhx/stock/mapper/StockBackMapper.java

@@ -71,4 +71,9 @@ public interface StockBackMapper extends BaseMapper<StockBack> {
                                              @Param("beginTime") Date beginTime,
                                              @Param("endTime") Date endTime);
 
+    @TenantIgnore
+    Map<String, Object> getBackStatistics(@Param("ew") QueryWrapper<Object> wrapper);
+
+    @TenantIgnore
+    Page<Map<String, Object>> getBackPage(@Param("page") Page<StockBack> page, @Param("ew") QueryWrapper<Object> backWrapper);
 }

+ 25 - 0
hx-service/storage/src/main/java/com/fjhx/stock/mapper/StockBackMapper.xml

@@ -226,5 +226,30 @@
         </choose>
     </select>
 
+    <select id="getBackStatistics" resultType="java.util.Map">
+        select count(0)                                            count,
+               ifnull(sum(sbd.material_meters), 0)                 meters,
+               ifnull(sum(m.Width * sbd.material_meters / 100), 0) area,
+               ifnull(sum(sbd.material_meters * m.Price), 0)       price
+        from stock_back sb
+                 inner join stock_back_details sbd on sb.id = sbd.stock_back_id
+                 inner join material m on sbd.material_id = m.ID
+            ${ew.customSqlSegment}
+    </select>
+
+    <select id="getBackPage" resultType="java.util.Map">
+        select sbd.rfid,
+               uu.RealName                           realName,
+               sb.operation_time                     time,
+               m.Name                                materialName,
+               sbd.material_meters                   meters,
+               (m.Width * sbd.material_meters / 100) area
+        from stock_back sb
+                 inner join stock_back_details sbd on sb.id = sbd.stock_back_id
+                 inner join material m on sbd.material_id = m.ID
+                 left join u_user uu on sb.operator_id = uu.ID
+            ${ew.customSqlSegment}
+    </select>
+
 
 </mapper>

+ 6 - 0
hx-service/storage/src/main/java/com/fjhx/stock/service/StockBackService.java

@@ -46,4 +46,10 @@ public interface StockBackService extends BaseService<StockBack> {
 
     Page<StatisticsResult> statisticsPage(Map<String, String> condition);
 
+    Map<String, List<Map<String, Object>>> getUser(Map<String, String> condition);
+
+    Map<String, Object> getBackStatistics(Map<String, String> condition);
+
+    Page<Map<String, Object>> getBackPage(Map<String, String> condition);
+
 }

+ 43 - 6
hx-service/storage/src/main/java/com/fjhx/stock/service/impl/StockBackServiceImpl.java

@@ -233,12 +233,7 @@ public class StockBackServiceImpl extends ServiceImpl<StockBackMapper, StockBack
         Assert.notEmpty(endTimeStr, "结束时间不能为空");
         Date endTime = DateUtil.endOfDay(DateUtil.parse(endTimeStr));
 
-        QueryWrapper<Object> wrapper = Wrappers.query()
-                .eq("uu.IsDelete", 0)
-                .in("uu.DepartmentID", "A007", "A008", "A012")
-                .isNotNull("uu.JobNo");
-
-        List<Map<String, Object>> result = baseMapper.userStatistics(wrapper);
+        List<Map<String, Object>> result = userList();
 
         List<StockBackPlanDetails> planList = stockBackPlanDetailsService.list(Wrappers.<StockBackPlanDetails>lambdaQuery()
                 .between(StockBackPlanDetails::getPlanTime, beginTime, endTime));
@@ -333,5 +328,47 @@ public class StockBackServiceImpl extends ServiceImpl<StockBackMapper, StockBack
         return baseMapper.selectPickingPage(createPage(condition), jobNo, beginTime, endTime);
     }
 
+    @Override
+    public Map<String, List<Map<String, Object>>> getUser(Map<String, String> condition) {
+        return userList().stream().collect(Collectors.groupingBy(item -> (String) item.get("departmentID")));
+    }
+
+    @Override
+    public Map<String, Object> getBackStatistics(Map<String, String> condition) {
+        return baseMapper.getBackStatistics(getBackWrapper(condition));
+    }
+
+    @Override
+    public Page<Map<String, Object>> getBackPage(Map<String, String> condition) {
+        return baseMapper.getBackPage(createPage(condition), getBackWrapper(condition));
+    }
+
+
+    private List<Map<String, Object>> userList() {
+
+        QueryWrapper<Object> wrapper = Wrappers.query()
+                .eq("uu.IsDelete", 0)
+                .in("uu.DepartmentID", "A007", "A008", "A012")
+                .isNotNull("uu.JobNo");
+
+        return baseMapper.userStatistics(wrapper);
+    }
+
+    private QueryWrapper<Object> getBackWrapper(Map<String, String> condition) {
+        String userId = condition.get("userId");
+
+        String beginTimeStr = condition.get("beginTime");
+        Assert.notEmpty(beginTimeStr, "开始时间不能为空");
+        Date beginTime = DateUtil.beginOfDay(DateUtil.parse(beginTimeStr));
+
+        String endTimeStr = condition.get("endTime");
+        Assert.notEmpty(endTimeStr, "结束时间不能为空");
+        Date endTime = DateUtil.endOfDay(DateUtil.parse(endTimeStr));
+
+        return Wrappers.query()
+                .between("sb.operation_time", beginTime, endTime)
+                .eq(ObjectUtil.isNotEmpty(userId), "sb.operator_id", userId);
+
+    }
 
 }