home há 2 anos atrás
pai
commit
ed2fbeb674

+ 9 - 0
hx-common/service-flow/src/main/java/com/fjhx/controller/process/ProcessNodeController.java

@@ -1,6 +1,7 @@
 package com.fjhx.controller.process;
 
 import com.fjhx.entity.process.ProcessNode;
+import com.fjhx.params.process.SaveNodeListVo;
 import com.fjhx.service.process.ProcessNodeService;
 import org.springblade.core.tool.api.R;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -42,5 +43,13 @@ public class ProcessNodeController {
         return R.success();
     }
 
+    /**
+     * 保存节点
+     */
+    @PostMapping("/saveNodeList")
+    public R delete(@RequestBody SaveNodeListVo vo) {
+        return R.success();
+    }
+
 }
 

+ 0 - 24
hx-common/service-flow/src/main/java/com/fjhx/controller/process/ProcessNodeHandleController.java

@@ -1,24 +0,0 @@
-package com.fjhx.controller.process;
-
-import com.fjhx.service.process.ProcessNodeButtonService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * <p>
- * 前端控制器
- * </p>
- *
- * @author ${author}
- * @since 2022-08-12
- */
-@RestController
-@RequestMapping("/processNodeHandle")
-public class ProcessNodeHandleController {
-
-    @Autowired
-    private ProcessNodeButtonService processNodeButtonService;
-
-}
-

+ 0 - 2
hx-common/service-flow/src/main/java/com/fjhx/controller/process/ProcessTenantController.java

@@ -74,7 +74,5 @@ public class ProcessTenantController {
         return R.success();
     }
 
-
-
 }
 

+ 4 - 0
hx-service-api/service-flow-api/src/main/java/com/fjhx/params/process/SaveNodeListVo.java

@@ -0,0 +1,4 @@
+package com.fjhx.params.process;
+
+public class SaveNodeListVo {
+}

+ 2 - 1
hx-service/storage/src/main/java/com/fjhx/stock/mapper/StockDetailMapper.java

@@ -8,6 +8,7 @@ import org.apache.ibatis.annotations.MapKey;
 import org.apache.ibatis.annotations.Param;
 
 import java.math.BigDecimal;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
@@ -24,7 +25,7 @@ public interface StockDetailMapper extends BaseMapper<StockDetail> {
     Map<String, Object> getMaterialInfoByQrCode(@Param("qrCode") String qrCode);
 
     @InterceptorIgnore(tenantLine = "1")
-    List<Map<String, Object>> restrictedPicking(@Param("jobNo") String jobNo);
+    List<Map<String, Object>> restrictedPicking(@Param("jobNo") String jobNo, @Param("date") Date date);
 
     @MapKey("materialCode")
     Map<String, Map<String, BigDecimal>> getMaterialQuantity(@Param("ew") QueryWrapper<Object> wrapper);

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

@@ -50,6 +50,7 @@
                  )
              ) t
                  left join material m on t.code = m.Code
+        where t.planDate = #{date}
         order by t.availableQuantity
     </select>
 
@@ -66,6 +67,7 @@
                  left join stock_area sa on sa.ID = sd.PlaceAreaId
         where sd.MaterialCode = #{materialCode}
           and sd.Quantity &gt; #{availableQuantity}
+          and sd.StockHouseId = 'c185883dba22478cb593d33f6b66cc53'
         order by sd.Quantity
     </select>
 

+ 29 - 6
hx-service/storage/src/main/java/com/fjhx/stock/service/impl/StockDetailServiceImpl.java

@@ -67,7 +67,14 @@ public class StockDetailServiceImpl extends ServiceImpl<StockDetailMapper, Stock
 
         String jobNo = condition.get("jobNo");
 
-        List<Map<String, Object>> list = baseMapper.restrictedPicking(jobNo);
+        Date date = new Date();
+        if (Integer.parseInt(DateUtil.format(date, "H")) >= 7) {
+            date = DateUtil.beginOfDay(date);
+        } else {
+            date = DateUtil.beginOfDay(DateUtil.yesterday());
+        }
+
+        List<Map<String, Object>> list = baseMapper.restrictedPicking(jobNo, date);
 
         if (list.size() == 0) {
             return list;
@@ -124,17 +131,26 @@ public class StockDetailServiceImpl extends ServiceImpl<StockDetailMapper, Stock
 
         listMapByMaterialCode.forEach((k, v) -> {
             List<Map<String, Object>> itemList = baseMapper.selectRecommendMaterial(k, (BigDecimal) v.get(0).get("availableQuantity"));
-
             int size = Math.min(v.size(), itemList.size());
-
             for (int i = 0; i < size; i++) {
-                v.get(i).putAll(itemList.get(i));
+                BigDecimal availableQuantity = (BigDecimal) v.get(i).get("availableQuantity");
+                for (int j = 0; j < itemList.size(); j++) {
+                    BigDecimal bigDecimal = (BigDecimal) itemList.get(j).get("quantity");
+                    if (bigDecimal.compareTo(availableQuantity) >= 0) {
+                        v.get(i).putAll(itemList.get(i));
+                        itemList.remove(itemList.get(i));
+                        break;
+                    }
+                    itemList.remove(itemList.get(i));
+                    j--;
+                }
             }
         });
 
         return list;
     }
 
+
     @Transactional(rollbackFor = Exception.class)
     @Override
     public void submitRestrictedPicking(Map<String, Object> condition) {
@@ -332,7 +348,13 @@ public class StockDetailServiceImpl extends ServiceImpl<StockDetailMapper, Stock
                 .distinct()
                 .collect(Collectors.toList());
 
-        List<SchedulingActual> schedulingActualListByFlag = getSchedulingActualListByFlag(flagList, null);
+        List<SchedulingActual> schedulingActualListByFlag;
+
+        if (flagList.size() == 0) {
+            schedulingActualListByFlag = new ArrayList<>();
+        } else {
+            schedulingActualListByFlag = getSchedulingActualListByFlag(flagList, null);
+        }
 
         // 赋值实际领料
         setActual(result, schedulingActualListByFlag, codeWidthMap);
@@ -349,7 +371,8 @@ public class StockDetailServiceImpl extends ServiceImpl<StockDetailMapper, Stock
     private List<SchedulingActual> getSchedulingActualListByFlag(List<Long> flagList, String materialCode) {
         return schedulingActualService.list(Wrappers.<SchedulingActual>lambdaQuery()
                 .eq(ObjectUtil.isNotEmpty(materialCode), SchedulingActual::getMaterialCode, materialCode)
-                .in(SchedulingActual::getFlag, flagList));
+                .in(SchedulingActual::getFlag, flagList)
+        );
     }
 
     @Override