廖井涛
2024-03-11 b90435111a9cb88a9302b6ac1f70c6d475452efe
修改发货库存修改
11个文件已修改
127 ■■■■ 已修改文件
north-glass-erp/northglass-erp/src/views/mm/mainProductStock/TakeOutRecord.vue 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/sd/delivery/CreateDelivery.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/controller/mm/FinishedGoodsInventoryController.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/mapper/mm/FinishedOperateLogMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/service/mm/FinishedGoodsInventoryService.java 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/service/sd/DeliveryService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/resources/mapper/mm/FinishedOperateLog.xml 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/resources/mapper/sd/DeliveryDetail.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/target/classes/mapper/mm/FinishedOperateLog.xml 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/target/classes/mapper/sd/Delivery.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/target/classes/mapper/sd/DeliveryDetail.xml 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/mainProductStock/TakeOutRecord.vue
@@ -211,6 +211,10 @@
      {
        'name': '反审',status: 'primary',
        'code':'rework'
      },
      {
        'name': '作废',status: 'primary',
        'code':'cancel'
      }],
    /*import: false,
   export: true,
@@ -271,6 +275,34 @@
          router.push({path: '/main/productStock/ReworkRecord'});
          return
        }
        case 'cancel': {
          const $table = xGrid.value
          //gridOptions.columns.unshift(a)
          if ($table) {
            const selectRecords = $table.getCheckboxRecords()
            let flowData = ref({
              userId:userid,
              userName:username,
              orderDetail:selectRecords
            })
            console.log(flowData)
            request.post("/FinishedGoodsInventory/cancelFinishedGoodsInventoryToExamine",flowData.value).then((res) => {
              if(res.code==200){
                ElMessage.success("作废成功")
                router.push({path:'/main/productStock/TakeOutRecord',query:{random:Math.random()}})
              }else{
                ElMessage.warning(res.msg)
                router.push("/login")
              }
            })
          }
          return;
        }
      }
north-glass-erp/northglass-erp/src/views/sd/delivery/CreateDelivery.vue
@@ -426,6 +426,7 @@
            deliveryId: route.query.deliveryID
          })
          console.log(flowData)
           request.post("/Delivery/insertDelivery", flowData.value).then((res) => {
             if(res.code==200){
               ElMessage.success("发货单提交成功")
north-glass-erp/src/main/java/com/example/erp/controller/mm/FinishedGoodsInventoryController.java
@@ -162,4 +162,18 @@
        }
    }
    /*订单作废*/
    @ApiOperation("订单作废接口")
    @PostMapping("/cancelFinishedGoodsInventoryToExamine")
    public Result cancelFinishedGoodsInventoryToExamine( @RequestBody Map<String,Object>  object){
        if(finishedGoodsInventoryService.cancelFinishedGoodsInventoryToExamine(object)){
            return Result.seccess();
        }else {
            throw new ServiceException(Constants.Code_500,"领出失败");
        }
    }
}
north-glass-erp/src/main/java/com/example/erp/mapper/mm/FinishedOperateLogMapper.java
@@ -54,4 +54,6 @@
    Boolean updateToExamine(@Param("finishedOperateLog") FinishedOperateLog finishedOperateLog,
                                           @Param("userName") String userName,
                                            @Param("type") String type);
    Boolean updateFinishedOperateLogState(@Param("finishedOperateLog") FinishedOperateLog finishedOperateLog,@Param("type") String type);
}
north-glass-erp/src/main/java/com/example/erp/service/mm/FinishedGoodsInventoryService.java
@@ -175,13 +175,13 @@
                        deliverydetailsum=0;
                    }
                    System.out.println("订单总数:" + ordersum + "订单剩余数量:" + ordernumbersum + "准备出库数量" +
                    /*System.out.println("订单总数:" + ordersum + "订单剩余数量:" + ordernumbersum + "准备出库数量" +
                            orderDetail.getWarehouseNum()+ "发货数量" + orderDetail.getDeliveryNum()+ "发货总数" +
                            deliverysum+ "已发数量" + deliverydetailsum);
                            deliverysum+ "已发数量" + deliverydetailsum);*/
                    if (finishedGoodsInventorycount > 0) {
                        if(orderDetail.getWarehouseNum()>=orderDetail.getDeliveryNum()){
                            //修改库存表出库数量
                            //finishedGoodsInventoryMapper.updateInventoryquantityavailable(orderDetail);
                            //修改库存表库存数量
                            finishedGoodsInventoryMapper.updateInventoryInventoryOut(orderDetail.getDeliveryDetail().getOrderId(),orderDetail.getDeliveryDetail().getOrderNumber(),orderDetail.getDeliveryNum());
                            //修改发货明细表状态
                            finishedGoodsInventoryMapper.updateDeliveryDetailState(orderDetail,0);
                            //修改发货表状态
@@ -502,6 +502,43 @@
    }
    public Boolean cancelFinishedGoodsInventoryToExamine(Map<String,Object> object) {
        boolean saveState = true;
        //设置回滚点
        Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint();
        try {
            String userName = "";
            String userId = "";
            if (object.get("userName") != null) {
                userName = object.get("userName").toString();
            }
            if (object.get("userId") != null) {
                userId = object.get("userId").toString();
            }
            //获取对象集合循环进行新增修改
            List<FinishedOperateLog> finishedOperateLogslist = JSONArray.parseArray(JSONObject.toJSONString(object.get("orderDetail")), FinishedOperateLog.class);
            if (!finishedOperateLogslist.isEmpty()){
                for (FinishedOperateLog finishedOperateLog : finishedOperateLogslist) {
                    finishedGoodsInventoryMapper.updateInventoryquantityInt(finishedOperateLog.getOrderId(),finishedOperateLog.getOperationNumber(), Math.toIntExact(finishedOperateLog.getQuantity()));
                    finishedOperateLogMapper.updateFinishedOperateLogState(finishedOperateLog,"已作废");
                }
            }
        } catch (Exception e) {
            TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
            //将异常传入数据库
            SysError sysError = new SysError();
            sysError.setError(e.toString());
            sysError.setFunc("saveOrder");
            sysErrorService.insert(sysError);
            saveState = false;
        }
        return saveState;
    }
north-glass-erp/src/main/java/com/example/erp/service/sd/DeliveryService.java
@@ -117,7 +117,7 @@
            if (object.get("deliveryId") != null) {
                deliveryId = object.get("deliveryId").toString();
            }
            Delivery delivery = JSONObject.parseObject(JSONObject.toJSONString(object.get("customer")), Delivery.class);
            Delivery delivery = JSONObject.parseObject(JSONObject.toJSONString(object.get("title")), Delivery.class);
            List<OrderDetail> orderDetaillist = JSONArray.parseArray(JSONObject.toJSONString(object.get("delivery")), OrderDetail.class);
            //查询发货单是否存在
            Integer deliveryConut = deliveryMapper.getDeliveryConut(deliveryId);
@@ -154,7 +154,7 @@
                //新增发货表数据
                deliveryMapper.insertDelivery(delivery, oddNumber, orderDetaillist.get(0).getOrderId());
            }
            System.out.println(4);
            Double area = 0.0;
            Integer quantity = 0;
            Double money = 0.0;
north-glass-erp/src/main/resources/mapper/mm/FinishedOperateLog.xml
@@ -32,8 +32,13 @@
        update mm.finished_operate_log set reviewed=#{userName},reviewed_time=now(),status=#{type} where operation_order_number=#{finishedOperateLog.operationOrderNumber};
    </update>
    <update id="updateFinishedOperateLogState">
        update mm.finished_operate_log set status=#{type} where id=#{finishedOperateLog.id};
    </update>
    <select id="getSelectOperateRecord" resultMap="selectFinishedGoodsInventory">
        select fol.operation_order_number,
        select fol.id,
               fol.operation_order_number,
               fol.order_id,
               fol.operation_number,
               fol.quantity,
@@ -50,7 +55,7 @@
               fol.type,
               fol.remarks
        from (select *
              from mm.finished_operate_log aa where aa.operate_type = '领出' or aa.operate_type = '返工') fol
              from mm.finished_operate_log aa where (aa.operate_type = '领出' or aa.operate_type = '返工') and aa.status!='已作废') fol
                 left join sd.order_detail od on fol.order_id = od.order_id and fol.operation_number = od.order_number
        <where>
                date(fol.operate_time)>=#{startDate} and date(fol.operate_time) &lt;= #{endDate}
