Tiroble 3 years ago
parent
commit
8d59b37508

+ 74 - 0
src/main/java/com/steerinfo/dil/controller/WmsInboundResultController.java

@@ -168,6 +168,7 @@ public class WmsInboundResultController extends BaseRESTfulController {
         PageListAdd pageList = columnDataUtil.tableColumnData(apiId,inboundResultList,columnList);
         return success(pageList);
     }
+
     /**
      * 新增入库实绩
      *
@@ -178,6 +179,79 @@ public class WmsInboundResultController extends BaseRESTfulController {
     @PostMapping("/insertInboundResult")
     @Transactional
     public  RESTfulResult addInvoice(@RequestParam("userName") String userName,@RequestParam("groupId") BigDecimal groupId,@RequestParam("personnelWorkshopid") BigDecimal personnelWorkshopid, @RequestBody(required = false) List<Map<String, Object>> mapList) {
+
+            //遗留 查询批次、以及状态
+            int batch=0;
+            //需要判断是否已经提交过了 通过resultId判断物质是否已经下发过了跳出、多次下发的结果
+            int resultStatus= wmsInboundScanResultServiceImpl.getResultStatusByResultId(mapList.get(0).get("resultId").toString());
+            if(resultStatus==1){
+                return success("请勿重复下发");
+            }
+            //、创建批次
+            WmspInboundDistribute  wmspInboundDistribute=wmspInboundDistributeService.initAndCreateInboundDistribute(personnelWorkshopid,groupId,userName,batch);
+            //判断物质是否是线材
+            BigDecimal count = wmsInboundScanResultService.selectMaterialTypeByMaterialId(new BigDecimal(mapList.get(0).get("materialId").toString()));
+            if (count!=null){
+                //将下面的订单都录入这个批次里面
+                for (int i=0;i<mapList.size();i++){
+
+                    Map<String,Object> item=mapList.get(i);
+
+                    //获得一个默认的网格  解释:目前还没有设计出来网格的结构 没有做默认为 第一库、第一月台、第一垛位、第一行、第一列 \推送信息给行车工、让他们抢单代码备注了
+                    BigDecimal houseGrid = rmsPwarehouseGridService.selectGrid(mapList.size()-(i+1), personnelWorkshopid,new BigDecimal(item.get("materialId").toString()));
+                    //创建一个入库作业实绩
+                    WmspInboundResult wmspInboundResult = wmsInboundResultServiceImpl.initAndWmspInboundResult(0,i+1,personnelWorkshopid,groupId,userName,wmspInboundDistribute.getDistributeId(),houseGrid,item);
+                    //改变扫码实绩里面的状态
+                    int status= wmsInboundScanResultServiceImpl.updateInboundScanStatus(new BigDecimal(item.get("resultId").toString()),wmspInboundResult.getInboundId());
+                    //创建实时库存
+                    wmspGridMaterialService.initInsertWmspGridMaterial(item,houseGrid);
+                    //改为扫一次添加得代码
+                    //当都完成的时候就要去改变这一批的状态改为下发状态
+                    if(mapList.size()==i+1){
+                        int status2= wmsInboundResultServiceImpl.updateInboundStatus(wmspInboundDistribute.getDistributeId());
+                    }
+
+                }
+                //改为扫一次添加得代码
+                int status3= wmspInboundDistributeService.updateDistributeStatus(wmspInboundDistribute.getDistributeId().toString());
+            }else {
+                //如果是线材直接结束
+                //将下面的订单都录入这个批次里面
+                for (int i=0;i<mapList.size();i++) {
+                    Map<String, Object> item = mapList.get(i);
+                    //获得高线库
+                    HashMap<String, Object> map3 = new HashMap<>();
+                    map3.put("warehouseId",3);
+                    BigDecimal houseGrid=rmsPwarehouseGridService.getGridId(map3);;
+                    //创建一个入库作业实绩
+                    WmspInboundResult wmspInboundResult = wmsInboundResultServiceImpl.initAndWmspInboundResult(1, i + 1, personnelWorkshopid, new BigDecimal(0), userName, wmspInboundDistribute.getDistributeId(), houseGrid, item);
+                    //改变扫码实绩里面的状态
+                    int status = wmsInboundScanResultServiceImpl.updateInboundScanStatus(new BigDecimal(item.get("resultId").toString()), wmspInboundResult.getInboundId());
+                    //创建实时库存
+                    wmspGridMaterialService.initInsertWmspGridMaterial(item, houseGrid);
+                    //当都完成的时候就要去改变这一批的状态改为下发状态
+                    if(mapList.size()==i+1){
+                        int status2= wmsInboundResultServiceImpl.updateInboundStatus(wmspInboundDistribute.getDistributeId());
+                    }
+
+                }
+                int status3= wmspInboundDistributeService.updateDistributeStatus(wmspInboundDistribute.getDistributeId().toString());
+                // wmspSendReceiveService.addInBoundSendReceive();
+            }
+            return success("下发成功");
+
+
+    }
+    /**
+     * 新增入库实绩
+     *
+     * @param
+     * @return
+     */
+    @ApiOperation("新增入库实绩")
+    @PostMapping("/insertInboundResult3")
+    @Transactional
+    public  RESTfulResult addInvoice3(@RequestParam("userName") String userName,@RequestParam("groupId") BigDecimal groupId,@RequestParam("personnelWorkshopid") BigDecimal personnelWorkshopid, @RequestBody(required = false) List<Map<String, Object>> mapList) {
         //查询当前组最新得一条入库实绩、判断是否是自己创建得、状态是否是带下发状态
         Map<String,Object> conditionMap=wmsInboundResultServiceImpl.selectInboundResultByGroupId(groupId);
         //如果最新的一条是自己的并且