@@ -108,7 +113,7 @@
        select CEILING(count(fol.id)/#{pageSize}) as 'pageTotal',
        count(fol.id) as 'total'
        from (select *
            from mm.finished_operate_log aa where aa.operate_type = '领出' or aa.operate_type = '返工') fol
            from mm.finished_operate_log aa where (aa.operate_type = '领出' or aa.operate_type = '返工') and aa.status!='已作废') fol
            left join sd.order_detail od on fol.order_id = od.order_id and fol.operation_number = od.order_number
        <where>
                 date(fol.operate_time)>=#{startDate} and date(fol.operate_time) &lt;= #{endDate}
north-glass-erp/src/main/resources/mapper/sd/DeliveryDetail.xml
@@ -81,7 +81,7 @@
        insert into sd.delivery_detail (delivery_id,delivery_number,order_number,
                                        area,order_id,quantity,money,delivery_detail_remakes,delivery_detail_state,create_time)
        values (
                   #{number} ,#{deliveryNumber},#{orderDetail.order_number},#{orderDetail.computeGrossArea},
                   #{number} ,#{deliveryNumber},#{orderDetail.orderNumber},#{orderDetail.computeGrossArea},
                #{orderDetail.orderId},#{orderDetail.deliveryDetail.quantity},
                #{orderDetail.price}*#{orderDetail.deliveryDetail.quantity},'',1,now()
               )
north-glass-erp/target/classes/mapper/mm/FinishedOperateLog.xml
@@ -32,8 +32,13 @@
        update mm.finished_operate_log set reviewed=#{userName},reviewed_time=now(),status=#{type} where operation_order_number=#{finishedOperateLog.operationOrderNumber};
    </update>
    <update id="updateFinishedOperateLogState">
        update mm.finished_operate_log set status=#{type} where id=#{finishedOperateLog.id};
    </update>
    <select id="getSelectOperateRecord" resultMap="selectFinishedGoodsInventory">
        select fol.operation_order_number,
        select fol.id,
               fol.operation_order_number,
               fol.order_id,
               fol.operation_number,
               fol.quantity,
@@ -50,7 +55,7 @@
               fol.type,
               fol.remarks
        from (select *
              from mm.finished_operate_log aa where aa.operate_type = '领出' or aa.operate_type = '返工') fol
              from mm.finished_operate_log aa where (aa.operate_type = '领出' or aa.operate_type = '返工') and aa.status!='已作废') fol
                 left join sd.order_detail od on fol.order_id = od.order_id and fol.operation_number = od.order_number
        <where>
                date(fol.operate_time)>=#{startDate} and date(fol.operate_time) &lt;= #{endDate}
@@ -108,7 +113,7 @@
        select CEILING(count(fol.id)/#{pageSize}) as 'pageTotal',
        count(fol.id) as 'total'
        from (select *
            from mm.finished_operate_log aa where aa.operate_type = '领出' or aa.operate_type = '返工') fol
            from mm.finished_operate_log aa where (aa.operate_type = '领出' or aa.operate_type = '返工') and aa.status!='已作废') fol
            left join sd.order_detail od on fol.order_id = od.order_id and fol.operation_number = od.order_number
        <where>
                 date(fol.operate_time)>=#{startDate} and date(fol.operate_time) &lt;= #{endDate}
north-glass-erp/target/classes/mapper/sd/Delivery.xml
@@ -122,7 +122,7 @@
                and fgi.quantity_available REGEXP #{order.finishedGoodsInventory.quantityAvailable}
            </if>
        </where>
        group by o.order_id
        group by o.order_id order by o.id desc
        limit #{offset},#{pageSize};
    </select>
north-glass-erp/target/classes/mapper/sd/DeliveryDetail.xml
@@ -81,7 +81,7 @@
        insert into sd.delivery_detail (delivery_id,delivery_number,order_number,
                                        area,order_id,quantity,money,delivery_detail_remakes,delivery_detail_state,create_time)
        values (
                   #{number} ,#{deliveryNumber},#{orderDetail.order_number},#{orderDetail.computeGrossArea},
                   #{number} ,#{deliveryNumber},#{orderDetail.orderNumber},#{orderDetail.computeGrossArea},
                #{orderDetail.orderId},#{orderDetail.deliveryDetail.quantity},
                #{orderDetail.price}*#{orderDetail.deliveryDetail.quantity},'',1,now()
               )
@@ -192,6 +192,7 @@
            </if>
        </where>
        order by dd.id desc
        limit #{offset},#{pageSize};
    </select>